熔接机厂家
免费服务热线

Free service

hotline

010-00000000
熔接机厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

单片机设计LCD数字钟万年历

发布时间:2020-07-21 18:29:16 阅读: 来源:熔接机厂家

单片机设计LCD数字钟(万年历)程序与电路如下:

本文引用地址: //库函数头文件,代码中引用了_nop_()函数// 定义控制信号端口sbit RS=P2^4; //P2.4sbit RW=P2^5; //P2.5sbit E=P2^6; //P2.6sbit set=P3^4; //设置键sbit enter=P3^5; //确认键sbit add1=P3^6; //加1键sbit sub1=P3^7; //减1键bit k=0,f=0;//k为0表示运行状态,k为1表示设置状态;f为0表示第一行显示,f为1表示第二行显示char sec,min,hour,week,day,month,year,n,m;unsigned char count,key;unsigned char lcdd[]=0123456789;/*声明调用函数*/void dispd(); //日期显示函数void dispt(); //时间显示函数unsigned char keys();//按键扫描函数void lcd_w_cmd(unsigned char com); //写命令字函数void lcd_w_dat(unsigned char dat); //写数据函数unsigned char lcd_r_start(); //读状态函数void int1(); //LCD初始化函数void delay(unsigned char t); //可控延时函数void delay1(); //软件实现延时函数,5个机器周期/*主函数*/void main(){TMOD=0x01; //设置为定时器模式1TH0=0x3c; //晶振6MHz,定时时间100msTL0=0xb0;IE=0x82; //开全局中断和定时中断TR0=1; //启动定时器sec=0; //秒min=0; //分hour=0; //时week=0; //星期day=1; //日month=1; //月year=0; //年count=0; //中断次数清0n=-3; //设置键按下次数,第一行日期m=-3; //设置键按下次数,第二行时间P0=0xff; // 送全1到P0口int1(); // 初始化LCDdelay(255);while(1){key=keys(); //读取按键switch(key){case 0xe0: //按下设置键{TR0=0;k=1;if(f==0){n=n+3;if(n==9){n=0;m=0;f=1;}}else{m=m+3;if(m==12){m=0;n=0;f=0;}}if(f==0){lcd_w_cmd(0x0d);lcd_w_cmd(0x86+n);}else{lcd_w_cmd(0x0d);lcd_w_cmd(0xc4+m);}} break;

重庆牙齿矫正价格

成都植发价格

南京隆胸价格