单片机实训报告模板.doc

单片机实训报告模板.doc

ID:61459744

大小:399.00 KB

页数:9页

时间:2021-02-01

单片机实训报告模板.doc_第1页
单片机实训报告模板.doc_第2页
单片机实训报告模板.doc_第3页
单片机实训报告模板.doc_第4页
单片机实训报告模板.doc_第5页
资源描述:

《单片机实训报告模板.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、项目一万年历班级:学号:姓名:一、任务目的通过对万年历的设计和制作,应用了单片机的数码管、键盘接口技术,以及定时/计数器、中断等程序设计技术,进一步训练了单片机并行I/O端口的应用能力、循环程序设计、键盘查询程序设计和调试能力,让同学们初步了解了作为单片机的重要输入设备——键盘接口技术和程序设计方法。二、设计要求用单片机设计一个在数码管能同时显示年月日时分秒,具体要求:根据提供的单片机,设计出万年历的硬件电路,编写软件,用Proteus进行仿真实验,然后进行实物的软硬件调试,并撰写符合要求的实训报告。三、系统硬件电路设计可分为最小系统、数码管显示、按键

2、三个单元电路,要求画出各部分电路图,写出工作原理。最小系统:数码管显示:按键:四、软件设计主流程图:流程图:软件设计有三部分:计时(区分大小月与平月)、显示、校时(使用按键)。#includeunsignedcharmsec,sec,min,hou,day=20,mon=3,ci;/*定义msec为50ms计数变量,sec为秒变量,min为分变量,hou为时变量,day为天变量,mon为月变量,ci为循环次数*/intyear=2013;/*定义year为年变量,定义起始年为2013年*/sbitP30=P3^0;/*通过sbit定义

3、可位寻址变量*/sbitP32=P3^2;sbitP33=P3^3;sbitP34=P3^4;voiddelay(unsignedchari)/*延时函数,当i=1时,延时255微秒*/{unsignedcharj,k;for(k=0;k

4、;msec++;//中断次数增1if(msec==20)//中断次数为20次么?{msec=0;//是,1s计时到,50ms计数变量清零sec++;//秒变量加1if(sec==60)//到60s么?{sec=0;//是,1分计时到,秒变量清零min++;//分变量加1if(min==60)//到60分么?{min=0;//是,1小时计时到,分变量清零hou++;//时变量加1if(hou==24)//到24时么?{hou=0;//是,1天计时到,时变量清零day++;//天变量加1if(mon==1

5、

6、mon==3

7、

8、mon==5

9、

10、mon==7

11、

12、

13、mon==8

14、

15、mon==10

16、

17、mon==12)//月是为1,3,5,7,8,10,12么?{if(day==32){day=1;mon++;}}//是,天到32么?是,天变量复位为1,月变量加1elseif(mon==2)//月是为2么?{if(day==29){day=1;mon++;}}//是,天到29么?是,天变量复位为1,月变量加1else//月是为4,6,9,11么?{if(day==31){day=1;mon++;}}//是,天到31么?是,天变量复位为1,月变量加1if(mon==13)//月到13么?{mon=1;//是,1年计时到

18、,月变量复位到1year++;}}}}}}//年变量加1voidmain()//主函数{unsignedcharled[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//定义数字0~9字型显示码,数码管共阴TMOD=0x01;//定时器0工作方式1TR0=1;//启动定时器TH0=0x3c;//50ms定时初值TL0=0xb0;EA=1;//开总中断ET0=1;//定时器0中断while(1){if(P30==1)//P3.0=1么?(开关是开启的么?){for(ci=1;ci<=10;ci

19、++)//for循环,ci的初值为1,判断ci<=10,若小于等于10循环,ci+1,若大于10跳出循环{P2=0x00;P0=led[sec%10];delay(2);//选中P2为0x00时控制的数码管,显示秒个位P2=0x01;P0=led[sec/10];delay(2);//选中P2为0x01时控制的数码管,显示秒十位P2=0x02;P0=led[min%10];delay(2);//选中P2为0x02时控制的数码管,显示分个位P2=0x03;P0=led[min/10];delay(2);//选中P2为0x03时控制的数码管,显示分十位P2

20、=0x04;P0=led[hou%10];delay(2);//选中P2为0x04时控制的数码

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

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

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