《计算机原理及接口技术》课程综合实验报告题目倒计时牌设计学院电子与控制工程学院专业建筑设施智能技术班级320601学生姓名学号指导教师前言微机原理和接口技术是一门实践性强的学科,其中很多的原理、规则、现象等仅仅靠学习教科书是无法完全掌握的,必须通过实践才能比较直观和深刻的理解。
在进行课程设计的过程中,可以让学生体验分析问题、提出解决方案、通过编程等手段实现解决方案、不断调试最终达到设计要求的全过程,从而帮助学生系统地掌握微机原理的接口技术的相关知识,达到将知识融会贯通的目的。
本次设计的基于单片的倒计时器相较传统机械式倒计时器具有可以灵活可调、性价比高等优点,有在现实生活中得到广泛应用的发展潜力。
本课程设计由共同设计。
摘要本次设计采用的是8255A、8253、5255、数码管以及按键开关组成的一个实现具有天、时、分、秒倒计功能的倒计时器。
电路具有时间显示功能,能在八位数码管每隔1秒钟,计时器减1。
有外部键盘能输入初始值,在倒计时为整数小时出现声光报警目录一.引言本次计算机原理及接口技术课程综合实验我们的课题是:倒计时牌设计。
综合性实验设计能够很好地培养学生综合运用所学知识的能力,提高学生解决实际问题的能力;培养学生查阅资料,使用工程设计标准、手册及编写设计技术的能力;培养学生初步掌握设计开发产品的能力,了解微机控制系统的一般设计方法;提高学生的计算机绘图能力。
倒计时牌的设计应该满足以下要求:(1)显示倒计时天数以及小时、分钟、秒(各2位)。
(2)参数可手动设置(3)每当剩余时间为整数个小时时,声光报警提示设计基于Protues仿真的8086、8253、8255等和EMU8086汇编完成设计要求。
二.设计方案阐述1、方案整体思想本系统设计以8086微处理器作为CPU,用8253做定时计数器产生时钟脉冲,8255做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断,接LED显示倒计时天数以及小时、分钟、秒(各2位)和扩展调整键盘。
2、程序设计(1)设计一个1s时钟,作为时间的基准。
可通过定时器来实现,由于定时限制,我们设定定时时钟为50ms中断一次,然后用一个计数器计数20次。
(2)由于实际应用中要求显示为十进制数,而在程序中处理的数据都为十六进制,因此在程序中要对显示缓冲区的数据进行十进制调整。
(3)在设计时,LED显示应1秒跳动一次。
(4)当计时器倒计时为零时,即定时时间到,显示为零,同时发出声光报警信号。
3、设计原理利用定时器8253、8255和8259以及键盘和数码显示电路,设计一个倒计时牌,由8253中断定时,小键盘控制倒计时牌的启停及初始值的预置。
在此系统中,8253的功能是定时,接入8253的CLK信号为周期性时钟信号。
8253采用计数器0,工作于方式2,使8253的OUT0端输出周期性的负脉冲信号。
即每隔1min,8253的OUT0端就会输出一个负脉冲的信号,此信号接8259的IR2,当中断到60次数后,CPU即处理,使液晶显示器上的时间发生变化。
其中8259只需初始化ICW1,其功能是向8259表明IRx 输入是电瓶触发方式还是上升沿触发方式,是单片8259还是多片8259。
8259接收到信号后,产生中断信号送CPU 处理。
电子日历的显示格式年:天、时、分、秒,且循环显示要求设计一个定时显示装置,用八个数码管显示时间,用小键盘控制计时,设置和显示时间。
系统一运行就从99天23时59分59秒开始计时,并在数码管上显示当前值,而且,可以用键盘设置当前时间。
基本工作原理:每1秒对寄存器的内容减一,当减60次时,分减一,秒恢复到59;当分减60次时,时减一,分恢复到59;当时减24次时,天减一,时恢复到23;八个数码管动态显示天、时、分、秒的当前值,并3s 一次循环切换显示倒计时。
4、倒计时的硬件框图框图如下:三.硬件部分(一)硬件连接测试部分系统分为5个功能模块,分别为:主程序模块,定时模块,中断模块,小键盘控制模块,LED 显示模块。
1、主程序模块主控模块是其心模块,对8253、8255和8259进行初始化,设置中断向量,扫描键盘根据按键值作相应的处理。
主要由软件实现。
它的主要功能是调用其它模块对系统工作进行协调,读小键盘输入键值并执行要做的工作。
2、定时模块定时模块是为8259提供中断请求信号的。
由一片8253实现,选用定时器0,工作在方式2,显示应1秒跳动一次,其输出信号可作为8259的中断请求信号。
3、中断处理模块中断模块实现动态显示的,硬件为一片8259,由于中断请求信号为每1秒一次,中断程序该为时间按秒增加,并显示,只要开中断,便可实现每过1秒秒显示减一,从而达到动态显示的效果。
4、小键盘模块小键盘模块送入主控模块的子功能模块。
由软件和硬件实现,硬件上由小键盘和8255互连,将小键值由8255送入主控模块。
软件上使用行扫描法获得键值并送回主控模块。
本课题只考虑去抖动。
执行一个约10ms的延时程序后再扫描键盘,若F0=1表示真正有键按下,从而消除了抖动影响。
5、LED显示模块显示模块是将显示缓冲区的数值送到LED显示的功能模块,显示缓冲区是由八个字节构成,分别保存天的高位和低位,时的高位和低位,分的高位和低位,秒的高位和低位。
硬件上由八个LED构成,软件上由扫描显示的方法实现。
其中,由于实际应用中要求显示为十进制数,而在程序中处理的数据都为十六进制,因此在程序中要对显示缓冲区的数据进行十进制调整(二)硬件部分主要芯片简介1.硬件芯片8086CPU:作为微处理器8255并行接口:用做接口芯片,和小键盘相连8253定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ28259中断控制器:用于产生中断LED:八个LED灯用于显示天、时、分、秒倒计时牌发光二极管、小喇叭:用于实现声光报警小键盘:用16键控制设置2.主要芯片介绍8086CPU8086微处理器的主要特点:8086为16位微处理器,数据总线16位,地址总线20位,可寻址1MB存储空间,时钟频率为5~10MHz。
8086 CPU的内部结构由执行单元EU(execution unit)和总线接口部件BIU(bus interface unit)两部分组成。
8086CPU外部引脚图如图所示。
图9 8086CPU外部引脚图AD7~AD0——八条地址/数据复用线;A15~A8——单一的地址线;SS0——状态信号线。
该引脚在最大工作方式下保持高电平,在最小方式下等效于最大方式下S0的作用,它与IO/M、DT/R组合以确定当前的总线周期;A19/S6~A16/S3——地址/状态总线;MN/MX——最小/最大方式控制;RD——读控制;TEST——等待测试控制;READY——等待状态控制;NMI——不可屏蔽中断请求;INTR——可屏蔽中断请求;CLK——系统时钟;Vcc——+5V电源;GND——接地。
8086微处理器的工作方式:(1)最小工作方式。
当8086CPU的MN/MX引脚接+5V电源时,8086CPU 工作于最小方式,用于构成小型的单处理机系统。
(2)最大工作方式。
当8086CPU的MN/MX引脚接地时,8086CPU工作于最大方式,用于构成多处理机和协处理机系统。
最小方式信号:HOLD——保持请求;HLDA——保持响应;WR——写控制;IO/M——IO/存储器控制;DT/R——数据发送/接收;DEN——数据允许;ALE——地址锁存允许;INTA——中断响应;最大方式信号:RQ/GT1,0——请求/允许总线访问控制;LOCK——总线优先权锁定控制S2S1S0——总线周期状态;QS1、QS0——指令队列状态;8255芯片(1)内部结构及引脚8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种工作方式下工作:方式0—基本输入/输出方式方式1—选通输入/输出方式方式2—双向选通输入/输出方式(2)8255引脚图如图3.2示,各引脚功能如下。
D7~D0——与CPU侧连接的八条双向数据线;WR(低电平有效)——写输入信号;RD(低电平有效)——读输入信号;CS(低电平有效)——片选输入信号;A0、A1——片内寄存器选择输入信号;图28255引脚图PA7~PA0——A口外设双向数据线;PB7~PB0——B口外设双向数据线;PC7~PC0——C口外设双向数据线;RESET——复位输入信号(3)82558253芯片(1)内部结构及引脚8253可编程定时/计数器是Intel公司生产的通用外围芯片之一,有3个独立的十六位计数器,技术频率范围为0~2MHZ,它所有的技术方式和操作方式都通过编程控制。
(2)8253的功能用途是:1、延时中断2、可编程频率发生器3、事件计数器4、二进倍频器5、实时时钟6、数字单稳7、复杂的电机控制器(3)8253有六种工作方式:1、方式0:计数结束中断2、方式1:可编程频率发生器3、方式2:频率发生器4、方式3:方波频率发生器图6 8253引脚图5、方式4:软件触发的选通信号6、方式5:硬件触发的选通信号(4)8253引脚图如图示,各引脚功能如下。
D7~D0——八条双向数据线;WR(低电平有效)——写输入信号;RD(低电平有效)——读输入信号;CS(低电平有效)——片选输入信号;A0、A1——片内寄存器地址输入信号;CLK——计数输入,用于输入定时基准脉冲或计数脉冲;OUT——输出信号,以相应的电平指示计数的完成,或输出脉冲波形;GATE——选通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。
(5)8253端口地址信号线寄存器编址IOY20#计数器40H 1#计数器41H 2#计数器42H 控制寄存器43H8259芯片(1)内部结构及引脚中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。
它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。
因此无需附加任何电路,只需对8259A编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。
在MD微机系统中,8259芯片工作于单片方式。
8259引脚图如图3.3,各引脚功能如下。
D7~D0——八条双向数据线;图8259引脚图WR(低电平有效)——写输入信号; A0——地址信号;RD(低电平有效)——读输入信号;CS(低电平有效)——片选输入信号;INTA(低电平有效)——中断响应信号;表1 8253端口地址表CAS0~CAS2——级联信号,形成一条专用8259A总线,以便多片8259A 的级联;SP/EN——从编程/允许级联。
在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。