电子时钟完整版(C语言程序)(34页).doc
《电子时钟完整版(C语言程序)(34页).doc》由会员分享,可在线阅读,更多相关《电子时钟完整版(C语言程序)(34页).doc(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-电子时钟完整版(C语言程序)电子时钟完整版(C语言程序)作者:佚名来源:本站原创点击数:34 更新时间:2012年03月26日 【字体: 】板子介绍:淘宝购买: 点击咨询QQ 电话:15173607302本程序完全测试通过 按上面的电路图 用1602液晶显示 可调时间.#include#define uint unsigned int#define uchar unsigned char#define w_Sec 0x80#define w_Min 0x82#define w_Hou 0x84#define w_Day 0x86#define w_Mou 0x88#define w_xi 0
2、x8a#define w_Yea 0x8c / DS1302写数据#define r_Sec 0x81#define r_Min 0x83#define r_Hou 0x85#define r_Day 0x87#define r_Mou 0x89#define r_xi 0x8b#define r_Yea 0x8d /DS1302读数据#define w_protect 0x8e /DS1302写保护uchar code table=11-6-20; /制作时间uchar code time1=00:00:00; /时间模式1,用于普通计时uchar code time2=00:00:00:0
3、0; /时间模式2,用于秒表计时uchar code time3=00:00; /时间模式3,用于闹钟设置uchar code miaobiao=StopWatch;uchar code naozhong=Alarm;uchar code stuinfo1=ZLW0800730203;uchar code stuinfo2=LWL0807030209;uchar code xi1=Mon;uchar code xi2=Tue;uchar code xi3=Wed;uchar code xi4=Thu;uchar code xi5=Fri;uchar code xi6=Sat;uchar cod
4、e xi7=Sun;unsigned char code str1=Temperature:;unsigned char code str2= ;uchar data disdata5;uint tvalue; /温度值uchar tflag; /温度正负标志 /18B20sbit RS=P20;sbit RW=P21;sbit EN=P22; /1602控制端定义sbit ACC_7 = ACC7; /位寻址寄存器sbit SCK = P11; /DS1302时钟信号sbit SDA = P10; /DS1302数据信号sbit RST = P12 ; /DS1302片选信号sbit k1=
5、P14;sbit k2=P15;sbit k3=P16;sbit k4=P17;sbit alarm=P37;sbit DQ = P27; /DS18B20uint i,shi,fen,miao,haomiao,nian,yue,ri,num,x,menu,n,nshi=0,nfen=1; /nshi、nfen用来判别闹钟,与系统时间对比uchar sshi,sfen,smiao,snian,syue,sri,sxi;/*延时程序*/void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);/*ds1302*/*向DS1302写入
6、一字节数据 void Write1302(uchar addr, uchar d) unsigned char i; SCK=0; RST=1;/写入目标地址:addr for (i = 0; i 1; /写入数据:d for (i = 0; i 1; RST=0; /停止DS1302总线/*从DS1302读出一字节数据unsigned char Read1302(uchar addr) unsigned char i; unsigned char temp; unsigned char dat1=0; unsigned char dat2=0; SCK=0; RST=1;/写入目标地址:ad
7、dr for (i = 0; i 1; /输出数据:temp for (i = 0; i 1; if (SDA) temp |= 0x80; else temp &= 0x7F; SCK=1; SCK=0; RST=0; /停止DS1302总线 dat2 = temp/16; / 数据进制转换 dat1 = temp%16; dat1 = dat2*10+dat1; return dat1;/*1602显示*/void write_add(uchar add) /1602控制字 RS=0; P0=add; EN=1; delay(5); EN=0;void write_date(uchar d
8、ate) /1602显示字 RS=1; P0=date; EN=1; delay(5); EN=0;void writesfm(uchar add,uchar date) /1602显示时分秒 uchar s,g; s = date/10; g = date%10; write_add(0x80+0x40+add); write_date(0x30+s); write_date(0x30+g);void writenyr(uchar add,uchar date) /1602显示年月日 uchar s,g; s=date/10; g=date%10; write_add(0x80+0x00+a
9、dd); write_date(0x30+s); write_date(0x30+g);void writexi(uchar a) write_add(0x80+0x00+11); if(a=1) for(i=0;i3;i+) write_date(xi1i); delay(5); if(a=2) for(i=0;i3;i+) write_date(xi2i); delay(5); if(a=3) for(i=0;i3;i+) write_date(xi3i); delay(5); if(a=4) for(i=0;i3;i+) write_date(xi4i); delay(5); if(a=
10、5) for(i=0;i3;i+) write_date(xi5i); delay(5); if(a=6) for(i=0;i3;i+) write_date(xi6i); delay(5); if(a=7) for(i=0;i0;i-) DQ = 0; /给脉冲信号 dat=1; DQ = 1; /给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); return(dat);void ds1820wr(uchar wdata) /写数据 unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = wdata&0x01; de
11、lay_18B20(10); DQ = 1; wdata=1; read_temp() /读取温度值并转换 uchar a,b; ds1820rst(); ds1820wr(0xcc); /跳过读序列号 ds1820wr(0x44); /启动温度转换 ds1820rst(); ds1820wr(0xcc); /跳过读序列号 ds1820wr(0xbe);/读取温度 a=ds1820rd(); b=ds1820rd(); tvalue=b; tvalue=8; tvalue=tvalue|a; if(tvalue0x0fff) tflag=0; else tvalue=tvalue+1; tfl
12、ag=1; tvalue=tvalue*(0.625);/温度值扩大10倍,精确到1位小数 return(tvalue);/*/void ds1820disp() /温度值显示 uchar flagdat; disdata0=tvalue/1000+0x30; /百位数 disdata1=tvalue%1000/100+0x30; /十位数 disdata2=tvalue%100/10+0x30; /个位数 disdata3=tvalue%10+0x30; /小数位 if(tflag=0) flagdat=0x20; /正温度不显示符号 else flagdat=0x2d; /负温度显示负号:
13、- if(disdata0=0x30) disdata0=0x20; /如果百位为0,不显示 if(disdata1=0x30) disdata1=0x20; /如果百位为0,十位为0也不显示 write_add(0x80+0x40+8); write_date(flagdat); /显示符号位 write_add(0x80+0x40+9); write_date(disdata0); /显示百位 write_add(0x80+0x40+10); write_date(disdata1); /显示十位 write_add(0x80+0x40+11); write_date(disdata2);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 时钟 完整版 语言 程序 34
限制150内