单片机课程设计报告原理及代码.docx

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机课程设计报告原理及代码

North China University of Science and Technology课程设计报告姓 名:席雅晴学 号: 201514610203班 级: 15通信2班 指导教师: 高雪飞目 录设计题目和要求…………………………………………1设计原理与实现功能……………………………………1元器件介绍………………………………………………2电路设计…………………………………………………4软件设计…………………………………………………5六、 设计总结……………………………………………… 24一、设计题目和要求题目:数字钟要求:1.准确计时,以数字形式显示时、分、秒的时间;2.小时的计时要求为“24翻1”,分和秒的计时为60进制。二、设计原理与实现功能设计原理:STC89C52RC本数字时钟采用STC89C52RC单片机芯片,晶振频率为11.0592MHZ,采用C语言编程,显示模块采用通用型1602液晶,发声模块采用无源蜂鸣器。通过给时钟通电实现时钟的正常工作。实现功能:本数字时钟可实现闹钟定时、显示时间功能。可利用四个按键调节时钟。按键1功能为调整时钟时间,按键2功能为设置闹钟,按键3和按键4分别为实现调试中“+”、“-”的功能。当时钟时间到达定时时间,蜂鸣器响起(20s后停止),实现闹钟功能。且具有整点报时的功能。三、元器件介绍STC89C52是一种低功耗、高性能CMOS8位微控制器。STC89C52单片机简介STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。和atmel的对比 STC89C52RC单片机: 8K字节程序存储空间; 512字节数据存储空间; 内带4K字节EEPROM存储空间; 可直接使用串口下载; at89s52单片机: 8K字节程序存储空间; 256字节数据存储空间; 没有内带EEPROM存储空间四、电路设计四个按键分别接单片机P1.0 P1.1 P1.2 P1.3四个IO口,用于控制时钟。蜂鸣器接单片机P2.3引脚,1602八个显示段接P0.0-P0.7引脚。1602第一个管脚接地,第二个管脚接5V电源,第三个管脚接10K的滑动变阻器。1602的第15、16个管脚分别接+5V电源和地。五、软件设计#includereg52.h#define uchar unsigned char#define uint unsigned intuchar code table[]=2010/01/01 Sun;uchar code table1[]=00:00:00; sbitlcden=P3^4;//使能控制sbitrs=P3^5;//数据/指令选择端sbitrw=P3^6;//读写选择端sbit set=P1^4;//时间设置按键sbit set1=P1^5;//闹钟设置按键sbit k1=P3^2; //递增按键sbit k2=P3^3; //递减按键sbit reset=P3^7;//从设置中跳出来sbit buzz=P2^3; //蜂鸣器控制端uchar code week0[]=Sun;uchar code week1[]=Mon;uchar code week2[]=Tue;uchar code week3[]=Wed;uchar code week4[]=Thu;uchar code week5[]=Fri;uchar code week6[]=Sat;uchar num,num1,aa,bb1,bb2,cc,year,months,day,week,shi,fen,miao,knum;uchar year1,months1,day1,week_1,shi1,fen1,miao1;//闹钟变量定义void keyscan(); //按键程序voidtime_keyscan();void keyscan_1(); //按键程序void time_keyscan_1();void delay(uint z){uchar

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档