欢迎来到天天文库
浏览记录
ID:61444845
大小:26.00 KB
页数:10页
时间:2021-01-31
《单片机应用技术课程设计报告模板.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、单片机应用技术课程设计实训报告专业:年级/班级:姓名:实训时间:实训地点:指导教师:一、实训题目:基于51单片机电子时钟设计二、实训目的:三、所用器件工作原理及控制方法:四、软硬件设计五、实训总结:附件:#include#include//有_nop_的头文件/***********变量定义*********************************************/#defineucharunsignedchar#defineuintunsignedintvoidshezhi
2、_display(void);voidled_display(ucharm);voidzhengdian(void);voiddelay(void);voiddelayms(ucharms);uchartime1s=0,time50ms;//定时1s计数器uchartime1f=0,time1x=0;uchara,b,k,m,num=0;#defineledbitP0//P0.0-P0.7--A~Gexternucharcodesmg[]={//共阳极0-9显示代码//-0-----1-----2-----3-----4-----
3、5-----6-----7-----8---9--0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};sbitwx_0=P2^0;sbitwx_1=P2^1;sbitwx_2=P2^2;sbitwx_3=P2^3;sbitwx_4=P2^4;//数码管位选sbitwx_5=P2^5;sbitzd=P1^4;sbitshezhi=P1^1;sbitjia=P1^2;sbitsub=P1^5;sbityiwei=P1^0;voidinit()//对应定时器和外部中断1;{TMOD=0x
4、01;//T0T1方式控制TH0=0x3c;TL0=0xb0;//计时50msEA=1;//开全局中断ET0=1;//开定时中断0TR0=1;}voiddelay(void)//延时函数,延时约0.6ms{unsignedcharj;for(j=0;j<200;j++);}voiddelayms(ucharms){uchari;while(ms--)for(i=0;i<200;i++);}/**********************************************************/函数名:led_disp
5、lay()/功能:数码管显示数据,驱动芯片74LS244/输入:dat---8位数据/输出:无/说明:输入十进制数。/********************************************************/voidled_dispiay(){wx_0=0;wx_1=0;//小时位选ledbit=smg[time1s/10];//十位显示wx_1=1;delay();wx_1=0;ledbit=smg[time1s%10];//个位显示wx_0=1;delay();wx_0=0;wx_2=0;wx_3=0;
6、//分钟显示ledbit=smg[time1f/10];//十位显示wx_3=1;delay();wx_3=0;ledbit=smg[time1f%10];//个位显示wx_2=1;delay();wx_2=0;wx_4=0;wx_5=0;//分钟显示ledbit=smg[time1x/10];//十位显示wx_5=1;delay();wx_5=0;ledbit=smg[time1x%10];//个位显示wx_4=1;delay();wx_4=0;}/***************定时中断*********************
7、*************/voidtime1()interrupt1{time50ms++;if(time50ms==20)//计数20个50ms为1s{time50ms=0;time1s++;if(time1s==60){time1s=0;time1f++;if(time1f==60){time1f=0;time1x++;if(time1x==24){time1x=0;}}}}TH0=0x3c;TL0=0xb0;}voidshezhi_diaplay(){if(1){if(yiwei==0)delayms(66);if(yiw
8、ei==0){TR0=0;++num;}/*..................秒调整......................*/if(num==1&jia==0)delayms(70);if(num==1&jia==0)time1s++;if
此文档下载收益归作者所有