c51实现万年历温度闹钟功能文库_第1页
c51实现万年历温度闹钟功能文库_第2页
c51实现万年历温度闹钟功能文库_第3页
免费预览已结束,剩余33页可下载查看

下载本文档

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

文档简介

1、#include <reg51.h>sbit Bell_Out = P1 A 7 sbit DQ = P2 a 1 sbit clock_clk = P2 A 2 sbit clock_dat = P2 A 3 sbit clock_Rst = P2 A 4 #define Disp_On 0x3f / #define Disp_Off 0x3e #define Col_Add 0x40 #define Page_Add 0xb8 #define Start_Line 0xc0 #define Lcd_Bus P0 / sbit Mcs = P3 A 5 sbit Scs = P3

2、 A 6 sbit Enable = P1 A 5 sbit Di = P1 A 4 sbit RW = P1 A 3 sbit Lcd_Rst= P3 A 7 / 键盘扫描。 / 闹钟管脚输出。 /ds1820data。ds1302_clk。 /ds1302_dat。 /ds1302_Rst定义管脚的指令值定义数据口。 /。 /。 /。 /。 /。 /sbit Add_Key= P1 A 0sbit Dec_Key= P1 A 1sbit OK_Key= P1 A 2/24 存储器sbit SCL =P3 A 3sbit SDA=P3 A 4sbit WP=P3 A 2#define TRU

3、E1#define FALSE0。 / 加 1 键。 / 减 1 键。 / 确定键经实验,不要小于50!否则可能造成时序混乱#define Delay2408_TIME 60 / 为了编程方便定义的位变量sbit a0 = ACC A 0sbit a1 = ACC A 1sbit a2 = ACC A 2sbit a3 = ACC A 3sbit a4 = ACC A 4sbit a5 = ACC A 5sbit a6 = ACC A 6sbit a7 = ACC A 7bit flag, Bell_Swh,Hourb,Minb,Secb,Kgb。 / 闪烁标志位bit sec=0,min=0

4、,hour=0,year=0,mon=0,day=0,weekk=0 。 / 闪烁标志位 unsigned char id,id2,d,e,S_1302,H_1302,H_2402,S_2402。 /Function Definition函数声明void Delay(int num> 。void Init_DS18B20(void>unsigned char ReadOneChar(void> 。void WriteOneChar(unsigned char dat>。unsigned int ReadTemperature(void> 。void clock_o

5、ut(unsigned char dd>。unsigned char clock_in(void> 。unsigned char read_clock(unsigned char ord> 。void write_clock(unsigned char ord, unsigned char dd>。void Disp(void> 。void id_case1_key(void>。void id_case2_key(void>。void Set_time(unsigned char sel,bit sel_1>。void Timer0_Init(v

6、oid> 。void Init_1302(void> 。void Set_Bell(unsigned char sel, bit sel_1> 。/24 系列void Delay2408(unsigned int t>。void I2C_Start(void> 。void I2C_Stop(void> 。void SEND_0(void> 。void SEND_1(void> 。bit Check_Acknowledge(void> 。void WriteI2CByte(unsigned char b>reentrant 。unsig

7、ned char ReadI2CByte(void>reentrant 。void Write_One_Byte(unsigned char addr,unsigned char thedata> 。char Read_One_Byte(unsigned char addr>。/12864void Delay12864(unsigned int t>。void write_com(unsigned char cmdcode> 。void write_data(unsigned char Dispdata>。void frame(void> 。void

8、Clr_Scr(void> 。void Disp_Img(unsigned char code *img>。void Disp_Digit(unsigned char pag,unsigned char col, unsigned char code *hzk>codevoid Disp_Chinese(unsigned char pag,unsigned char col, unsigned char *hzk> 。void Init_lcd(void> 。/ 汉字库及数字符号库codeunsigned char nao32=0x00,0x00,0xF9,0x1

9、2,0x90,0x92,0x96,0xFA,0x92,0x92,0x92,0x12,0x02,0xFE,0 x00,0x00,0x00,0x00,0xFF,0x00,0x1F,0x00,0x00,0x7F,0x00,0x08,0x1F,0x40,0x80,0x7F,0x00,0x00 。/*- 文字 : 闹 -*/unsigned char zhong32=0x40,0x30,0x2C,0xEB,0x28,0x28,0x00,0xF8,0x08,0x08,0xFF,0x08,0x08,0xF8codecodecodecodecodecodecode,0x00,0x00, 0x01,0x01,0

10、x01,0xFF,0x41,0x21,0x00,0x01,0x01,0x01,0xFF,0x01,0x01,0x01,0x00,0x00 。/*- 文字 : 钟 -*/unsigned char she32=0x40,0x41,0xCE,0x04,0x00,0x80,0x40,0xBE,0x82,0x82,0x82,0xBE,0xC0,0x40,0 x40,0x00,0x00,0x00,0x7F,0x20,0x90,0x80,0x40,0x43,0x2C,0x10,0x10,0x2C,0x43,0xC0,0x40,0x00 。/*- 文字 : 设 -*/unsigned char ding32

11、=0x00,0x10,0x0C,0xA4,0x24,0x24,0x25,0xE6,0x24,0x24,0x24,0x24,0x14,0x0C, 0x04,0x00,0x40,0x20,0x18,0x07,0x08,0x10,0x20,0x7F,0x42,0x42,0x42,0x42,0x40,0x40,0x00,0x00 。/*- 文字 : 定 -*/unsigned char kai32=0x40,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0 x42,0x00,0x00,0x40,0x20,0x10,0x

12、0C,0x03,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00 。/*- 文字 : 开 -*/unsigned char guan32=0x00,0x10,0x10,0x10,0x11,0x1E,0x14,0xF0,0x10,0x18,0x17,0x12,0x18,0x10, 0x00,0x00,0x01,0x81,0x41,0x21,0x11,0x09,0x05,0x03,0x05,0x09,0x31,0x61,0xC1,0x41,0x01,0x00 。/*- 文字 : 关 -*/unsigned char shit32=0x00,0xFC

13、,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10, 0x10,0x00,0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00 。/*- 文字 : 时 -*/unsigned char jian32=0x00,0xF8,0x01,0x06,0x00,0xF0,0x92,0x92,0x92,0x92,0xF2,0x02,0x02,0xFE, 0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x07,0

14、x04,0x04,0x04,0x04,0x07,0x40,0x80,0x7F,0x00,0x00 。/*- 文字 : 间 -*/unsigned char dao32=0x00,0x22,0x72,0x2A,0x26,0xE2,0x2A,0x72,0x22,0x00,0xF8,0x00,0x00,0xFF,0 x00,0x00,0x00,0x42,0xC2,0x42,0x22,0x3F,0x22,0x12,0x12,0x00,0x0F,0x40,0x80,0x7F,0x00,0x00 。/*- 文字 : 到 -*/unsigned char shi32=0x00,0x10,0x2C,0x24,

15、0xA4,0x64,0x25,0x26,0x24,0x24,0xA4,0x24,0x34,0x2C,0 x04,0x00,0x40,0x40,0x48,0x49,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x4B,0x48,0x40,0x40,0x00 。 / 室unsigned charwen32=0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0 x00,0x00,0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F

16、,0x41,0x41,0x7F,0x40,0x00。 / 温unsigned char code zero16=0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00 。 /0unsigned char code one16=0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00 。 /1unsigned char code two16=0x00,0x70,0x08,0x08,0x08,0

17、x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00 。 /2unsigned char code three16=0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00 。 /3unsigned char code four16=0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00 。 /4unsigned char code fi

18、ve16=0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00 。 /5unsigned char code six16=0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00 。 /6unsigned char code seven16=0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00 ,0x00

19、,0x00 。 /7unsigned char code eight16=0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22 ,0x1C,0x00 。 /8unsigned char code nine16=0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00 。 /9unsigned char code point16=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0

20、x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00 。 / 小数点unsigned char code maohao16=0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x0 0,0x00,0x00 。/ 冒号unsigned char code space16=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00 。 / 空白unsigned char codecodecode

21、codecodecodecodecodefh16=0x00,0x00,0x00,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x6F,0x6F,0x00,0x00,0x00 。 /! 感叹号unsigned char nian32=0x40,0x20,0x10,0x0C,0xE3,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0x02, 0x00,0x00,0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x00 。 / 年

22、unsigned char yue32=0x00,0x00,0x00,0x00,0x00,0xFF,0x11,0x11,0x11,0x11,0x11,0xFF,0x00,0x00,0 x00,0x00,0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x01,0x01,0x21,0x41,0x3F,0x00,0x00,0x00,0x00 。 / 月unsigned char xing32=0x00,0x00,0x00,0xBE,0x2A,0x2A,0x2A,0xEA,0x2A,0x2A,0x2A,0x2A,0x3E,0x00, 0x00,0x00,0x00,0x48,0x

23、46,0x41,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x49,0x49,0x41,0x40,0x00 。 / 星unsigned char qi32=0x00,0x04,0xFF,0x54,0x54,0x54,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE,0x 00,0x00,0x42,0x22,0x1B,0x02,0x02,0x0A,0x33,0x62,0x18,0x07,0x02,0x22,0x42,0x3F,0x00,0x00 。 / 期unsigned char cone32=0x00,0x80,0x80,0x80,0

24、x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xC0, 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 。 / 一unsigned char ctwo32=0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00, 0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1

25、0,0x10,0x10,0x18,0x10,0x00 。 / 二unsigned char cthree32=0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x0 4,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00 。 / 三unsigned char cfour32=0x00,0xFE,0x02,0x02,0x02,0xFE,0x02,0x02,0xFE,0x02,0x02,0x

26、02,0x02,0xFE ,0x00,0x00,0x00,0x7F,0x28,0x24,0x23,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x22,0x7F,0x00,0x00 。 / 四unsigned charcfive32=0x00,0x02,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0xC2,0x82,0x02,0x00codecodecodecode,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x30,0x20

27、,0x00。 / 五unsigned char csix32=0x10,0x10,0x10,0x10,0x10,0x91,0x12,0x1E,0x94,0x10,0x10,0x10,0x10,0x10, 0x10,0x00, 0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x00,0x00,0x01,0x02,0x0C,0x78,0x30,0x00,0x00 。 / 六unsigned char ri32=0x00,0x00,0x00,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,0x 00,0x00, 0

28、x00,0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x00 。 / 日unsigned char sheshidu32=0x00,0x02,0x05,0xE2,0x18,0x04,0x02,0x02,0x02,0x02,0x02,0x02,0x04,0 x1E,0x00,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x18,0x00,0x00。 / 摄氏度的符号unsigned char spaces3

29、2=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00。 / 汉字空格unsigned char biaozhi32=0x00,0x00,0x00,0x00,0xE0,0xF8,0xFC,0xFC,0xFC,0xFC,0xF8,0xE0,0x00,0x 00,0x00,0x00, 0x00,0x10,0x18,0x3E,0x3F

30、,0x7F,0x5F,0x9F,0x9F,0x5F,0x7F,0x3F,0x3E,0x18,0x10,0x00 。 / 闹钟的图标unsigned char code logo=/ 开机画面湘灵电子工作室 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0xF8, 0x38,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,

31、0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0xC0,0xC0, 0xC0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0

32、x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x03, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0

33、0,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x07,0x03,0x01,0x01,0x01, 0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x83,0xFF,0x3F,0x07,0x02,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

34、,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x7E,0xFF,0x78,0xF0,0xC0,0xC0,0x80,0x00,0x80,0xC0,0xE0,0xFF,0xFF,0xE0, 0x80,0x80,0x80,0x00,0

35、x00,0x00,0x00,0x00,0x00,0xE0,0xF0,0x08,0x00,0x38,0x0C,0x02, 0x00,0x0C,0x87,0x81,0xC0,0xC0,0xC0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0, 0xF0,0xE0,0xE0,0xE0,0xC0,0xC0,0x80,0x00,0x00,0x80,0x87,0x83,0x82,0x83,0x83,0x83, 0x81,0x81,0x81,0x81,0x81,0x80,0x80,0x80,0xC1,0xF8,0x00,0x00,0x00,0x00,0x00,0x0

36、0, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03

37、,0x03,0xFF,0xFF,0xFF,0x01, 0x01,0x00,0x00,0x00,0xC0,0xF0,0x7C,0x0E,0x03,0x04,0xC0,0xE0,0xF0,0x78,0x3C,0x3E, 0x9F,0xCF,0xF7,0xF3,0xFF,0xFD,0xFD,0xFD,0xFC,0x9C,0xBC,0xFC,0xFC,0xFC,0xF8,0x00, 0x00,0x00,0x01,0x81,0xFF,0xFF,0xFF,0x7F,0x1C,0x01,0x01,0xC1,0x01,0x01,0x01,0x03, 0xFF,0xFF,0x03,0x01,0x01,0x01,

38、0x01,0x81,0xC1,0x01,0x00,0x00,0x00,0x00,0x80,0xC0, 0x60,0x20,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x60,0xC0,0x00,0x00,0x00,0x00,0x80, 0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xF8,0x1C,0x07, 0x03,0x06,0x06,0x0C,0x0C,0x06,0x06,0x0C,0x78,0xF0,0x80,0x00,0x00,0x00,0x00,0x00, 0x00,0

39、x02,0x3F,0x0F,0x07,0x06,0x06,0xC2,0xE6,0x78,0x1C,0x0F,0x07,0xFF,0x3F,0x04, 0x00,0x00,0x00,0x3F,0x4F,0x00,0x00,0xF0,0xFC,0x1F,0x07,0x03,0x00,0x00,0x00,0x0E, 0x3F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0xBF,0xDF,0xDF,0xEF,0xE7,0x77,0x31,0x38, 0x1C,0x0E,0x0F,0x07,0x83,0x81,0x00,0x00,0x18,0x0E,0x0F,0x07,0x0

40、C,0x0C,0x10,0x00, 0xEF,0xFF,0x70,0xE0,0xC0,0x00,0x07,0x03,0x00,0x00,0x08,0x3E,0x63,0x41,0x41,0x60, 0x20,0x60,0xC0,0x00,0x00,0x00,0xF8,0xCC,0x04,0x07,0x03,0x00,0x00,0xF0,0xFF,0x01, 0x00,0x31,0xFF,0x80,0xC0,0x7E,0x03,0x01,0x0F,0x0C,0x0C,0xFC,0x7F,0x63,0xE0,0x3E, 0x03,0x03,0x43,0x66,0x46,0x04,0x0C,0x88

41、,0xF8,0x60,0x01,0x83,0xEE,0x38,0x00,0x00, 0x00,0x00,0x00,0x80,0xC0,0xE0,0x70,0x31,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x3F,0x7C,0xF0,0xE2,0xC2,0xC4,0x84,0x84, 0x84,0x86,0x06,0x06,0x86,0x87,0x83,0x83,0x81,0xC1,0xC1,0xE0,0x60,0x70,0x30,0x18, 0x0C,0x04,0x06,

42、0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x60,0x38, 0x0F,0x01,0x00,0x00,0x01,0x07,0x0E,0x1C,0x38,0x70,0xE0,0x80,0x00,0x00,0x00,0x00, 0x70,0xF0,0x11,0x1F,0x1C,0x00,0x00,0x07,0x1C,0x18,0x08,0x18,0xF0,0x80,0x01,0x07, 0xFC,0x00,0x00,0xFF,0xFF,0x00,0x00,0xE1,0x31,0x21,0x33,0xCF,0x3C,0x27,0x

43、63,0x26, 0x06,0x00,0x60,0x64,0x24,0x64,0xFC,0x1F,0x03,0x01,0x01,0x01,0x00,0x00,0x00,0x00, 0x00,0x00,0x3F,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0xFF,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x03, 0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x01,0x0

44、1,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x30,0x30,0x18,0x18,0x08,0x0C,0x04,0x06,0x03,0x01,0x01,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00, 0x00,0x01,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x01,0x00,0x00,0x00, 0x01,0x03,0x03,0x01,0x01

45、,0x03,0x03,0x01,0x00,0x00,0x00,0x03,0x03,0x02,0x02,0x02, 0x02,0x02,0x02,0x02,0x02,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0

46、x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0

47、x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 。/*/ /* 24C08.c*/ 调用方式如下:/Write_One_Byte(0x10,0x04> /k=Read_One_Byte(0x10> 。函数定义 */void Delay2408(unsigned int t&g

48、t; /*延时函数 */while(t!=0>t-。void I2C_Start(void>/*启动I2C总线的函数,当 SCL为高电平时使 SDA产生一个负跳变*/SDA=1 。SCL=1 。Delay2408(Delay2408_TIME> 。SDA=0 。Delay2408(Delay2408_TIME> 。SCL=0 。Delay2408(Delay2408_TIME> 。void I2C_Stop(void>/*终止I2C总线,当SCL为高电平时使 SDA产生一个正跳变*/SDA=0 。SCL=1。Delay2408(Delay2408_TIME&

49、gt; 。SDA=1 。Delay2408(Delay2408_TIME> 。SCL=0 。Delay2408(Delay2408_TIME> 。void SEND_0(void> /* SEND ACK */* 发送0,在SCL为高电平时使SDA信号为低*/SDA=0 。SCL=1 。Delay2408(Delay2408_TIME> 。SCL=0 。Delay2408(Delay2408_TIME> 。void SEND_1(void>/*发送1,在SCL为高电平时使SDA信号为高*/SDA=1 。SCL=1 。Delay2408(Delay2408_T

50、IME> 。SCL=0 。Delay2408(Delay2408_TIME> 。bit Check_Acknowledge(void>/* 发送完一个字节后检验设备的应答信号 */SDA=1 。SCL=1 。Delay2408(Delay2408_TIME/2> 。F0=SDA 。Delay2408(Delay2408_TIME/2> 。SCL=0 。Delay2408(Delay2408_TIME> 。 if(F0=1>return FALSE 。return TRUE 。void WriteI2CByte(unsigned char b>re

51、entrant/* 向 I2C 总线写一个字节 */unsigned char i 。for(i=0。 i<8 。 i+>if(b< SEND_1(>。elseSEND_0(> 。unsigned char ReadI2CByte(void>reentrant/* 从 I2C 总线读一个字节 */unsigned char b=0,i 。for(i=0。 i<8 。 i+>SCL=1/* 接受数据 */Delay2408(10> 。F0=SDA 。Delay2408(10>SCL=0 if(F0=1> b=b<<1

52、b=b|0x01else b=b<<1return b 。/*以下为24c02的函数*/void Write_One_Byte(unsigned char addr,unsigned char thedata> bit acktemp=1 。/*write a byte to mem*/I2C_Start(> 。WriteI2CByte(0xa0> 。 acktemp=Check_Acknowledge(> 。WriteI2CByte(addr> 。 /*address*/ acktemp=Check_Acknowledge(> 。WriteI2

53、CByte(thedata> 。 /*thedata*/ acktemp=Check_Acknowledge(> 。I2C_Stop(> 。/* char Read_One_Byte(unsigned char addr>bit acktemp=1 。unsigned char mydata。/*read a byte from mem*/I2C_Start(> 。WriteI2CByte(0xa0> 。 acktemp=Check_Acknowledge(> 。WriteI2CByte(addr>。 /*address*/acktemp=Che

54、ck_Acknowledge(> 。I2C_Start(> 。 WriteI2CByte(0xa1> 。 acktemp=Check_Acknowledge(> 。mydata=ReadI2CByte(> 。 acktemp=Check_Acknowledge(> 。return mydata 。I2C_Stop(> 。/* void Delay(int num>/ 延时函数while(num->/*12864driver.c*/* void Delay12864(unsigned int t>/unsigned int i,j 。for(i=0 。 i for(j=0 。 j<10 。 j+> 。/* void write_com(unsigned char cmdcode>/ 写命令到 LCDDi = 0 。RW = 0 。Lcd_Bus = cmdcode 。Delay12864(0> 。Enable = 1 。Delay12864(0> 。Enable = 0 。/*/ void write_data(unsigne

温馨提示

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

评论

0/150

提交评论