ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:264.02KB ,
资源ID:11044475      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11044475.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机的数字时钟设计实验报告551909王健.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机的数字时钟设计实验报告551909王健.docx

1、单片机的数字时钟设计实验报告551909王健单片机课程设计设计题目:简易数字时钟班 级: 11级自动化4班 姓 名: 王健 学 号: 2011551909 指导老师: 盘宏斌 完成日期: 2014年6月2日 单片机的数字时钟设计摘要 单片计算机即单片微型计算机。由RAM ,ROM,CPU构成,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 本设计主要设计了一个基于AT89C51单片机的电子时钟。并在数码管上显示相应的

2、时间。应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。单片机数字时钟的课程设计设计概述通过课程设计,使我们巩固和加深对单片机基本知识的理解,学会查寻资料、方案设计、方案比较,以及单元电路设计等环节,进一步提高我们综合运用所学知识的能力,提高分析解决实际问题的能力。锻炼分析、解决电子电路问题的实际本领,通过此综合训练,为以后毕业设计打下一定的基础。89C51单片机简介VCC:电源。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程 序

3、数据存储器,它可以被定义为数据/地址的第八位。在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口被写“1”时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,P2口的管脚

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

5、能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期

6、输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程

7、序存储器。注意加密方式1时, /EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。设计要求自制一个单片机最小系统,包括串口下载、复位电路,采用内部定时器计时,或者采用外部时钟芯片DS1302,设计一个具有秒、分、日、月、年的数字时钟,采用四位一体数码管显示相关信息,秒、分显示一页,日、月显示一页,年显示一页。系统设计 数字钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,该数字钟电路主要由译码显示器、“时”,“分”,“秒”和振荡器组成。将标

8、准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。译码显示电路将“时”、“分”、“秒”、计数器的输出状态送到六段显示译码器译码,通过六位LED六段显示器显示出来。该数字电子钟主体电路由以下几部分组成:通过分频器产生标准秒信号;60进制分秒计数器以及24小时计数器;分、时的译码显示部分。1. 框图设计2. 知识点 学会使用并了解89C51的管脚,会利用编程设

9、计数字电子时钟。在设计的过程中要了解上电复位的概念上电后通过LED数码管来显示时分秒,并通过按键来进行设计时间的作用。硬件设计1电路图设计2晶振与复位电路3输入部分4显示部分软件设计程序#include#define uchar unsigned char#define uint unsigned intvoid delayms(uint);void display(uchar,uchar,uchar,uchar);uchar m1=0,m=0,f=0,s=0,r=29,y=5,x;uint n=2014;uchar mge,mshi,fshi,fge,rshi,rge,yshi,yge,nq

10、ian,nbai,nshi,nge;sbit key1=P34; /显示月日sbit key2=P35; /显示年sbit key3=P36; /时间调整按钮sbit key4=P37; /实现加一sbit key5=P32; /实现减一uchar code table= /共阴极数字编码表 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void keyscan(); void sg() nqian=n/1000;nbai=n/100%10;nshi=n%100/10;nge=n%

11、10; yshi=y/10;yge=y%10;rshi=r/10;rge=r%10;fshi=f/10;fge=f%10;mshi=m/10;mge=m%10; void qr() /定时器部分 if(m1=20) m1=0; m+; if(m=60) m=0; f+; if(f=60) f=0; s+; if(s=24) s=0; r+; if(y=2) if(r=29) r=1; y+; else if(y=4|6|9|11) if(r=31) r=1; y+; else if(r=32) r=1; y+; if(y=13) y=1; n+; void display(uchar qian

12、,uchar bai,uchar shi,uchar ge) /数码管显示部分sg();P2=0xfe;P0=tableqian; delayms(5); P2=0xfd;P0=tablebai;delayms(5); P2=0xfb;P0=tableshi;delayms(5); P2=0xf7;P0=tablege;delayms(5); void init() /初始函数TMOD=0x01;TH0=(65536-45872)/256;TL0=(65536-45872)%256;EA=1;ET0=1;TR0=1;void keyscan() /时间调整按钮选择sg();if(key1=0)

13、delayms(10);if(key1=0)while(!key1)display(yshi,yge,rshi,rge);while(!key1); if(key2=0)delayms(10);if(key2=0)while(!key2)display(nqian,nbai,nshi,nge); while(!key2);if(key3=0)delayms(10); if(key3=0) x+; TR0=0; if(x=6) x=0; TR0=1; while(!key3); if(x!=0) /定义时间调整范围switch(x) case 1:if(key4=0) delayms(10);

14、if(key4=0) m+; if(m=60) m=0; f+; while(!key4) display(fshi,fge,mshi,mge); if(key5=0) delayms(10); if(key5=0) m-; if(m=-1) m=59; f-; while(!key5) display(fshi,fge,mshi,mge); case 2:if(key4=0) delayms(10); if(key4=0) f+; if(f=60) f=0; s+; while(!key4) display(fshi,fge,mshi,mge); if(key5=0) delayms(10)

15、; if(key5=0) f-; if(f=-1) f=59; s-; while(!key5) display(fshi,fge,mshi,mge); case 3:if(key4=0) delayms(10); if(key4=0) r+; if(r=32) r=1; y+; while(!key4) display(yshi,yge,rshi,rge); if(key5=0) delayms(10); if(key5=0) r-; if(r=0) r=31; y-; while(!key5) display(yshi,yge,rshi,rge); case 4:if(key4=0) de

16、layms(10); if(key4=0) y+; if(y=13) y=1; while(!key4) display(yshi,yge,rshi,rge); if(key5=0) delayms(10); if(key5=0) y-; if(y=0) y=12; while(!key5) display(yshi,yge,rshi,rge); case 5:if(key4=0) delayms(10); if(key4=0) n+; while(!key4) display(nqian,nbai,nshi,nge); if(key5=0) delayms(10); if(key5=0) n

17、-; while(!key5) display(nqian,nbai,nshi,nge); void main()init();while(1)display(fshi,fge,mshi,mge); keyscan();void delayms(uint xms) /延时函数uint i,j;for(i=xms;i0;i-)for(j=110;j0;j-);void T0_time() interrupt 1 /定时中断m1+;TH0=(65536-45872)/256;TL0=(65536-45872)%256;qr();经验体会 在盘老师的教导下,通过一周的学习基本懂得了数字时钟的原理和设

18、计,通过这次的设计使我认识到本人对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,尤其是对程序设计语句的理解和运用,不能够充分,也让我了解了关于数字钟的原理与设计理念,要设计一个电路先进行软件模拟仿真再进行实际的电路制作。但是最后的成品却不一定与仿真时完全一样,因为,再实际接线中有着各种各样的条件制约着。而且,在仿真中无法成功的电路接法,在实际中因为芯片本身的特性而能够成功。所以,在设计时应考虑两者的差异,从中找出最适合的设计方法。通过这次学习,让我对各种电路都有了大概的了解。在今后的其他工作中,也可以把这次设计中的收获运用进去,这是我此次课程设计得到的最大财富。课程设计是大学生活中重要阶段的工作,是真正考验我们能力的一项教学内容,在这个过程中我认真思考,不断尝试,收获了很多在平时的课堂上收获不到的东西。课程设计即将结束,我会吸取课程设计中的经验和教训,在今后的工作中少走弯路。实物图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1