资源简介
单片机 万年历(1602带闹钟带温度带调时,可调 秒)单片机 万年历(1602带闹钟带温度带调时,可调 秒)单片机 万年历(1602带闹钟带温度带调时,可调 秒)单片机 万年历(1602带闹钟带温度带调时,可调 秒)单片机 万年历(1602带闹钟带温度带调时,可调 秒)单片机 万年历(1602带闹钟带温度带调时,可调 秒)单片机 万年历(1602带闹钟带温度带调时,可调 秒)

代码片段和文件信息
#include
#include“lcd1602.h“
#include“ds1302.h“
#include“ds18b20.h“
sbit buzz=P2^7;
sbit s1=P3^0;
sbit s2=P3^1;
sbit s3=P3^2;
sbit s4=P3^3;
char shi=0fen=0miao=0nian=11yue=5ri=10xingqi=2ashiafen;
uchar s1num=0s4num;
uchar flag=1flag1;
uchar code w1[]={0x010x030x1D0x110x1D0x030x010x00};
uchar code tab0[]=“20 - - day: “;
uchar code tab1[]=“TEMP: : : “;
uchar code tab2[]={‘0‘‘1‘‘2‘‘3‘‘4‘‘5‘‘6‘‘7‘‘8‘‘9‘};
uchar code tab5[]=“OFF“;
uchar code tab4[]=“reset clock“;
void display();
void keyscan();
void buzzer();
void naozhong();
void main()
{
init_lcd1602();
RESET_DS18B20();
init_ds1302(nianyuerishifenmiaoxingqi);
display_lcd1602_text(00tab0);
display_lcd1602_text(10tab1);
while(1)
{
keyscan();
if(flag)
{
naozhong();
display_lcd1602_byte(02tab2[read_ds1302(0x8d)/10]);
display_lcd1602_byte(03tab2[read_ds1302(0x8d)%10]);
display_lcd1602_byte(05tab2[read_ds1302(0x89)/10]);
display_lcd1602_byte(06tab2[read_ds1302(0x89)%10]);
display_lcd1602_byte(08tab2[read_ds1302(0x87)/10]);
display_lcd1602_byte(09tab2[read_ds1302(0x87)%10]);
display_lcd1602_byte(015tab2[read_ds1302(0x8b)%10]);
display_lcd1602_byte(15tab2[Read_DS18B20_TEMP()/10]);
display_lcd1602_byte(16tab2[Read_DS18B20_TEMP()%10]);
display_lcd1602_byte(18tab2[read_ds1302(0x85)/10]);
display_lcd1602_byte(19tab2[read_ds1302(0x85)%10]);
display_lcd1602_byte(111tab2[read_ds1302(0x83)/10]);
display_lcd1602_byte(112tab2[read_ds1302(0x83)%10]);
display_lcd1602_byte(114tab2[read_ds1302(0x81)/10]);
display_lcd1602_byte(115tab2[read_ds1302(0x81)%10]);
}
}
}
void keyscan()
{
if((s1==0)&&(s4num==0))
{
delay(5);
if(s1==0)
{
while(!s1);
buzzer();
write_ds1302(0x8e0);
write_ds1302(0x8080);
flag=0;
s1num++;
switch(s1num)
{
case 1:
write_lcd1602(0x0f0);
write_lcd1602(0x80+30);
break;
case 2:
write_lcd1602(0x80+60);
break;
case 3:
write_lcd1602(0x80+90);
break;
case 4:
write_lcd1602(0x80+150);
break;
case 5:
write_lcd1602(0x80+0x40+90);
break;
case 6:
write_lcd1602(0x80+0x40+120);
break;
case 7:
write_lcd1602(0x80+0x40+150);
break;
case 8:
write_lcd1602(0x0c0);
write_ds1302(0x8e80);
init_ds1302(nianyuerishifenmiaoxingqi);
flag=1;
break;
}
if(s1num==8)
s1num=0;
}
}
if(s1num!=0)
{
if(s2==0)
delay(5);
if(s2==0)
{
while(!s2);
buzzer();
switch(s1num)
{
case 1:
nian++;
if(nian==100)
nian=0;
display_lcd1602_byte(02tab2[nian/10]);
display_lcd1602_byte(03tab2[nian%10]);
write_lcd1602(0x80+3);
break;
case 2:
yue++;
if(yue==13)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-06-02 08:05 万年历\
文件 8407 2011-05-11 09:40 万年历\1602.c
文件 1433 2011-05-10 00:29 万年历\ds1302.c
文件 112057 2011-05-11 18:53 万年历\DS1302.DSN
文件 366 2011-05-09 21:28 万年历\ds1302.h
文件 1727 2011-05-10 22:10 万年历\DS18B20.C
文件 422 2011-05-10 21:16 万年历\DS18B20.h
文件 683 2011-05-11 00:54 万年历\lcd1602.c
文件 392 2011-05-11 00:54 万年历\lcd1602.h
文件 10923 2011-05-11 09:40 万年历\lcd1602.hex
- 上一篇:状态空间模型参数设定
- 下一篇:间接平差计算代码
相关资源
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
- 51单片机基于protues的几个仿真实例
- 基于52单片机的直流电压测量
- 38k单片机红外发送代码、keil
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 武汉理工大学 单片机课程设计 16*16点
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- 浙江工业大学2005-2006学年单片机习题
- 单片机与PC机串口通讯仿真
- 毕业设计 单片机 对讲机 protues仿真
- 数据采集系统——ADC0808的应用,单片
评论
共有 条评论