电子钟课程设计报告_微机原理与接口技术_第1页
电子钟课程设计报告_微机原理与接口技术_第2页
电子钟课程设计报告_微机原理与接口技术_第3页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

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

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

3、 口接七段数码管的位选信号,B 口接 数码管的段选信号。时、分、秒的数值通过对8255的编程可送到七段数码管上显示。课 程 设 计 简 要 操 作 步 骤X4图W 问旬找、 的凹编 检寻告 0忆理路箱码34,知验 电电原电验代检实实 解出据接试入fi复写成 了画根连将植反撰完 、 123456789课程设计心得体会也己 ,一 了理际 ,自软了 确 了实 定 了曰曲高明高系 肯强点提习提联 十增特平学及论 一 计大水的炼理 M设最程来锻JT 知加用的我®,会 啲是应我为握体 至的的后 ,掌的 咛要片成趣的刻 J 主芯完伙惬深 获牛即伽働相筛 、at O , 7 、4 上匚 7Z7 O

4、、人 o O 日疋 对手件步标问> 是动硬大目解的课程设计评语及成绩评语成绩日 月 年目 录摘要 1关键词 2一、概述 21.1设计目的 21.2设计要求 21.3设计容 31.4设计思想 3二、设计与制作 42.1设计原理 42.2硬件电路设计 52.3程序流程图 8三、结果分析 9四、结论与展望 9五、心得体会及建议 10致谢 11参考文献 12电子钟的设计与制作摘要:微机控制即微型计算机原理控制。是集 CPU ,RAM ,ROM定时, 计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛 应用于智能产业和工业自动化上。微型计算机原理控制应用技术飞速发展,纵观我们现在生活的

5、各个 领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络 通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们 生活中广泛使用的各种智能IC卡,电子宠物等,这些都离不开微型计 算机原理控制。我们组本次设计的题目是简单电子钟程序设计,用到了定时芯片8254,中断控制器8259和可编程并行芯片8255。在编辑1毫秒定时程序 时,用到了中断控制器8259。此程序主要由四部分组成:第一部分为最主要的部分定义显示界面;第二部分为利用延时程序,并将调用的二进制表示的时间数转换成 ASCII 码,并将时间数存入存区;第三部分将存在系统存区的时间数用七段数码管显示出来;第四部分利用循环程

6、序分别对秒个位、秒十位、分个位、分十位与相应 的规定值进行比较,结合延时程序来实现电子钟数字的跳变,从而形成 走时准确的电子钟。该程序实现了准确显示秒和分,读数准确,走时精准。此电子钟能准确的从0分0秒走时到59分59秒,然后能自动回复到0分0秒循环 走时。关键词:可编程并行芯片8255定时芯片8254中断控制器8259 延时 计数 比较 定时 中断七段数码显示管一、概述1.1设计目的通过本次课程设计学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论 知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对 专业知识和理论知识学习的认识

7、和理解,使设计者的设计水平和对所学 知识的应用能力以及分析问题解决问题的能力得到全面提高。熟练掌握8086/88教学系统的基本操作和调试程序的各种指令。掌握8259中断控制器的工作原理和应用编程方法,练习编写中断程序的方法。掌握8255的各种工作方式及其应用编程。掌握8253定时/计数器的工作原理、工作方式及其应用编程。熟悉编程及调试程序的方法。1.2设计要求利用8259A中断控制器、8253定时/计数器、8255A接口芯片以及 键盘和数码显示电路,设计一个电子时钟,由8253中断定时,小键盘控制电子时钟的启停及初始值的预置。电子时钟的显示格式HH MM SS 由左到右分别为时、分、秒,最大记

8、时 59: 59: 59超过这个时间时分秒位都清零从00: 00: 00重新开始。1.3设计容选用8253计数器2进行1s的定时,其输出 OUT1与8259的IRQ0相连,当定时到1s时产生一个中断服务程序进行时、分、秒的计数,并送入相应的存储单元;8255的A 口接七段数码管的位选信号,B 口接 数码管的段选信号。时、分、秒的数值通过对8255的编程可送到七段数码管上显示。1.4设计思想在主程序中要分别对 8253、8259、8255进行初始化编程,8253的计数器2可在方式0下工作。8255的A 口、B 口都设为方式0,为基本的输入输出方式。在中断服务程序中对中断次数进行统计,当满10次时

9、就进行一次时、分、秒的处理。时、分、秒分别对应6个存储单元,分别存放时、分、秒的十位和个位。当中断次数满10次时,将秒的个位加1,同理对 分,时亻相应处理。七段数码管显示作为子程序,将时、分、秒对应存储单元的容分别取出并转换成相应的段码,从8255的B 口输出,A 口输出对应位的位 选信号,延时后进行下一位的显示。启动键200I208210II207译20F码器2178259CSA0WRINTARDIR7D7IR68253D7CLKOOUTOGATE0DOINTRINTA高电平1M二、设计与制作2.1设计原理基本工作原理:系统设计的电子时钟主要由显示模块、时钟控制模块和时钟运算模块三大部分组成

10、。以 8086微处理器作CPU用8253做 定时器产生时钟频率提供一个频率为 10kHz的时钟信号,要求每隔10ms完成一次扫描键盘的工作。在写入控制字与计数初值后,每到 10ms定 时器就启动工作,即当计数器减到1时,输出端OUT(输出一个CLK周 期的低电平,向CPU申请中断,当达到100次时,则输出端OUT输出 1s,向CPU申请中断,由8255控制一个数码管显示,当计数到60s时,则 输出端OUT2向CPU申请中断,由另一数码管显示1min,同理由数码管显 示1h.CPU处理,使数码管的显示发生变化。本设计由8259A中断控制器、8253定时/计数器、8255A接口芯片、LED数码显示

11、管和两个按键组成。主要用8259A的IRQ7的中断服务程序 完成秒、分、时的运算即计时功能,IRQ6的中断服务程序完成调时、调 分功能。8253用来产生50ms的脉冲信号作为IRQ7的中断请求信号。按 键KKH和KK2+分别作为IRQ2和IRQ6的中断请求信号。按键KK1+启动/ 关闭对时功能。它决定是否屏蔽IRQ7和IRQ6中断源。8255A负责将存里的时位和分位值输出到数码管。电子时钟的显示格式HH MM SS由左到右分别为时、分、秒,每 百分之一秒对百分之一秒寄存器的容加一,并依次对秒、分、小时寄存 器的容加一,六个数码管动态显示时、分、秒的当前值。最大记时59:59: 59超过这个时间

12、时分秒位都清零从 00: 00: 00重新开始。2.2硬件电路设计8259 芯片介绍 中断控制器8259A是专门为控制优先级中断而 设计开发的芯片。它将中断源优先排队、辨别 中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对 8259A进 行编程,就可以管理8级中 断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设 定。同时,在不需要增加其他电路的情况下,通过多片8259A的级连,能构成多达64级的矢量中断系统。8259A的主要功能如下: 一片8259A可以接受并管理8级可屏蔽中断 请求,通过59芯片8259A级联可扩展至64级可屏蔽中断优先控制。 对每一级中断都

13、可以通过程序来屏蔽或允许。 在中断响应周期,8259A可为CPU提供相应的中断类型码。 具有多种工作方式,并可通过编程来加以选择。通过初始化编程向8259A写入相应的初始化命令ICW可以使芯片处于一个规定的基本工 作方式,并在此方式下进行工作。8259A的初始化命令字共有 4个ICW1-ICW4进行初始化时要求ICW1-ICW4按一定的顺序写入。8253 芯片介绍8253是NMO工艺制成的可编程计数器/定时器,有 几种芯片型号,外形引脚及功能都是兼容的,只是 工作的最高计数速率有所差异,例如8253(2.6MHz) ,8253-5(5MHz) 8253 部有三个计数器,1 W 242勺3345

14、207規817Q16ID1511U12甘A.扎our?CLKOUTiCiATF8253芯片构完全相同。每个计数器的输入和输出都决定于设1分别成为计数器0、计数器1和计数器2,他们的机置在控制寄存器中的控制 字,互相之间工作完全独立。每个计数器通 过三个引脚和外部联系,一个为时钟输入端 CLK 一个为门控信号输入 端GATE另一个为输出端OUT每个计数器部有一个8位的控制寄存 器,还有一个16位的计数初值寄存器 CR 一个计数执行部件CE和一 个输出锁存器OL。223 8255 芯片介绍8255特性: 一个并行输入/输出的LSI芯片,多功 能的I/O器件,可作为CPU总线与外围的 接口 . 具有

15、24个可编程设置的I/O 口,即使3组 8 位的 I/O 口为 PAD ,PB 口和 PC口 .它们又可分为两组12位的I/O 口 ,A组包52558255芯片1TLDOEIILEUDttlD.IrPETEBtFEC括 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写入 信号,D0 D7:三

16、态双向数据总线 ,PA0PA7:端口 A输入输出线,PBOPB7:端口 B输入输出线,PCOPC7:端口 C输入输出线,A0,A1:地址选择线2.3程序流程图设置中断服务程序地址中断计数值加1设置8253工作方式及定时常数中断计数单元清零秒计时值加1设置8255工作方式清显示缓冲区清时、分、秒及中断计 数单元开中断将时、分、秒单元中数 据转换为BCD码并存入显示缓冲区调用显示子程序秒计数单元清零分计时值加1N分值-60 ?分计数单元清零小时计时值加1Y输出中断结束命令中断返回主程序流程图中断服务程序流程图显示模块流程图:三、结果分析最后,我们得到了预期的结果,电路能完成准确的硬件定时和显示 在

17、一开始的连线中,因为粗心,没有把片选信号连正确,后来参考了网 上的一些资料,仔细的盘查,才发现了错误,在实验过程中有些实验箱 也可能会存在一些问题,有时可以换个实验箱解决问题四、结论与展望将编写好的源程序输入,编译后出现很多错误,经过反复修改直到 程序运行通过。将生成的可执行程序装入 TND86/88的存里,在监控状 态下运行程序,可是数码管显示的数字并不与理论计算值相符合,并且 显示的数字不停地闪动,经过反复分析源程序发现问题出现在存单元里 时位和分位在转化为十进制时,存储转化的结果的地址空间的顺序弄混 了。数字闪动的原因应该出在显示子程序里,经过分析问题出在显示子 程序里缺少延时程序。编写

18、延时子程序,并在显示子程序调用它;编译 源程序,装入生成的可执行文件,并运行。数码管显示的数字与理论值 相符合,并能正常计时,但当按动 KK1+键时,却不能启动对时功能,按 动KK2+时,也不能调时、调分。问题很可能出在两键控制的中断源上, 检查源程序也找不出错误,当把IRQ5换成IRQ2后,在进行调试,结果 成功。五、心得体会及建议经过一周努力,在指导老师和同学的帮助下,终于如期完成了该电 子时钟的课程设计。当然在课程设计的过程中遇到了许多问题,但是经 过查阅有关资料和向老师、同学请教后,还是一一解决了。首先,通过这次课程设计使使我在课堂中学到的东西充分的融入到 实践当中。我懂得了理论与实际

19、相结合是很重要的,只有理论知识是远 远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结 论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的 能力。其次,通过本次设计,我系统的了解了时钟的设计流程,尤其是硬、 软件的设计方法,掌握了显示电路的基本功能及编程方法,掌握了显示 电路的一般原理。开拓了思路,锻炼了实践动手能力,提高了分工协作 能力和分析问题,解决问题的能力,达到了本次课程设计的目的。最后,通过该课程设计,我进一步的熟悉了可并行通信接口8255、计数器/定时器8253及中断控制器8259处理器程序的编程方法的编程 原理和7段LED数码管显示器的工作原理,为以后独立

20、的设计系统提供 了丰富的实践经验。以前对于编程工具的使用还处于一知半解的状态 上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一 步的运行结果,怎么去了解每个寄存器的容以确保程序的正确性上都有 了很大程度的提高。在设计的过程中遇到问题,可以说得是困难重重, 这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程 中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握 得不够牢固。本次课程设计完成了实时时钟的设计到实现的全部过程,结果满足 设计要求,设计主要用到了 8255,8253,8259和三个芯片,程序也比较 长比较麻烦,同时也遇到了不少困难。系统设计的开始几天

21、的时间,没 有什么大的进展,仅仅是初始界面就调试了很长时间才成功,当8253定时/计数器来做其中的秒定时模块时,因为 8253所能提供的信号的周 期是毫秒级的,因此必须通过软件的方法在运算模块中设置一个统计中 断次数的变量,并且这一变量必须事先在存里开辟存储单元,所以就要 求在写程序时就要有明确的思路。关于显示模块和对时模块,在了解 LED 8259、8253的功能和用法后,问题很容易解决。以后的几天的时 间开始调中断程序,程序中一旦有了中断,调试就困难了,调中断调了 好几天,难度挺大的,任何一个初始化的失误都可能使你的程序不正常, 在多次调试之后,终于完成了该部分的调试工作。参考文献1立,邓

22、振杰,荆淑霞等编著.微型计算机及接口技术(第三版).中国 铁道出版社 附录: 程序清单:MY8255_A EQU 0600HMY8255_B EQU 0602HMY8255_C EQU 0604HMY8255_CONEQU 0606HA8254EQU 06C0HB8254EQU 06C2HC8254EQU 06C4HCON8254 EQU 06C6HDATA SEGMENTDTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDSSSTACK SEGMENT STACKDW 200 D

23、UPSSTACK ENDSCODE SEGMENTASSUME CS:CODE, SS:SSTACK,DS:DATASTART: PUSH DSMOV AX, 0000HMOV AX, OFFSET IRQ7;取中断入口地址MOV SI, 003CH;中断矢量地址MOV SI, AX;填IRQ7的偏移矢量MOV AX, CS;段地址MOV SI, 003EHMOV SI, AX;填IRQ7的段地址矢量CLIPOP DSMOV AX,DATAMOV DS,AXMOV CX,03HMOV DI,3000HMOV AL,00HLP:MOV DI,ALINC DILOOP LP;MOV DI,3003

24、HMOV SI,4000HMOV AL,00HMOV SI+2,ALMOV SI+3,ALMOV SI+4,ALMOV SI+5,ALMOV SI,4000HMOV AL, 11HOUT 20H, ALMOV AL, 08HOUT 21H, ALMOV AL, 04HOUT 21H, ALMOV AL, 01HOUT 21H, ALMOV AL, 6FHMOV DX, CON8254;MOV AL, 30HMOV AL, 36HOUT DX, ALOUT 21H, AL;计数器0,方式0;计数器0,方式3,产生50ms方波MOV AL, 50H;c350H=50000, 产生 50msOUT

25、DX, ALMOV AL, 0c3HOUT DX, ALMOV DX, CON8254MOV AL, 50H;计数器1,方式0OUT DX, ALMOV DX, B8254;计数初值为3E8H=1000产生1ms中断MOV AL, 20H;c350H=50000,产生 50ms中断OUT DX, ALMOV DX,MY8255_CON ;写 8255 控制字MOV AL,81HOUT DX,ALSTIAA1:CALL DIS;调用显示子程序JMP AA1DIS:PUSH AXMOV SI,4000HMOV DL,0DFHMOV AL,DLAGAIN: PUSH DXMOV DX, MY8255

26、_AOUT DX,AL ;select first segMOV AL,SIMOV BX,OFFSET DTABLEXLATMOV DX,M Y8255_BOUT DX,ALCALL DALL YINC SIPOP DXMOV AL,DLTEST AL,01HJZ OUT1ROR AL,1MOV DL,ALJMP AGAINOUT1: POP AXRETDALL Y: PUSH CXMOV CX,0005HT1:MOV AX,0010HT2:DEC AXJNZ T2LOOP T1POP CXRETIRQ7: PUSH AXMOV DX, B8254;重装计数初值MOV AL, 20HOUT D

27、X, AL;MOV AX, 0173H;INT 10H;显示字符s;SECONDMOV DL,DIMOV AH,00HMOV AL,DLMOV BL,10DIV BLMOV BH,AH ;AH 保存余数,al保存商MOV BL,AL ;MOV SI,4001H ;4000H存单元保存秒的十位MOV SI,ALOR AL,30H ;ADD 30HMOV AH,01HINT 10HMOV AL,BHMOV SI,4000H ;4001H存单元保存秒的个位MOV SI,ALOR AL,30H ;ADD 30HMOV AH,01HINT 10HMOV AX, 0120H ;20h=空格INT 10HM

温馨提示

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

最新文档

评论

0/150

提交评论