ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:283.60KB ,
资源ID:19003313      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19003313.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电子秒表课程设计Word格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

电子秒表课程设计Word格式.docx

1、可用55945ms作基本计时单位。 用BIOS调用INT 1AH可以取得该定时单位。例:1秒=18.2 (计时单位) 8253的引脚图及硬件连接图如下图示: 8253引脚图 硬件连接图 当A1A0分别为00 01 10 11时分别选中三个通道和控制字寄存器在8088系统中,8088的A1A0分别与8253的A1A0相连在8086系统中,通常将8253的8位数据线与8086的低8位相连,即使用偶地址,所以8086的A2A1分别与8253的A1A0相连。计数器(0 2)即三个计数器/定时器通道。每个通道包括:8位控制字寄存器、16位计数初值寄存器、减一计数器和输出锁存器。作定时器用:其CLK端上的

2、输入脉冲应是标准的、精确的;作计数器用:对其CLK端上的脉冲计数,脉冲宽度可以不等。采用减一计数器,为0时,从OUT端上输出一个脉冲定时时间 = 时钟脉冲周期X预置的计数初值。控制功能表CSRDWRA1A0功 能10 0写计数器00 1写计数器11 0写计数器21 1写控制字寄存器读计数器0读计数器1读计数器2 无操作XX X禁止使用无操作每个通道: CLK计数脉冲或标准脉冲输入端GATE允许端,当GATE=1时允许计数UT计数值为0时输出一个脉冲 由于8253的读/写操作对系统时钟没有特殊的要求,因此它几乎可以应用与由任何一种微处理器组成的系统中,可作为可编程的方波频率发生器、分频器、实时时

3、钟、事件计数器和单脉冲发生器等。 8253是一片具有三个独立的16位计数器通道的可编程定时器/计数器芯片。每个通道都可以编程设定3种工作方式之一种;8253由以下几个部分组成:(1)数据总线缓冲器(8位、三态、双向);(2) 读/写控制逻辑;CS:片选信号,低电平有效; RD:读信号,低电平有效; WR:写信号,低电平有效; A1A0:端口选择信号(3) 三个通道( 0 2),由A0,A1控制选择;(4) 一个控制寄存器; 内部结构及引脚图2)用可编程并行接口芯片8255的PA口以及PB口实现数码管输出,PC口实现按键实现数据显示输出 8255 可编程外围接口芯片是 Intel 公司生产的通用

4、并行I/O 接口芯片,它具有A、B、C 三个并行接口,并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间 的数据传送总是并行的,即可以同时传递8 位、16 位、32 位等。用+5V 单电源供电,能在以下三种方式下工作:方式0-基本输入/出方式、方式1-选通输入/出方式、方式2-双向选通工作方式。8255 工作方式控制字和C口按位置位/ 复位控制字格式如图所示:3. 锁存器273 74LS273是8位数据/地址锁存器,他是一种带清除功能的8D触发器,下面介绍一下他的管脚图功能表等资料。(1).1脚是复位CLR,低电平有效,当1脚是低电平时,输出脚2(Q0)、5

5、(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部输出0,即全部复位;(2).当1脚为高电平时,11(CLK)脚是锁存控制端,并且是上升沿触发锁存,当11脚有一个上升沿,立即锁存输入脚3、4、7、8、13、14、17、18的电平状态,并且立即呈现在在输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上.74ls273管脚功能: 1D8D为数据输入端,1Q8Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。4、译码器74ls154 74ls154为416线制译码器其引脚图如下图所示 5

6、、7段数码管 数码管要正常显示,就要来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。静态显示驱动 静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要58=40根I/O端口来驱动,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。动态显示驱动 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划A,B,

7、C,D,E,F,G,DP的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制。6、硬件原理图四、程序流程图 等于100 不等 等于59 等于59不等五、程序代码 a1 equ 0000h b1 equ 0002h c1 equ 0004h ctr1 equ 0006h ;8255各端口地址 a2 equ 0200h ;8253计数器0端口地址 ctr2 equ 0206h ;8253控制端口地址 a3 equ 0100h data segment keynum db 0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DH,0EB

8、H,0DBH,0BBH,7BH,0E7H,0D7H,0B7H,77H tab db 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H buf db 0,0,0,0 buf1 db 0,0,0,0,0,0,0,0 buf2 db 0,0;前为第一开关次数 buf3 db 80 dup(?) data ends code segment code assume ds:data,cs:code start: mov ax,data mov ds,ax ;设中断入口地址设置 mov ax,0 mov es,ax mov di

9、,08 mov ax,offset intr_key cld stosw mov ax,seg intr_key mov ax,data;编程初始化 mov es,ax;8255写入控制字 mov al,10001001b ;A口B口输出显示,C口高四位低四位输入 mov dx,ctr1 out dx,al n3: call jishu jmp n3n2: lea si,buf2 mov bh,00h mov bl,1hsi lea di,buf3 add di,bx add bl,8 mov 1hsi,bl lea si,buf1 mov cx,8 rep movsb n4: call di

10、s jmp n4 n5: cmp bl,0 jz n1 lea di,buf1 sub bl,8 mov 1hsi,bl lea si,buf3 add si,bx cld mov cx,8 rep movsbn6: jmp n6n1: call qinlin jmp n1 ;jmp startjishu proc near ;计数子程序 lea si,buf mov bl,si cmp bl,100 jnz s6 s1: mov bl,0 mov si,bl mov ah,1hsi cmp ah,59 jz s2 inc ah mov 1hsi,ah jmp s6 s2: mov ah,0

11、mov 1hsi,ah mov ah,2hsi inc ah mov 2hsi,ah s6:call chu mov cx,3 s5:call dis loop s5 call delay1s inc byte ptrsi ret jishu endpchu proc ;rukou al ;数处理子程序 push si push bx mov bl,4 next:lodsb mov ah,00 mov cl,10 div cl xchg ah,al stosb mov al,ah stosb dec bl jnz next pop bx pop si ret chu endp dis proc

12、 near ;显示buf1中的值 push bx push cx lea bx,tab lea di,buf1 mov ah,7Fh loop1: mov al,di xlat ;换码 mov dx,a1 mov dx,b1 mov bh,1 call delay call qp lea bx,tab ror ah,1 inc di loop loop1 pop cx pop bx retdis endpdelay1s proc near ;8253延时子程序 push dx push ax mov dx,ctr2 ;8253 控制 mov al,00110000b out dx,al ;82

13、53计数器0控制字 方式0 out端作为中断请求信号 mov dx,a2 mov al,01h mov al,00h mov dx,a3 M1: in al,dx test al,01h jz M1 pop ax pop dx delay1s endpqp proc near ;清频子程序 mov al,0ffh qp endpdelay PROC NEAR ;内部延时子程序 PUSH bx PUSH CXwait0: MOV CX,06h wait1: LOOP wait1 DEC bh JNZ wait0 POP CX POP bx RETdelay ENDP intr_key proc

14、near ;中断服务子程序 call key test al,2h test al,4h jz n5 lea di,buf2 mov bh,di inc bh mov di,bh test bh,1h jnz n2 iret intr_key endp qinlin proc ;键盘清零子程序 mov ax,0 lea di,buf mov cx,14 rep stosb call dis qinlin endp key proc ;读取键盘程序 mov dx,c1 key endp code ends end start 程序编译图:六、程序运行结果分析与预测按下暂停键实现暂停功能继续计数后

15、按下清零键实现清零功能7、 结果评述或总结1、结果评述程序和电路图都做好以后,能够运行且显示秒表计时,但是秒表的计时1秒快慢与标准时间的1秒不一致,经过思考和检查以后,知道决定计时快慢的因素为时钟的频率和主处理器8086频率。经过调整两者频率是秒表计时快慢与标准秒表计算速度一致,最后得到了比较满意的结果。电路开始运行后秒表计时,单位为1/100秒,按下停止键,计时暂停,再按一次开始键,计时继续;当按下清零键,计时频幕清零;当计时产生溢出则清空。2、总结 本次课程设计,我在程序的编写上遇到比较多的困难,但我按照秒表的设计思路,综合8086的处理能力和8253的定时/计数、8255输出以及锁存器和译码器的各性能,将程序编写出来,遇到无法处理的难题时得到了老师的指点和帮助,使我能编写出正确的程序,在此,我很感谢老师给予我的帮助。再次,此次编程用的是汇编语言,与我在创新创业班的C语言秒表课程设计相比较,让我进一步明白汇编语言和C语言两者的优劣势。以及使我能将计算机硬件技术的理论知识运用到课程设计的实践中,理论知识与实践能力一样重要。最后,课程设计是对以前所学知识的整合,让我能将所学的各个知识分部整合起来,融汇贯通,使理论知识学习得以升华。我感谢这一学期老师们的辛勤付出和自己的努力,使我能掌握好计算机硬件技术的基础。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1