51单片机驱动5110_第1页
51单片机驱动5110_第2页
51单片机驱动5110_第3页
51单片机驱动5110_第4页
51单片机驱动5110_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include#include#define uint unsigned int#define uchar unsigned char#define DS1302_second_write 0x80/秒 #define DS1302_second_read 0x81#define DS1302_minute_write 0x82/分#define DS1302_minute_read 0x83#define DS1302_hour_write 0x84/时#define DS1302_hour_read 0x85#define DS1302_day_write 0x86/日#define DS1302_day_read 0x87#define DS1302_month_write 0x88/月#define DS1302_month_read 0x89#define DS1302_week_write 0x8a/星期#define DS1302_week_read 0x8b#define DS1302_year_write 0x8c/年#define DS1302_year_read 0x8dsbit ret=P10;sbit sce=P11;sbit dc=P12;sbit sdin=P13;sbit sclk=P14;sbit SCLK=P21;sbit IO=P20;sbit RST=P24;void DS1302_write(uchar,uchar,uchar);uchar DS1302_read(uchar);void DS1302_init();void readtime();void Delay_100us(uint);void LCD_write(uchar,uchar);void LCD_clear();uchar aa6=0,0,0,0,0,0;uchar code a126= 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E , / 0 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 , / 1 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 , / 2 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 , / 3 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 , / 4 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 , / 5 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 , / 6 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 , / 7 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 , / 8 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E , / 9 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 , 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, / :;void Delay()_nop_();_nop_();_nop_();_nop_();void delay(uint x)uint y,z;for(y=x;y0;y-)for(z=110;z0;z-);void DS1302_init()DS1302_write(0x8e,0x00,0); /写不保护指令DS1302_write(DS1302_second_write,48,1);DS1302_write(DS1302_minute_write,58,1);DS1302_write(DS1302_hour_write,15,1);DS1302_write(DS1302_day_write,16,1);DS1302_write(DS1302_month_write,4,1);/DS1302_write(DS1302_week_write,6,1);DS1302_write(DS1302_year_write,14,1);DS1302_write(0x8e,0x80,0); /写入保护指令void Init()ret=0; /复位/等待Delay_100us(1);ret=1;/指令LCD_write(0x21,0); / 使用扩展命令设置LCD模式 /水平寻址、芯片是活动的、使用扩展指令集。 /以下均是扩展指令LCD_write(0x06,0); / 温度校正 /设置温度TC0、TC1位1、0LCD_write(0x13,0); / 1:48LCD_write(0x21,0); / 使用扩展命令设置LCD模式LCD_write(0xc8,0); / 设置偏置电压 LCD_clear(); /清屏 LCD_write(0x0c,0); /设定显示模式,正常显示sce=0; /关闭SCEvoid LCD_write(uchar datas,uchar d)uint i;sce=0;/当SCE为低时,SCLK时钟脉冲起作用。dc=d;for(i=0;i8;i+)sclk=0;if(datas & 0x80)sdin=1;else sdin=0;sclk=1;datas=datas1;sce=1;/当SCE为高时,SCLK时钟脉冲不起作用。void LCD_clear()uint i;LCD_write(0x20,0);/ 使用基本命令LCD_write(0x40,0);/设置RAM的Y地址 LCD_write(0x80,0);/设置RAM的X地址 for (i=0; i504; i+) LCD_write(0x00, 1);void Set_xy(uchar x,uchar y)LCD_write(0x20,0);LCD_write(0x40|y,0);LCD_write(0x80|x,0); void Delay_100us(uint t)uint i,j;for(i=0;it;i+)for(j=0;j45;j+);void Write_digital(uchar si0,uchar si1,uchar fn0,uchar fn1,uchar mao0,uchar mao1)uint j;Set_xy(01,4);for(j=0;j6;j+)LCD_write(asi0j,1);Set_xy(11,4);for(j=0;j6;j+)LCD_write(asi1j,1);Set_xy(21,4);for(j=0;j6;j+)LCD_write(a10j,1);Set_xy(31,4);for(j=0;j6;j+)LCD_write(afn0j,1);Set_xy(41,4);for(j=0;j6;j+)LCD_write(afn1j,1);Set_xy(51,4);for(j=0;j6;j+)LCD_write(a10j,1);Set_xy(61,4);for(j=0;j6;j+)LCD_write(amao0j,1);Set_xy(71,4);for(j=0;j6;j+)LCD_write(amao1j,1); void Write_digita2(uchar nian0,uchar nian1,uchar yue0,uchar yue1,uchar ri0,uchar ri1)uint j;Set_xy(25,0);for(j=0;j6;j+)LCD_write(a2j,1);Set_xy(35,0);for(j=0;j6;j+)LCD_write(a0j,1);Set_xy(45,0);for(j=0;j6;j+)LCD_write(anian0j,1);Set_xy(55,0);for(j=0;j6;j+)LCD_write(anian1j,1);Set_xy(20,2);for(j=0;j6;j+)LCD_write(ayue0j,1);Set_xy(30,2);for(j=0;j6;j+)LCD_write(ayue1j,1);Set_xy(40,2);for(j=0;j6;j+)LCD_write(a11j,1);Set_xy(50,2);for(j=0;j6;j+)LCD_write(ari0j,1);Set_xy(60,2);for(j=0;j6;j+)LCD_write(ari1j,1); void write_byte(uchar k)uchar i;SCLK=0;Delay();Delay();for(i=0;i=1;uchar read_byte()uchar i,dat;Delay();for(i=0;i=1;if(IO=1)dat|=0x80;SCLK=1;Delay();Delay();SCLK=0;Delay();Delay();return dat;void DS1302_write(uchar address,uchar dat,uchar flag)SCLK=0;RST=0;RST=1;Delay();Delay();if(flag=1)write_byte(address);write_byte(dat/10)4)|(dat%10);elsewrite_byte(address);write_byte(dat);RST=0;uchar DS1302_read(uchar address)uchar dat;SCLK=0;RST=0;RST=1;Delay();write_byte(address);dat=read_byte();dat=dat/16*10+dat%16;RST=0;return dat;void readtime()aa0=DS1302_read(0x81);/读秒aa1=DS1302_read(0x83); /读分aa2=DS1302_read(0x85);/读时aa3=DS1302_read(0x87);/读日aa4=DS1302_read(0x89);/读月 / a5=DS1302_read(0x8b);/读周aa5=DS1302_read(0x8d);/读年void main()uchar shi0,shi1,fen0,fen1,miao0,miao1,nian0,nian1,yue0,yue1,ri0,ri1;DS1302_init();delay(20);readtime();delay(50);Init();delay(20);while(1)readtime();shi0=aa2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论