基于8086的秒表设计与实现

上传人:小*** 文档编号:121630873 上传时间:2022-07-19 格式:DOC 页数:35 大小:149.50KB
收藏 版权申诉 举报 下载
基于8086的秒表设计与实现_第1页
第1页 / 共35页
基于8086的秒表设计与实现_第2页
第2页 / 共35页
资源描述:

《基于8086的秒表设计与实现》由会员分享,可在线阅读,更多相关《基于8086的秒表设计与实现(35页珍藏版)》请在装配图网上搜索。

1、 宋体二号加黑郑州科技学院 微机原理课程设计论文 题 目 _基于8086的秒表设计与实现_学生姓名 程昭昭 专业班级 计科一班 学 号 202215003所 在 系 信息工程学院 固定内容为宋体3号指导教师 王清珍 完成时间 2022年12月13日 目 录摘要 11 99秒秒表设计背景及目的要求11.1 99秒秒表设计背景11.2设计目的11.3硬件选择21.4设计内容22 设计方案及根本原理22.1 预备知识22.2 LED显示原理32.3 元器件选择32.4 系统设计32.5硬件工作原理42.6 硬件连接43 设计流程53.1设计步骤53.2程序代码64 程序74.1 main.c主程序7

2、4.2 key.asm 键盘扫描子程序115 调试结果及分析245.1 调试结果245.2 结果分析256 结论与分析257 参考与文献25摘要本设计是设计一个芯片控制的多功能秒表系统。近年来随着科技的飞速开展,单的应用正在不断的走向深入,同时带动着传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。秒表的出现,解决了传统的由于人为因素造成的误差和不公平性。将软、硬件有机地结合起来,使得系统能够实现两位LED显示,显示时间为0099秒,每秒自动加1,

3、能正确地进行加、减倒计时,快加,快减,可以同时记录4个相对独立的时间,通过上翻下翻来查看这4个不同的计时值,可谓功能强大。其中软件系统采用汇编语言编写程序,包括显示程序,加减计数程序,快加快减程序,中断,延时程序,按键消抖程序等,并在WAVE中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。关键词: AT89C51 99秒【设计题目】99秒秒表设计1 99秒秒表设计背景及目的要求1.1 99秒秒表设计背景 目前,单片机正朝着高性能和对品种方向开展,趋势是进一步向着CMO化,低功耗,小体积,大存量,高性能,低价格和外国电路内装化等几个方面

4、开展。单片机应用的重要意义还在于他从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大局部功能功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机模块中最常见的是秒表、数字钟等显示时间类的装置,此装置是一种用数字电路实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。此设计利用凌阳科技公司的凌阳16位单片机SPCE061A为主控芯片,充分利用61板上面的三个按键,完成一个简易的现实系统99秒秒表。 61板是一套完整的16位单

5、片机开发系统,可直接把程序下载到61板上进行调试和封装。集成度高、运算速度快、体积小、运算可靠、价格低廉,在过程控制、数据采集、机电一体化、智能仪器仪表、网络技术等方面得到广泛应用。1.2 设计目的 随着单片机应用的日益广泛,在校学生加强对单片机的认识和动手能力,已经是非常重要的一项锻炼。课程设计就是为加强实践时机、培养学生动手能力的一个重要环节,将理论知识与实际联系起来的一个关键时机。本课程设计的根本要求是: 1. 掌握LED数码管原理及使用方法。2. 掌握61板的使用方法。 3. 初步掌握SPCE061A单片机汇编语言一般编程技巧。4. 初步掌握61板系统调试的一般步骤及方法。1.3硬件选

6、择 装有Windows系统和nSP IDE仿真环境的PC机一台,nSP 十六位单片机实验箱一个。本设计用到的实验箱硬件模块为:SPCE061A核心及周边电路模块包含32个I/O口,LED数码管。做此实验用51板也可以,因为51板也提供了相应的LED模组,因为实验室里面给我们提供了61板,所以我决定选用SPCE061A单片机实验箱。1.4 设计内容 本装置将实现0-99的计数,每一秒钟,计数器将加1,在数码管上显示当前计数值,并可用键盘按制计数的起始,以及归零。具体要求如下: 1. 开机时数码管显示00。 2. 每一秒钟,计数器自动加1。 3. 按键控制计数,分别控制开始计时、停止计时和归零,功

7、能分配如下:表1-1按键功能分配按键功能描述KEY1开始计时KEY2停止计时KEY3归零2 设计方案及根本原理2.1 预备知识1.熟悉凌阳单片机的工作原理。 1I/O口的使用原理和设置; 2定时器或时基的设置、使用; 3中断的设定。2.了解数码管的显示原理。3.熟悉键盘扫描原理。4.熟悉汇编语言或C语言。2.2 LED显示原理 静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不再管,直到下一次显示数据需要更新时再传送一次新数据,显示数据稳定,占用很少的CPU时间。 动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。这两种显示方式各有利弊

8、;静态显示虽然数据稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。 根本的半导体数码管是由七个条状发光二极管芯片排列而成的,可实现09的显示。LED数码管是由发光二级管显示字段组成的显示器,有8段和“米字段之分,这种显示器有共阳级和共阴极两种。所谓共阳方式是指笔画显示器各段发光管的阳极即P区是公共的,而阴极互相隔离。所谓共阴方式是笔画显示器各段发光管的阴极即N区是公共的,而阳极是互相隔离的。2.3 元器件选择61板一个,共阳极2位LED数码管一个,电路板一个,8050三极管二个,1k

9、的电阻8个,33k电阻2个,导线假设干,排针10位2个。2.4 系统设计 根据设计题目的要求分析,并考虑到题目的可扩展性,可将系统分成两大局部: 1. 时间的产生和显示。 2. 按键控制计数起始、归零。 根据系统的功能现选择61板作为单片机控制处理局部,利用一2位LED作为显示局部,而按键采用61板上自带的三个按键,如图2-1所示。 IOB SPCE061A精简开发版 Key1 Key2 Key3 秒 图2-1 系统框图2.5硬件工作原理 两位数的显示采用的是一个2位共阳极LED 数码管LG5621AH,连接方法是SPCE061A的IOB0-IOB6接LED焊接板的A-G,小数显示局部可以省略

10、不要;IOB8-IOB9分别接LED的位选COM1、COM2,电路原理图如图2-4。LED与SPCE061A的引脚连接如表2-1。采用凌阳大学方案的LED键盘模组和61板搭配可以很容易的完成这个课程设计的题目。它的连结图如下图,IOB的低八位控制数码管显示段位,高八位控制点亮哪一个数码管。 表2-1 LED引脚连接表SPCE061ALED模块SPCE061ALED模块IOB8AIOB0COM1IOB9BIOB1COM2IOB10CIOB11DIOB12EIOB13FIOB14G2.6 硬件连接采用凌阳大学方案的LED键盘模组和61板搭配可以很容易的完成这个课程设计的题目。它的连结图如下图,IO

11、B的低八位控制数码管显示段位,高八位控制点亮哪一个数码管。 61板 IOA07 IOB815 IOA815 KEY1 KEY2 KEY3 KEY4 KEY5 KEY6 KEY7 KEY8 2*4KEY IOBO7 1*8KEY 显示器片选 显示器段选 按键状态跳线数码管1数码管1数码管1数码管1数码管1数码管1 发光二极管图2-2 LED键盘模组和61板连接图3 设计流程图3.1设计步骤 根据设计要求的功能,程序主要分为三局部,即: 1计时显示局部; 2秒计时局部; 3按键控制局部。 4程序主流程主要完成键盘扫描、计时处理、键值分支控制的任务,流程图如下图: 开始初始化数据、以及中断、键盘等扫

12、描键盘,针对键值分支 Key1 开始计时 Key2 停止计时 Key3 清零计时数据处理,格式 化显示 清看门狗 图3-1 主程序流程图 显示局部是在IRQ4的1KHz中断中控制显示的,采用动态扫描的方式,1KHz的时基中断每1ms进一次中断,在中断中对2ms计数器i进行累加,当i从0累加到2时,那么刚好为2ms,此时更新一个位的LED显示,并对i进行清零;当下一次累计到2ms时,那么会再更新显示下一位LED数码管,当更新到最后一位时,返回重第一位开始更新;依此循环更新显示,而更新显示的数据保存在缓冲区当中,用户需要更新显示的数据时,只需要改变对应的缓冲区中的数据即可。具体流程图如下。 秒计时

13、采用IRQ5的2Hz时基中断进行计时,流程图如图3-3所示。键盘输入利用61板自带的三个按键,输入的端口为IOA0IOA2。 IRQ4 1KHZ 2ms计数器 i+ i=2 更新显示一位 LED 结束 IRQ5 是否是2HZ中断计时器自加一 清中断标志计时器=200 计时器清零 结束 图3-2 IRQ4 1KHz时基中断流程 图3-3IRQ5 2Hz时基中断流程图 4 程序ctrl_port EQU 0106HA_PORT EQU 0100HB_PORT EQU 0102Hc_port equ 0104hcount equ 0206hcount0 equ 0200hcount1 equ 020

14、2hINTR EQU 0304HINTR1 EQU 0306HDCOUNT EQU 6data segment LEDTAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H BUF DB 0,0,0,0,0,0 buff db 20 dup(?) DAT1 DB 0 DAT2 DB 0 DAT3 DB 1 dat4 db 0data endsCODESEGMENT ASSUME CS:CODE,ds:dataSTART: CLI PUSH DS MOV SI,2*4 MOV AX,0 MOV DS,AX MO

15、V SI,OFFSET INTB MOV 2SI, SEG INTB POP DS MOV AL,00010011B MOV DX,INTR OUT DX,AL MOV AL,00000010B MOV DX,INTR1 OUT DX,AL MOV AL,00000001B MOV DX,INTR1 OUT DX,AL STI mov ax,data mov ds,ax mov al,00110111b ;8253初始化 mov dx,count out dx,al mov dx,count0 mov ax,500h out dx,al mov al,ah out dx,al mov al,0

16、1110111b mov dx,count out dx,al mov dx,count1 mov ax,50h out dx,al mov al,ah out dx,al MOV AL,10000001B ;8255初始化, MOV DX,CTRL_PORT OUT DX,AL back: MOV DX,C_PORT in al,dx test al,00000010b jz b2 ;判断是否清0 again: MOV DX,C_PORT in al,dx test al,00000001b jz b1 ;判断是暂停还是继续? mov cx,6 jia6: inc si loop jia6

17、MOV AL,00000000B MOV DX,C_PORT OUT DX,AL MOV AL,DAT1 ;DTA1中是秒 CMP AL,100 JZ A1 MOV BL,10 DIV BL MOV BUF,AH ;秒的个位 MOV BUF+1,AL ;秒的十位 CALL DISPLAY_DEC INC DAT1 JMP back A1: MOV DAT1,0 ;满60秒,对DAT1清0 MOV AL,0 MOV AH,0 MOV BUF,AH MOV BUF+1,AL CALL DISPLAY_DEC ;先显示00,再进位 INC DAT2 MOV AL,DAT2 ;DAT2中是分 CMP

18、AL,60 JZ A2 MOV BL,10 DIV BL MOV BUF+2,AH ;分的个位 MOV BUF+3,AL ;分的十位 CALL DISPLAY_DEC MOV CX,60 LOOP AGAIN A2: MOV DAT2,0 ;满60分对DAT2清0 MOV AL,0 MOV AH,0 MOV BUF+2,AH MOV BUF+3,AL CALL DISPLAY_DEC ;先显示00:00再进位 MOV AL,DAT3 ;DAT3中是时 CMP AL,24 JZ A3 MOV BL,10 DIV BL MOV BUF+4,AH ;时的个位 MOV BUF+5,AL ;时的十位 C

19、ALL DISPLAY_DEC MOV CX,60 DEC CX JZ back A3: INC DAT3 JMP back b1: CALL DISPLAY_DEC mov al,01110000b ;对8253送GATE1控制信号 mov dx,c_port out dx,al call cunchu CALL DELAY jmp back b2: mov dx,c_port in al,dx test al,00000100b jnz li call xianshicj call display_dec mov cx,1 jz next2 mov si,6 dec cx next2: c

20、all delay jmp back li: mov buf,0 ;清0 mov buf+1,0 mov buf+2,0 mov buf+3,0 mov buf+4,0 mov buf+5,0 mov dat2,0 mov dat3,1 call display_dec ; mov bx,1000 ;jz back mov al,10110000b ;对8253送GATE0控制信号 mov dx,c_port out dx,al CALL DELAY ;dec bx jmp backDISPLAY_DEC PROC DA: MOV DI,2DISPAGAIN1: MOV BL,BUF MOV

21、BH,0 LEA SI,LEDTAB ;以十进制显示 MOV AL,BXSI ;取个位段码 not al ;共阳 MOV DX,A_PORT OUT DX,AL ;用数码管显示个位 MOV AL,11100000B ;位选,1点亮 MOV AH,0 MOV DX,B_PORT OUT DX,AL CALL DELAY MOV AL,0H ;清屏 MOV DX,B_PORT OUT DX,AL CALL DELAY1 CALL DELAY1 LEA SI,LEDTAB MOV BL,BUF+1 MOV BH,0 MOV AL,BXSI ;取十位段码 not al MOV DX,A_PORT OU

22、T DX,AL ;用数码管显示十位 MOV AL,11010000B MOV DX,B_PORT OUT DX,AL CALL DELAY MOV AL,0H MOV DX,B_PORT OUT DX,AL CALL DELAY1 LEA SI,LEDTAB MOV BL,BUF+2 MOV BH,0 MOV AL,BXSI ;取分个位段码 not al MOV DX,A_PORT OUT DX,AL ;用数码管显示分个位 MOV AL,11001000B MOV DX,B_PORT OUT DX,AL CALL DELAY MOV AL,0H MOV DX,B_PORT OUT DX,AL

23、CALL DELAY1 CALL DELAY1 LEA SI,LEDTAB MOV BL,BUF+3 MOV BH,0 MOV AL,BXSI ;取分十位段码 not al MOV DX,A_PORT OUT DX,AL ;用数码管显示分十位 MOV AL,11000100B MOV DX,B_PORT OUT DX,AL CALL DELAY MOV AL,0H MOV DX,B_PORT OUT DX,AL CALL DELAY1 LEA SI,LEDTAB MOV BL,BUF+4 MOV BH,0 MOV AL,BXSI ;取时个位段码 not al MOV DX,A_PORT OUT

24、 DX,AL ;用数码管显示时个位 MOV AL,11000010B MOV DX,B_PORT OUT DX,AL CALL DELAY MOV AL,0H MOV DX,B_PORT OUT DX,AL CALL DELAY1 CALL DELAY1 LEA SI,LEDTAB MOV BL,BUF+5 MOV BH,0 MOV AL,BXSI ;取时十位段码 not al MOV DX,A_PORT OUT DX,AL ;用数码管显示时十位 MOV AL,11000001B MOV DX,B_PORT OUT DX,AL CALL DELAY MOV AL,0H MOV DX,B_POR

25、T OUT DX,AL CALL DELAY1DEC DI JNZ DISPAGAIN1 RETDISPLAY_DEC ENDPDELAY PROCMOV CX,1dhLOOP $RETDELAY ENDPDELAY1 PROCMOV CX,3hLOOP $RETDELAY1 ENDPcunchu proc push ax push bx push cx mov al,buf mov ah,buf+1 mov bl,buf+2 mov bh,buf+3 mov cl,buf+4 mov ch,buf+5 mov buffsi,al mov buffsi+1,ah mov buffsi+2,bl

26、 mov buffsi+3,bh mov buffsi+4,cl mov buffsi+5,ch pop ax pop bx pop cx ret cunchu endpxianshicj proc push ax push bx push cx mov al,buffsi mov ah,buffsi+1 mov bl,buffsi+2 mov bh,buffsi+3 mov cl,buffsi+4 mov ch,buffsi+5mov buf,almov buf+1,ahmov buf+2,blmov buf+3,bhmov buf+4,clmov buf+5,chpop axpop bxp

27、op cx retxianshicj endp INTB PROC FAR PUSH AX PUSH BX PUSH CX MOV SI,6 MOV AL,20H OUT 20H,AL POP CX POP BX POP AX IRETINTB ENDP CODEENDSEND START 电路图5.1 调试结果 本装置将实现0-99的计数,每一秒钟,计数器将加1,在数码管上显示当前计数值,并可用键盘按制计数的起始,以及归零。具体要求如下:1. 开机时数码管显示00。2. 每一秒钟,计数器自动加1。3. 按键控制计数,分别控制开始计时、停止计时和归零,功能分配如下: 按KEY1开始计时数码管显

28、示从00开始计时到99结束再从00开始循环; 按KEY2 停止计时数码管显示当前数值; 按KEY3归零;按KEY4复位.5.2 结果分析 本设计应该熟悉凌阳十六位单片机系统板61板的根本构成, 掌握 LED数码管原理及使用方法,掌握61板的使用方法,初步掌握 SPCE061A单片机汇编语言一般编程技巧,初步掌握61板系统调试的一般步骤及方法。设计结构现实:开机时数码管显示为00,每一秒钟计数器自动加一,按KEY1键开始计时,按KEY2键停止计时并现实当前数值,按KEY3键归零。6 结论与体会两周的课程设计结束了,最初的目的是想学到一些对将来就业很有实质性帮助的东西。结果还算可以接受,虽然说与预

29、期的有不少出入,但锻炼自己这个主要目标算是达成了。通过这次课程设计,我对如何完成一项实际的方案有了进一步的认识,对如何加强自己的合作能力有了更进一步的思考。通过这次课程设计,我想下学期的毕业设计会少点困难,以后在工作中也能够有更多的经验好借鉴。在这段日子里,我实践、思考、反思、总结,所得收获都已经成为大学生涯中的珍贵财富。或许大学生活中的片断随着岁月的流逝难免被遗忘,但是这段课程设计的日子相信仍会是记忆深刻,它作为我们走向社会的第一步,承载了即将面对现实和挑战的心情,必将难忘。在此,感谢赵老师的细心辅导,有了这次的实践经验,为毕业设计奠定根底。7参考文献1康华光,数字电子技术根底,北京:高等教

30、育出版社,2022年1月。2数字电子技术?实验指导书?3顾永杰.电工电子技术实训教程.上海:上海交通大学出版社,19994宋春荣.通用集成电路速查手册.山东科学技术出版社,19955吕思忠.数子电路实验与课程设计.哈尔滨工业大学出版社,20016谢自美.电子线路设计、实验、测试.华中理工大学出版社,2000several group number, then with b a, =c,c is is methyl b two vertical box between of accurate size. Per-23 measurement, such as proceeds of c valu

31、es are equal and equal to the design value, then the vertical installation accurate. For example a, b, and c valueswhile on horizontal vertical errors for measurement, General in iron angle code bit at measurement level points grid errors, specific method is from baseline to methyl vertical box center line distance for a, to b vertical box distance for b, list can measured11

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!