单片机原理及应用课程设计

单片机原理及应用课程设计

ID:8521149

大小:145.28 KB

页数:16页

时间:2018-03-31

单片机原理及应用课程设计_第1页
单片机原理及应用课程设计_第2页
单片机原理及应用课程设计_第3页
单片机原理及应用课程设计_第4页
单片机原理及应用课程设计_第5页
资源描述:

《单片机原理及应用课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、《单片机原理及应用课程设计》报告——电子万年历设计专业:班级:姓名:学号:指导教师:2011年X月X日1.课程设计目的1.1巩固和加深对单片机原理和接口技术知识的理解;1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。2.课程设计要求2.1制作一个可以显

2、示年月日时间的万年历2.2可以设置时间日期2.3以月历的方式显示日期2.4当前日期反显标出2.5时间和日期的字体不一致,以便区分3.硬件设计3.1以单片机为计算核心,外加3个按键和一块显示器完成整个电路3.2AT89C52单片机为核心(51单片机程序存储空间不够用),功能及引脚配置同52单片机。以Nokia3310L黑白液晶屏为显示模块,该模块具有引脚少,功能简单实用价格便宜等优点。该模块采用串行通信的方式传递数据。3.3电路设计如下图中R1~R5为上拉电阻,为保证P0.0~P0.4的端口的输出电

3、压足够驱动显示模块。R6~R8为下拉电阻起到同样的功能。实际测试仿真是因为未接入上拉电阻而导致显示模块没有输出的情况造成了很大的干扰。3个按钮为操作按钮,用于设置时间日期。4.软件设计4.1万年历的基本流程为定时、计数,然后进行时间的运算,时分秒的运算十分便捷,闰年和大小月的运算稍有繁琐,主要困难的在于星期的计算。所以本程序采用计算和标记每月第一日的星期来简化计算。所有的数据计算结束后,单片机就从P0的部分端口上向显示模块输出信号。4.2.1总流程4.2.2主函数部分4.2.3中断函数部分4.2.

4、4日期和时间显示流程图4.3源程序源代码#include#includesbitsc=P0^4;sbitsclk=P0^2;sbitd_c=P0^0;sbitsdin=P0^1;sbitreset=P0^3;sbitset_ok_set=P0^5;sbitset_next_bit=P0^6;sbitset_change=P0^7;unsignedcharsec,min,hour,day,mon,year,week,firstweek,max_day;unsign

5、edlongcount;bitsetORrun;unsignedcharmaxday(unsignedcharmo){if((mo==2)&&(year%4!=0))return(28);if((mo==2)&&(year%4==0))return(29);if((mo==4)

6、

7、(mo==6)

8、

9、(mo==9)

10、

11、(mo==11))return(30);return(31);}voiddatout(unsignedchardat)//输出函数{unsignedchari;for(i=0;i<8;

12、i++){sclk=0;sdin=(dat&0x80)/80;sclk=1;dat=dat<<1;}}voidtime2char(unsignedchari)//时间转换成点整字符输出{unsignedcharj;unsignedchark[5];switch(i){case0:k[0]=0x7F;k[1]=0x7F;k[2]=0x41;k[3]=0x7F;k[4]=0x7F;break;case1:k[0]=0x64;k[1]=0x66;k[2]=0x7f;k[3]=0x7F;k[4]=0x60

13、;break;case2:k[0]=0x7b;k[1]=0x7b;k[2]=0x49;k[3]=0x6F;k[4]=0x6F;break;case3:k[0]=0x63;k[1]=0x6b;k[2]=0x49;k[3]=0x7F;k[4]=0x7F;break;case4:k[0]=0x0F;k[1]=0x0F;k[2]=0x08;k[3]=0x7F;k[4]=0x7F;break;case5:k[0]=0x6F;k[1]=0x6F;k[2]=0x49;k[3]=0x7b;k[4]=0x7b;br

14、eak;case6:k[0]=0x7F;k[1]=0x7F;k[2]=0x49;k[3]=0x7b;k[4]=0x7b;break;case7:k[0]=0x03;k[1]=0x03;k[2]=0x01;k[3]=0x7F;k[4]=0x7F;break;case8:k[0]=0x7F;k[1]=0x7F;k[2]=0x49;k[3]=0x7F;k[4]=0x7F;break;case9:k[0]=0x6F;k[1]=0x6F;k[2]=0x49;k[3]=0x7F;k[4]=0x

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。