资源预览内容
第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
第9页 / 共17页
第10页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
武汉理工大学华夏学院微机原理课程设计- 1 -倒计时器设计摘要本次设计采用的是 8255A、数码管、按键开关以及拨位开关组成的一个简单的倒计时器。电路具有时间显示功能,能在一位数码管上从 9 开始递减,每隔 1 秒钟,计时器减 1。有外部开关能控制其暂停、复位,在倒计时为零 0 时发出声光警报。 武汉理工大学华夏学院微机原理课程设计- 2 -目录前言4第一章 倒计时器的设计要求与设计方案.倒计时器的设计的要求 5.设计方案的论证与比较 5.设计方案的确定 5第二章 倒计时器的硬件设计.倒计时的硬件框图 6.8255A 的基本资料 6.显示电路的连接 9.控制电路的连接 9.报警电路的连接 10第三章 倒计时器的软件设计. 主程序框图11. 源程序的设计11第四章 安装与调试. 硬件的调试13. 软件调试13. 调试过程13第五章 设计体会与总结附录附一 系统硬件原理图15附二 源程序与参考文献15武汉理工大学华夏学院微机原理课程设计- 3 -前言微机原理和接口技术是一门实践性强的学科,其中很多的原理、规则、现象等 仅仅靠学习教科书是无法完全掌握的,必须通过实践才能比较直观和深刻的理解。在进行课程设计的过程中,可以让学生体验分析问题、提出解决方案、通过编程等手段实现解决方案、不断调试最终达到设计要求的全过程,从而帮助学生系统地掌握微机原理的接口技术的相关知识,达到将知识融会贯通的目的。本次设计的基于单片的倒计时器相较传统机械式倒计时器具有可以灵活可调、性价比高等优点,有在现实生活中得到广泛应用的发展潜力。武汉理工大学华夏学院微机原理课程设计- 4 -第一章倒计时器的设计要求与设计方案1.1 倒计时器的设计的要求 电路具有时间显示功能,要求用 1 位七段数码管; 要求电路为 9 秒递减计时,每隔 1 秒钟,计时器减 1; 要有外部开关,控制计数器的直接清零、启动和暂停/连续计时功能; 当计时器倒计时为零时,即定时时间到,显示为零,同时发出声光报警信号。1.2 方案的论证与比较 使用 8253 作为秒脉冲输出,用 8255A 作为输入/输出接口分别接控制端、输出显示端、报警器,使用 8259 作为中断控制倒计时的复位/暂停。这种方案具有走时精准、可扩展性好的有点,但是制作成本最高。 使用软件延时,在程序中使用延时语句来输出秒脉冲。用 8255A 作为输入/输出接口分别接控制端、输出显示端、报警器,使用 8259 作为中断控制倒计时的复位/暂停。此方案具有控制响应速度快,制作成本因为舍弃 8253 成本适中,但是由于使用了软件延时,因为芯片损耗以及芯片在工作时间过长后走时会不够准确。 芯片只选择 8255A,使用软件延时,在程序中使用延时语句来输出秒脉冲,使用8255A 作为输入/输出接口。采用在软件中控制循环程序的方式来控制倒计时的复位/暂停。此方案性价比最高,但是相应的由于使用了软件延时,因为芯片损耗以及芯片在工作时间过长后走时会不够准确。由于 8259 的弃用在系统扩展方面会不如以上两种。1.3 设计方案的确定考虑各方因素,因为本次课程设计所提供的实验箱上 8253 只提供了一个工作通道,实验箱上所给的标准脉冲为 1.8M。这样在通过 8253 分频后最小只能提供F=1.8M/65535=27HZ,这样就只能在软件中在通过延时程序来达到 1HZ 的脉冲,这种情况下 8253 的使用就没有走时准确的优势,故舍弃方案。本次课程设计要求并未要求设计成品需要扩展功能,故舍弃方案。方案达到课程设计要求并且成本最低,所以确定以方案来设计。武汉理工大学华夏学院微机原理课程设计- 5 -第二章 倒计时器的硬件设计2.1 倒计时的硬件框图框图如下:8 2 5 5 A暂停 / 复位控制电路一位七段数码管显示电路声光报警电路2.2 8255A 的基本资料一8255A 内部结构如图 3-4 所示。武汉理工大学华夏学院微机原理课程设计- 6 -8255A 内部结构 8255A3 个 8 位数据接口,即接口 A、接口 B 和接口 C。使用者可以用软件使它们分别作为输入端口或输出端口。(1) 端口 A:一个 8 位数据输入锁存器和一个 8 位数据输出锁存器/缓冲器,用来传送数据。数据输入均被锁存。(2) 端口 B:一个 8 位数据输入缓冲器和一个 8 位数据输出锁存器/缓冲器,用来传送数据。数据输入时不被锁存,数据输出时被锁存。(3) 端口 C:一个 8 位数据输入缓冲器和一个 8 位数据输出锁存器/缓冲器。用作输入端口时,数据不被锁存;而作为输出端口是,数据被锁存。 A 组控制和 B 组控制这两组控制电路一方面接收芯片内部总线上的控制字,一方面接收来自读/写控制逻辑电路的读/写命令,从而解决端口的工作方式和读/写操作。其中,A 组控制电路控制端口 A 和端口 C 高 4 位(PC7-PC4)的工作方式和读/写操作:而 B 组控制电路控制端口 B 和端口 C 低 4 位(PC3-PC0)工作方式和读写操作。 读/写控制逻辑电路读/写控制逻辑电路负责管理 8255A 的数据传输过程。它接收来自系统总线的信号 A1,A0 和控制总线信号 RESET、WR、RD,将这些信号组合后,得到 A 组控制部件和 B 组控制部件的控制命令,并将命令发给这两个部件,完成对数据、状态信息的传输。 数据总线缓冲器这是个双向三态 8 位数据缓冲器,9255A 通过它与系统数据总线相连。输入数据、输出数据、CPU 发给 8255A 的控制字都是通过这个缓冲器传递的。二8255 的引脚信号武汉理工大学华夏学院微机原理课程设计- 7 -8255 的引脚信号如图所示 与外部设备端相连的引脚(1) PA7-PA0:A 端口的输入 /输出引脚。(2) PB7-PB0:B 端口的输入/输出引脚。(3) PC7-PC0:C 端口的输入/ 输出引脚。 与 CPU 相连的引脚(1) RESET:复位信号,低电平有效。当 RESET 信号来到时,所有内部寄 存器都被清 0,同时 3 个端口被自动设为输入端口。(2) D7-D0:8255A 的数据线,和系统数据总线相连。(3) CS:芯片选择信号。只有当 CS 有效时,读出信号 RD 和写入信号 WR 才对8255A 有效。(4) RD:读出信号。CPU 通过 IN 指令使 RD 有效,将数据或状态信息从8255A 中读到 CPU。(5) WR:写入信号。 CPU 通过 OUT 指令使 WR 有效,将数据或状态信息从CPU 中写道 8255A.(6) A1,A0 :端口选择信号。8255A 内部有 3 个数据端口和 1 个控制端口,共4 个端口。规定 A1,A0 为 00、01、10 和 11 时,分别选中端口 A、端口B、端口 C 和控制端口。三 8255 的控制字 方式选择控制字(1) 方式选择控制字把 A、B 、C 三个端口分为 A、B 两组来设定工作方式。A 组包括端口 A 和端口 C 的上半部, B 组包括端口 B 和端口 C 的下半部。(2) 端口 A 可工作于 3 种方式中的任何一种:端口 B 只能工作于方式 0 和方式武汉理工大学华夏学院微机原理课程设计- 8 -1;而端口 C 除用作输入、输出口(方式 0)外,通常用来配合端口 A 和端口 B 提供联络控制信号和状态信号。(3) 归在同一组的两个端口可分别作为输入端口或输出端口,不要求同为输入或输出。 端口 C 按位置位/复位控制字(1) 端口 C 按位置位/ 复位控制字尽管是对端口 C 进行操作的,但此控制字必须写入控制口,而不写入端口 C。(2) 一个控制字只能完成端口 C 中某一位置的置 1 或置 0,要对多位置 1 或置0,必须使用多个控制字。2.3 显示电路的连接显示电路的连接如下图:P B 7P B 6P B 5P B 4P B 3P B 2P B 1P B 0ABDEFGD PCC SG N D8 2 5 5 A实验箱上有四个数码管,故需要把其中一个数码管的片选端口接地予以选通。在程序内设置 8255 的控制字 D2-D1 位分别为 00,使 B 端口工作在方式 0 作为输出端,PB0-PB7 分别对应连接数码管的 A-DP。七段发光二极管为阳极 LED 器件。要让 A 段点亮,要求 PB0 输出高电平“1” ;要使 B 段熄灭,要求从 PB1 输出低电平 “0”。其余各段以此类推。要使 LED 上显示 0-9十个数字,需要按照如下段码表来驱动数码管的七段 LED。显示字符 0 1 2 3 4 5 6 7 8 9武汉理工大学华夏学院微机原理课程设计- 9 -2.4 控制电路的连接控制电路的连接如下图:8 2 5 5 A复位暂停开始P C 7P C 6P C 5P C 4P C 3P C 2P C 1P C 0设置 8255A 的控制字 D3 D0 位分别为“1” ,让 C 端口作为输入端,考虑到实验箱所给的连接线没有单口连接线,为了便于连线,每两位设置一个开关。其中暂停键使用的是拨位开关,这样能保持一个持续的电平,便于控制。而开始和复位则使用了按键开关。当按下“开始”后倒时开始计数,把“暂停”拨到接地后计数会停止,按下“复位”计数器会重新复位到 9 直至按下“开始”倒计时重新开始倒计时。2.5 报警电路的连接报警电路的连接如下图所示:8 2 5 5 AP A 7P A 6P A 5P A 4P A 3P A 2P A 1P A 0设置 A 端口工作在方式 0 下,作为输出端,则控制字的 D6D5D4 位为“000” 。电路连接如上图,在倒计时器显示为“0”的时候蜂鸣器和 LED 灯会被接通开始报警。七段代码 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH武汉理工大学华夏学院微机原理课程设计- 10 -第三章 倒计时的软件设计3.1 主程序设计框图武汉理工大学华夏学院微机原理课程设计- 11 -显示 9开始复位Y E S暂停Y E S减 1报警等于1NONO不等于 13.2 程序的设计 8255A 控制字的设计由硬件电路的设计可知,要使 A、B 端口工作在方式 0,作为输出,D6D5D4 为000,D2 D1 为 0 0。C 端口作为输入端,其控制字 D3 D0 为 1 1。则 8255A 的控制字为 10001001。 显示
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号