第一范文网 - 专业文章范例文档资料分享平台

基于51单片机控制的简易时钟(内部定时器)

来源:用户分享 时间:2025/9/20 2:43:59 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

若需要仿真图+程序(Q:409975690)

附程序:#include #define uint unsigned int #define uchar unsigned char uchar n,fen,miao,shi,ri ,yue; uint a;

sbit lcden=P2^1; sbit lcdrs=P2^0; sbit k1=P1^0; sbit k2=P1^2; sbit k3=P1^5; sbit k4=P1^6; sbit k5=P1^7; void keyscan(); void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }

void write_comd(uchar com) {

lcdrs=0; P0=com; delay(5); lcden=1; delay(5); lcden=0;

}

void write_date (uchar date) {

lcdrs=1; P0=date; delay(5); lcden=1; delay(5); lcden=0; }

void start() {

write_comd(0x38); write_comd(0x0c); write_comd(0x06); write_comd(0x01); }

void write_sfm() {

write_comd(0x80+0x44); write_date(0x30+shi/10); write_comd(0x80+0x45); write_date(0x30+shi); write_comd(0x80+0x46); write_date(0x3A);

write_comd(0x80+0x47); write_date(0x30+fen/10); write_comd(0x80+0x48); write_date(0x30+fen); write_comd(0x80+0x49); write_date(0x3A);

write_comd(0x80+0x4a); write_date(0x30+miao/10); write_comd(0x80+0x4b); write_date(0x30+miao); }

void write_nyr() {

write_comd(0x80); write_date('M');

write_comd(0x80+0x01); write_date('T');

write_comd(0x80+0x02); write_date('Z');

write_comd(0x80+0x03); write_date('X');

write_comd(0x80+0x04); write_date(0x3A);

write_comd(0x80+0x05); write_date(0x30+0x02); write_comd(0x80+0x06); write_date(0x30+0x00); write_comd(0x80+0x07); write_date(0x30+0x01); write_comd(0x80+0x08); write_date(0x30+0x08); write_comd(0x80+0x09); write_date(0X2d);

write_comd(0x80+0x0a); write_date(0x30+yue/10); write_comd(0x80+0x0b); write_date(0x30+yue); write_comd(0x80+0x0c); write_date(0x2d);

write_comd(0x80+0x0d); write_date(0x30+ri/10); write_comd(0x80+0x0e); write_date(0x30+ri); }

void init_time0() {

TMOD=0X01;

TH0=(655356-50000)/256; TL0=(655356-50000)%6; EA=1; ET0=1; TR0=1; }

void main() {yue=6; ri=29; shi=23; fen=59; start(); miao=0; init_time0(); while(1)

{

keyscan(); write_sfm(); write_nyr(); } }

void t0() interrupt 1 {

TH0=(655356-50000)/256; TL0=(655356-50000)%6; a++; if(a==20) { a=0; miao++; if(miao==60) {

miao=0; fen++; if(fen==60) {

fen=0; shi++; if(shi==24) shi=0; ri++; if(ri==30) { ri=1; yue++; if(yue==12) yue=1; } } } } }

void keyscan() { uchar flag; if(k1==0) { delay(1); if(k1==0)

基于51单片机控制的简易时钟(内部定时器).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c5ea56059ge3xy6q955p40ne2d1fovz0148w_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top