单片机课程设计_第1页
单片机课程设计_第2页
单片机课程设计_第3页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、下载可编辑题目:智能电子钟学生姓名专 业班 级指导教师成 绩工程技术学院.专业.整理.下载可编辑2016 年 3月11.专业.整理.目录、系统设计内容11.1 设计要求:1.1.2可实现的具体功能:1.、总体设计22.1 DS1302 简介22.2 LCDI602简介32.3 AT89C51 单片机简介3三、硬件设计3.1原理图3.2 PCB板丝印层4.3.3 PCB板底层.4四、软件设计流程.4五、4.1总体设计4.2主程序流程图4.3显示流程图4.4 DS1302 读取流程4.5外部中断0流程4.6外部中断1流程仿真效果图5.6.6.7.8.六、总结与体会.10.附录1、 程序1.1.2、

2、 参考文献22下载可编辑智能电子钟(LCD显示)一、系统设计内容1.1设计要求:以AT89C51单片机为核心,制作一个LCD显示的智能电子 钟:(1) 计时:秒、分、时、天、周、月、年;(2) 闰年自动判别;时间、月、日交替显示;(5) 自定任意时刻自动开/关屏;(6) 计时精度:误差W1秒/月(具有微调设置);(7) 键盘采用动态扫描方式查询。所有的查询、设置功能均 由功能键K1、K2完成。本设计采用市场上流行的时钟芯片DS1302进行制作。1.2可实现的具体功能:智能电子钟的原理主要由4部分组成:(1) 单片机的外围设备,即单片机最小系统,此部分是 保证单片机正常工作的必要部分;(2) 显

3、示部分:LCD显示,即显示年、月、星期、日、 时、分、秒等;(3) 时钟芯片DS1302 , DS1302是DALLAS公式推出的涓 流充电时钟芯片,内含一个实时时钟/日历和31字节静态 RAM ,可以通过串行接口与计算机进行通信,使得管脚数 量减少。实时时钟/日历电路能够计算2100年之前的秒、 分、时、日、星期、月、年的,具有闰年调整的能力;按键部分:按键实现开关显示屏对时钟时间的微 调,开关键在正常显示模式下按下开火关LCD显示;模式 键:可切换到时间调整界面,再按一次退出,此时开关屏键 实现对秒的加一操作。二、总体设计图2.1设计方案框图2.1 DS1302 简介DS1302 是美国D

4、ALLAS公司推出的一种高性能、低功 耗、带RAM 的实时时钟电路,它可以对年、月、日、星 期、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用 突发方式一次传送多个字节的时钟信号或RAM 数据。DS1302内部有一个31 X8的用于临时性存放数据的RAM寄 存器。DS1302是DS1202的升级产品,与DS1202兼容,但 增加了主电源/后备电源双电源引脚,同时提供了对后备电 源进行涓细电流充电的能力。.专业.整理.P1.0C1401VCCP1.1 匚239:PO.O(ADO)P1.JIZg38ZIPD.1 (ADIP1.3E13

5、7J P0.2(AD2P14C5362 P0.3 (AD3P1.SCC3SJP0.41WM)P1.B C734JP0.5(AD5P1.7I:E33JRfeT932J F*0.7(AD7)(RXDJP3.G 匚W31Zl EA/VPP(TXD)P3,i 匚1130ZIALE?ROG丽而)P32匚1229jpSefiiMTTfP3.3l:132S2 P2.7 (Al 帥rraiw.r1427 P26(A14)(T1|P3.SE1526Zl P2.5(A13>mpu.ar16251 P2.4 i:A12)(RDJP3.7L1724JP2.3(A11>XTAL2C823JP2.2(A10J

6、XTAL1 匚1922J P2.1 胸GNDC20JP2.0(ABJ图2.2 DS1302 芯片2.2 LCD1602 简介1602液晶也叫1602字符型液晶,它是一种专门用来显 示字母、数字、符号等的点阵型液晶模块。它由若干个5X7 或者5X11等点阵字符位组成,每个点阵字符位都可以显示 一个字符,每位之间有一个点距的间隔,每行之间也有间 隔,起到了字符间距和行间距的作用。2.3 AT89C51 单片机简介AT89C51 (如图所示)是一种带 4K字节闪烁可编程可擦除只读存储器(FPEROM Falsh Programmable and Erasable Read Only Memory )

7、 的低电压,高性能CMOS8 位微处理 器,俗称单片机。该器件采用ATMEL 高密度非易失存储器制造技术制造, 与工业标准的MCS-51指令集和输出 管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中, ATMEL的AT89S51是一种高效微控制 器,为很多嵌入式控制系统提供了一 种灵活性高且价廉的方案922pFVCCVCC-JB1 *3V152930313.RSTPSENEA下载可编辑P0.5/AD5P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15333221222324252628mm

8、ou、硬件n设计丄X2I 32.768kHz(530uFP1.0/T2P1.1/T2EXP3.0/RXDP3.1/TXD10RP1RESPACK4I VCCP1.2P1.3P3.2/INT0P3.3/INT1K11 原理图2RSTSCLKI/OWD1100-11P1.4P1.5P1.6P1.789C513.2 PCB板丝印层ULP3.4/T0P3.5/TIP3.6/WRP3.7/RD1314K217F»lk CZFBlR3 4ZZF 22DC4C5U2X2=:詈= 1 1 I.-.1.专业.整理.ND11QQ-113.3 PCB板底层四、软件设计流程4.1总体设计在整个程序运行过程中

9、,总体上可分为以下几方面:下载可编辑.专业.整理.4.2主程序流程图开中断,初始化LCD,初始化DS1302显示时间显示年月曰周4.3显示流程图4.4 DS13024.5外部中断0流程4.6外部中断1流程2等待按键释放记录此时光标位置2五、仿真效果图日期时间交替显示:LJ1XT41.1:J制盖EX2GfiVS牠LkXJ ILMQ3CI.-MhjFC6Tgr3M=£RrtlAL iE3l MdHrK1nrrK4JCGSlMGJpi am trri&AT-BSC-Si!,IlbXl*pg iMpn rq豳a PO3AD3 RDJhAM POtiADSWWEPJ IJW9 F213

10、A1Q P2 3MO P£佃工 曲昭估 P7&¥lM 3Z M l?码WOT ra.mP3 iflTTlP.4HnFJ.5HIP3&W1贱俪2016-03-034II4IHsw=rTEjfT*O*HJ匚CUTLMQ3DLLJ1ec uhu£RrtlAL 0-11 OHHr:JQZhMDd pg iMpn ROZr蚯a POJD RDJhAM POLADS giatSA PQ7Y4D7T;B17 -K1KClnrrK4JCCSI3G2o| CRrSTL .竿0刃皿yyFSR當WWEPJ IM?F213A1( P2 3AMN 临佃工P7&A.M

11、 玉M 15码 WRM3 pa.tnro 阿俪而 fj iflTTIPX.+TU pj.sniP3&W1 PIJrRffATE8C512关屏LJ1II4rLL4J ILMaaj-I £RrtTkLDhheK1'MCI !.«2HTTK4J;Q曲1 o左| CRrWJ.日IThrA_Li1:TT" Eg«IALlXIA12R5TpgiMPH ROZfADQ PO.3ttD3P0.EAD5PQTrAD?凶陶P3 I M? 陋盹1QF2 3AAH誉P2 風 IN 曲砂怕P7Ci.l4fi .amfztwms码.WRM3pi j P1.4制工丽E

12、5P3 : jflE punnPI Ji P17P3 6fflH Pl问inR51O.J1. : KJ时间调整六、总结与体会历经一个星期的设计、修改、调试,最终,我们得到了 想要的结果,感受成功之喜悦,但这并不意味着我们做得很 好,相反,在这当中暴露出了我们在各个方面许许多多的问 题,学到许多的同时感触也很深厚。在硬件设计时,通过对需要系统的分析,单元模块的设 计,元件的选取等,使我们了解到平时所学单片机课程的实 用价值,以及设计过程中的大局协调、取舍、分析能力的培 养。在编程以及仿真时,充分将单片机原理的知识学以致 用,既是对我们单片机基础知识的考验,又是对我们灵活运 用及创新能力的检验;既

13、考验我们的学习能力,又考验逻辑 思维技巧;既体现了个人对课程设计的灵思妙想,又培养了 团队之间的合作能力。我们能够很好地完成这次课设,离不开在科学研究上实 事求是的工作原则、一丝不苟的工作态度、勤于思考的工作 方法、百折不饶的工作精神和精益求精的工作作风,此外, 最重要的就是团队之间相处和谐、分工明确。在大家的共同努力下,得到了满意的成果,更使我们明白团队合作的重要 与便利。最后,衷心感谢老师在这次设计中耐心给予的大量帮 助,解决了我程序中存在的不少问题,并指导了我一些设计 的思路,也令我明白自己的大量不足之处,受益匪浅。附录1、程序#include<reg52.h>#includ

14、e <intrins.h>#define uchar unsigned char#define DS1302_SECOND_WRITE 0x80#define DS1302_MINUTE_WRITE 0x82#define DS1302_HOUR_WRITE 0x84#define DS1302_DAY_WRITE 0x86#define DS1302_WEEK_WRITE 0x8a#define DS1302_MONTH_WRITE 0x88#define DS1302_YEAR_WRITE 0x8c#define DS1302_PROTECT_WRITE 0x8e#define

15、 DS1302_SECOND_READ 0x81#define DS1302_MINUTE_READ 0x83#define DS1302_HOUR_READ 0x85#define DS1302_DAY_READ 0x87#define DS1302_WEEK_READ 0x8b#define DS1302_MONTH_READ 0x89#define DS1302_YEAR_READ 0x8dsbit leden = P2A2;sbit ledrs =卩2人0;sbit write =卩2人1;sbit sck = P1A6; / 时钟sbit io = P1A7; / 数据sbit rs

16、t = P1A5;/ DS1302 复位unsigned char Chinese_13=0x2d,0x20,0x3a;“” ”:”unsigned char Chinese_27=0x31,0x32,0x33,0x34,0x35,0x36,0x37;一二三四五六天/unsigned char Cursor6=0x81,0x83,0x85,0x90,0x92,0x94;定义光标移动的位置unsigned char num = 0;unsigned int ji = 0;unsigned int jiao = 0;void Delayms(unsigned int z)/ 延时unsigned

17、int x,y;for(x=z;x>0;x-)for(y=115;y>0;y-);/lcd子程序void Write_com(unsigned char com)/ 写命令Icdrs = 0;P0 = com;Delayms(5);Icden = 1;Delayms(5);Icden = 0;写数据void Write_data(unsigned char dat)lcdrs = 1;P0 = dat;Delayms(5);lcden = 1;Delayms(5);lcden = 0;unsigned char Read_com()读命令unsigned char com;writ

18、e = 1;lcdrs = 0;lcden = 1;com = P0;Delayms(5);write = 0;lcdrs = 0;lcden = 0;return com;void init_lcd()/lcd 初始化Icden = 0;Write_com(0x38);Write_com(0x0c);Write_com(0x06);Write_com(0x01);Write_com(0x80);ds1302子程序void DS1302WriteByte(uchar dat)/ 写字节uchar i;sck=0;Delayms(2);for(i=0;i<8;i+)io=dat&0

19、x01; 取最低位,注意DS1302的数据和地址都是从最低位开始传输的Delayms(2);sck=1;Delayms(2);sck=0;dat>>=1; uchar DS1302ReadByte() 读字节uchar i,dat;Delayms(2);for(i=0;i<8;i+)dat>>=1;if(io=1)当数据线为高时,证明该位数据为1dat|=0x80;要传输数据的当前值置为1,若不是,则为0sck=1;Delayms(2);sck=0;Delayms(2);return dat; uchar DS1302Read(uchar cmd) 读命令ucha

20、r dat;rst=0;sck=0;rst=1;DS1302WriteByte(cmd); 传输地址dat=DS1302ReadByte(); 读取要得到的时间/日期 sck=1;rst=0;return dat; void DS1302Write(uchar cmd,uchar dat)/ 写命令rst=O;sck=O;rst=1;DS1302WriteByte(cmd); 传输地址DS1302WriteByte(dat); 写入时间 / 日期 sck=1;rst=O; void lnit_DS1302(void) 初始化DS1302Write(0x8e,0x00); 写保护关DS1302W

21、rite(DS1302_SEC0ND_WRITE,0x55); 初始秒值DS1302Write(DS1302_MINUTE_WRITE,0x59); 初始分钟DS1302Write(DS1302_H0UR_WRITE,0x23); 初始为 24 小时模式初始时间为DS1302Write(DS1302_DAY_WRITE,0x02);/20xx 年 x 月 x 日星期 xDS1302Write(DS1302_M0NTH_WRITE,0x03);DS1302Write(DS1302_YEAR_WRITE,0x16);DS1302Write(DS1302_WEEK_WRITE,0x03);DS130

22、2Write(0x90,0x01); 充电DS1302Write(0xc0,0xf0); 初始化一次标示DS1302Write(0x8e,0x80);取数显示 void Split_display(unsigned char address)/ unsigned char i;i=DS1302Read(address);i=i/16+'O:Write_data(i); 显示十位Delayms(3);i=DS1302Read(address);i=i%16+'0;Write_data(i); 显示个位Delayms(5);void Dispaly_shi() 显示时间Write_

23、com(0x84);Split_display(DS1302_HOUR_READ); 显示小时Write_data(Chinese_12); 显示:"'Delayms(3);Split_display(DS1302_MINUTE_READ); 显示分钟Write_data(Chinese_12);Delayms(3);Split_display(DS1302_SECOND_READ);/ 显示秒Delayms(3);Delayms(50); void Display_nian()/ 显示年月曰uchar i;Write_com(0x82);Delayms(IOO);Write

24、_com(0x82);Delayms(IOO);Write_data('2');Delayms(5);Write_data('O');Delayms(1);Split_display(DS13O2_YEAR_READ); 显示年份Write_data(Chinese_1O); 显示-”Delayms(3);Split_display(DS1302_MONTH_READ); 显示月份Write_data(Chinese_1O);Delayms(3);Split_display(DS1302_DAY_READ); 显示日期Write_data(Chinese_11)

25、;Delayms(3);Write_data(Chinese_11);Delayms(3);i=DS1302Read(DS1302_WEEK_READ); 显示星期i=i%16+'0;Write_data(i);Delayms(3);Write_com(0x82);Delayms(50);void interO() interrupt 0/ 按键中断 1ji = ji+1;if(ji%2 = 0)Write_com(OxOc);elseWrite_com(0x08); void inter2() interrupt 2/ 按键中断 2unsigned char k,j,i,b;Delayms(500);while(INT1!=1);b = Read_com();b = ACC & 0x7f;Write_com(0x01);Dispaly_shi();EA = 0;EX0=0;EX1=0;k=DS1302Read(DS1302_SEC0ND_READ);while(INT1)Write_com(0x8a);Write_com(0x0f);if(INT0=0)Delayms(10);if(

温馨提示

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

评论

0/150

提交评论