实验五 电子钟设计定时器1于方式1,16位,10ms中断下载

weixin_39820780 2019-10-27 11:30:21
.实验目的
1. 掌握MCS-51单片机定时计数器的程序设计和调试方法;
2. 熟悉用IBM-PC交叉汇编调试软件MBUG机器汇编及ME-5103在线仿真器调试。
二.实验设备
1. ME-5103在线仿真器1台;
2. IBM-PC微机1台;
3. 直流稳压电源1台。
三.实验内容
  1.程序结构采用主程序和中断服务子程序结构.
  2.定时中断程序
定时器1于方式1,16位,10ms中断一次
40H 10ms计数单元
41H 秒计数单元
42H 分计数单元
43H 时计数单元
定时方式1为10MS:THX=0ECH,TLX=78H
方式0为10MS: THX=6
相关下载链接://download.csdn.net/download/lovely521/1988362?utm_source=bbsseo
...全文
14 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
Dianzishizhongsheji 目 录 一、设计要求 1 二、设计目的 1 三、设计的具体实现 1 1、系统概述 1 2、单元电路设计 2 2.1、8255初始化: 3 2.2、8253初始化: 3 2.3、8259初始化: 4 3、软件程序设计和调试 5 3.1、主程序流程图: 5 3.2、电子时钟中断处理程序流程图: 6 3.3、显示模块流程图: 7 3.4、程序代码: 7 四、结论与展望 14 、心得体会及建议 14 六、附录 15 七、参考文献 15 电子时钟的设计报告 一、设计要求 利用8259A中断控制器、8253定时/计数器、8255A接口芯片以及键盘和数码显示电路 ,设计一个电子时钟,由8253中断定时,小键盘控制电子时钟的启停及初始值的预置。 电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,最大记时59:59:59超过 这个时间时分秒都清零从00:00:00重新开始。 1. 电子时钟具有二十四小时循环记时功能,走时要准。 2. 显示格式,时:分:秒。 3. 利用8253作为定时器。 二、设计目的 通过本次课程设计学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理 论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通 过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使设计者的 设计水平和对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。 1. 熟练掌握8086/88教学系统的基本操作和调试程序的各种指令。 2. 掌握8259中断控制器的工作原理和应用编程方法,练习编写中断程序的方法。 3. 掌握8255的各种工作方式及其应用编程。 4. 掌握8253定时/计数器的工作原理、工作方式及其应用编程。 5. 熟悉编程及调试程序的方法。 6. 练习LED-KEYBOARD UNIT的使用方法和数码管的显示编程方法。 三、设计的具体实现 1、系统概述 基本工作原理:系统设计的电子时钟主要由显示模块、时钟控制模块和时钟运算模块 三大部分组成。以8086微处理器作CPU,用8253做定时器产生时钟频率提供一个频率为1 0kHz的时钟信号,要求每隔10ms完成一次扫描键盘的工作。在写入控制字与计数初值后, 每到10ms定时器就启动工作,即当计数器减到1时,输出端OUT0输出一个CLK周期的低电 平,向CPU申请中断,当达到100次时,则输出端OUT1输出1s,向CPU申请中断,由8255控制 一个数码管显示,当计数到60s时,则输出端OUT2向CPU申请中断,由另一数码管显示1min, 同理由数码管显示1h.CPU处理,使数码管的显示发生变化。 本设计由8259A中断控制器、8253定时/计数器、8255A接口芯片、LED数码显示管和两 个按键组成。主要用8259A的IRQ7的中断服务程序完成秒、分、时的运算即计时功能,I RQ6的中断服务程序完成调时、调分功能。8253用来产生50ms的脉冲信号作为IRQ7的中断 请求信号。按键KK1+和KK2+分别作为IRQ2和IRQ6的中断请求信号。按键KK1+启动/关闭对 时功能。它决定是否屏蔽IRQ7和IRQ6中断源。8255A负责将内存里的时和分值输出到 数码管。 电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,每百分之一秒对百分之 一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一,六个数码管动态显 示时、分、秒的当前值。最大记时59:59:59超过这个时间时分秒都清零从00:00: 00重新开始。 2、单元电路设计 8259A的主要功能: (1)每片8259A可管理8级优先级中断源,通过开关,最多可管理64级优先权的中断 源。 (2)对任何一个级别的中断源都可单独进行屏蔽,使该级中断请求暂时被挂起,直 到取消屏蔽时为止。 (3)能向CPU提供可编程的标识码。 (4)具有多种中断优先权管理方式。有完全嵌套方式、自动循环方式、特殊循环方 式、特殊屏蔽方式和查询方式种。这些管理方式均可通过程序动态地进行变化。在本 设计中用到了这四种功能,电子时钟的灵活调时功能就是通过对级别的屏蔽或开启来实 现的。 8255A的主要功能: 可编程外设接口芯片可由程序改变其功能,通用性强、使用灵活。通过8255A,CPU可 直接同外设相连接,其负责CPU和外设之间的数据传送。 8253的主要功能: 可编程定时器/计数器,其定时与计数功能可由程序灵活地设定,设定后与CPU并行工 作,不占用CPU的时间。通道2工作在3方式下,提供计算一秒的中断请求信号。 该系统是一个简单的利用8253定时器、8255可并行通信接口和中断控制器8259设计的 电子时钟系统,在该系统中设有一个启动键,启动键未按下时,
简易电子钟设计与仿真 1. 设计要求和电路原理 1。1 设计要求 1) 可以准确地显示北京时间。 2) 时间显示选择24小时模式。 3) 选用AT89C52单片机,将编写的程序下载到该单片机中,并能使数码管显示。 4) 采用Keil C51编译,Proteus软件进行仿真。 1.2 设计原理与思路 利用单片机的定时与中断系统功能实现电子钟的计数和调时.采用AT89C52定时中断方 式实现24小时制时钟精确的计时.通过外部的12M(11。0529M)Hz晶振产生稳定的谐振, 在AT89C52的内部定时器电路实现定时,当定时器溢出时产生中断,累计定时器的定时时 间达一秒时,数码管的秒显示加1,判断数码管的秒显示达60时,秒显示自动清零,分显示 加1,判断分显示达60时,分显示自动清零,时显示加1,判断时显示达24时,时显示自动 清零。从而实现 00:00:00—23:59:59 之间的任意时刻显示。 为了使时钟能够灵活的对时间进行调整、校对,通过增加外部的按键实现简单的复、时 调整、分调整的功能.形成一个具有复和校时功能的简易电子时钟。 二、 电子时钟设计方案 2.1电子钟设计的基本方法 2.1。1电子钟实现计时的方法 利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现时钟计时. (1) 计数初值计算: 把定时器T0设为工作方式2,产生0.25ms定时中断,计数溢出4000次即得时钟计时最 小单秒,而4000次计数可用软件方法实现。 假设使用T/C0,方式2,0。25ms定时,fosc=12MHz. 则初值a满足(256—a)×1/12MHz×12μs =250μs a=6 (6H) TH0=#6H; TL0=#6H (2) 采用中断方式进行溢出次数累计,计满4000次为秒计时(1秒); (3) 从秒到分和从分到时的计时是通过累加和数值比较实现。 2。1。2 电子钟的时间显示 电子钟的时钟时间在8数码管上进行显示,时、分、秒的显示值可以在单片机的内部 RAM设置三个缓冲单元,30H、31H、32H分别存储时、分、秒的值.显示如下表: 表2.1 电子钟的时、分、秒显示 "时十 "时个 " "分十 "分个 " 2.1.3 电子钟的时间调整 电子钟设置3个按键通过程序控制来完成电子钟的时间调整. A键复;按下A键,时钟显示初始值 12 00 00 B键调整分;快速按下A键,分显示加1,当分显示为59,加1变成00 C键调整时;快速按下B键,时显示加1,当时显示为23,加1变成00 2.2 芯片以及元件 2.2。1 AT89C52简介 AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的,是一个低电压,高性 能CMOS 8单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),有40个引脚,32个外部双向输入/输出(I/O)端口 ,同时内含2个外中断口,3个16可编程定时计数器,2个全双工串行通信口,2个读写口 线。 主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复输入端口,外接电阻电容组成的复电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端.P0~P3 为可编程通用I/O 脚,其功能用途由软件定义.下面对相关的引脚作介绍: VCC:+5V电源。 VSS:接地。 P0口:P0 口是一组8 漏极开路型双向I/O 口, 也即地址/数据总线复用口.作为输出口用时,每能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写"1"时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 )和数据总线复用,在访问期间激活内部上拉电阻。 在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1 口:P1口是一个带内部上拉电阻的8 双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑 门电路。对端口写"1",通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作 输入口使用时,因为内部存在上拉 电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 P2 口:P2口是一个带有内部上拉电阻的8 双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑 门电路.对端口P2 写"1",通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时, 因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL). Flash 编程或校验时,P2亦接收高地址和一些控制信号。 P3

12,811

社区成员

发帖
与我相关
我的任务
社区描述
CSDN 下载资源悬赏专区
其他 技术论坛(原bbs)
社区管理员
  • 下载资源悬赏专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧