简单电子时钟设计_第1页
简单电子时钟设计_第2页
简单电子时钟设计_第3页
简单电子时钟设计_第4页
简单电子时钟设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

微微机机原原理理与与接接口口技技术术 课程设计报告书课程设计报告书 题目题目 简单电子时钟设计简单电子时钟设计 姓名 王莉姓名 王莉 马玲马玲 马世国马世国 宋宁昌宋宁昌 彭雄彭雄 学号 学号 P081512961P081512961 P081512970P081512970 P081512989P081512989 P081512960P081512960 P081512980P081512980 班级 班级 20082008 级计算机科学与技术级计算机科学与技术 1 1 班班 指导教师 指导教师 设计时间 设计时间 20112011 年年 3 3 月月 7 7 月月 西北民族大学数学与计算机学院西北民族大学数学与计算机学院 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 1 目 录 1 引言引言 2 1 1 背景和编写目的 2 1 2 设计思想与原理 2 1 3 术语与缩写 3 2 系统组成系统组成 3 3 硬件设计硬件设计 4 4 软件编程软件编程 13 5 系统调试系统调试 16 6 总结总结 16 7 附录附录 16 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 2 1 引言引言 1 1 背景和编写目的背景和编写目的 本次课程设计主要利用 8253 定时器设计一个具有时 分 秒显示的电子 时钟 并定义一个启动键 当按下该键的时候 时钟从当前的设定值 可以在 缓冲区中设置 开始走 同时 再定义三个按键 分别对时 分 秒进行校正 通过本次课程设计我们应掌握 8279 8259 8253 等芯片的使用方法和编程 方法 进一步理解所学的相关芯片的原理 内部结构 使用方法等 学会相关 芯片实际应用及编程 1 21 2 设计思想与原理设计思想与原理 1 2 11 2 1 设计思想设计思想 在本系统设计的电子时钟以 8088 微处理器作为 CPU 用 8253 做定时计数 器产生时钟频率 8279 做可编程并行接口显示时钟和键盘电路 8259 做中断控 制器产生中断 在此系统中 8253 的功能是定时 接入 8253 的 CLK 信号为周 期性时钟信号 8253 采用计数器 0 工作于方式 2 使 8253 的 OUT0 端输出周 期性的负脉冲信号 即每隔 20ms 8253 的 OUT0 端就会输出一个负脉冲的信 号 此信号接 8259 的 IR2 当中断到 50 次数后 CPU 即处理 使液晶显示器 上的时间发生变化 其中 8259 只需初始化 ICW1 其功能是向 8259 表明 IRx 输入是电瓶触发 方式还是上升沿触发方式 是单片 8259 还是多片 8259 8259 接收到信号后 产生中断信号送 CPU 处理 1 21 2 2 2 工作原理工作原理 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 3 利用定时器 8253 和 8259 以及键盘和数码显示电路 设计一个电子时钟 由 8253 中断定时 小键盘控制电子时钟的启停及初始值的预置 电子时钟的显示格式 HH MM SS 由左到右分别为时 分 秒 最大记时 59 59 59 超过这个时间时分秒位都清零从 00 00 00 重新开始 设计一个定时显示装置 用六个数码管显示时间 用小键盘控制计时 设 置和显示时间 系统一运行就从 00 点 00 分 00 秒开始计时 并在数码管上显示 时 分 秒当前值 而且 可以用键盘设置当前时间 基本工作原理 每百分之一秒对百分之一秒寄存器的内容加一 并依次对 秒 分 小时寄存器的内容加一 六个数码管动态显示时 分 秒的当前值 C 键 置初值 显示 00 00 00 G 键 显示动态变化 启动表 D 键 显示静态不变 表停止 E 键 终止程序 返回 DOS P 键 设置时 分 秒的值 1 3 术语与缩写术语与缩写 可编程并行芯片 8279 定时 计数器 8253 中断控制器 8259 七段数码显示管 延时 计数 比较 定时 中断 2 系统组成系统组成 程序由以下模块组成 系统共有 5 个功能模块 分别为 主控模块 显示 模块 定时模块 中断模块 小键盘模块 系统总体框图如下 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 4 键盘读入的数 显示缓冲的值 秒脉冲 显示模块 主控模块 中断模块定时模块 小键盘模块 六个 LED 小键盘 8279 82538259 3 硬件设计硬件设计 3 1 设计所用芯片结构简介设计所用芯片结构简介 3 1 13 1 1 8259A8259A 芯片的内部结构及引脚芯片的内部结构及引脚 中断控制器 8259A 是 Intel 公司专为控制优先级中断而设计开发的芯片 它将中断源优先排队 辨别中断源以及提供中断矢量的电路集中于一片中 因 此无需附加任何电路 只需对 8259A 编程 就可以管理 8 级中断 并选择优先 模式和中断请求方式 即中断结构可以由用户编程来设定 8259 引脚图如图 3 1 1 各引脚功能如下 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 5 8259 引脚图如图 3 3 各引脚功能如下 D7 D0 八条双向数据线 WR 低电平有效 写输入信号 RD 低电平有效 读输入信号 CS 低电平有效 片选输入信号 A0 地址信号 INT 中断请求信号 INTA 低电平有效 中断响应信号 CAS0 CAS2 级联信号 形成一条专用 8259A 总线 以便多片 8259A 的级联 SP EN 从编程 允许级联 在缓冲方式中 可用做输出信号以控制总线缓冲 器的接收和发送 在非缓冲方式中 作为输入信号用于表示主片还是从片 IR0 IR7 外部中断请求输入线 要求输入的中断请求信号是由低电平到高电 平的上升沿 并保持高电平到 CPU 响应时为止 或者是高电平 8259 中断矢量地址与中断信号之间的关系如表 3 1 1 所示 表 3 1 1 8259 中断矢量表 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 6 中断序号 01234567 功能调用 08H09H0AH0BH0CH0DH0EH0FH 矢量地址 20H 23H 24H 27H 28H 2BH 2CH 2FH 30H 33H 34H 37H 38H 3BH 3CH 3FH 说明时钟键盘可用可用串行口可用可用可用 3 1 23 1 2 82798279 芯片的内部结构及引脚芯片的内部结构及引脚 Intel8279 是一种通用的可编程序的键盘 显示接口器件 单片器件就能 够完成键盘输入和显示控制两种功能 键盘部分提供一种扫描的工作方式 可以和具有 64 个按键的矩阵键盘相连 接 能对键盘不断扫描 自动消抖 自动识别按下的键并给出编码 能对双键 或 n 键同时按下实行保护 显示部分为发光二极管 荧光管及其它显示器提供了按扫描方式工作的显 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 7 示接口 它为显示器提供多路复用信号 可以显示多达 16 位的字符或数字 DB0 DB7 双向数据总线 用来传送 8279 与 CPU 之间的数据和命令 CLK 时钟输入线 用以产生内部定时的时钟脉冲 RESET 复位输入线 8279 复位后被置为字符显示左端输入 二键闭锁的触点回 弹型式 程序时钟前置分频器被置为 31 RESET 信号为高电平有效 CS 片选输入线 低电平有效 单片机在 CS 端为低时可以对 8279 读 写操作 A0 缓冲器低位地址 当 A0 为高电平时 表示数据总线上为命令或状态 当为 低电平时 表示数据总线上为命令或状态 当为低电平时 表示数据总线上为 数据 RD 读信号输入线 低电平有效 将缓冲器读出 数据送往外部总线 WR 写信号输入线 低电平有效 将缓立器读出 将数据从外部数据总线写入 8279 的缓冲器 3 1 33 1 3 82538253 芯片的内部结构及引脚芯片的内部结构及引脚 8253 可编程定时 计数器是 Intel 公司生产的通用外围芯片之一 有 3 个 独立的十六位计数器 技术频率范围为 0 2MHZ 它所有的技术方式和操作方式 都通过编程控制 8253 的功能用途是 1 延时中断 2 可编程频率发生器 3 事件计数器 4 二进倍频器 5 实时时钟 6 数字单稳 7 复杂的电机控制器 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 8 8253 有六种工作方式 1 方式 0 计数结束中断 2 方式 1 可编程频率发生器 3 方式 2 频率发生器 4 方式 3 方波频率发生器 5 方式 4 软件触发的选通信号 6 方式 5 硬件触发的选通信号 8253 引脚图如图 3 3 示 各引脚功能如下 D7 D0 八条双向数据线 WR 低电平有效 写输入信号 RD 低电平有效 读输入信号 CS 低电平有效 片选输入信号 A0 A1 片内寄存器地址输入信号 CLK 计数输入 用于输入定时基准脉冲或计数脉冲 OUT 输出信号 以相应的电平指示计数的完成 或输出脉冲波形 GATE 选通输入 门控输入 用于启动或禁止计数器的操作 以使计数器和 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 9 计测对象同步 8253 端口地址的端口地址如表 3 1 3 所示 表 3 1 3 8253 端口地址表 信号线信号线寄存器寄存器编址编址 0 计数器40H 1 计数器41H 2 计数器42H IOY2 控制寄存器43H 3 23 2 分模块介绍分模块介绍 3 2 13 2 1 主控模块主控模块 主控模块是系的核心模块 对 8253 8279 进行初始化 设置中断向量 扫描键盘根据按键值作相应的处理 主要由软件实现 它的主要功能是调用其 它模块对系统工作进行协调 它的主要功能是读小键盘输入键值并执行要做的 工作 如果键值为 C 则将显示初始值 00 00 00 置入显示缓冲 并调用显示模 块显示 如果键值为 G 则开中断 中断程序为秒最低位加一 如果键值为 D 则关中断 停止动态显示 如键值为 P 则连续六次调用小键盘模块 将键值依 次存入显示缓冲 并调用显示模块显示 如果健值为 E 则终止程序 返回 DOS 3 2 2 定时模块定时模块 定时模块是为 8259 提供中断请求信号的 由一片 8253 实现 选用定时器 0 工作在方式 3 由于时钟应该 1 秒走动一次 所以输出值应为 1S 其输出 信号可作为 8259 的中断请求信号 定时模块原理图如图 3 2 2 所示 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 10 图 3 2 2 3 2 33 2 3 中断处理模块中断处理模块 中断模块实现动态显示的 硬件为一片 8259 由于中断请求信号为每秒一 次 中断程序该为时间按秒增加 并显示 只要开中断 便可实现每秒显示时 间增加一秒 从而达到动态显示的效果 中断模块原理图如图 3 2 3 所示 3 2 43 2 4显显示模块示模块和小键盘模块和小键盘模块 显示模块是将显示缓冲区的数值送到 LED 显示的功能模块 显示缓冲区是 由六个字节构成 分别保存小时的高位和低位 分钟的高位和低位 秒钟的高 位和低位 硬件上由六个 LED 构成 软件上由扫描显示的方法实现 小键盘模块送入主控模块的子功能模块 由软件和硬件实现 硬件上由小键 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 11 盘和 8279 互连 将小键值由 8279 送入主控模块 软件上使用行扫描法获得键 值并送回主控模块 本课题只考虑去抖动 执行一个约 10ms 的延时程序后再扫 描键盘 若 F0 1 表示真正有键按下 从而消除了抖动影响 其中 8279 接口电 路如图 3 2 4 所示 图 3 2 3 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 12 中断模块原理图中断模块原理图 显示模块原理图如下图所示显示模块原理图如下图所示 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 13 键盘部分原理图键盘部分原理图 4 软件编程软件编程 4 1 主程序流程图主程序流程图 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 14 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 15 4 2 定时中断服务程序流程图 定时中断服务程序流程图 保护现场 秒单元 1 N 秒单元 60 秒单元清零 分单元 1 分单元清零 小时单元 1 分单元 60 时单元 24 小时单元 0 显示时分秒 恢复现场 中断返回 N N Y Y Y 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 16 5 系统仿真调试系统仿真调试 将编写好的源程序输入 编译后出现很多错误 只能部分修改正确 因此 导致编译无法通过 无法生成 exe 文件 同时也就不能加载到仿真软件中 致 使无法仿真 6 总结总结 本次课程设计做的是电子时钟设计 本以为设计思路清楚 设计会简单 可是经过两周的时间 发现选择了一个相对比较难的题目 最终也没有将其完 全设计出来 比较遗憾 这个题目有几个难处 一 是汇编语言与微机原理的相结合部分比较难 导致部分代码不能正确写出 二 对实验箱了解不充分 设计起来对具体端口 不理解 三 本次设计的大多数题目都能在网上找到可以借鉴的程序 而我们 的虽然找到了 但是遇到了相当不擅长的端口问题 暴漏了平常学习的缺漏 四 总结 中断 计数 以及端口等的知识在学习中没有能够很好的学习 遇 到具体细节问题时 解决不了 不过确实对微机原理的相关知识很有收获 7 附录附录 7 1 参考文献参考文献 1 马义德 张在峰 徐光柱 杜桂芳 微型计算机技术及应用 第 3 版 高 等教育出版社 2007 2 周明德编著 微型计算机系统原理及应用 第四版 北京 清华大学出版 社 2002 3 李顺增 吴国东 赵河明等 微机原理及接口技术 北京 机械工业出版 社 2006 4 杨立新 微型计算机原理和应用 M 北京 科学技术文献出版社 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 17 1986 11 5 李大友 微型计算机原理 M 北京 清华大学出版社 1998 7 6 眭碧霞 微型计算机原理与组成 M 人民邮电出版社 2003 8 7 阎石 主编 数字电子技术基础 高等教育出版社 7 2 总体原理图总体原理图 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 19 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 20 7 37 3 源程序清单源程序清单 D8279 equ 200H C8279 equ 202H C8253 equ 20bH D82530 equ 208H D82531 equ 209H C82590 equ 210H C82591 equ 211H data segment HOUR db 00 MINUTE db 00 STAT db 00 LED db 3fH 06H 5bH 4fH 66H 6dH 7dH 27H 7fH 6fH 00H 00H DISBUF db 8 dup 0 data ends stack segment stack dw 100 dup stack ends code segment assume cs code ds data start MOV AX DATA MOV DS AX INIT 8259 CLI MOV AL 13H MOV DX C82590 OUT DX AL MOV AL 8 MOV DX C82591 OUT DX AL MOV AL 1 OUT DX AL MOV AX 0 MOV ES AX LEA AX INT0 MOV ES 4 8 AX MOV AX CS MOV ES 4 8 2 AX INIT 8253 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 21 MOV DX C8253 MOV AL 36H OUT DX AL MOV DX D82530 MOV AX 10000 OUT DX AL MOV AL AH OUT DX AL MOV DX C8253 MOV AL 36H OUT DX AL MOV DX D82531 MOV AX 100 OUT DX AL MOV AL AH OUT DX AL INIT 8279 MOV DX C8279 MOV AL 00H OUT DX AL MOV AL 34H OUT DX AL MOV AL 0D2H OUT DX AL MOV STAT 0 MOV DX C82591 MOV AL 0FEH OUT DX AL WAIT1 MOV DX C8279 IN AL DX MOV AH AL AND AL 80H JNE WAIT1 MOV AL AH AND AL 0FH CMP AL 00H JE WAIT1 MOV AL 40H OUT DX AL CHK MOV DX D8279 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 22 IN AL DX CMP AL 33H JNE BBB MOV DX C82591 MOV AL 0FFH OUT DX AL MOV AL STAT INC AL MOV STAT AL CMP AL 1 JNZ AA1 MOV SI OFFSET DISBUF MOV CX 4 MOV AL 00 BB0 MOV SI AL INC SI LOOP BB0 CALL DISP JMP CHK AA1 MP AL 2 JNZ AA2 MOV SI OFFSET DISBUF MOV AL 00 MOV SI AL INC SI MOV SI AL ADD SI 2 MOV SI AL INC SI MOV SI AL CALL DISP JMP CHK AA2 MP AL 3 JNZ AA3 MOV SI OFFSET DISBUF 2 MOV CX 4 MOV AL 00 BB1 MOV SI AL INC SI 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 23 LOOP BB1 CALL DISP JMP CHK AA3 MOV STAT 00 MOV AL 0FEH MOV DX C82591 OUT DX AL CALL FULLSFM CALL DISP JMP CHK BBB CMP AL 3BH JE BB0 JMP CCC BB0 MOV AL STAT CMP AL 1 JNZ BBB1 MOV AL HOUR ADD AL 1 DAA MOV HOUR AL CALL FULLSHI CALL DISP JMP BBB BBB1 MOV AL STAT CMP AL 2 JNZ BBB3 MOV AL MINUTE ADD AL 1 DAA MOV MINUTE AL CALL FULLFEN CALL DISP JMP BBB BBB3 MOV AL STAT CMP AL 3 JZ BBB4 JMP DDD 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 24 BBB4 MOV AL SECOND ADD AL 1 DAA MOV SECOND AL CALL FULLMIAO CALL DISP JMP BBB CCC CMP AL 3AH JE CC0 JMP DDD CC0 MOV AL STAT CMP AL 1 JNZ CCC1 MOV AL HOUR SUB AL 1 DAS MOV AL HOUR SUB AL 1 DAS MOV HOUR AL CALL FULLSH1 CALL DISP JMP CCC CCC1 MOV AL STAT CMP AL 2 JNZ CCC3 MOV AL MINUTE SUB AL 1 DAS MOV MINUTE AL CALL FULLFEN CALL DISP JMP CCC CCC3 MOV AL STAT CMP AL 3 JZ CCC4 JMP DDD 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 25 CCC4 MOV AL SECOND SUB AL 1 DAS MOV SECOND AL CALL FULLMIAO CALL DISP JMP CCC DDD MOV STAT 0 MOV AL 0FFH MOV DX C82591 OUT DX AL CALL FULLSFM CALL DISP JMP CHK INT0 PUSH AX PUSH BX PUSH DI PUSH SI MOV AL SECOND ADD AL 1 DAA MOV SECOND AL CMP AL 60H JNZ FANHUI MOV SECOND 0 MOV AL MINUTE ADD AL 1 DAA MOV MINUTE AL CMP AL 60H JNZ FANHUI MOV MINUTE 0 MOV AL HOUR ADD AL 1 DAA MOV HOUR AL CMP AL 24H JNZ FANHUI MOV HOUR 0 CALL FULLSFM CALL DISP 数学与计算机学院 接口设计报告书 GRADE 第 页 共 页 26 POP SI POP DI POP BX POP AX IRET FULL SFM PROC NEAR LEA DI DISBUF LEA BX LED LEA SI SECOND MOV CX 3 AA4 MOV AL SI AND AL 0FH XL

温馨提示

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

评论

0/150

提交评论