微机原理与接口技术课程设计倒计时.docx
《微机原理与接口技术课程设计倒计时.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计倒计时.docx(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微机原理与接口技术课程设计报告题目:倒计时学院专业 计算机科学与技术班级学号学生姓名指导教师课程成绩完成日期 2023 年 6 月 23 日目录一 设计功能3二 设计原理及原理图31. 系统总设计原理32. 硬件框架原理图33. 硬件介绍44. 功能电路7三 程序模块及流程图81. 8255A 初始化82. 显示程序模块83. 延时程序模块94. 掌握程序模块95. LED 灯点亮程序模块10四 源程序11五 试验结果15六 总结16附录 1:系统硬件框架17附录 2:系统总程序流程图18附录 3:8086/88 计算机主板图19题目:倒计时一 设计功能本次课程设计我们在TD-PIT+试验系统
2、和PC 机平台上利用并行接口 8255A、键盘及数码管显示单元、开关及 LED 显示单元、键盘按键和电脑显示屏设计成一个倒计时器。具体功能包括:1. 用 2 位 8 段共阴数码管显示倒计时时间;2. 使用开关 K0 实现暂停/启动功能,开关 K1 实现倒计时复位功能;3. 倒计时为 0 时 8 盏 LED 灯实现跑马灯功能;4. 利用数字键输入倒计时初始数值,按键“r”实现重启动倒计时器,按键“e”实现退出程序进入 DOS 环境下,并对其他按键进展屏蔽;5. 屏幕显示相应的提示信息,包括提示用户输入数据、倒计时完毕、倒计时完毕后用户进展的操作;6. 可以任意设定倒计时的初始时间,每隔 1 秒钟
3、计时器减 1,直到为 0;7. 在倒计时过程中可通过开关 K1 实现退出当前的倒计时并开头一轮的倒计时。二 设计原理及原理图1. 系统总设计原理我们选择并行接口 8255A 芯片,在程序中使用延时语句来输出秒脉冲,并在其中调用显示函数不断刷数码管进展数值显示。使用 8255A 作为输入/输出接口,其中 A 端口为输出口,连接 LED 显示单元的 D8D15;B 端口为输出口,连接数码管的 ADp,进展数码管的段锁存;C 端口高 4 位为输出口,连接数码管的 X4X1,进展位锁存,低 4 位为输入端,连接开关的 K3K0。承受在软件中掌握循环程序的方式来掌握倒计时的复位和暂停功能,并通过程序来显
4、示语句和读入用户的键盘输入,以进展相应操作。此方案性价比高,但由于使用了软件延时, 当芯片损耗以及芯片在工作时间过长后会消灭倒计时不够准确。2. 硬件框架原理图图 1 系统设计硬件框架3. 硬件介绍3.1 并行接口 8255A(1) 8255A 的内部构造图 2 8255A 的内部构造1) 8255A 有 3 个 8 位数据接口,即接口A、接口B 和接口 C,可利用编程方法设置 3 个端口是作为输入端口还是输出端口;2) 8255A 能适应 CPU 和 I/O 接口之间的多种数据传送方式的要求,如无条件传送、查询方式传送、中断方式传送。8255A 设置了方式 0、方式 1 以及方式 2;3)
5、数据总线缓冲器是个双向三态8 位数据缓冲器,与CPU 系统数据总线相连, 是 8255A 与 CPU 之间传输数据的必经之路。输入数据、输出数据、掌握命令字都是通过数据总线缓冲器进展传递的;4) 读/写掌握规律电路接收来自 CPU 地址总线的信号和掌握信号,并发出命令到两个掌握组(A 组和 B 组)。它掌握把 CPU 发出的掌握命令或输出的数据送到相应的端口,或者把外设的状态或输入的数据相应的端口送到CPU;5) A 组掌握和 B 组掌握一方面接收芯片内部总线上的掌握字,一方面接收来自读/写掌握规律电路的读/写命令,从而解决端口的工作方式和读/写操作。其中,A 组掌握电路掌握端口 A 和端口
6、C 高 4 位PC7-PC4的工作方式和读/写操作:而 B 组掌握电路掌握端口 B 和端口 C 低 4 位PC3-PC0 工作方式和读写操作。(2) 8255A 的外部引脚图 3 8255A 的功能引脚图1) 与外部设备端相连的引脚PA7-PA0:A 端口的输入/输出引脚; PB7-PB0:B 端口的输入/输出引脚; PC7-PC0:C 端口的输入/输出引脚;2) 与 CPU 相连的引脚RESET:复位信号,低电平有效。当 RESET 信号来到时,全部内部存放器都被清 0,同时 3 个端口被自动设为输入端口;D7-D0:8255A 的数据线,和系统数据总线相连; CS:芯片选择信号。只有当CS
7、 有效时,读出信号RD 和写入信号 WR 才对 8255A 有效;RD:读出信号。CPU 通过 IN 指令使 RD 有效,将数据或状态信息从 8255A 中读到 CPU;WR:写入信号。CPU 通过 OUT 指令使 WR 有效,将数据或状态信息从 CPU 中写道 8255A;A1,A0:端口选择信号。8255A 内部有 3 个数据端口和 1 个掌握端口, 共 4 个端口。规定 A1,A0 为 00、01、10 和 11 时,分别选中端口 A、端口 B、端口 C 和掌握端口。(3) 8255A 的掌握字1) 8255A 的方式掌握字8255A 共有两个掌握字,即工作方式掌握字和对 C 口置位/复
8、位掌握字。8255A 的工作方式字格式和各位的含义如图 4图 4 8255A 工作方式掌握字格式方式 0 为根本的输入输出方式;方式 1 为选通式输入/输出;方式 3 为双向选通输入/输出方式。2) C 口置位/复位掌握字8255A 的 C 口置位/复位掌握字的格式如图 5图 5 8255A 的 C 口置位/复位掌握字3.2 八段共阴数码管一般 8 段 LED 显示器的内部构造和引脚如图 6(a)所示。每段都是一个发光二极管,通过点亮不同的字段,可以显示 0,1,9 和 A,B,F。其内部各发光二极管之间的连接方法有共阴极和共阳极两种,如图 6(b)和图 6(c)所示。(a) 构造和引脚(b)
9、共阴极接法(c)共阳极接法图 6 八段LED 显示器(1) 共阴极接法:把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。试验中使用的数码管为共阴极接法;(2) 共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。表 1 8 段LED 显示字形段码字型共阴极字形代码字型共阴极字形代码字型共阴极字形代码03FH67DHC39H106H707HD5EH25BH87FHE79H34FH96FHF71H466HA77H灭00H56D
10、HB7CH4. 功能电路4.1 数码管显示电路图 7 显示连接电路试验箱上有四个 LED 显示器,本试验利用 PC 口的最高两位选中 X4 和 X3 两个数码管,即进展位锁存;八段数码管为阳极 LED 器件。要让 A 段点亮,要求 PB0 输出高电平“1”; 要使 B 段熄灭,要求从 PB1 输出低电平“0”。其余各段以此类推。要使 LED 上显示 0-9 十个数字,需要依据如下段码表来驱动数码管的八段 LED:表 28 段数码管段码表显示字符0123456789八段代码3FH06H5BH4FH66H6DH7DH07H7FH6FH4.2 开关与 LED 灯掌握电路图 8 开关与LED 灯掌握电
11、路设置 8255 的 A 端口工作在方式 0 下,作为输出端,电路连接如上图,在倒计时到 0 的时候 LED 灯从左到右接着再从右往左依次点亮,实现跑马灯功能。开关 K1 为复位开关,在倒计时过程中置 K1 为“1”可以实现退出当前倒计时,置K1 为“0”时又开头重倒计时。开关K0 为暂停开关,在倒计时过程中置K0 为“1”可以暂停倒计时,置K0 为“0”时,数码管接着当前的显示数据执行递减, 并且在暂停过程中数码管始终显示暂停时的数据。三 程序模块及流程图1. 8255A 初始化程序开头时对 8255A 进展初始化,A 组和 B 组掌握工作在方式 0,因此方式字中的 D6D5 和 D2 为
12、0。A 口为输出,因此D4 为 0;C 口高 4 位为输出,因此D3 为 0,低4 位为输入,因此D0 为 1;B 口为输出,因此D1 为 0。依据程序设计要求,8255A 的方式掌握字为 1000 0001B,即 81H。2. 显示程序模块依据方式掌握字和连线可知,B 口连接数码管的 ADp 进展段锁存,C 口的高4 位连接 X4X1 进展位锁存。显示程序如下:DIS PROC NEAR;数码管显示子程序PUSH AX;保护现场PUSH DXMOV SI,3000H;找到存数的缓冲区MOV AL,0BFH;1011 1111B,选中 X3 数码管MOV DX,MY8255_C;选中PC 口,
13、进而选中数码管OUT DX,ALMOV AL,SI;取出缓冲区中存放的键值XLAT;查表指令,将以BX 为基地址,AL 为位移量的字节存储单元中的数赋给AL MOV DX,MY8255_B;写入数码管ADpOUT DX,ALCALL DALLY1;调用延时函数MOV AL,7FH;0111 1111B,选中 X4 数码管MOV DX,MY8255_C;选中PC 口,进而选中数码管OUT DX,ALMOV AL,SI+1;取出缓冲区中存放的键值XLATMOV DX,MY8255_B;写入数码管ADp OUT DX,ALCALL DALLY1;调用延时函数POP AXPOP DXDIS ENDP3
14、. 延时程序模块掌握一个循环程序循环 N 次以到达延时的目的。具体语句如下:DALLY:PUSH CXPUSH AXMOV CX,0FFFFHA1:MOV AX,4FFFHA2:DEC AX JNZ A2 LOOP A1 POP AX POP CX;保护现场;自减;计数循环RET程序循环次数为N=(FFFF+1)*(4FFF+1),延时时间为N*n(n 为程序语句执行时间)4. 掌握程序模块掌握程序有暂停和复位,其中暂停可以用一个循环程序来实现,当暂停键拨下时,循环程序会进入死循环状态,直至暂停键拨回。复位则只需按条件跳转至输入初始时间的程序语句处即可。C 口低 4 位为输入,读入开关状态,推
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 课程设计 倒计时
限制150内