单片机实现数字钟_第1页
单片机实现数字钟_第2页
单片机实现数字钟_第3页
单片机实现数字钟_第4页
单片机实现数字钟_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计课程单片机原理及应用课程设计题目单片机实现数字钟院系电子科学学院专业班级 电信07 5班学生姓名 郝艳玲学生学号 学生01140502 指导教师2011 年 3 月 18 H课程单片机原理及应用课程设计东北石油大学课程设计任务书题目 单片机实现数字钟(LED显示小时:分:秒)专业班级 电信07-5班姓名 郝艳玲 学号070901140502一、设计U的:训练学生综合使用己学课程的基本知识,独立实行单片机应用技术开发工作,掌握单 片机程序设计、调试,应用电路设计、分析及调试检测。二、设计要求:1 .应用MCS-51单片机设计单片机实现数字钟(LED显示小时:分:秒)电路;2 .选用6位L

2、ED数码显示,实时显示时、分、秒,采用按键式实现时钟对表和快慢调整;3 ,硕件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路必 须有工作原理,器件的作用,分析和计算过程;4 .软件设计根据电路工作过程,画出软件流程图,根据流程图编写相对应的程序,实行调试并打 印程序清单;5.原理图设计根据所确定的设计电路,利用Protel等相关工具软件绘制电路原理图、PCB板图、 提供元器件清单。三、参考资料:1单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社;2单片机原理及应用,张毅刚编著,高等教育出版社;3 51系列单片机及C51程序设计,王建校,杨建国等编著,科学

3、出版社;4单片机原理及接口技术,李朝青编著,北京航空航天大学出版社;完成期限 2011.3.142011.3.18指导教师专业负责人2011年3月13日课程单片机原理及应用课程设计一、概述单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容 量、高性能、低价格和外围电路内装化等儿个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从 前必须山模 拟电路或数字电路实现的绝绝大部分功能,现在已能用单片机通过软件方法来实现了。用单片及制作数字钟是单片机的一个典型应用。通过设计制作一个数字钟,我们能够充分

4、了解单 片机的工作原理,学会如何用单片机实现数据的处理,设备的控制等。制作一个数字中虽然简单,但你 它涉及到的内容却很广泛。本设计的数字钟是采用数字电路实现对时,分,秒.数字显示的讣时装置,广泛用于个人家庭,车 站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,因为数字集成电路的发 展和石英晶 体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极 大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动 控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所 有这些,都是以钟表

5、数字化为基础的。所以,研究 数字钟及扩大其应用,有着非常现实的意义。在本设计中,我们用到了键盘控制,需要加接键盘:用到了定时中断功能和电平触发外 部中断功 能;用到了显示模块,显示时间;另外还涉及单个口的操作。另外单片机工作还需要 软件支持,所以程 序的编写,调试也是制作数字钟的一个重要的方面。二、硬件电路设计及描述;1、MCS-51单片机单片机是在一块硅片上集成了各种部件的微型计算机。这些部件包括中央处理器CPU、数据存储 器RAM、程序存储器ROM.定时器/计数器和多种I/O接口电路。8051单片机的结构特点有以下儿点:8位CPU;片内振荡器即时钟电路;32根I/O线;外部存储 器ROM和

6、RAM;寻址范围各64KB;两个16位的定时器/讣数器:5个中断源,2个中断优先级;全 双工串行口。定时器/计数器8051内部有两个16位可编程定时器/计数器,记为T0和TR)16位是指他们都是由16个触发器构 成,故最大计数模值为2,6-10可编程是指他们的工作方式山指令来设定,或者当 计数器来用,或者当定 时起来用,并且计数(定时)的范圉也能够山指令来设置。这种控制 功能是通过定时器方式控制寄存器 TMOD来完成的。在定时工作时时钟山单片机内部提供,即系统时钟经过12分频后作为定时器的时钟。 技术工作时,时钟脉冲由TO和T1输入。中断系统8051的中断系统允许接受五个独立的中断源,即两个外

7、部中断申请,两个定时器/讣数器 中断以及 一个串行口中断。外部中断申请通过INTO和INT1 (即P3.2和P3.3)输入,输入方式能够使电平触发(低电平有效),也能够使边沿触发(下降沿有效)2、8051的芯片引脚如图1-2所示VCC:供电电压。GND:接地。12PIO PIIDI6P£IO rai3ZPI3PIS内IS24 、iPlti PI?亦ra?M±2WO wo Wl2115 71Tl TOAfC2105处s-vv罗XI 烟9RESETRXDId 1 1CU wr-TXD4POD: P0 口为一个8位漏极开路双向I/O 口,每脚可吸收8TTL门电流。当P1 口的管脚

8、第一次写 1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它能够被定义为数 据/地址的笫八位。在 FIASH编程时,P0 口作为原码输入口,当FIASH实行校验时,P0输出原码,此时P0外部必须被拉高。P1 口: P1 口是一个内部提供上拉电阻的8位双向I/O ,P1 口缓冲器能接收输出4TTL门电流。 P1 口管脚写入1后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是因 为内部上拉的缘故。在FLASH编程和校验时,P1 口作为第八位地址接收。P2 口 : P2 口为一个内部上拉电阻的8位双向I/O 口,P2 口缓冲器可接收,输出4个TTL门电流, 当P2

9、 口被写“广时,其管脚被内部上拉电阻拉高,且作为输入。并所以作为输入时,P2 口的管脚被外部 拉低,将输出电流。这是因为内部上拉的缘故。P2 口当用于外部程序存储器或16位地址外部数据存储 器实行存取时,P2 口输出地址的高八位。在给出地址“广时,它利用内部上拉优势,当对外部八位地址数 据存储器实行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在FLASH编程和校验时接收高八位地 址信号和控制信号。P3 口: P3 口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TTL门电流。当P3 口写 入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,因为外部下拉为低电平,P3 口

10、将输出电流 (ILL)这是因为上拉的缘故。P3 口也可作为AT89C51的一些特殊功能口,如下表所示:P3.0 RXD (串行输入口); P3.1 TXD (串行输出口); P3.2 /INTO (外部中断0);P3.3/INT1 (外部中断1) ; P3.4T0 (记时器。外部输入);P3.5T1 (记时器1外部输入);P3.6AVR (外部数据存储器写选通);P3.7/RD (外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁

11、存地址的地位字节。在FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振 荡器频率的1/6。所以它可用作对外部输出的脉冲或用于定时LI的。不 过要注意的是:每当用作外部数 据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置。此时,ALE只有 在执行MOVX, MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状 态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有 效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不

12、出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(OOOOH-FFFFH),不管是 否有内部 程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存 储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP) oXTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3、时钟的控制本设计采用51单片机系列AT89s51.对时钟实行控制(1) 开机时,显示12: 00: 00的时间开始计时;(2) PL0/AD0控制“秒”的调整,每按一次加1秒;(3) P1.1/AD1控制“分”的调整,

13、每按一次加1分;(4) PL2/AD2控制“时”的调整,每按一次加1个小时;数字电子钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24 小时,显示满刻度为23时59分59秒,另外还有校时功能。所以,一个基本的数字钟电路主要由显示器 ,时,分,秒,和单片机,还有校时电路组成。8个数码管的段选接到单片机的po 口,位选接 到单片机的P2 口。数码管按照数码管动态显示的工作原理工作,将标准秒信号送入“秒单元”,“秒单 元”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分单元”的时钟脉冲。“分单元”也采用60进制计数器,每累计-60分钟,发出一个“

14、时脉冲”信号,该信号将被送到“时 单元”。“时单元”采用24进制计时器,可实现对一天24小时的累汁。显示电路将“时”、“分”、 “秒”通过七段显示器显示出来。校时电路时用来对“时”、“分”、“秒”显示数字实行校对调整, 按一下ksec单元就加1 ,按一下kmin就加1,按一下khour就加1。电路总体框架:图3.1硬件电路框图三、软件设计流程及描述;仁电路原理1P1 11YVCn 1roCsAhillIT 2用 1to HADI|ro2lAJ* :1,1 4fO HAW >ri 5gi团7gIXI1*i niiiAU.UJMiUkHn iiHTTTTmX41 1|P27(AJaT?4&l

15、t;TDIAl4iM 5(THP2 &AI3iXT 21 ar 及wa>vz2llAll !ItXTA1-2K22IAIU>XTAUr: iiM-n1 把“单片机系统”区域中的P0OP0.7端口用8芯排线连接到“动态数码显示”区域中的Cleg 端口上 ;2.把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中的L1的C9C12端口上和L2的C9C12端口上;3.把“单片机系统”区域中的PLO/ADO、P1.1/AD1、PL2/AD2端口分别用导线连接到“独立式键盘”区域中的ksec、kmin、khour端口上;2、数字钟的PCB3、数字钟的软

16、件设计主程序是先开始,然后启动定时器,定时器启动后在实行按键检测,检测完后,就能够 显示时 间。按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是 否按下,分按键如果按下,分就加1:如果没有按下,就检测时按键是否按下,时按键如果按下,时就 加1;如果没有按下,就把时间显示出来。定时器中断时是先检测1秒是否到,1秒如果到,秒单元就加1;如果没到,就检测1分钟是否 到1分钟如果到,分单元就加1;如果没到,就检测1小时是否到,1小时如果到,时单元就加1,如 果没到,就显示时间。时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位 显

17、示,再就是时个位计算显示,最后是时十位显示。这次的数字电子钟设计用到很多子程序,它们的流程图如下所示。显示时中断返程序流程图按键处理流程图定时器中断流程图charcode源程序代码#include <AT89X51.H>sbit ksec=PlAO;sbit kmin=PlAl;sbit khour=PlA2;unsignedsecshi=0,secge=0,minshi=05minge=0,hourshi= 0,hourge=0;unsignednum=0,sec=0,min=0,hour= 12;unsignedchartable 10= 0x3f,0x06,0x5b,0x4f

18、0x66,0x6d,0x 7d,0x07,0x7f,0x6f;void delay(unsigned int);void keyscanQ;min=O; hour+;if(hour=24)hour=0; niin=0;sec=0;) ) secge=sec%10; secshi=sec/10; niinge=min%10; minshi=min/10; hourge=hour%10; hourshi=hour/10:P3=0xfe; PO=tablesecge; delay(5);P3=Oxfd; PO=tablesecshi; delay(5);P3=Oxfb; P0=0x40; delay

19、(5);P3=Oxf7; PO=tableminge; delay(5);P3=0xef; PO=tableminshi; delay(5);P3=0xdf; P0=0x40; delay(5);void display(); main()TMOD=OxOl;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ETO=1;TRO=1;while(l)displayO; keyscan();)void delay(unsigned int z)(unsigned int x,y;for(x=z;x>0;x-)for(y= 110;y>O;

20、y-);)/定时器中断子程序void tO(void) interrupt 1 using 0 num+;TH0=(65536-50000)/256;TL0=(65536-50000)%256;)/ LED显示程序void displayO(if(num=20)( nuin=O;sec+;if(sec=60)( sec=O;min+;if(min=60)P3=0xbf;Portablehourge; delay(5);P3=Ox7f;PO=tablehourshi;delay(5);)/按键控制子程序void keyscan()(if(ksec=O)(delay(lO);if(ksec=O)(

21、sec+;if(sec>=60) sec=0;delay(lO);if(kmin=0)( min+4-;if(min>=60) niin=0;) while(kmin=O) displayO; if(khour=0) delay(lO);if(khour=0)( hour+:if(hour>=60) while(ksec=O) displayO; if(kmin=O)hour=0:五、附件Proteus 软件是 Lzabcenter Electronics 公司的一款电路 设计与仿真软件,它包括ISIS、ARES等软件模块,ARES 模块主要用来完成PCB的设计,而ISIS模

22、块用来完成电路)while(khour=0)displayO;)原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实 用方便的单片机实验室。用PROTUES软件,根据数字电子钟的原理图,画出仿 真图,得到的图如下所示。C3W, TF-MM 量股R6: rJR7: rZ2D .Z2D . J:J: TE. L_TE.R8 . ZZD . $T£XD. JIXTAL

23、13E»»>00'TUTXTACZpomcoPD.VAO1PD.M.q”PDA,aCi5 PDa-ADG PO.7/AW-耘R1FSTP2JV dk. TtfS走时:默认为走时状态,按24小时制分别显示“时时.分分.秒秒”,有2个动态显示,时间 会按实际时间以秒为最少单位变化。走时调整:按ksec对秒实行调整,按一下加一秒;按kmin对分实行调整,按一下加一分;按khour 对时实行调整,按一下加一小时,从而达到快速设定时间的目的。软件程序的调试一般能够将重点放在分模块调试上,统调是最后一环。软件调试能够采取离线调试 和在线调试两种方式。前者不需要硕件仿真器,可借助于软件仿真器即可;后者一般需要仿真系统的支 持。本次课题,Keil软件来调试程序,通过各个模块程序的单步或跟踪调试,使程序逐渐趋于准确,最 后统调程序。仿真部分采用protus 7.4sp3软件,此软件功能强大且操作较为简单,能够很容易的实现 各种系统 的仿真。首先打开protus 7.4sp3软件,在元件库中找到要选用的所有元件,然后实行原理图的绘制;绘制好 后再选择wave6000已经编译好的*.hex文件,选择运行,观察显示结果,根据显示的结果和课题的要求 再修改程序,再运行查,直到满足要求。课程设计体会一周的课程设计很快过去,

温馨提示

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

评论

0/150

提交评论