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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机原理课程设计报告材料电子时钟.docx

1、微机原理课程设计报告材料电子时钟1. 设计目的培养和锻炼在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力。通过课程设计,要求熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,得到微机开发应用方面的初步训练。掌握8255、8259、8253等芯片使用方法和编程方法,通过本次课程设计,学以致用,进一步理解所学的相关芯片的原理、内部结构、使用方法等,学会相关芯片实际应用及编程,系统中采用8086微处理器完成了电子秒表系统的独立设计。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。2. 设计内容 设计一个可

2、任意启动/停止的电子秒表,要求用6位LED数码显示,计时单位为1/100秒。利用功能键进行启/停控制。其功能为:上电后计时器清0,当第一次(或奇数次)按下启/停键时开始计数。第2次(或偶数次)按下该键时停止计时,再一次按启/停键时清零 后重新开始计时。可用开关控制,也可用按键控制。(开关控制 )(按键控制)3. 设计要求一基本要求1)设计可以显示160秒的无存储功能的秒表,最小单位为毫秒。 2)通过键盘按键控制秒表清零、暂停、继续,退出等。其中数字0控制清零,数字1控制继续和退出 二提高要求: 1)秒表可以分组存储、批量显示、倒计时等。 2)采用图像显示,界面精美,设置报警声等 4. 设计原理

3、与硬件电路一 整体设计思想使用8253工作在方式0计数,对 1/100S计数,并讲计数值写入bl中并与100比较若不相等,则将计数值装换为10进制后送8255控制端显示,如相等则1S计数程序加1之后并与59比较若不相等则将计数值装换为10进制后送8255控制端显示,如相等则1min计数程序加1之后并与59比较若不相等则将计数值装换为10进制后送8255控制端显示,如相等则计数程序加1之后产生溢出,跳转清零程序将计数清零,同时数码管清零。二 使用各芯片的作用及工作原理1、定时器/计数器8253用系统8253定时器提供的55ms定时单位,设计秒表定时程序。 有关系统定时方法: PC机系统中的825

4、3定时器0工作于方式3,外部提供一个时钟作为CLK信号, 频率:f=1.1931816MHz。 定时器0输出方波的频率:fout=1.1931816/65536=18.2Hz。 输出方波的周期Tout=1/18.2=54.945ms。8253A每隔55ms引起一次中断,作为定时信号。可用55945ms作基本计时单位。 用BIOS调用INT 1AH可以取得该定时单位。例:1秒=18.2 (计时单位) 8253的引脚图及硬件连接图如下图示:8253是一片具有三个独立的16位计数器通道的可编程定时器/计数器芯片。每个通道都可以编程设定3种工作方式之一种;8253由以下几个部分组成:(1) 数据总线缓

5、冲器(8位、三态、双向);(2) 读/写控制逻辑;CS:片选信号,低电平有效;RD:读信号,低电平有效;WR:写信号,低电平有效A1A0:端口选择信号(3) 三个通道( 0 2),由A0,A1控制选择;(4) 一个控制寄存器;8253引脚图 硬件连接图当A1A0分别为00 01 10 11时分别选中三个通道和控制字寄存器在8088系统中,8088的A1A0分别与8253的A1A0相连在8086系统中,通常将8253的8位数据线与8086的低8位相连,即使用偶地址,所以8086的A2A1分别与8253的A1A0相连。 计数器(0 2)即三个计数器/定时器通道。每个通道包括:8位控制字寄存器、16

6、位计数初值寄存器、减一计数器和输出锁存器。作定时器用:其CLK端上的输入脉冲应是标准的、精确的;作计数器用:对其CLK端上的脉冲计数,脉冲宽度可以不等。采用减一计数器,为0时,从OUT端上输出一个脉冲定时时间 = 时钟脉冲周期X预置的计数初值由于8253的读/写操作对系统时钟没有特殊的要求,因此它几乎可以应用与由任何一种微处理器组成的系统中,可作为可编程的方波频率发生器、分频器、实时时钟、事件计数器和单脉冲发生器等。表8-4 控制功能表2、 用可编程并行接口芯片8255的PA口以及PB口实现数码管输出,PC口实现按键实现数据显示输出 8255 可编程外围接口芯片是 Intel 公司生产的通用并

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

8、介绍一下他的管脚图功能表等资料。(1).1脚是复位CLR,低电平有效,当1脚是低电平时,输出脚2(Q0)、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为数据输出端,正脉冲触发,低电平清

9、除,常用作8位地址锁存器。4. 数据收发器245 当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)*DIR=“1”,信号由 A 向 B 传输;(发送)当/CE为高电平时,A、B均为高阻态。5. 译码器74ls154 74ls154为416线制译码器其引脚图如下图所示 6. 7段数码管 数码管要正常显示,就要来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。

10、静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要58=40根I/O端口来驱动,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制。5程序流程图 6 程序代码 a1 equ 0000h b1 equ 0002h c1 equ 0004h ctr1 equ 0006h ;8255各端口地址 a2 equ 0

11、200h ;8253计数器0端口地址 ctr2 equ 0206h ;8253控制端口地址 a3 equ 0100h data segment ; keynum db 0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DH,0EBH,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 8

12、0 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,08 mov ax,offset intr_key cld stosw mov ax,seg intr_key stosw mov ax,data mov es,ax ;8255写入控制字 mov al,10001001b ;A口B口输出显示,C口高四位低四位输入 mov dx,ctr1 out dx,al n3: call jishu jmp

13、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 cld mov cx,8 rep movsb n4: call dis jmp n4 n5: lea si,buf2 mov bh,00h mov bl,1hsi 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: call dis jmp n6n1: call qi

14、nlin jmp n1 ;jmp start jishu 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 mov 1hsi,ah mov ah,2hsi inc ah mov 2hsi,ah jmp s6 s6:call chu mov cx,3 s5:call dis loop s5 call delay1s inc byte ptrsi ret ji

15、shu endp chu proc ;rukou al ;数处理子程序 push si push bx mov bl,4 lea di,buf1 lea si,buf 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 near ;显示buf1中的值 push bx push cx lea bx,tab lea di,buf1 mov cx,8 mov ah,7Fh loop1: mov al,di x

16、lat ;换码 mov dx,a1 out dx,al mov dx,b1 mov al,ah out dx,al 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 ;8253计数器0控制字 方式0 out端作为中断请求信号 mov dx,a2 mov al,01h out dx,

17、al mov al,00h out dx,al mov dx,a3 M1: in al,dx test al,01h jz M1 pop ax pop dx ret delay1s endp qp proc near ;清频子程序 mov al,0ffh mov dx,b1 out dx,al ret qp endp delay 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 near

18、;中断服务子程序 call key test al,2h jz n1 test al,4h jz n5 lea di,buf2 mov bh,di inc bh mov di,bh test bh,1h jnz n2 jmp n3 iret intr_key endp qinlin proc ;键盘清零子程序 mov ax,0 lea di,buf mov cx,14 cld rep stosb call dis qinlin endp key proc ;读取键盘程序 mov dx,c1 in al,dx ret key endp code ends end start 7程序及硬件系统调试

19、情况 按下暂停键实现暂停功能继续计数后按下清零键实现清零功能8设计心得经过这次课程设计,我觉得我有了很大的收获,:1.我大大地锻炼了自己搞科研的能力,作为我们大学生,尤其是工科的大学生,对于科研能力,能够自主开发课题,项目有着很高的要求,而我们很多大学生动手研发的能力还不是很强。而通过这次课程设计,使自己的研发能力有了很大堤提高。2.我对于工科设计的严谨性,仔细性有了更深地体会。我们本次设计的秒表仅仅是工科设计中非常简单的一个,思想并不是非常复杂,手头也有一定的资料,但是我们在研发,调试过程中还是出现了一些错误。简单的一些程序好检查,但是如果说是以后要设计的一些大型程序,出现故障就不是那么容易

20、检查了。这就要求我们在以后的工程设计当中要更为细致仔细。3我的专业知识得到了很好的巩固,对于本专业的一些问题有了更深的思考。原来有很多知识只是死学课本,而并没有与实际相结合,而这次课程设计使我的专业知识与实际有了很好的契合。4在程序设计中不能够想当然,许多程序,功能在脑子中想得很好,但是将其转变城实际程序就会出现许多问题。如何由脑子里的构想转变成实际的程序,这是我以后需要提高的一点。5掌握了一些检查与判断错误的经验与方法,对今后的专业学习与设计有着深刻的影响。6对专业设计的许多流程、原则、注意事项以及撰写专业报告的有关事项有了一定的了解。7学到了书本上没有的知识,掌握了一些程序设计的技巧,对以后的学习与设计有深远影响。总之,经过这次课程设计,我对今后的专业学习所要注意的事项有了更深刻地了解,这对我以后的学习必将产生深远的影响。9.参考文献 1 顾晖等。微机原理与接口技术-基于8086和Proteus仿真M电子工业出版社陈继红等. 微机原理及应用M高等教育出版社,20102戴梅萼等.微型计算机技术及应用M清华大学3沈美明等.IBM-PC汇编语言程序设计M 清华大学出版社4彭虎等. 微机原理与接口技术(第2版) M电子工业出版社,20085 张弥左,王兆月,邢立军等.微型计算机接口技术.北京:机械工业出版社

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

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