让找料更便捷
电子元器件
采购信息平台
生意随身带
随时随地找货
一站式电子元器件
采购平台
半导体行业观察第一站
标签: lcd1602
摘要: 基于DS1302+LCD1602的数字万年历,具有按键可调功能主程序流程图:按键扫描过程中,用了三个键:key0(功能键)key1(增大键)key2(减小键)用变量num记录功能键按下次数switch(num){ case 1: flag=1;//修改时间,禁止液晶从DS1302读数据 &
基于DS1302+LCD1602的数字万年历,具有按键可调功能
主程序流程图:
按键扫描过程中,用了三个键:
key0(功能键)
key1(增大键)
key2(减小键)
用变量num记录功能键按下次数
switch(num)
{
case 1: flag=1;//修改时间,禁止液晶从DS1302读数据
LCD_WRITE_COM(0x0f);//光标开始闪烁
LCD_WRITE_COM(0x80+3);//第一次按下,光标定位到年位置
break;
case 2: LCD_WRITE_COM(0x80+6);//第二次按下,光标定位到月位置
break;
case 3: LCD_WRITE_COM(0x80+9);//第三次按下,光标定位到日位置
break;
case 4: LCD_WRITE_COM(0x80+12);//第四次按下,光标定位到星期位置
break;
case 5: LCD_WRITE_COM(0x80+0x40+4);//第五次按下,光标定位到时位置
break;
case 6: LCD_WRITE_COM(0x80+0x40+7);//第六次按下,光标定位到分位置
break;
case 7: LCD_WRITE_COM(0x80+0x40+10);//第七次按下,光标定位到秒位置
break;
case 8: num=0;//第八次按下,记录清零
LCD_WRITE_COM(0x0c);//不显示光标
WRITE_1302(WRITE_PROTECT,0x00);//禁止写保护
WRITE_1302(0x80,(second/10*16)+second%10);//将调节后的秒写入DS1302
WRITE_1302(0x82,(minute/10*16)+minute%10);//将调节后的分写入DS1302
WRITE_1302(0x84,(hour/10*16)+hour%10);//将调节后的时写入DS1302
WRITE_1302(0x8a,(week/10*16)+week%10);//将调节后的星期写入DS1302
WRITE_1302(0x86,(day/10*16)+day%10);//将调节后的日写入DS1302
WRITE_1302(0x88,(month/10*16)+month%10);//将调节后的月写入DS1302
WRITE_1302(0x8c,(year/10*16)+year%10);//将调节后的年写入DS1302
WRITE_1302(WRITE_PROTECT,0x80);//开写保护
flag=0;//时间修改完毕,允许液晶从DS1302读数据
break;
}
仿真时的现象:
下一篇:CAN特殊波特率如何计算
型号 | 厂商 | 价格 |
---|---|---|
EPCOS | 爱普科斯 | / |
STM32F103RCT6 | ST | ¥461.23 |
STM32F103C8T6 | ST | ¥84 |
STM32F103VET6 | ST | ¥426.57 |
STM32F103RET6 | ST | ¥780.82 |
STM8S003F3P6 | ST | ¥10.62 |
STM32F103VCT6 | ST | ¥275.84 |
STM32F103CBT6 | ST | ¥130.66 |
STM32F030C8T6 | ST | ¥18.11 |
N76E003AT20 | NUVOTON | ¥9.67 |