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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

电子钟课程设计报告微机原理与接口技术.docx

1、电子钟课程设计报告微机原理与接口技术课 程 设 计 报 告课程名称 微机原理与接口技术 系 别: 工程技术系 专业班级: 电子信息工程0901 学 号: 09XXXXXX5 姓 名: XXX 课程题目: 电子钟的设计与制作 完成日期: 2011-12-23 * * 2011年 12 月 23 日课 程 设 计 目 的 1、熟悉唐都试验箱,掌握试验箱各个模块的使用方法。 2、掌握微机常用的输入输出方式及接口技术。 3、掌握一定的汇编语言知识,培养自己的动手操作能力。 4、学习程序设计的基本思路和方法。 5、利用现在的实验器材和软件平台,进行实验的调试,实现电子钟的各项功能要求,如动态显示实时时钟

2、的时/分/秒数据。课 程 设 计 要 求利用8254定时器设计一个具有分、秒显示的电子时钟,并定义一个启动键,当按下该键时时钟从当前设定值(可在显示,缓冲区中予置)开始走时。利用微机原理试验箱的数码管显示单元,把时间显示在LED数码管上。课 程 设 计 注 意 事 项 1、编写代码时应注意代码的准确性。 2、正确的在试验箱上安装各芯片,注意其引脚是否正确。 3、在更换芯片时应用起子从芯片两端轻轻翘起。 4、连接完电路时要检查电路是否正确。 5、测试试验箱是否与pc机相连。 6、验证代码的正确性,发现问题。课 程 设 计 内 容选用8253计数器2进行1s的定时,其输出OUT1与8259的IRQ

3、0相连,当定时到1s时产生一个中断服务程序进行时、分、秒的计数,并送入相应的存储单元;8255的A口接七段数码管的位选信号,B口接数码管的段选信号。时、分、秒的数值通过对8255的编程可送到七段数码管上显示。课 程 设 计 简 要 操 作 步 骤 1、了解电子钟的工作原理 2、画出电路原理图 3、根据原理图编写代码 4、连接电路图 5、将试验箱与pc机相连 6、植入代码,检查代码的正确性 7、反复检验,寻找问题,解决问题 8、撰写实验报告、实验过程及实验心得体会 9、完成实验课 程 设 计 心 得 体 会 这次设计让我收获了很多,既是对自己所学到的知识作一个肯定,也是对微型计算机原理及应用的复

4、习,更主要的是通过设计增强了自己动手的能力。在这次课程设计中涉及到很多芯片的应用,最大特点是软,硬件的结合,对动手能里的要求很大,设计完成后我的编程水平提高了一大步。这次设计,更增加了我对微机原理的兴趣,为我将来的学习明确了目标。同时加深了对相关理论知道及专业知识的掌握度,锻炼及提高了理解问题,分析问题,解决问题的饿能力,更深刻的体会到了理论联系实际的重要性。课 程 设 计 评 语 及 成 绩评 语成 绩指导教师年 月 日摘要 1关键词 2一、概述 21.1设计目的 21.2设计要求 21.3设计内容 31.4设计思想 3二、设计与制作 42.1设计原理 42.2硬件电路设计 52.3程序流程

5、图 8三、结果分析 9四、结论与展望 9五、心得体会及建议 10致谢 11参考文献 12电子钟的设计与制作摘要:微机控制即微型计算机原理控制。是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。微型计算机原理控制应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡,电子宠物等,这些都离不开微型计算机原理控制。我们组本次设计的题目是简单电子钟程序设计,用到了定时芯片8254,中

6、断控制器8259和可编程并行芯片8255。在编辑1毫秒定时程序时,用到了中断控制器8259。此程序主要由四部分组成:第一部分为最主要的部分定义显示界面;第二部分为利用延时程序,并将调用的二进制表示的时间数转换成ASCII码,并将时间数存入内存区;第三部分将存在系统内存区的时间数用七段数码管显示出来;第四部分利用循环程序分别对秒个位、秒十位、分个位、分十位与相应的规定值进行比较,结合延时程序来实现电子钟数字的跳变,从而形成走时准确的电子钟。该程序实现了准确显示秒和分,读数准确,走时精准。此电子钟能准确的从0分0秒走时到59分59秒,然后能自动回复到0分0秒循环走时。关键词:可编程并行芯片8255

7、 定时芯片8254 中断控制器8259 延时 计数 比较 定时 中断 七段数码显示管一、概述1.1设计目的 通过本次课程设计学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使设计者的设计水平和对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。1.1.1熟练掌握8086/88教学系统的基本操作和调试程序的各种指令。1.1.2掌握8259中断控制器的工作原理和应用编程方法,练习编写中断程序的方法。1.1.3掌握8255的各种工作方式及其应

8、用编程。1.1.4掌握8253定时/计数器的工作原理、工作方式及其应用编程。1.1.5熟悉编程及调试程序的方法。1.2设计要求利用8259A中断控制器、8253定时/计数器、8255A接口芯片以及键盘和数码显示电路,设计一个电子时钟,由8253中断定时,小键盘控制电子时钟的启停及初始值的预置。电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。1.3设计内容选用8253计数器2进行1s的定时,其输出OUT1与8259的IRQ0相连,当定时到1s时产生一个中断服务程序进行时、分、秒的计数,并送入相应的存储单元;

9、8255的A口接七段数码管的位选信号,B口接数码管的段选信号。时、分、秒的数值通过对8255的编程可送到七段数码管上显示。1.4设计思想1.4.1在主程序中要分别对8253、8259、8255进行初始化编程,8253的计数器2可在方式0下工作。1.4.2 8255的A口、B口都设为方式0,为基本的输入输出方式。1.4.3在中断服务程序中对中断次数进行统计,当满10次时就进行一次时、分、秒的处理。时、分、秒分别对应6个存储单元,分别存放时、分、秒的十位和个位。当中断次数满10次时,将秒的个位加1,同理对分,时亻相应处理。1.4.4七段数码管显示作为子程序,将时、分、秒对应存储单元的内容分别取出并

10、转换成相应的段码,从8255的B口输出,A口输出对应位的位选信号,延时后进行下一位的显示。 二、设计与制作2.1设计原理基本工作原理:系统设计的电子时钟主要由显示模块、时钟控制模块和时钟运算模块三大部分组成。以8086微处理器作CPU,用8253做定时器产生时钟频率提供一个频率为10kHz的时钟信号,要求每隔10ms完成一次扫描键盘的工作。在写入控制字与计数初值后,每到10ms定时器就启动工作,即当计数器减到1时,输出端OUT0输出一个CLK周期的低电平,向CPU申请中断,当达到100次时,则输出端OUT1输出1s,向CPU申请中断,由8255控制一个数码管显示,当计数到60s时,则输出端OU

11、T2向CPU申请中断,由另一数码管显示1min,同理由数码管显示1h.CPU处理,使数码管的显示发生变化。本设计由8259A中断控制器、8253定时/计数器、8255A接口芯片、LED数码显示管和两个按键组成。主要用8259A的IRQ7的中断服务程序完成秒、分、时的运算即计时功能,IRQ6的中断服务程序完成调时、调分功能。8253用来产生50ms的脉冲信号作为IRQ7的中断请求信号。按键KK1+和KK2+分别作为IRQ2和IRQ6的中断请求信号。按键KK1+启动/关闭对时功能。它决定是否屏蔽IRQ7和IRQ6中断源。8255A负责将内存里的时位和分位值输出到数码管。电子时钟的显示格式HH:MM

12、:SS由左到右分别为时、分、秒,每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一,六个数码管动态显示时、分、秒的当前值。最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。2.2硬件电路设计2.2.1 8259芯片介绍中断控制器8259A 是专门为控制优先级中断而设计开发的芯片。它将中断源优先排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259A进 行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需要增加其他电路的情况下,通过多片8259A 的级连,能构

13、成多达64级的矢量中断系统。 8259A的主要功能如下:8259芯片一片8259A可以接受并管理8级可屏蔽中断 请求,通过9片8259A级联可扩展至64级可屏蔽中断优先控制。对每一级中断都可以通过程序来屏蔽或允许。在中断响应周期,8259A可为CPU提供相应的中断类型码。具有多种工作方式,并可通过编程来加以选择。通过初始化编程向8259A写入相应的初始化命令ICW,可以使芯片处于一个规定的基本工作方式,并在此方式下进行工作。8259A的初始化命令字共有4个ICW1-ICW4,进行初始化时要求ICW1-ICW4按一定的顺序写入。2.2.2 8253芯片介绍 8253芯片8253是NMOS工艺制成

14、的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz) 8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制 字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数 器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。2.2.3 8255芯片介绍8255特性:一个并行输

15、入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口.具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口 (高4位,PC4PC7),B组包括B口及C口(低4位,PC0PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I /O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定. 8255引脚功能:RESET:复位输入线 , CS:芯片选择信号线 , RD:读信号线 , WR:写入信号 , D0D7:三态双向数据总线 ,P

16、A0PA7:端口A输入输出线 ,PB0PB7:端口B输入输出线, PC0PC7:端口C输入输出线, A0,A1:地址选择线2.3程序流程图 显示模块流程图:三、结果分析最后,我们得到了预期的结果,电路能完成准确的硬件定时和显示。在一开始的连线中,因为粗心,没有把片选信号连正确,后来参考了网上的一些资料,仔细的盘查,才发现了错误,在实验过程中有些实验箱也可能会存在一些问题,有时可以换个实验箱解决问题四、结论与展望将编写好的源程序输入,编译后出现很多错误,经过反复修改直到程序运行通过。将生成的可执行程序装入TND86/88的内存里,在监控状态下运行程序,可是数码管显示的数字并不与理论计算值相符合,

17、并且显示的数字不停地闪动,经过反复分析源程序发现问题出现在内存单元里时位和分位在转化为十进制时,存储转化的结果的地址空间的顺序弄混了。数字闪动的原因应该出在显示子程序里,经过分析问题出在显示子程序里缺少延时程序。编写延时子程序,并在显示子程序调用它;编译源程序,装入生成的可执行文件,并运行。数码管显示的数字与理论值相符合,并能正常计时,但当按动KK1+键时,却不能启动对时功能,按动KK2+时,也不能调时、调分。问题很可能出在两键控制的中断源上,检查源程序也找不出错误,当把IRQ5换成IRQ2后,在进行调试,结果成功。五、心得体会及建议经过一周努力,在指导老师和同学的帮助下,终于如期完成了该电子

18、时钟的课程设计。当然在课程设计的过程中遇到了许多问题,但是经过查阅有关资料和向老师、同学请教后,还是一一解决了。首先,通过这次课程设计使使我在课堂中学到的东西充分的融入到实践当中。我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。其次,通过本次设计,我系统的了解了时钟的设计流程,尤其是硬、软件的设计方法,掌握了显示电路的基本功能及编程方法,掌握了显示电路的一般原理。开拓了思路,锻炼了实践动手能力,提高了分工协作能力和分析问题,解决问题的能力,达到了本次课程设计的目

19、的。最后,通过该课程设计,我进一步的熟悉了可并行通信接口8255、计数器/定时器8253及中断控制器8259处理器程序的编程方法的编程原理和7段LED数码管显示器的工作原理,为以后独立的设计系统提供了丰富的实践经验。以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。本次课程设计完成了

20、实时时钟的设计到实现的全部过程,结果满足设计要求,设计主要用到了8255,8253,8259和三个芯片,程序也比较长比较麻烦,同时也遇到了不少困难。系统设计的开始几天的时间,没有什么大的进展,仅仅是初始界面就调试了很长时间才成功,当8253定时/计数器来做其中的秒定时模块时,因为8253所能提供的信号的周期是毫秒级的,因此必须通过软件的方法在运算模块中设置一个统计中断次数的变量,并且这一变量必须事先在内存里开辟存储单元,所以就要求在写程序时就要有明确的思路。关于显示模块和对时模块,在了解LED、8259、8253的功能和用法后,问题很容易解决。以后的几天的时间开始调中断程序,程序中一旦有了中断

21、,调试就困难了,调中断调了好几天,难度挺大的,任何一个初始化的失误都可能使你的程序不正常,在多次调试之后,终于完成了该部分的调试工作。参考文献1 杨立,邓振杰,荆淑霞等编著.微型计算机及接口技术(第三版).中国铁道出版社附录:程序清单:MY8255_A EQU 0600HMY8255_B EQU 0602HMY8255_C EQU 0604HMY8255_CON EQU 0606HA8254 EQU 06C0HB8254 EQU 06C2HC8254 EQU 06C4HCON8254 EQU 06C6HDATA SEGMENTDTABLE DB 3FH,06H,5BH,4FH,66H,6DH,

22、7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDSSSTACK SEGMENT STACK DW 200 DUP(?)SSTACK ENDS CODE SEGMENT ASSUME CS:CODE, SS:SSTACK,DS:DATASTART: PUSH DS MOV AX, 0000H MOV DS, AX MOV AX, OFFSET IRQ7 ;取中断入口地址 MOV SI, 003CH ;中断矢量地址 MOV SI, AX ;填IRQ7的偏移矢量 MOV AX, CS ;段地址 MOV SI, 003EH MOV SI, AX ;填

23、IRQ7的段地址矢量 CLI POP DS MOV AX,DATA MOV DS,AX MOV CX,03H MOV DI,3000H MOV AL,00HLP: MOV DI,AL INC DI LOOP LP ;MOV DI,3003H MOV SI,4000H MOV AL,00H MOV SI,AL ;清显示缓冲 MOV SI+1,AL MOV SI+2,AL MOV SI+3,AL MOV SI+4,AL MOV SI+5,AL MOV SI,4000H MOV AL, 11H OUT 20H, AL MOV AL, 08H OUT 21H, AL MOV AL, 04H OUT 2

24、1H, AL MOV AL, 01H OUT 21H, AL MOV AL, 6FH OUT 21H, AL MOV DX, CON8254 ;MOV AL, 30H ;计数器0,方式0 MOV AL, 36H ;计数器0,方式3,产生50ms方波 OUT DX, AL MOV DX, A8254 ;计数初值为3E8H=1000,产生1ms中断 MOV AL, 50H ;c350H=50000,产生50ms OUT DX, AL MOV AL, 0c3H OUT DX, AL MOV DX, CON8254 MOV AL, 50H ;计数器1,方式0 OUT DX, AL MOV DX, B8

25、254 ;计数初值为3E8H=1000,产生1ms中断 MOV AL, 20H ;c350H=50000,产生50ms中断 OUT DX, AL MOV DX,MY8255_CON ;写8255控制字 MOV AL,81H OUT DX,AL STI AA1: CALL DIS ;调用显示子程序 JMP AA1DIS: PUSH AX MOV SI,4000H MOV DL,0DFH MOV AL,DL AGAIN: PUSH DX MOV DX,MY8255_A OUT DX,AL ;select first seg MOV AL,SI MOV BX,OFFSET DTABLE XLAT M

26、OV DX,MY8255_B OUT DX,AL CALL DALLY INC SI POP DX MOV AL,DL TEST AL,01H JZ OUT1 ROR AL,1 MOV DL,AL JMP AGAIN OUT1: POP AX RET DALLY: PUSH CX MOV CX,0005HT1: MOV AX,0010HT2: DEC AX JNZ T2 LOOP T1 POP CX RET IRQ7: PUSH AX MOV DX, B8254 ;重装计数初值 MOV AL, 20H OUT DX, AL ;MOV AX, 0173H ;INT 10H ;显示字符s ;SEC

27、OND MOV DI,3000H MOV DL,DI MOV AH,00H MOV AL,DL MOV BL,10 DIV BL MOV BH,AH ;AH 保存余数,al保存商 MOV BL,AL ; MOV SI,4001H ;4000H内存单元保存秒的十位 MOV SI,AL OR AL,30H ;ADD 30H MOV AH,01H INT 10H MOV AL,BH MOV SI,4000H ;4001H内存单元保存秒的个位 MOV SI,AL OR AL,30H ;ADD 30H MOV AH,01H INT 10H MOV AX, 0120H ;20h=空格 INT 10H MO

28、V DI,3000H MOV DL,DI INC DL MOV DI,DL CMP DL,60 JL NEXT1 MOV DL,00H MOV DI,3000H MOV DI,DL MOV DI,3001H MOV DL,DI INC DL MOV DI,DL ;SAVE UPDATE MINUTE MOV AH,00H MOV AL,DL MOV BL,10 DIV BL MOV BH,AH ;AH 保存余数,al保存商 MOV BL,AL ; MOV SI,4003H ;4000H内存单元保存秒的十位 MOV SI,AL OR AL,30H ;ADD 30H MOV AH,01H INT

29、10H MOV AL,BH MOV SI,4002H ;4001H内存单元保存秒的个位 MOV SI,AL OR AL,30H ;ADD 30H MOV AH,01H INT 10H MOV AX, 0120H ;20h=空格 INT 10H MOV DI,3001H MOV DL,DI CMP DL,60 JL EXIT MOV DL,00H ;CLEAR MINUTE MOV DI,DL JMP AANEXT1: JMP EXITAA: MOV DI,3002H MOV DL,DI INC DL MOV DI,DL MOV AH,00H MOV AL,DL MOV BL,10 DIV BL MOV BH,AH ;AH 保存余数,al保存商 MOV BL,AL ; MOV SI,4005H ;4000H内存单元保存秒的十位 MOV SI,AL OR AL,30H ;ADD 30H MOV AH,01H INT 10H MOV AL,BH MOV SI,4004H ;4001H内存单元保存秒的个位 MOV SI,AL OR AL,30H

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

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