b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

lcd1602单片机万年历程序_1602万年历显示程序_单片机万年历数码管(6)

电脑杂谈  发布时间:2017-03-13 17:16:00  来源:网络整理

3.闹钟设置界面闹钟设置界面如图 3-12所示。1XXXXXXXXXX1XXXXXXXXXX6ASETCLOCKBTime:00:00:00O图 3-12 闹钟设置界面界面显示说明:⑴B6,B7为闹钟小时设置位,B9,B10为闹钟分钟设置位,B12,B13为闹钟秒设置位;⑵B15为周期性闹钟设置位,为O(once)则为临时性闹种,为R(repeat)则为周期性闹钟;⑶在该界面中以上提到的几位都可以通过按键来调整和设置。4.分段录音界面分段录音界面如图 3-13、图 3-14、图 3-15所示。图 3-13为进入录音功能界面,图 3-14为录音开始界面,图 3-15为录音结束界面。1XXXXXXXXXX1XXXXXXXXXX6AWELCOMEBRECORDER图 3-13 进入录音功能界面1XXXXXXXXXX1XXXXXXXXXX6ARecording:11SB图 3-14 录音开始界面1XXXXXXXXXX1XXXXXXXXXX6ARecording:11SBOVER图 3-15 录音结束界面录音界面显示说明:⑴正在录音时显示A行,其中A11显示为录音的字段序号,A15为该段的录音时间长度,录音时不能超过该时间长度,超过部分录音无效;⑵一个字段录音完成时显示图 3-15界面。

结论本论文主要研究了液晶显示屏的电子万年历的设计,本系统采用了以广泛使用的单片机AT89C51技术为核心,配合时钟芯片DS1302。以LCD1602为核心的液晶显示电路可以直接的显示结果。本设计的主要优点有分辨率高、设计简单,精度高,成本低等。本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的知识运用到我以后的工作中去。在大学的课堂的学习只是在给我们灌输知识,而我们应把所学的用到我们现实的生活中去,此次的电子时钟设计给我奠定了一个实践基础,我会在以后的学习、生活中磨练自己,使自己适应于以后的竞争。当然由于时间和条件的关系,不可避免的,本系统还存在一些不足之处也有缺点,系统的软件部分还需要进行相应的调整,使整个系统可靠性更高,使用更方便,更趋于完美。谢?? 辞在本论文的写作过程中,我非常感谢我的指导老师左现刚老师,无论是在课题分析、材料学习阶段还是在论文设计各个方面,左老师给予的指导和帮助。对论文的顺利完成其了很大的作用。每次的讲解使我钦佩,严谨认真精神更使我感动,从他那里我学习到的不仅有知识,还有踏实勤恳、认真求实的优良品质和工作作风。

在此论文完成之际,首先向左老师表示衷心的感谢和深深的敬意。此外,对所有在这四年里的学习和生活中,曾经教导过我帮助过我以及默默的地给予我无数的关心和帮助的老师以及和我一起生活一起学习一起走过四年人生路的同学们,在此向大家表示最诚挚的谢意和最美好的祝福。参考源程序 #include #define uchar unsigned char sbit rs P1^2; sbit rw P1^1; sbit en P1^0; uchar code table[] " 2012-03-15 blue"; uchar code table1[] " 10:34:56 sky"; uchar code table2[] 31,28,31,30,31,30,31,30,30,31,30,31 ;//平年 uchar code table3[] 31,29,31,30,31,30,31,30,30,31,30,31 ;//闰年 uchar count 0; uchar hour 10;uchar min 34;uchar sec 56; uchar t;uchar year1 20;uchar year2 12;uchar month 03;uchar day 15;void delay uchar m //延时子程序 uchar i,j; for i m;i 0;i-- for j 5;j 0;j-- ; void wr_com uchar com //写命令子程序 rs 0; rw 0; en 0; P2 com; delay 1 ; en 1; delay 5 ; en 0; void wr_dat uchar dat //写数据子程序 rs 1; rw 0;en 0; P2 dat; delay 1 ;en 1;delay 5 ;en 0; void init en 0; wr_com 0x38 ;//设置16*2显示,5*7点阵,8位数据接口 wr_com 0x0c ; //开显示,显示光标,光标闪烁 wr_com 0x06 ; //当读或写一个字符后地址指针自动加1,整屏不移动 //数据指针清零,所有显示清零 wr_com 0x80+0x00 ;//设置数据指针地址 for t 0;t 16;t++ //写入第一行数据 wr_dat table[t] ; delay 1 ; wr_com 0x80+0x40 ; for t 0;t 15;t++ //写入第二行数据 wr_dat table1[t] ; delay 1 ; void timer_init //开定时器0 TMOD 0X01; TH0 65535-10000 /256; TL0 65535-10000 %256; EA 1; ET0 1; TR0 1; void hour_sfm uchar add,uchar da //刷新时间函数 uchar shi,ge; shi da/10; ge da%10; wr_com 0x80+0x40+add ; wr_dat 0x30+shi ; wr_dat 0x30+ge ; void month_sfm uchar add,uchar da //刷新时间函数 uchar shi,ge; shi da/10; ge da%10; wr_com 0x80+add ; wr_dat 0x30+shi ; wr_dat 0x30+ge ; void main init ; timer_init ; while 1 if count 100 //计数100次为一秒 count 0; sec++;if sec 59 //到一分了吗? sec 0; min++; if min 59 //到一小时了吗 min 0; hour++; if hour 23 //到一天了吗 hour 0; day++; hour_sfm 2,hour ; hour_sfm 5,min ; hour_sfm 8,sec ; if year1*100+year2 %4 0& year1*100+year2 %100! 0 //是闰年吗 if day table3[month-1] //天数到了吗 day 1;month++; if month 13 //月数到了吗 month 1;year2++; if year2 99 //年的低位满了吗 year2 0; year1++;month_sfm 1,year1 ;//进入年高位刷新函数 month_sfm 3,year2 ; //进入年低位刷新函数 month_sfm 6,month ; //进入月刷新函数 month_sfm 9,day ; //进入年日刷新函数 else if day table2[month-1] //天数到了吗 day 1;month++;if month 13 //月数到了吗 month 1;year2++; if year2 99 //年的低位满了吗 year2 0; year1++;month_sfm 1,year1 ; //进入年高位刷新函数 month_sfm 3,year2 ; //进入年低位刷新函数 month_sfm 6,month ; //进入月刷新函数 month_sfm 9,day ; //进入日刷新函数 void timer0 interrupt 1//定时器服务程序 TH0 65535-10000 /256; TL0 65535-10000 %256;//重装初值 count++; //计数器加1 参考源程序 //*****************************************************/*此万年历程序由洪春峰同学自主编写,不妥之处,还请不吝赐教,谢谢!(仅用于学习交流,谢绝他用)*/#include #define uchar unsigned char#define uint unsigned intsbit rs P2^5;sbit rw P2^6;sbit en P2^7;uchar code table[] "2011-08-15 MON ";uchar code table1[] "17:53:00";uchar code table2[] "SUNMONTUSWENTHRFRISAT";uchar shi 15,fen 52,miao 0,time 0,a 2,ri 16,yue 8,nian 11,shiji 20;//**************************************************************************void delay uchar z //延时函数 uchar x;while z-- for x 110;x 0;x-- ; //***************************************************************************void write_com uchar com //写指令函数 rs 0;rw 0;P0 com;delay 5 ;en 1;delay 5 ;en 0; //*****************************************************************************void write_date uchar date //写数据函数 rs 1;rw 0;P0 date;delay 5 ;en 1;delay 5 ;en 0; //****************************************************************************void init //初始化函数 uchar num;en 0;rs 0;rw 0;write_com 0x38 ;write_com 0x0c ;write_com 0x06 ;write_com 0x01 ;write_com 0x80+1 ;for num 0;num 14;num++ write_date table[num] ;delay 5 ; write_com 0x80+0x40+4 ;for num 0;num 8;num++ write_date table1[num] ;delay 5 ; TMOD 0x01;TH0 65536-18451 /256;TL0 65536-18451 %256;EA 1;ET0 1;TR0 1; //********************************************************************************void jishi uchar add,uchar hehe //时分秒处理及显示函数 uchar i,j;i hehe/10;j hehe%10;write_com 0x80+0x40+add ;write_date 0x30+j ;write_com 0x80+0x40+add-1 ;write_date 0x30+i ; //******************************************************************************void suiyue uchar add,uchar hehe //日,月,年,世纪 处理及显示函数 uchar i,j;i hehe/10;j hehe%10;write_com 0x80+add ;write_date 0x30+j ;write_com 0x80+add-1 ;write_date 0x30+i ; //**********************************************************************************void xingqi uchar z //星期显示函数 write_com 0x80+0x0c ; write_date table2[3*z] ; write_com 0x80+0x0d ; write_date table2[3*z+1] ; write_com 0x80+0x0e ; write_date table2[3*z+2] ; //*****************************************************************************************uchar nianer uchar b,uchar c //闰年判断函数 uchar d;if c*100+b %4 0&& c*100+b %100! 0 || c*100+b %400 0 d 1;elsed 0;return d; //**************************************************************************************uchar yueer uchar e //每个月都有几天呢?让这个函数来解决 ! uchar f;switch e case 1: f 31;break;case 2: f 28;break;case 3: f 31;break;case 4: f 30;break;case 5: f 31;break;case 6: f 30;break;case 7: f 31;break;case 8: f 31;break;case 9: f 30;break;case 10: f 31;break;case 11: f 30;break;case 12: f 31;break;default: f 0;break; return f; //***************************************************************************************//****************************************************************************************void main //函数的带头大哥--主函数! init ;while 1 if time 50 time 0;miao++;if miao 60 miao 0;fen++; jishi 11,miao ;if fen 60 fen 0;shi++; jishi 8,fen ;if shi 24 shi 0;a++;ri++; jishi 5,shi ;if a 7 a 0;xingqi a ;if ri yueer yue +nianer nian,shiji +1 ri 1;yue++; suiyue 10,ri ;if yue 13 yue 1;nian++; suiyue 7,yue ;if nian 100 nian 0;shiji++; suiyue 4,nian ;if shiji 100 shiji 0;suiyue 2,shiji ; //************************************************************************//**************************************************************************void timer1 interrupt 1 //定时器0中断处理函数 TH0 65536-18449 /256;TL0 65536-18449 %256;time++; //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-37326-6.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 三瓶由布子
      三瓶由布子

      这个教授是跟他兄弟合娶的老婆吧

    • 郑繇
      郑繇

      我发现一群喷子以喷为乐

    • 隋仕萌
      隋仕萌

      实际情况根本不是这样也永远不会这样

    热点图片
    拼命载入中...