单片机原理及应用电子时钟 精品.docx
《单片机原理及应用电子时钟 精品.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用电子时钟 精品.docx(16页珍藏版)》请在冰豆网上搜索。
单片机原理及应用电子时钟精品
《单片机原理及应用——电子时钟》
课程设计报告
学院:
信息工程学院
专业班级:
通信工程10-1班
姓名:
牛爱刘欢焦航
指导教师:
葛振
目录
1.设计题目................................................................................1
1.1课题研究背景........................................................................1
1.2课题主要内容........................................................................1
2.设计任务................................................................................1
3.设计思路................................................................................2
3.1系统框图设计........................................................................2
3.2系统电路原理设计................................................................3
4.硬件原理图和连接图............................................................4
4.1总原理图................................................................................4
4.2AT89C51.................................................................................4
4.3复位电路...............................................................................7
4.4按键电路...............................................................................7
4.5LED显示电路.......................................................................8
5.程序流程图...........................................................................9
5.1主程序...................................................................................9
5.2数码管显示...........................................................................9
5.3定时器/计数器T0中断服务程序.......................................9
5.4按键处理程序.......................................................................11
6.程序清单...............................................................................12
7.实验总结...............................................................................17
8.设计心得...............................................................................18
9.参考资料...............................................................................19
1.设计题目
1.1课题研究背景
电子时钟有着很长的历史,在1957年,Ventura发明了世界上的第一块电子表后,他就奠定了电子时钟的基础,电子时钟开始迅速地发展起来。
现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒为一分钟进一,满六十分为一小时进一,满二十四小时清零,从而达到计时的功能。
基于51单片的电子时钟,外围电路简单易于实现,性价比高,是实现电子时钟的不错选择。
1.2课题主要内容
本次课程设计基于单片机内部资源设计出的一款性价比高的电子时钟系统,主要涉及到以下几个研究方向:
(1)熟悉MCS-51单片机内部定时器的工作方式;
(2)掌握单片机内部中断系统的工作模式;(3)了解MCS-51单片机外部电路的一般设计方法;(4)熟悉汇编语言的编写规则;(5)掌握单片机内部ram地址分配方法;(6)掌握特殊功能寄存器的用法;(7)熟悉ProteusISIS及KeiluVision2软件的使用。
2.设计任务
我们采用应用广泛的AT89C51作为时钟控制芯片,利用单片机内部的定时/计数器T0实现软时钟的目的。
在六位数码显示器上显示时,分,秒。
选用定时器每隔0.125秒产生一次中断,在内存中设定四个单元,存放0.125秒,秒,分,时,每隔0.125秒对这些单元中的内容进行必要的修改。
存放时分秒及0.125秒的数值的四个单元选用片内RAM:
(50H)——0.125秒的个数
(51H)——秒(BCD码)
(52H)——分(BCD码)
(53H)——时(BCD码)
晶振频率为6MHz,使用方式1定时0.125秒,则定时器的初始值为0BDCH。
可每中断8次更新一次时间显示,每隔两次中断(0.25秒)进行一次键盘检查。
此外还要实现对时间的调整功能,89C51的P1.0、P1.1、P1.2外接三个独立按键,当有键按下时,分别使秒单元清零,时,分内容加一。
3.设计思路
3.1系统框图设计
根据电子时钟能够实现的功能,采用单片机内部资源,设计出了系统原理框图,如图3-1所示:
图3-1
在单片机内部构建三个模块:
控制模块、译码模块、定时模块,用以实现自动计数、译码显示功能。
单片机外部构建三个电路:
复位电路、外部按钮电路、显示电路,用以实现对单片机内部计数控制以及译码输出的正确显示。
该电子时钟是将秒、分、时显示在人的视觉器官面前的一种计时装置。
故将计时周期设置为24小时,当显示满刻度是23时59分59秒时,数码管显示为0。
为了确保时间正常校对,在系统中设有校对按钮,用以实现对数码管显示的正确调整。
3.2系统电路原理设计
在本次的设计中对6MHZ的系统时钟进行定时计数,初值设为0BDCH。
形成定时时间为0.125s。
用片内RAM的50H单元对0.125s计数,计8次1秒钟到,然后对秒计数器51H单元加1,秒计数器加到60后就向分进位,则分计数器52H单元加1而秒计数器51H单元清零;分计数器加到60后又向时进位,则时计数器53H单元加1而分计数器52H单元清零;时计数器加到24则时计数器清零。
然后把秒、分、时计数器分成十位和个位放到6个数码管的显示缓冲区,通过数码管显示出来。
显示格式为小时十位、小时个位、分十位、分个位、秒十位、秒个位。
4.硬件原理图和连接图
4.1总原理图
根据电路原理框图设计出电路原理图如图4-1所示,由6MHz的晶振给单片机提供固定的时钟频率,通过k0、k1、k2可以对显示电路时间进行位设定。
图4-1
4.2AT89C51
AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS的8位微处理器,俗称单片机。
AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。
如图4-2所示:
图4-2
由于电路原理中只用到单片机的p0、p1、p2口,所示下面对这三个端口进行详细介绍。
1)、P0口:
P00~P07统称为P0口,在不接片外存储器与不扩展I/O接口时,作为准双向输入/输出接口。
在接有片外存储器或扩展I/O接口时,P0口分时复用为低8位地址总线和双向数据总线。
P0口是一个三态双向口,由一个输出锁存器、两个三态缓冲器、输出驱动电路和输出控制电路组成。
在输入数据时,应人为地先向P0口写“1”,定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
2)、P1口:
P10~P17统称为P1口,可作为准双向I/O接口使用。
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4LSTTL门电流。
P1口管脚写入“1”后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
3)、P2口:
P20~P27口统称为P2口,一般可以作为准双向I/O接口使用,在接有片外存储器或扩展I/O接口且寻址范围超过256字节时,P2口用作高8位地址总线。
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
4.3复位电路
计算机在启动运行时都需要复位,复位时使中央处理器CPU和内部其他部件处于一个确定的初始状态,从这个状态开始工作。
AT89C51单片机有一个复位引脚RST,高电平有效。
在时钟电路工作以后,当外部电路使得RST端出现两个机器周期(24个时钟周期)以上的高电平,系统内部复位。
复位有两种方式:
上电复位和按钮复位。
在此次的设计中,我采用按键复位,如图4-3所示:
图4-3
只要RST保持高电平,AT89C51单片机将循环复位。
复位期间,ALE、PSEN输出高电平。
RST从高电平变为低电平后,PC指针变为0000H,使单片机从程序存储器地址为0000H的单元开始执行程序。
当单片机执行程序出错或进入死循环时,可按复位按钮重新启动。
4.4按键电路
独立式键盘是各按键相互独立,每个按键各接一根I/O接口线,每根I/O接口线的按键是不会影响其他的I/O接口线。
在本次设计中,按键为K0、K1、K2,他们分别与单片机P1.0、P1.1、P1.2接口线相接。
通过按键控制