电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

简单的51单片机时钟程序VIP免费

简单的51单片机时钟程序_第1页
1/13
简单的51单片机时钟程序_第2页
2/13
简单的51单片机时钟程序_第3页
3/13
简单的51 单片机时钟程序,可以通过按键来设置时间,按键可以自己更改。 #include #define uint unsigned int #define uchar unsigned char #define tt 46080 //设置时间间隔,对应 11.0592MHZ 的晶振 uchar code table[]="Happy every day!"; uchar code table1[]="00:00:00"; uchar num,hh,mm,ss,t,s1num=0; sbit en=P3^4; sbit rs=P3^5; sbit rw=P3^6; sbit s1=P3^0; sbit s2=P3^1; sbit s3=P3^2;//按键所用的端口 sbit s4=P3^3; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); //大约是1ms,因为单片机的时钟周期为11.0592mhz。 } void write_com(uchar com) { rs=0; //指令 P0=com; //写指令函数 delay(1); en=1; delay(1); en=0; } void write_data(uchar dat) { rs=1; //数据 P0=dat; //写指令函数 delay(1); en=1; delay(1); en=0; } void init() { en=0; //初始时使能为 0 rw=0; write_com(0x38); //显示屏模式设置为 1602 方案 write_com(0x0c); write_com(0x06); //显示开关/光标设置 write_com(0x01); //清屏 write_com(0x80); //指针置零 for(num=0;num<16;num++) write_data(table[num]); write_com(0xc3); for(num=0;num<8;num++) write_data(table1[num]); } void dingshi() { TMOD=0x01; //确定定时器工作模式(定时模式) TH0=(65536-tt)/256; //赋初值为tt 微秒 TL0=(65536-tt)%256; //不赋值时默认其值是 0 EA=1; //开总中断 ET0=1; //开定时器0 中断 // IE=0x82; //总线写法 TR0=1; //启动定时器0 总线 TCON=0x10; } void shuanxin(uchar add,uchar date) { uchar shi,ge; write_com(0xc3+add); //指针指向 shi=date/10; ge=date%10; write_data(0x30+shi); write_data(0x30+ge); //指针自动后移,故不必再写指针位置 } /***************借助蜂鸣器接地起作用***************/ void keyscan() { if(s1==0) { delay(5); if(s1==0) { s1num++; while(!s1); if(s1num==1) { TR0=0; //时钟停止运行 write_com(0xca); //指针指向 ss write_com(0x0f); //光标闪烁 } if(s1num==2) { write_com(0xc7); //指针指向mm write_com(0x0f); } if(s1num==3) { write_com(0xc4); //指针指向hh write_com(0x0f); } if(s1nu...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

简单的51单片机时钟程序

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部