题目微机原理与接口技术课程设计一.实验原理电子时钟主要由显示模块、对时模块和时钟运算模块三大部分组成。其中对时模块和时钟运算模块要对时、分、秒的数值进行操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时计算到24时,要清零。这样,才能循环记时。显示时利用7段显示器显示六位十进制数据。前两个显示小时,中间两个显示分钟,后两个显示秒。时钟的运算是利用中断来实现的,利用8253的模式三输出一定频率的方波作为触发中断的条件。8253A可编程定时/计数器的输入时钟为100KHz,设定时/计数器0的计数初值为100,工作在方式3,即方波发生器,其输出的1KHz方波作定时/计数器2的时钟。定时/计数器2的初值设为1000,工作在方式2,即每隔1s输出负脉冲,取反后用作不可屏蔽中断的中断申请信号,在中断服务程序中计算时间,并通过74ls273并行输出到数码管显示。电子时钟主要由74ls273锁存器、8253定时/计数器、74ls244反相器、LED数码显示管和两个按键组成。主要用8086的NMI的中断服务程序完成秒、分、时的运算即计时功能,两个开关的中断服务程序完成调时、调分功能。8253用来产生1s的脉冲信号作为NMI的中断请求信号。74ls273负责将内存里的时位和分位秒位值输出到数码管。二.实验要求利用8253定时器设计一个电子钟,并定义一个启动键。当按下该键时电子时钟从当前设定值开始走时。三.实验程序.MODELSMALL.8086.STACK.CODE.STARTUPNMI_INIT:PUSHES;nmi不可屏蔽中断向量表初始化XORAX,AXMOVES,AXMOVAL,02HXORAH,AHSHLAX,1SHLAX,1MOVSI,AX;相当于cs,ip入栈MOVAX,OFFSETNMI_SERVICE;调用中断处理程序MOVES:[SI],AXINCSIINCSIMOVBX,CS;?MOVES:[SI],BXPOPES;定时器初MOVAL,00110111BMOVDX,0406HOUTDX,ALMOVDX,0400HMOVAX,0100HOUTDX,ALMOVAL,AHOUTDX,ALMOVAL,10110101BMOVDX,0406HOUTDX,ALMOVDX,0404HMOVAX,1000HOUTDX,ALMOVAL,AHOUTDX,ALLOOP0:;主任务CALLKEYCALLDISPJMPLOOP0NMI_SERVICE:;中断服务程序PUSHAXMOVAL,SECADDAL,1DAAMOVSEC,ALCMPSEC,60HJBEXITMOVSEC,0MOVAL,MINADDAL,1DAAMOVMIN,ALCMPMIN,60HJBEXITMOVMIN,0MOVAL,HOUADDAL,1DAAMOVHOU,ALCMPHOU,24JBEXITMOVHOU,0EXIT:POPAXIRETDISPPROCNEARMOVAL,0FFH;不显示MOVDX,0201HOUTDX,ALMOVBL,SECANDBX,000FHMOVSI,BXMOVAL,SITUATION[SI];段码MOVDX,0200HOUTDX,ALMOVAL,0FEH;秒个位MOVDX,0201HOUTDX,ALCALLDELAYMOVAL,0FFH;不显示MOVDX,0201HOUTDX,ALMOVBL,SECANDBX,00F0HMOVCL,4SHRBX,CLMOVSI,BXMOVAL,SITUATION[SI];段码MOVDX,0200HOUTDX,ALMOVAL,0FDH;秒十位MOVDX,0201HOUTDX,ALCALLDELAYMOVAL,0FFH;不显示MOVDX,0201HOUTDX,ALMOVAL,40H;段码MOVDX,0200HOUTDX,ALMOVAL,0FBH;秒个位MOVDX,0201HOUTDX,ALCALLDELAYMOVAL,0FFH;不显示MOVDX,0201HOUTDX,ALMOVBL,MINANDBX,000FHMOVSI,BXMOVAL,SITUATION[SI];段码MOVDX,0200HOUTDX,ALMOVAL,0F7H;分个位MOVDX,0201HOUTDX,ALCALLDELAYMOVAL,0FFH;不显示MOVDX,0201HOUTDX,ALMOVBL,MINANDBX,00F0HMOVCL,4SHRBX,CLMOVSI,BXMOVAL,SITUATION[SI];段码MOVDX,0200HOUTDX,ALMOVAL,0EFH;分十位MOVDX,0201HOUTDX,ALCALLDELAYMOVAL,0FFH;不显示MOVDX,0201HOUTDX,ALMOVAL,40H;段码MOVDX,0200HOUTDX,ALMOVAL,0DFH;秒个位MOVDX,0201HOUTDX,ALCALLDELAYMOVAL,0FFH;不显示MOVDX,0201HOUTDX,ALMOVBL,HOUANDBX,000FHMOVSI,BXMOVAL,SITUATION[SI];段码MOVDX,0200HOUTDX,ALMOVAL,0BFH;时个位MOVDX,0201HOUTDX,ALCALLDELAYMOVAL,0FFH;不显示MOVDX,0201HOUTDX,ALMOVBL,HOUANDBX,00F0HMOVCL,4SHRBX,CLMOVSI,BXMOVAL,SITUATION[SI];段码MOVDX,0200HOUTDX,ALMOVAL,07FH;时十位MOVDX,0201HOUTDX,ALCALLDELAYRETDISPENDPKEYPROCNEARMOVDX,0600HINAL,DXTESTAL,01HJNZNEXTHOUCALLDISP;消抖CALLDISPCALLDISPMOVDX,0600HINAL,DXTESTAL,01HJNZNEXTHOUMOVAL,MINADDAL,1;分调整DAAMOVMIN,ALCMPMIN,60HJBNEXTHOUMOVMIN,0NEXTHOU:MOVDX,0600HINAL,DXTESTAL,02HJNZEXITKEYCALLDISP;消抖CALLDISPCALLDISPMOVDX,0600HINAL,DXTESTAL,02HJNZEXITKEYMOVAL,HOUADDAL,1DAA;时调整MOVHOU,ALCMPHOU,24HJBNEXTHOUMOVHOU,0EXITKEY:RETKEYENDPDELAYPROCNEAR;定时子程序PUSHBXPUSHCXMOVBX,1LP1:MOVCX,469LP2:LOOPLP2DECBXJNZLP1POPCXPOPBXRETDELAYENDP.DATASECDB00HMINDB00HHOUDB23HSITUATIONDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40HSIT_END=$END四.实验电路图五.学习心得在这次课程设计过程中,我们逐步养成了发现、提出、分析和解决实际问题的习惯;这不但锻炼提高了我们的实践能力,更是对我们实际工作能力的具体训练和考察过程。对于此次电子时钟课程设计,至今我仍感慨颇多,在这短短一个星期的日子里,不仅让我们巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。通过这次课程设计之后,一定把以前所学过的知识重新温故。在这个过程中,也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。生活就是这样,汗水预示着结果也见证着收获。虽然这只是一次的较简单的课程设计,可是也耗费了我们不少的心血,让我们真正的体会到了对于设计者来说,钻研精神是何等的重要。经历过了这次课程设计,我们不但在知识上有了重要收获,精神上的丰收更加难能可贵。这让我明白,我们每一个人做任何事,都需要探索精神,不管前方的道路有多艰险,走过,你才能知道自己的能力,人不能停留于眼前,因为学无止境。一次挫折是一份财富,一次成功是一份动力,一次跨步就是一次飞跃,人生贵在拼搏!毋庸置疑,这次课程设计必将是大学里一个新的起点!