ImageVerifierCode 换一换
格式:DOCX , 页数:51 ,大小:23.89KB ,
资源ID:9318226      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9318226.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(LCD12864单片机电子万年历程序.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

LCD12864单片机电子万年历程序.docx

1、LCD12864单片机电子万年历程序*#include#include#define LCD_Data P0#define uchar unsigned charunsigned charsec,min,hour,day,month,year,cen,week,next,aa,bb,cc,dd,mm,temp0,LunarMonth,LunarDay,LunarYear;int temp;uchar tt=1;bit c_moon;bit cenbit=1;bit w;sbit LCD_RS=P20;sbit LCD_RW=P21;sbit LCD_E=P22;sbit PSB=P23;sbi

2、t DS1302_CLK=P37;sbit DS1302_IO=P36;sbit DS1302_RST=P35;sbit DS18B20=P25;sbit speak=P27;sbit SetKey=P14; / 按键功能:设置sbit SureKey=P15; / 按键功能:确认sbit PlusKey=P16; / 按键功能:加sbit ReduceKey=P17; / 按键功能:减sbit scl=P11;sbit sda=P10;void DisplayShengXiao(void);void delay(unsigned int a)/ 延时 1MS/ 次unsigned char

3、i;while(-a)for(i=0;i125;i+) ;void delayb(unsigned int count)while(count-);void delays() ; ;void start()sda=1;scl=1;delays();sda=0;delays();void stop()sda=0;scl=1;delays();sda=1;delays();void response()uchar i;while(sda=1)&i255)i+; /给应答信号 sda=0 ; 错误 ( while ( ( sda=0 )|i255 ) i+ ; )程序进入 while 死循环scl=

4、1;delays();scl=0; / 没有这一步出错 , 如果没有 sda 将保持 0 状态,一直处于应答中 。程序停止。delays();void write24c02(uchar date)uchar temp,i;temp=date;for(i=0;i8;i+)scl=0;sda=temp&0x80;delays();scl=1;delays();temp=temp1;scl=0;delays();sda=1;delays();uchar read24c02()uchar k,i;scl=0;delays();sda=1;/ 仅仅是释放数据线,可有可无for(i=0;i8;i+)scl

5、=1;delays();k=k1;if(sda)k+;scl=0;delays();return k;void write_24c02add(ucharaddress,uchar date)start();write24c02(0xa0);response();write24c02(address);response();write24c02(date);response();stop();uchar read_24c02add(uchar address)uchar a;start();write24c02(0xa0);response();write24c02(address);respo

6、nse();start();write24c02(0xa1);response();a=read24c02();stop();return a;unsigned char DS18B20Init() unsigned char x;DS18B20=1;delayb(2);DS18B20=0;delayb(80);DS18B20=1;delayb(5);x=DS18B20;delayb(20);return x;unsigned char TempRead(void)unsigned char i,dat;DS18B20=1;delayb(1);for(i=0;i1;DS18B20=1;if(D

7、S18B20)dat=dat|0x80;delayb(4);return dat;void TempWriteByte(unsigned chardat)unsigned int i;DS18B20=1;delayb(2);for(i=0;i1;delayb(2);int GetTemp()float tt;unsigned char a,b;DS18B20Init();TempWriteByte(0xcc);TempWriteByte(0x44);delayb(100);DS18B20Init();TempWriteByte(0xcc);TempWriteByte(0xbe);delayb(

8、200);a=TempRead();b=TempRead();temp=b;temp0;i-)DS1302_IO=temp&0x01;DS1302_CLK=0;DS1302_CLK=1;temp=1;void WriteDs1302( unsigned charaddress,unsigned char dat )DS1302_RST=0;DS1302_CLK=0;DS1302_RST=1;delay(1);WriteDs1302Byte(address);WriteDs1302Byte(dat);DS1302_RST=0;unsigned char read_byte() unsigned

9、char i;for(i=8;i0;i-)if(DS1302_IO)temp0=temp0|0x80;DS1302_CLK=1;DS1302_CLK=0;temp0=temp01;return temp0;unsigned char ReadDs1302(unsignedchar address)unsigned char temp;DS1302_RST=0;DS1302_CLK=0;DS1302_RST=1;WriteDs1302Byte(address);temp=read_byte();DS1302_RST=0;DS1302_CLK=1;return temp;void InitDS13

10、02()/ unsigned charSecond=ReadDs1302(0x80);/ if(Second&0x80)WriteDs1302(0x8e,0x00);delay(5);WriteDs1302(0x8c,0x10);/ 写入年份 10 年delay(5);WriteDs1302(0x8a,0x06);/ 写入星期 6delay(5);WriteDs1302(0x88,0x11);/ 定入月分 11 月delay(5);WriteDs1302(0x86,0x6);/ 写入日期 6 日delay(5);WriteDs1302(0x84,0x17);/ 写入小时 17 点delay(5

11、);WriteDs1302(0x82,0x43);delay(5);WriteDs1302(0x80,0x00);/ 写入秒 30 秒delay(5);WriteDs1302(0x8e,0x80);/ 控制命令, WP 为 1, 禁止写操作/* 阳历对应的阴历数据,每年三字节 ,格式第一字 节 BIT7- 4 位表示闰月月份 ,为 0, 则无闰月, BIT3-0 对应阴历第 1-4 月的大小,第二字 节 BIT7- 0 对应阴历 第 5-1 2 月大小,第三字节 BIT7 表示阴历第 13 月大小月分对应的位为 1, 表示农历月大( 3 0天)为 0 表示小( 29 天)第三字 节 BIT6-

12、 5 表示春节的公历月份 ,BIT4-0 表示春节公历日期*/code unsigned char YearCode597=0x04,0xAe,0x53, /1901 00x0A,0x57,0x48, /1902 30x55,0x26,0xBd, /1903 60x0d,0x26,0x50, /1904 90x0d,0x95,0x44, /1905 120x46,0xAA,0xB9, /1906 150x05,0x6A,0x4d, /1907 180x09,0xAd,0x42, /1908 210x24,0xAe,0xB6, /19090x04,0xAe,0x4A, /19100x6A,0x4

13、d,0xBe, /19110x0A,0x4d,0x52, /19120x0d,0x25,0x46, /19130x5d,0x52,0xBA, /19140x0B,0x54,0x4e, /19150x0d,0x6A,0x43, /19160x29,0x6d,0x37, /19170x09,0x5B,0x4B, /19180x74,0x9B,0xC1, /19190x04,0x97,0x54, /19200x0A,0x4B,0x48, /19210x5B,0x25,0xBC, /19220x06,0xA5,0x50, /19230x06,0xd4,0x45, /19240x4A,0xdA,0xB8

14、, /19250x02,0xB6,0x4d, /19260x09,0x57,0x42, /19270x24,0x97,0xB7, /19280x04,0x97,0x4A, /19290x66,0x4B,0x3e, /19300x0d,0x4A,0x51, /19310x0e,0xA5,0x46, /19320x56,0xd4,0xBA, /19330x05,0xAd,0x4e, /19340x02,0xB6,0x44, /19350x39,0x37,0x38, /19360x09,0x2e,0x4B, /19370x7C,0x96,0xBf, /19380x0C,0x95,0x53, /193

15、90x0d,0x4A,0x48, /19400x6d,0xA5,0x3B, /19410x0B,0x55,0x4f, /19420x05,0x6A,0x45, /19430x4A,0xAd,0xB9, /19440x02,0x5d,0x4d, /19450x09,0x2d,0x42, /19460x2C,0x95,0xB6, /19470x0A,0x95,0x4A, /19480x7B,0x4A,0xBd, /19490x06,0xCA,0x51, /19500x0B,0x55,0x46, /19510x55,0x5A,0xBB, /19520x04,0xdA,0x4e, /19530x0A,

16、0x5B,0x43, /19540x35,0x2B,0xB8, /19550x05,0x2B,0x4C, /19560x8A,0x95,0x3f, /19570x0e,0x95,0x52, /19580x06,0xAA,0x48, /19590x7A,0xd5,0x3C, /19600x0A,0xB5,0x4f, /19610x04,0xB6,0x45, /19620x4A,0x57,0x39, /19630x0A,0x57,0x4d, /19640x05,0x26,0x42, /19650x3e,0x93,0x35, /19660x0d,0x95,0x49, /19670x75,0xAA,0

17、xBe, /19680x05,0x6A,0x51, /19690x09,0x6d,0x46, /19700x54,0xAe,0xBB, /19710x04,0xAd,0x4f, /19720x0A,0x4d,0x43, /19730x4d,0x26,0xB7, /19740x0d,0x25,0x4B, /19750x8d,0x52,0xBf, /19760x0B,0x54,0x52, /19770x0B,0x6A,0x47, /19780x69,0x6d,0x3C, /19790x09,0x5B,0x50, /19800x04,0x9B,0x45, /19810x4A,0x4B,0xB9, /

18、19820x0A,0x4B,0x4d, /19830xAB,0x25,0xC2, /19840x06,0xA5,0x54, /19850x06,0xd4,0x49, /19860x6A,0xdA,0x3d, /19870x0A,0xB6,0x51, /19880x09,0x37,0x46, /19890x54,0x97,0xBB, /19900x04,0x97,0x4f, /19910x06,0x4B,0x44, /19920x36,0xA5,0x37, /19930x0e,0xA5,0x4A, /19940x86,0xB2,0xBf, /19950x05,0xAC,0x53, /19960x

19、0A,0xB6,0x47, /19970x59,0x36,0xBC, /19980x09,0x2e,0x50, /1999 2940x0C,0x96,0x45, /2000 2970x4d,0x4A,0xB8, /2001 3000x0d,0x4A,0x4C, /2002 3030x0d,0xA5,0x41, /2003 3060x25,0xAA,0xB6, /2004 3090x05,0x6A,0x49, /2005 3120x7A,0xAd,0xBd, /2006 3150x02,0x5d,0x52, /2007 3180x09,0x2d,0x47, /2008 3210x5C,0x95,

20、0xBA, /2009 3240x0A,0x95,0x4e, /2010 3270x0B,0x4A,0x43, /20110x4B,0x55,0x37, /20120x0A,0xd5,0x4A, /20130x95,0x5A,0xBf, /20140x04,0xBA,0x53, /20150x0A,0x5B,0x48, /20160x65,0x2B,0xBC, /20170x05,0x2B,0x50, /20180x0A,0x93,0x45, /20190x47,0x4A,0xB9, /20200x06,0xAA,0x4C, /20210x0A,0xd5,0x41, /20220x24,0xd

21、A,0xB6, /20230x04,0xB6,0x4A, /20240x69,0x57,0x3d, /20250x0A,0x4e,0x51, /20260x0d,0x26,0x46, /20270x5e,0x93,0x3A, /20280x0d,0x53,0x4d, /20290x05,0xAA,0x43, /20300x36,0xB5,0x37, /20310x09,0x6d,0x4B, /20320xB4,0xAe,0xBf, /20330x04,0xAd,0x53, /20340x0A,0x4d,0x48, /20350x6d,0x25,0xBC, /20360x0d,0x25,0x4f

22、, /20370x0d,0x52,0x44, /20380x5d,0xAA,0x38, /20390x0B,0x5A,0x4C, /20400x05,0x6d,0x41, /20410x24,0xAd,0xB6, /20420x04,0x9B,0x4A, /20430x7A,0x4B,0xBe, /20440x0A,0x4B,0x51, /20450x0A,0xA5,0x46, /20460x5B,0x52,0xBA, /20470x06,0xd2,0x4e, /20480x0A,0xdA,0x42, /20490x35,0x5B,0x37, /20500x09,0x37,0x4B, /205

23、10x84,0x97,0xC1, /20520x04,0x97,0x53, /20530x06,0x4B,0x48, /20540x66,0xA5,0x3C, /20550x0e,0xA5,0x4f, /20560x06,0xB2,0x44, /20570x4A,0xB6,0x38, /20580x0A,0xAe,0x4C, /20590x09,0x2e,0x42, /20600x3C,0x97,0x35, /20610x0C,0x96,0x49, /20620x7d,0x4A,0xBd, /20630x0d,0x4A,0x51, /20640x0d,0xA5,0x45, /20650x55,

24、0xAA,0xBA, /20660x05,0x6A,0x4e, /20670x0A,0x6d,0x43, /20680x45,0x2e,0xB7, /20690x05,0x2d,0x4B, /20700x8A,0x95,0xBf, /20710x0A,0x95,0x53, /20720x0B,0x4A,0x47, /20730x6B,0x55,0x3B, /20740x0A,0xd5,0x4f, /20750x05,0x5A,0x45, /20760x4A,0x5d,0x38, /20770x0A,0x5B,0x4C, /20780x05,0x2B,0x42, /20790x3A,0x93,0

25、xB6, /20800x06,0x93,0x49, /20810x77,0x29,0xBd, /20820x06,0xAA,0x51, /20830x0A,0xd5,0x46, /20840x54,0xdA,0xBA, /20850x04,0xB6,0x4e, /20860x0A,0x57,0x43, /20870x45,0x27,0x38, /20880x0d,0x26,0x4A, /20890x8e,0x93,0x3e, /20900x0d,0x52,0x52, /20910x0d,0xAA,0x47, /20920x66,0xB5,0x3B, /20930x05,0x6d,0x4f, /

26、20940x04,0xAe,0x45, /20950x4A,0x4e,0xB9, /20960x0A,0x4d,0x4C, /20970x0d,0x15,0x41, /20980x2d,0x92,0xB5, /2099;void WriteDataLCD(unsigned chardat)LCD_RS=1;LCD_RW=0;LCD_E=0;delay(2);LCD_Data=dat;delay(2);LCD_E=1;delay(5);LCD_E=0;delay(5);void WriteCommandLCD(unsigned charudat)LCD_RS=0;LCD_RW=0;LCD_E=0

27、;delay(2);LCD_Data=udat;delay(2);LCD_E=1;delay(5);LCD_E=0;delay(5);void LCDInit(void)WriteCommandLCD(0x30);WriteCommandLCD(0x01);WriteCommandLCD(0x06);WriteCommandLCD(0x0C);void LCDClear(void)WriteCommandLCD(0x01);WriteCommandLCD(0x34);WriteCommandLCD(0x30);void LCDSendWord(unsigned char *pwhile(*p0)WriteDataLCD(*p);p+;void LCDTestWord(bit i,unsignedchar word)if(i=0)WriteCommandLCD(word);elseWriteDataLCD(word);void DisplayYear(void)year=ReadDs1302(0x8d);LCDTestWord(0,0x81);LCDTestWo

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1