微机原理课程设计——可调电子时钟(共14页).docx
《微机原理课程设计——可调电子时钟(共14页).docx》由会员分享,可在线阅读,更多相关《微机原理课程设计——可调电子时钟(共14页).docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上微机原理课程设计设计报告姓名: 张经纬学号: 班级: 13 电气 1 班专业: 电气工程及其自动化学院: 电气与工程信息学院 2016年3月目录可调电子时钟一、 设计任务描述1.1设计题目可调电子钟设计1.2设计目的微型计算机原理及应用是一门实践性较强的课程,课堂上的理论学习不足以让学生熟练掌握这门课程。所以让学生在学完该课程之后,进行一次课程设计,使学生将课堂所学的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。具体如下:1、熟悉中断工作原理,定时计数原理,并行通信原理工作原理。2、掌握8259芯片,8254芯
2、片,8255芯片功能,结构,编程。3、掌握七段数码管以及小键盘的使用。4、能运用所提到的芯片,设计系统并进行程序开发,满足用户需求。1.3设计要求1、设计一电子时钟,能计时、在数码管上显示时间并用键盘调节时间。2、根据所用的接口电路芯片设计出完整的接口电路,并在实验系统上完成电路的连接和调试通过.3、程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释。4、前期完成的实验有:8259A中断控制器实验,8254定时计数器实验,8255并行接口实验。二、设计方案描述2.1设计原理首先利用程序硬性规定分、秒的起始时间为零。利用实验台上提供的定时器8254和扩展板上提供的8259以及
3、键盘和数码显示电路,设计一个电子时钟,由8254中断定时,小键盘控制电子时钟的初始值的预置。电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,最大记时24:00:00超过这个时间时分秒都清零从00:00:01重新开始。基本工作原理:每毫秒对毫秒寄存器的内容加一,满1000毫秒对秒位进一,每秒对秒位寄存器的内容加一,满60秒对分位进一,以此类推。依次完成对秒、分、小时寄存器的递增,六个数码管动态显示时、分、秒的当前值。2.2设计芯片结构1、8255 可编程外围接口芯片是 Intel 公司生产的通用并行I/O 接口芯片,它具有A、B、C 三个并行接口,并行接口是以数据的字节为单位与I/O
4、 设备或被控制对象之间传递信息。CPU 和接口之间 的数据传送总是并行的,即可以同时传递8 位、16 位、32 位等。用+5V 单电源供电,能在以下三种方式下工作:方式0-基本输入/出方式、方式1-选通输入/出方式、方式2-双向选通工作方式。2、中断控制器8259是Intel 公司专为控制优先级中断而设计开发的芯片。它将中断源优先级 排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A 进行编程,就可以管理8 级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编 程来设定。同时,在不需增加其他电路的情况下,通过多片8259A 的级连,能构成多达64
5、级的矢量中断系统。它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应 和响应哪一级中断,3)响应中断时,向CPU 传送中断类型号。3、8254 是Intel 公司生产的可编程间隔定时器。是8253 的改进型,比8253 具有更优良的性能。8254 具有以下基本功能: 有3 个独立的16 位计数器; 每个计数器可按二进制或十进制(BCD)计数; 每个计数器可编程工作于6 种不同工作方式;每个计数器允许的最高计数频率为10MHz; 8254 有读回命令,除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。 计数脉冲可以是有规律的时钟信号,也可以是随机信号。三、具体模块
6、设计3.1概述本系统设计的电子钟以8086微处理器作为CPU,用8254做定时计数器产生时钟频率,8255做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断。在此系统中,8254的功能是定时,接入8254的CLK信号为周期性时钟信号。8254采用计数器0,工作于方式2。程序由以下模块组成:系统共有5个功能模块,分别为,主控模块,显示模块,定时模块,中断模块,小键盘模块。系统框图如下:系统总线模块8255小键盘模块显 示模 块8259中断模块8254计时模块图一 系统框图3.2小键盘模块小键盘模块送入主控模块的子功能模块。由软件和硬件实现,硬件上由小键盘和8255互连,将小键值由8
7、255送入主控模块。软件上使用行扫描法获得键值并送回主控模块。在本次设计中考虑抖动的影响因素,执行一个约10ms的延时程序后再扫描键盘,若两次都有键按下,从而消除了抖动影响。专心-专注-专业3.3显示模块显示模块是将显示缓冲区的数值送到LED显示的功能模块,显示缓冲区是由六个字节构成,分别保存小时的高位和低位,分钟的高位和低位,秒钟的高位和低位。硬件上由六个LED构成,软件上由扫描显示的方法实现。3.4定时模块定时模块是为8259提供中断请求信号的。由一片8254实现,选用定时器0#,工作在方式3,由4时钟应该1秒走动一次,所以输出值应为1S,其输出信号可作为8259的中断请求信号。3.5中断
8、处理模块中断模块实现动态显示的,硬件为一片8259,由于中断请求信号为每秒一次,中断程序该为时间按秒增加,并显示,只要开中断,便可实现每秒显示时间增加一秒,从而达到动态显示的效果。3.6硬件接线图芯片8254 系统总线 芯片8255 LED数码管及键盘 D0 PB0D1 PB1D2 PB2D3 PB3D4 PB4D5 PB5D6 PB6D7 PB7WR PA0RD PA1CS PA2A0 PA3A1 PC0 PC1 PC2 PC3XD0XD1XD2XD3XD4XD5XD6XD7IOW#IOR#IOY3 IOY0XA1XA2ClkMir7+5VABCDEFGHX1X2X3X4Y1Y2Y3Y4D0
9、D1D2D3D4D5D6D7WRRDCSA0A1CLK0OUT0GATE0 图二实验接线图3.7主程序流程图主程序的流程图是对整个程序的逻辑的图象表示。首先是设置8254、8255、8259的各个端口地址。接着初始化各个芯片,开始计时,并通过8259中断控制时间的正确显示。在整个过程中都在检测是否有铵键响应。有则停止,没有则返回继续执行。开始显示时钟YN是否有键按下?YN再次确认?读取键盘输入数据YN是否为第一列?YN是否为第二列?YN是否为第四列?保存数据,刷新显示保存数据,刷新显示YN是否为第三列?保存数据,刷新显示保存数据,刷新显示开中断,允许可屏蔽中断芯片初始化计数单元清零更改时间寄存
10、器值中断入口YN毫秒是否满1000?毫秒清零,秒加一YN秒是否满60?秒清零,分加一YN分是否满60?分清零,时加一YN时是否满24?全部清零时间写入寄存器刷新显示中断结束并返回四、可控电子时钟源程序MY8255_A EQU 0600H MY8255_B EQU 0602H MY8255_C EQU 0604H MY8255_MODE EQU 0606H A8254 EQU 06C0H B8254 EQU 06C2HC8254 EQU 06C4HCON8254 EQU 06C6HSSTACK SEGMENT STACK DW 32 DUP(?)SSTACK ENDSDATA SEGMENT D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计 可调 电子 时钟 14
限制150内