版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《微机原理与接口技术》电子时钟课程设计报告姓名:田时雨2010212443张旭2010212441指导教师:曾素华目录一、实验目的和题目: 3二、实验要求: 3三、设计方案: 3四、实验代码: 7五、实验截图: 14六、心得体会: 14一、实验题目和目的:电子钟围绕《微机原理与接口技术》课程,运用电子技术、计算机技术及信息科学领域的基本理论和基本知识,综合多个接口芯片,结合实际应用而进行的一次综合分析设计能力的训练。学生通过本次课程设计,进一步掌握硬件接口技术及其应用编程方法,使学生系统科学地受到分析问题和解决问题的训练,提高学生综合分析设计能力、独立思考与团结协助能力。二、实验要求:由8254定时,8255控制数码管显示时间,小键盘控制计时:1键(清除)显示初值00、002键(启动)电子钟计时3键(停止)电子钟停止计时4键(终止程序)熄灭数码管,程序退出5键(设置初始值)设置分、秒值。同时具有判断错误的能力,若输入有错,则显示错误提示,此时按5可从新输入预置值。6、键时间位加1功能的设置三、设计方案:设计原理:用8254的计数器0来实现秒计数,信号源用实验箱上的10KHZ(当然选择其它信号源也可以,不过到时候初值会不一样),使每一秒钟就向中断端子IRQ发出一次中断请求,进一步与PC机中的某个中断联系起来。当中断发生以后,PC机就会转去执行中断服务程序,把计数的秒编码成具体的时间,把数据通过8255显示在数码管上。那个按键也是通过8255对键盘进行软件扫描,识别出哪个按键按下后,再去执行相应的按键功能。设计接线图:程序流程图:主程序模块功能(1)计时功能:用到的8254的功能只是相当于一个分频计,输入一定频率的脉冲信号使每隔一秒就会在OUT0端产生0到1的跃变,作为中断IRQ的请求信号。由于秒、分的进制形式不同,可通过中断程序控制,由此完成计时功能。(2)显示功能:可以用四位二进制码分别对应表示X4X3X2X1的逻辑值(1--高电平,0--低电平),实现时钟的显示功能。具体操作:首先将秒的个位数据通过8255的B端口送给数码管,同时将二进制码“0111”通过8255的A端口送给小键盘X4X3X2X1,这样通过计算机的扫描后,就会在数码管4上显示秒的个位值;接着将秒的十位数据送给数码管,同时将二进制码“1011”送给小键盘X4X3X2X1,这样就会在数码管3上显示相应的数值;同样的道理,分别将分的个位、十位送给数码管,“1101”、“1110”送给小键盘X4X3X2X1,就会依次在数码管2、1上显示分的个位、十位数值。特别注意分秒的间隔点,由于数码管共阴极,将数码二进制最高位置1,其他为置0即可。(3)按键功能:由于X1,X2,X3,X4低电平显示相应的数码管,利用读回的Y1,Y2逻辑值辨别究竟按下哪个键,并通过相应的编程来完成不同键的按键功能。1、键清除功能的设置:在判别了按键的逻辑值为01110后,将显示的每一个位赋0的编码,这样在数码管显示的就是00.00,便达到了清除功能的目的。2、键启动、3键停止计时功能的设置:在进行2键和3键功能设置之前,我们可以定义一个暂停标志位:PAUSE,它用标准的逻辑值(0、1)来表示,假如PAUSE=0,在进行计时设置的时候,让其自动加1,依次显示时间的各位;假如PAUSE=1,我们就将其返回,停止加1,即暂停计时。接着,假如我们判别的是2键被按下,就令PAUSE=0,让计数器计时,自动加1;假如我们按下的是3键,就令PAUSE=1,让计数器暂停计时,即停止加1。4、键终止程序功能的设置:从上面的分析,我们已经知道,只有同时将对应键盘X列的低电平送到相应的数码管才会使得数码管亮,所以我们在判别了是4键被按下后,只要将键盘对应的二进制码全部赋高电平,并送到数码管,同时结束程序,就可以实现熄灭数码管、退出程序的功能。5、键重置初始值功能的设置:在这里我们设置了两个标志位:调整位标志ADJUST和闪烁标志FLASH。它们的具体设置如下:ADJUST初始设置为00H,表示非调整状态,01H表示调整秒的个位,02H表示调整秒的十位,03H表示调整分的个位,04H表示调整分的十位。FLASH设置为逻辑值,初始设置为00H,表示非闪烁状态,0FFH表示闪烁,其闪烁功能实现的过程为:假如FLASH=0FFH,则将00H送给数码管,让数码管不显示。然后,在中断计时程序里面,加入FLASH取反语句,由于计时程序每秒加1循环一次,这样FLASH也实现了每秒改变逻辑值一次。也就是说,数码管闪烁的周期是1秒。当然,闪烁标志位只是在有对应位需要调整的时候才用的着。要实现5键设置初始时间的功能,我们就必须增加一个键(6键)来控制时间的增加。6、键时间位加1功能的设置这里,我们再引进一个标志位:按键标志KEYMARK。其设置为逻辑值,初始设置为0,表示允许响应此次按键,并在响应过后,将其置1;KEMARK为1时,表示不响应此次按键。之所以要设置此标志位,是因为键盘扫描的速度非常快,假如我按下6键需要调整时间加1,我按下的时间再怎么短,计算机一定已经扫描了无数次,这样一来,我只按了一次,时间位就会响应无数次,实现了无数次的加1,从而无法实现6键的功能。四、实验代码:INTCSR_BYTE0EQU0D838AHINTCSR_BYTE1EQU0D839BHINTCSR_BYTE2EQU0D83AHINTCSR_BYTE3EQU0D83BHIMB4_BYTE3EQU0D81FHMY8254_COUNT0EQU0E040HMY8254_COUNT1EQU0E041HMY8254_COUNT2EQU0E042HMY8254_MODEEQU0E043HMY8255_AEQU0E060HMY8255_BEQU0E061HMY8255_CEQU0E062HMY8255_MODEEQU0E063HIRQEQU01CCHDATASEGMENTCSBAKDW?IPBAKDW?MKBAKDB?ADJUSTDB00H;调整位标志FLASHDB00H;闪烁标志位PAUSEDB0B;暂停标志位KEYMARKDB0B;按键标志位INKEYDB00H;按键SECONDADB00H;秒个位SECONDBDB00H;秒十位MINUTEADB00H;分个位MINUTEBDB00H;分十位LEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;数码管0-9的编码DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:CLIMOVAX,DATAMOVDS,AXMOVDX,INTCSR_BYTE0MOVAL,00HOUTDXMOVDX,INTCSR_BYTE1MOVAL,1FHOUTDXMOVDX,INTCSR_BYTE2MOVAL,3FHOUTDXMOVDX,INTCSR_BYTE3MOVAL,00HOUTDXMOVAX,0000HMOVES,AXMOVDI,01CCH;保存系统中断矢量MOVAX,ES:[DI]MOVIPBAK,AXMOVAX,OFFSETMYINTCLDSTOSWMOVAX,ES:[DI]MOVCSBAK,AXMOVAX,SEGMYINT;设置中断矢量STOSWINAL,0A1HMOVMKBAK,ALANDAL,0F7HOUT0A1H,ALSTI;开中断MOVDX,MY8254_MODE;8254初始化MOVAL,15H;00010101:计数器0,只读低八位,方式2分频器,十进制OUTDX,MOVDX,MY8254_COUNT0MOVAL,0OUTDXMOVDX,MY8255_MODE;8255初始化MOVAL,81H;10000001:A口:方式0,输出,B口:方式0,;输出,C口:低四位输入,高四位输出OUTDXA1:NOP;等待MOVCX,32HA2:MOVDX,MY8255_BMOVAX,DATAMOVDS,AXMOVBX,OFFSETLEDMOVAL,SECONDAXLATLEDCMPADJUST,01H;是否调整秒的个位JNEDIS_SECONDACMPFLASH,0FFH;是否闪烁JNEDIS_SECONDAANDAL,00H;熄灭数码管(若FLASH=1)DIS_SECONDA:;显示秒的个位OUTDXMOVDX,MY8255_AMOVAL,0111BOUTDXCALLKEYCTR;调用按键处理程序CALLDELAY;调用延迟程序MOVDX,MY8255_BMOVAX,DATAMOVDS,AXMOVBX,OFFSETLEDMOVAL,SECONDBXLATLEDCMPADJUST,02H;是否调整秒的十位JNEDIS_SECONDBCMPFLASH,0FFHJNEDIS_SECONDBANDAL,00HDIS_SECONDB:;显示秒的十位OUTDX,MOVDX,MY8255_AMOVAL,1011BOUTDXCALLKEYCTRCALLDELAYMOVDX,MY8255_BMOVAX,DATAMOVDS,AXMOVBX,OFFSETLEDMOVAL,MINUTEAXLATLEDCMPADJUST,03H;是否调整分的个位JNEDIS_MINUTEACMPFLASH,0FFHJNEDIS_MINUTEAANDAL,00HDIS_MINUTEA:;显示分的个位ADDAL,80H;显示XX.XX中的点“.”OUTDX,MOVDX,MY8255_AMOVAL,1101BOUTDXCALLKEYCTRCALLDELAYMOVDX,MY8255_BMOVAX,DATAMOVDS,AXMOVBX,OFFSETLEDMOVAL,MINUTEBXLATLEDCMPADJUST,04H;是否调整分的十位JNEDIS_MINUTEBCMPFLASH,0FFHJNEDIS_MINUTEBANDAL,00HDIS_MINUTEB:;显示分的十位OUTDX,MOVDX,MY8255_AMOVAL,1110BOUTDXCALLKEYCTRCALLDELAYLOOPSK1JMPSK2SK1:JMPA2SK2:JMPA1MYINT:PUSHDSPUSHAXPUSHDXMOVDX,IMB4_BYTE3INAL,DXMOVDX,INTCSR_BYTE2MOVAL,3FHOUTDX;清8259中断标志MOVAL,63H;根据中断号修改OUT0A0H,ALMOVAL,62HOUT20H,ALMOVAX,DATAMOVDS,AXNOTFLASH;中断处理程序MOVKEYMARK,0BCMPPAUSE,0BJNEL1INCSECONDACMPSECONDA,0AHJCL1MOVSECONDA,00HINCSECONDBCMPSECONDB,06HJCL1MOVSECONDB,00HINCMINUTEACMPMINUTEA,0AHJCL1INCMINUTEBMOVMINUTEA,00HCMPMINUTEB,06HJCL1MOVMINUTEB,00HL1:POPDSPOPAXPOPDXIRETKEYCTRPROCNEARMOVINKEY,ALMOVDX,MY8255_CINAL,DXANDAL,03H;高六位清零CMPAL,10B;是否按下Y1行JNEINY2ADDINKEY,00HJMPJUDGKEYINY2:CMPAL,01B;是否按下Y2行JNESKIPADDINKEY,10000BJUDGKEY:CMPINKEY,01110B;是否按下1键JNEKEY2ANDSECONDA,00H;时间位清零ANDSECONDB,00HANDMINUTEA,00HANDMINUTEB,00HSKIP:JMPBACKKEY2:CMPINKEY,01101B;是否按下2键JNEKEY3ANDPAUSE,0B;启动计时JMPBACKKEY3:CMPINKEY,01011B;是否按下3键JNEKEY4MOVPAUSE,1B;暂停计时JMPBACKKEY4:CMPINKEY,00111B;是否按下4键JNEKEY5MOVDX,MY8255_AMOVAL,0FFH;熄灭数码管,程序退出OUTDXCALLDELAYMOVAX,4C00HINT21HJMPBACKKEY5:CMPINKEY,11110B;是否按下5键JNEKEY6CMPKEYMARK,0BJNEKEY6MOVKEYMARK,1BMOVPAUSE,1BCMPADJUST,04H;是否已调整完分的十位JETLINCADJUSTJMPBACKTL:ANDADJUST,00HJMPBACKKEY6:CMPINKEY,11101B;是否按下6键JNEBACKCMPKEYMARK,0BJNEBACKMOVKEYMARK,1BCMPADJUST,01H;是否调整秒的个位JNEAD1INCSECONDA;秒的个位加1CALLOUTCLEAR;判断溢出JMPBACKAD1:CMPADJUST,02H;是否调整秒的十位JNEAD2INCSECONDBCALLOUTCL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 财会岗面试考点梳理试卷 含答案含解析
- 2026 年沪教牛津版小学英语六年级上册期中质量检测卷
- 健康宣教绶带设计指南
- 2026年中国石油西北销售分公司人员招聘考试题库及答案详解
- 2026年荆门市烟草专卖局人员招聘考试参考试题及答案详解
- 2026年热力发电专业知识测试试题及答案
- 2026年中国石油规划总院人员招聘笔试参考试题及答案详解
- 煤矿防突作业人员理论考试题库2025
- 工程隐蔽工程验收管理规程
- 2026年南阳市烟草专卖局人员招聘考试题库及答案详解
- 第8课《咏雪》课件(共25张)
- 2027届新高考语文热点精准复习 古诗鉴赏:+比较鉴赏+知同辨异
- 2026东方电气风电限公司招聘63人易考易错模拟试题(共500题)试卷后附参考答案
- 加油站秋安全培训内容课件
- 小班美工《图形添画》课件
- 街道辅助人员笔试试题(附答案)
- 职场动物进化手册
- 超星尔雅学习通《工程伦理(浙江大学)》2025章节测试答案
- 系统工程课件完整版
- 七年级上册英语阅读还原50题含答案
- 《干部履历表》(1999版电子版)
评论
0/150
提交评论