资源描述:
《微机原理与接口技术课程设计报告电子钟.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、微机原理与接口技术课程设计报告——电子钟实验学院:计算机学院指导教师:马学文一实验任务及要求任务:1、掌握综合使用基本输入输出设备、通用接口芯片、专用接口芯片的方法;2、掌握实时处理程序的编制和调试方法。要求设计一个定时显示装置,用实验仪左侧的六个LED数码管显示时间,时间显示格式为24小时制。分秒值为59分55秒时开始报时,每秒钟蜂鸣器鸣叫一声,到整点报时停止。0123456789GS用小键盘控制时钟的启停和时钟的设置,键的定义参见上图键值具体定义如下:G键(启停键)——程序启动后,按下该键时钟启动;再次
2、按下该键,暂停计时,显示当前时间。S键(设置键)——按下S键后,为时钟设置时、分、秒初始值。二硬件连线键盘的控制、LED显示模块:采用74系列模块控制键盘的行信号Q_0、Q_1、Q_2、Q_3分别与开放的输入信号Q0、Q1、Q2、Q3相连,键盘的列信号P_0、P_1、P_2和开放的输出信号P0、P1、P2相连。74芯片的片选信号CS1接地址译码信号340H,CS2接地址译码信号360H。时间的精确定时:用8254定时器0产生25ms的中断信号;8254的片选CS连地址输出端320H,A0,A1分别连地址总线
3、A2,A3,GATE0连+5V,CLK0连74LS393分频输出的47K输出端,OUT0连接到8259的IRQ0整点报时控制:由8255模块控制;PC0直接与蜂鸣器相连,CS_4连接到实验仪中部的地址输出端CS_4中断处理模块:由8259控制8259的片选CS-1连地址输出300H,INT1连总线输入INTR,8259模块的INT-A连总线的INTA,8259的SP/1连+5V,8259的IRQ0连接到8254的OUT0。三、程序流程图主程序初始化各阶段寄存器及相关变量初始化8254、8259、8255芯片
4、设置中断向量、开放8259中断屏蔽开放处理器中断扫描键盘G键S键其他键Stop值取反Stop置0FF调用键盘扫描程序设置当前时分秒值Stop置为0中断服务程序保护现场NY判断时间是否不小于59分55秒报时N扫描键盘YG键?调用启停子程序YS键?调用设置时间子程序COUNT加1YCOUNT=40?修改时间,调用ADDONE子程序COUNT清0显示时间,调用显示时间子程序N结束中断(发EOI命令)恢复现场中断返回四、实验源代码.486pDATASEGMENTAT0USE16ORG1000HHOURDW?MIND
5、W?SECDW?SLLDB?COUNTDB?DATAENDSCODESEGMENTUSE16ASSUMECS:CODE,DS:DATAORG1500HBEG:JMPSTARTTABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,00H;0~F的共阴极七段译码表00H表示不显示任何东西KEYCODDB0EEH,0DEH,0BEH,0EDH,0DDH,0BDH,0EBH,0DBH,0BBH,0E7H,0D7H,0B7H;行列编码值KEYVALDB0,1,2,3
6、,4,5,6,7,8,9,0AH,0BH;所有键的键面值PORT1EQU340H;数码管段选端口PORT2EQU360H;数码管位选端口,键盘矩阵的行列端口START:MOVEAX,60000000HMOVCR0,EAXMOVAX,DATAMOVDS,AXMOVHOUR,0203H;小时分钟以及秒的初始化MOVMIN,0509HMOVSEC,0502HLEABX,TABMOVSLL,0;开始暂停标志位置0MOVCOUNT,0;中断次数计数初始值为0;8255初始化,用于产生报时的脉冲MOVEAX,80808
7、080H;控制字MOVDX,20CH;后面的是4个8255的控制端口20C-20F(这个地址由实验台决定)OUTDX,EAX;初始化8255,A、B、C口均为方式0输出MOVDX,20BHMOVAL,0FFHOUTDX,AL;8254初始化,用于产生周期为25ms的中断MOVAL,00110110B;计数器0,先低后高,方式三,二进制MOVDX,32cH;写往控制口OUTDX,ALMOVDX,320H;计数器0写初值:47KHz*25msMOVAX,1175OUTDX,ALMOVAL,AHOUTDX,AL;
8、8259初始化CLI:关中断MOVDX,300H;ICW1MOVAL,00010011BOUTDX,ALMOVDX,308H;ICW2MOVAL,08H;IR0中断类型号为08HOUTDX,ALMOVAL,00000001B;ICW4OUTDX,ALMOVAL,0FEH;IR0开屏蔽OUTDX,ALXORAX,AX;装载中断向量MOVES,AXMOVDI,08H*4MOVAX,OFFSETINTSRMOVES:[