单片机课程设计数字钟报告.doc_第1页
单片机课程设计数字钟报告.doc_第2页
单片机课程设计数字钟报告.doc_第3页
单片机课程设计数字钟报告.doc_第4页
单片机课程设计数字钟报告.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

单片机课程设计正文数字钟是采用数字电路实现对时,分,秒,数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。二、 题目及要求 设计一个多功能数字钟,使其具有以下功能:1、 由晶振电路产生标准秒信号。2、 能够显示时、分、秒:完成显示由秒00一直加1至59,再恢复为00;分加1,由00至01,一直加1至59,再恢复00;时加1,由00至01,一直加1到23,再恢复00。3、 要有手动快速校时、校分、秒。4、 要有报时电路(蜂鸣器每分钟短叫一声,一小时长叫一声)。5、 自定义电路,设计、调试,并完成实验报告。要求设计基于单片机的多功能数字钟,即用单片机来实现课程设计。三、 总体思路数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间一致,故需要在电路上加一个校时电路。对于一般的数字钟多会有报时功能。针对以上叙述,可整体构想:标准频率可由振荡电路产生,更精确时,可由石英晶体产生。计数,可由2个60进制计数器,分别作为秒、分计数单元,一个24进制,作为时计数单元。计数单元同样可采用中断定时方式,这就需要由软件来实现。对于校时部分,一般都是手动进行,通过按键来控制时、分、秒的快速校准。报时电路,可每小时短报时,也可设定每天的几点准时闹铃。至于,显示时间的部分可由数码管也可由液晶显示来完成。针对以上设计思路,可有多种设计方案。对于具体的,参考方案论证。四、 方案论证方案一:纯电路设计此方案电路总方框图如下: 图 1 系统原理框图(1)振荡电路:振荡电路主要是用来产生一固定频率的方波,可由定时器555与RC组合具体电路如下:图 2 555与RC组成的多谐振荡器图但由于一般情况下,数字钟需要较高的精确度,所以我们可以石英晶体来产生方波信号,电路图如下:图 3 石英晶体振荡器图振荡器是数字钟的核心。振荡器的稳定度及频率的精确度决定了数字钟计时的准确程度,通常选用石英晶体构成振荡器电路。石英晶体振荡器的作用是产生时间标准信号。因此,一般采用石英晶体振荡器经过分频得到这一时间脉冲信号。(2)分频电路:分频电路主要是用来将振荡器产生的固定频率方波,经一次或多次分频得到1Hz的方波即1秒的时间。(3)计数电路:可用2个60进制计数器分别作为分、秒的计数单元,1个24进制计数器作为时的计数单元。以1Hz的方波作为秒计数的CLK时钟信号,以秒计数溢满进位位作为分的CLK时钟信号,以分计数溢满进位位作为时的CLK时钟信号。部分电路如下: 图4 秒、分计数电路(4)校时电路:可通过手动来断开电路工作,然后快速调节时、分、秒,调整后,系统再继续计数。(5)报时电路:可设定每小时短时报时,可以分计数溢满进位位控制蜂鸣器。或者每次的固定时间闹铃。对以上电路分析知,方案一完全由硬件电路实现,不需软件,也就不需编程。这也就注定了其硬件电路的复杂性,需要较高的硬件技术。因此,我们采用软硬件结合的方法,既减少硬件电路,也可保证此数字钟的高准确度。因此,根据现实情况及课题要求,我们采用方案二。具体过程见具体实现部分。方案二:采用AT89S52单片机设计主要以52芯片为核心,可内部或外部产生信号,采用中断的方式定时。系统由AT89S52单片机、锁存器74HC573、LED 数码管、按键、发光二极管等部分构成,能实现比较精确的走时、时间的调整等功能。秒信号是由单片机内部的定时器产生,通过软件计数和软件的译码,以动态扫描的方式将时间显示在数码管上面。通过按键的检测可以控制单片机相应的动作,来达到调时的目的。五、 具体实现电路如下:图 5 总体电路图(一)、硬件设计1、电源电路:电源是单片机系统的重要组成部分,它不仅为系统提供多路电压源,还直接影响到系统的技术指标和抗干扰性能。AT89S52单片机和一般的数字芯片一样,都是5V电压供电,所以可以共用一个5V电源。另外,为了提高电源的稳定性,在离电源的最近处做好退耦处理,可用一个电容,以滤去干扰,保证电源的稳定。2、锁存器74HC573:74HC573包含八路D 型透明锁存器,每个锁存器具有独立的D 型输入,以及适用于面向总线的应用的三态输出。所有锁存器共用一个锁存使能(LE)端和一个输出使能(OE)端。Dn:第n路输入数据; On:第n路输出数据;当LE为高时,数据从Dn输入到锁存器,在此条件下,锁存器进入透明模式,也就是说,锁存器的输出状态将会随着对应的D输入每次的变化而改变。当LE为低时,锁存器将存储D输入上的信息一段就绪时间,直到LE的下降沿来临。当OE为低时,8个锁存器的内容可被正常输出;当OE为高时,输出进入高阻态。OE端的操作不会影响锁存器的状态。操作电压范围:2.0V6.0V。低输入电流:1.0uA下图为74HC573的引脚图:3、 数码管显示电路:要同时使得6个数码管点亮,所需的IO口是很多的。为了节省单片机的IO口,通常采用动态扫描的显示方法,将每个数码管的同名段连在一起,分6次向数码管写数据,每次对6个数码管写相同的数据,每次选通一个数码管,完成扫描,通过调整、缩短扫描的时间,由于人眼的视觉暂留作用,使得人们看起来就像同时显示一样,以达到动态显示的目的。部分电路如下:此处数码管采用LG5011AH型号的共阴极接法,其管脚如下:4、AT89S52单片机:其引脚如下:电源引脚:40(VCC)接+5V电源,20(GND)接地。晶振采用内部方式。晶体振荡器与AT89S52的接法为如图所示,XTAL1和XTAL2脚接到12MHz的晶体振荡器上,与两个30pf的电容并联,并接低电平。 19(XTAL1),18(XTAL2) XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为30F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。9(RESET)复位键在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,52芯片便循环复位。复位后P0P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。复位是由外部的复位电路来实现的。本次采用了手动复位,电路如下:输入输出口的连接P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。本次设计使用P0口的P0.0P0.2来分别控制调时中的时、分、秒。电路如下 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 本次设计P1口分别接段选74HC573的29引脚,锁存控制数码管的点亮。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。本次设计使用P2口的P2.0P2.5分别接位选74HC573的27脚,控制数码管轮流点亮。此外,我们同样用P2.7口控制蜂鸣器的报时。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。本次使用了P3的P3.1P3.2分别控制段选和位选。蜂鸣器的使用蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。其中蜂鸣器电路中三极管的作用是放大声音信号.三极管是一种控制元件,主要用来控制电流的大小,以共发射极接法为例(信号从基极输入,从集电极输出,发射极接地),当基极电压UB有一个微小的变化时,基极电流IB也会随之有一小的变化,受基极电流IB的控制,集电极电流IC会有一个很大的变化,基极电流IB越大,集电极电流IC也越大,反之,基极电流越小,集电极电流也越小,即基极电流控制集电极电流的变化。但是集电极电流的变化比基极电流的变化大得多,这就是三极管的放大作用。具体电路如下:(二)、软件实现利用C语言编程如下(部分说明已注释):/*P1口接段选,P2口接位选(P2.0到P2.5),段选letch接P3.1,位选letch接P3.2*/#include#include#define uchar unsigned char#define uint unsigned int void SYSCLK_Init (void);void Port_Init(void);void delay();sbit dula = P31;sbit wela = P32;sbit alarm = P27;sbit key1=P00;sbit key2=P01;sbit key3=P02;uchar code duan=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,/共阴极数码管的显示译码 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar code wei=0xfe,0xfd,0xfb,0xf7,0xef,0xdf; /段选编码uchar i,j; /定义循环变量uchar sec1=0,sec2=0,min1=0,min2=0,hour1=0,hour2=0,sec=0,min=0,hour=0; /定义代表时分秒的变量uchar con=0;uint ms10; /定义10ms定时变量keyscan() /调时按键处理函数 EA=0;if(key1=0)delay();delay();if(key1=0)while(!key1);sec+;if(sec=60)sec=0;if(key2=0)delay();delay();if(key2=0)delay();while(!key2);min+;if(min=60)min=0;if(key3=0)delay();delay();if(key3=0)while(!key3);hour+;if(hour=24)hour=0; EA=1; void main (void) alarm = 0; TMOD=0x02; TH0=0x06; TL0=0x06; EA=1; ET0=1; TR0=1; while(1) keyscan(); P2=0xff;dula=0;P1=duansec1; /*6*/显示秒的个位dula=1;wela=0;P2=0xfe;wela=1;delay(); P2=0xff;dula=0;P1=duansec2; /*5*/ /显示秒的十位dula=1;wela=0;P2=0xfd;wela=1;delay();P2=0xff;dula=0;P1=duanmin1; /*4*/ /显示分的个位dula=1;wela=0;P2=0xfb;wela=1;delay();P2=0xff;dula=0;P1=duanmin2; /*3*/ /显示分的十位dula=1;wela=0;P2=0xf7;wela=1;delay();P2=0xff;dula=0;P1=duanhour1; /*2*/ /显示时的个位dula=1;wela=0;P2=0xef;wela=1;delay();P2=0xff;dula=0;P1=duanhour2; /*1*/ /显示时的十位dula=1;wela=0;P2=0xdf;wela=1;delay(); void delay() /定义延时函数uint j,k;for(j = 0; j50; j+)for(k = 0;k5;k+);void timer0(void) interrupt 1 /使用定时器0中断 ms10+; if(ms10

温馨提示

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

评论

0/150

提交评论