基于8086的秒表设计与实现_第1页
基于8086的秒表设计与实现_第2页
基于8086的秒表设计与实现_第3页
基于8086的秒表设计与实现_第4页
基于8086的秒表设计与实现_第5页
已阅读5页,还剩17页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

郑州科技学院微型计算机原理课程设计题目基于8086的秒表设计与实现学生姓名程昭昭专业班级计科一班学号201115003院(系)信息工程学院指导教师王清珍完成时间2013年12月18日1目录199秒表设计背景及目的要求211设计目的312硬件选择42设计方案及基本原理421LED显示原理422系统设计423硬件工作原理53设计流程64调试结果95结果分析96结论与体会107参考文献11附录1电路图11附录2源程序122199秒秒表设计背景及目的要求11设计目的随着芯片应用的日益广泛,在校学生加强对单片机的认识和动手能力,已经是非常重要的一项锻炼。课程设计就是为加强实践机会、培养学生动手能力的一个重要环节,将理论知识与实际联系起来的一个关键机会。本课程设计的基本要求是1掌握LED数码管原理及使用方法2初步掌握8086芯片汇编语言一般编程技巧。12硬件选择装有WINDOWS系统和NSPIDE仿真环境的PC机一台,NSP十六位单片机实验箱一个。本设计用到的实验箱硬件模块为SPCE061A核心及周边电路模块(包含32个I/O口),LED数码管。做此实验用51板也可以,因为51板也提供了相应的LED模组,因为实验室里面给我们提供了61板,所以我决定选用SPCE061A单片机实验箱。本装置将实现099的计数,每一秒钟,计数器将加1,在数码管上显示当前计数值,并可用键盘按制计数的起始,以及归零。具体要求如下1开机时数码管显示00。32每一秒钟,计数器自动加1。3按键控制计数,分别控制开始计时、停止计时和归零,功能分配如下表11按键功能分配按键功能描述KEY1开始计时KEY2停止计时KEY3归零2设计方案及基本原理21LED显示原理静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不再管,直到下一次显示数据需要更新时再传送一次新数据,显示数据稳定,占用很少的CPU时间。动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。基本的半导体数码管是由七个条状发光二极管芯片排列而成的,4可实现09的显示。LED数码管是由发光二级管显示字段组成的显示器,有8段和“米”字段之分,这种显示器有共阳级和共阴极两种。所谓共阳方式是指笔画显示器各段发光管的阳极(即P区)是公共的,而阴极互相隔离。所谓共阴方式是笔画显示器各段发光管的阴极(即N区)是公共的,而阳极是互相隔离的。22系统设计根据设计题目的要求分析,并考虑到题目的可扩展性,可将系统分成两大部分1时间的产生和显示。2按键控制计数起始、归零。根据系统的功能现选择61板作为单片机控制处理部分,利用一2位LED作为显示部分,而按键采用61板上自带的三个按键,如图21所示。5图21系统框图23硬件工作原理两位数的显示采用的是一个2位共阳极LED数码管(LG5621AH),连接方法是SPCE061A的IOB0IOB6接LED焊接板的AG,小数显示部分可以省略不要;IOB8IOB9分别接LED的位选COM1、COM2,电路原理图如图24。LED与SPCE061A的引脚连接如表21。采用凌阳大学计划的LED键盘模组和61板搭配可以很容易的完成这个课程设计的题目。它的连结图如图所示,IOB的低八位控制数码管显示段位,高八位控制点亮哪一个数码管。表21LED引脚连接表SPCE061ALED模块SPCE061ALED模块IOBSPCE061A精简开发版KEY1KEY2KEY3秒6IOB8AIOB0COM1IOB9BIOB1COM2IOB10CIOB11DIOB12EIOB13FIOB14G。图22LED键盘模组和61板连接图3设计流程根据设计要求的功能,程序主要分为三部分,即(1)计时显示部分;(2)秒计时部分;(3)按键控制部分。(4)程序主流程主要完成键盘扫描、计时处理、键值分支控制的任务,流程图如图所示7图31主程序流程图显示部分是在IRQ4的1KHZ中断中控制显示的,采用动态扫描的方式,1KHZ的时基中断每1MS进一次中断,在中断中对2MS计数器I进行累加,当I从0累加到2时,则刚好为2MS,此时更新一个开始初始化数据、以及中断、键盘等扫描键盘,针对键值分支KEY1开始计时KEY2停止计时KEY3清零计时数据处理,格式化显示清看门狗8位的LED显示,并对I进行清零;当下一次累计到2MS时,则会再更新显示下一位LED数码管,当更新到最后一位时,返回重第一位开始更新;依此循环更新显示,而更新显示的数据保存在缓冲区当中,用户需要更新显示的数据时,只需要改变对应的缓冲区中的数据即可。具体流程图如下。秒计时采用IRQ5的2HZ时基中断进行计时,流程图如图33所示。键盘输入利用61板自带的三个按键,输入的端口为IOA0IOA2。图32IRQ41KHZ时基中断流程图33IRQ52HZ时基中断流程图IRQ5是否是2HZ中断计时器自加一清中断标志计时器200计时器清零结束IRQ41KHZ2MS计数器II2更新显示一位LED结束94调试结果4151调试结果本装置将实现099的计数,每一秒钟,计数器将加1,在数码管上显示当前计数值,并可用键盘按制计数的起始,以及归零。具体要求如下1开机时数码管显示00。2每一秒钟,计数器自动加1。3按键控制计数,分别控制开始计时、停止计时和归零,功能分配如下按KEY1开始计时数码管显示从00开始计时到99结束再从00开始循环10按KEY2停止计时数码管显示当前数值按KEY3归零按KEY4复位52结果分析本设计应该熟悉凌阳十六位单片机系统板61板的基本构成,掌握LED数码管原理及使用方法,掌握61板的使用方法,初步掌握SPCE061A单片机汇编语言一般编程技巧,初步掌握61板系统调试的一般步骤及方法。设计结构现实开机时数码管显示为00,每一秒钟计数器自动加一,按KEY1键开始计时,按KEY2键停止计时并现实当前数值,按KEY3键归零。6结论与体会两周的单片机课程设计结束了,最初的目的是想学到一些对将来就业很有实质性帮助的东西。结果还算可以接受,虽然说与预期的有不少出入,但锻炼自己这个主要目标算是达成了。通过这次课程设计,我对如何完成一项实际的计划有了进一步的认识,对如何加强自己的合作能力有了更进一步的思考。通过这次课程设计,我想下学期的毕业设计会少点困难,以后在工作中也能够有更多的经验好借鉴。在这段日子里,我实践、思考、反思、总结,所得收获都已经成为大学生涯中的宝贵财富。或许大学生活中的片断随着岁月的流逝难免被遗忘,但是这段课程设计的日子相信仍会是记忆深刻,它作为我们走向社会的第一步,承载了即将面对现实和挑战的心情,必将难忘。在此,感谢赵老师的细心辅导,有了这次的实践经验,为毕业11设计奠定基础。7参考文献1杨季文汇编语言程序设计教程清华大学出版社,2008,32康华光数字电子技术基础,北京高等教育出版社,2008,13张荣祥微型计算机原理,北京中国电力出版社4黄正瑾综合电子设计与实践M东南大学出版社,2002,35马力8086汇编语言程序设计,机械工业出版社,2006,96顾永杰电工电子技术实训教程上海上海交通大学出版社,19997杨志坚INTEL8086/8088系列微型计算机原理及接口技术M,北京中国电力出版社,2007年4月第三次印刷附录1电路图71附录2源程序CTRL_PORTEQU0106HA_PORTEQU0100H12B_PORTEQU0102HC_PORTEQU0104HCOUNTEQU0206HCOUNT0EQU0200HCOUNT1EQU0202HINTREQU0304HINTR1EQU0306HDCOUNTEQU6DATASEGMENTLEDTABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HBUFDB0,0,0,0,0,0BUFFDB20DUPDAT1DB0DAT2DB0DAT3DB1DAT4DB0DATAENDSCODESEGMENTASSUMECSCODE,DSDATASTARTCLIPUSHDSMOVSI,24MOVAX,0MOVDS,AXMOVSI,OFFSETINTBMOV2SI,SEGINTBPOPDSMOVAL,00010011BMOVDX,INTROUTDX,ALMOVAL,00000010BMOVDX,INTR1OUTDX,AL13MOVAL,00000001BMOVDX,INTR1OUTDX,ALSTIMOVAX,DATAMOVDS,AXMOVAL,00110111B8253初始化MOVDX,COUNTOUTDX,ALMOVDX,COUNT0MOVAX,500HOUTDX,ALMOVAL,AHOUTDX,ALMOVAL,01110111BMOVDX,COUNTOUTDX,ALMOVDX,COUNT1MOVAX,50HOUTDX,ALMOVAL,AHOUTDX,ALMOVAL,10000001B8255初始化,MOVDX,CTRL_PORTOUTDX,ALBACKMOVDX,C_PORTINAL,DXTESTAL,00000010BJZB2判断是否清0AGAINMOVDX,C_PORTINAL,DXTESTAL,00000001BJZB1判断是暂停还是继续MOVCX,614JIA6INCSILOOPJIA6MOVAL,00000000BMOVDX,C_PORTOUTDX,ALMOVAL,DAT1DTA1中是秒CMPAL,100JZA1MOVBL,10DIVBLMOVBUF,AH秒的个位MOVBUF1,AL秒的十位CALLDISPLAY_DECINCDAT1JMPBACKA1MOVDAT1,0满60秒,对DAT1清0MOVAL,0MOVAH,0MOVBUF,AHMOVBUF1,ALCALLDISPLAY_DEC先显示00,再进位INCDAT2MOVAL,DAT2DAT2中是分CMPAL,60JZA2MOVBL,10DIVBLMOVBUF2,AH分的个位MOVBUF3,AL分的十位CALLDISPLAY_DECMOVCX,60LOOPAGAINA2MOVDAT2,0满60分对DAT2清0MOVAL,0MOVAH,015MOVBUF2,AHMOVBUF3,ALCALLDISPLAY_DEC先显示0000再进位MOVAL,DAT3DAT3中是时CMPAL,24JZA3MOVBL,10DIVBLMOVBUF4,AH时的个位MOVBUF5,AL时的十位CALLDISPLAY_DECMOVCX,60DECCXJZBACKA3INCDAT3JMPBACKB1CALLDISPLAY_DECMOVAL,01110000B对8253送GATE1控制信号MOVDX,C_PORTOUTDX,ALCALLCUNCHUCALLDELAYJMPBACKB2MOVDX,C_PORTINAL,DXTESTAL,00000100BJNZLICALLXIANSHICJCALLDISPLAY_DECMOVCX,1JZNEXT2MOVSI,6DECCXNEXT2CALLDELAY16JMPBACKLIMOVBUF,0清0MOVBUF1,0MOVBUF2,0MOVBUF3,0MOVBUF4,0MOVBUF5,0MOVDAT2,0MOVDAT3,1CALLDISPLAY_DECMOVBX,1000JZBACKMOVAL,10110000B对8253送GATE0控制信号MOVDX,C_PORTOUTDX,ALCALLDELAYDECBXJMPBACKDISPLAY_DECPROCDAMOVDI,2DISPAGAIN1MOVBL,BUFMOVBH,0LEASI,LEDTAB以十进制显示MOVAL,BXSI取个位段码NOTAL共阳MOVDX,A_PORTOUTDX,AL用数码管显示个位MOVAL,11100000B位选,1点亮MOVAH,0MOVDX,B_PORT17OUTDX,ALCALLDELAYMOVAL,0H清屏MOVDX,B_PORTOUTDX,ALCALLDELAY1CALLDELAY1LEASI,LEDTABMOVBL,BUF1MOVBH,0MOVAL,BXSI取十位段码NOTALMOVDX,A_PORTOUTDX,AL用数码管显示十位MOVAL,11010000BMOVDX,B_PORTOUTDX,ALCALLDELAYMOVAL,0HMOVDX,B_PORTOUTDX,ALCALLDELAY1LEASI,LEDTABMOVBL,BUF2MOVBH,0MOVAL,BXSI取分个位段码NOTALMOVDX,A_PORTOUTDX,AL用数码管显示分个位18MOVAL,11001000BMOVDX,B_PORTOUTDX,ALCALLDELAYMOVAL,0HMOVDX,B_PORTOUTDX,ALCALLDELAY1CALLDELAY1LEASI,LEDTABMOVBL,BUF3MOVBH,0MOVAL,BXSI取分十位段码NOTALMOVDX,A_PORTOUTDX,AL用数码管显示分十位MOVAL,11000100BMOVDX,B_PORTOUTDX,ALCALLDELAYMOVAL,0HMOVDX,B_PORTOUTDX,ALCALLDELAY1LEASI,LEDTABMOVBL,BUF4MOVBH,0MOVAL,BXSI取时个位段码NOTALMOVDX,A_PORTOUTDX,AL用数码管显示时个位19MOVAL,11000010BMOVDX,B_PORTOUTDX,ALCALLDELAYMOVAL,0HMOVDX,B_PORTOUTDX,ALCALLDELAY1CALLDELAY1LEASI,LEDTABMOVBL,BUF5MOVBH,0MOVAL,BXSI取时十位段码NOTALMOVDX,A_PORTOUTDX,AL用数码管显示时十位MOVAL,11000001BMOVDX,B_PO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论