胡心愿笔记之单片机12864显示开机次数和开机动画.docx
- 文档编号:12927811
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:15
- 大小:16.56KB
胡心愿笔记之单片机12864显示开机次数和开机动画.docx
《胡心愿笔记之单片机12864显示开机次数和开机动画.docx》由会员分享,可在线阅读,更多相关《胡心愿笔记之单片机12864显示开机次数和开机动画.docx(15页珍藏版)》请在冰豆网上搜索。
胡心愿笔记之单片机12864显示开机次数和开机动画
用的是模块化编程,各位凑和着看吧,用的是12864显示开机次数和开机图画,经验证,好使,下次再加万年历和温度的吧
#include
#include
#include
#include<12864lcd.h>
//ucharstring1[]="本次是开机第__次";
ucharstring1[]="乔相品,乔橡皮";
ucharstring2[]="0123456789";
ucharcodestring3[];
ucharkaijicishu[1]={0};
ucharj,k,n,m;
voidmain()
{
uchar*p=string1;
uchar*adder=string3;
wp=0;
//************************************************
//开机的图画显示
//**************************************************
initina_lcd_tuhua();
delay_ms(10);
for(m=0;m<32;m++)//
{
//SET垂直地址VERTICALADD
write_data_or_comm(0,(0x80+m));
//SET水平地址HORIZONTALADD
write_data_or_comm(0,0x80);
for(n=0;n<16;n++)
{
write_data_or_comm(1,*adder);
delay_ms
(1);
adder++;
}
}
for(m=0;m<32;m++)//
{
//SET垂直地址VERTICALADD
write_data_or_comm(0,(0x80+m));
//SET水平地址HORIZONTALADD
write_data_or_comm(0,0x88);
for(n=0;n<16;n++)
{
write_data_or_comm(1,*adder);
delay_ms
(1);
adder++;
}
}
//***************************************************************
//***************************************************************
//************
//LCD字库初始化
//***************
initial_lcd_ziku();
//************
//开机次数显示,小于100次
//***************
kaijicishu[0]=read_anywhere(0xae,0);
delay_ms
(1);
k=kaijicishu[0];
write_data_or_comm(0,0x90);
for(m=0;m<16;m++)
{
write_data_or_comm(1,*p);
p++;
}
//write_data_or_comm(0,0x96);
//write_data_or_comm(1,string2[k/10]);
//write_data_or_comm(1,string2[k%10]);
//kaijicishu[0]++;
//write_anywhere(0xae,0,kaijicishu[0]);
while
(1);
}
ucharcodestring3[]={
/*--调入了一幅图像:
d:
\我的文档\图片收藏\未命名3.bmp--*/
/*--宽度x高度=128x64--*/
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,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,
0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x30,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,
0x10,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x19,0x00,
0x08,0x08,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x10,0x00,
0x08,0x08,0x00,0xF4,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x20,0x00,
0x08,0x08,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x20,0x00,
0x10,0x04,0x00,0xFE,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x20,0x00,
0x30,0x06,0x00,0xFE,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x20,0x00,
0xC0,0x01,0x00,0xFC,0x07,0x00,0x30,0x00,0x00,0x00,0x03,0x00,0x00,0x80,0x10,0x00,
0x00,0x00,0x00,0xFC,0x0F,0x00,0xD8,0x00,0x00,0xC0,0x07,0x00,0x00,0x80,0x19,0x00,
0x00,0x00,0x00,0xF8,0x1F,0x00,0x70,0x01,0x00,0xA0,0x1F,0x00,0x00,0x00,0x06,0x00,
0x00,0x00,0x00,0xF8,0x1F,0x00,0xF4,0x01,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xF0,0x1F,0x00,0xDE,0x03,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xE0,0x3F,0x00,0xFC,0x0F,0x00,0xE0,0x1F,0x00,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0xF0,0x3F,0x00,0xFC,0x1F,0x00,0xE0,0x3F,0x00,0xE0,0x03,0x00,0x00,
0x00,0x00,0x00,0xE0,0x7F,0x00,0xF8,0x1F,0x00,0xF0,0x1F,0x00,0xE0,0x07,0x00,0x00,
0x00,0x00,0x00,0xF0,0xFF,0x00,0xF0,0x3F,0x00,0xF0,0x1F,0x00,0xF0,0x0F,0x00,0x00,
0x00,0x00,0x00,0xE0,0xFF,0x00,0xF0,0x3F,0x00,0xF8,0x1F,0x00,0xF8,0x0F,0x00,0x00,
0x00,0xE0,0x03,0x60,0xFF,0x00,0xE0,0x7F,0x00,0xF8,0x5F,0x00,0xF8,0x0F,0x00,0x00,
0x00,0xC0,0x03,0xC0,0xFF,0x01,0xE0,0xFF,0x00,0xF0,0x3F,0x00,0xF8,0x0F,0x00,0x00,
0x00,0xE0,0x03,0xC0,0xFF,0x01,0x80,0x7F,0x00,0xE0,0x7F,0x00,0xF0,0x1F,0x00,0x00,
0x00,0xC8,0x1D,0x00,0xFF,0x01,0x00,0x7F,0x00,0xC0,0x7F,0x00,0xF8,0x0F,0x00,0x00,
0x00,0xC0,0x1F,0x00,0xFF,0x03,0x00,0x3E,0x00,0xE0,0xFF,0x00,0xF0,0x1F,0x00,0x00,
0x00,0xF0,0x1F,0x00,0xFE,0x03,0x00,0x08,0x00,0x80,0xFF,0x00,0xF8,0x3F,0x00,0x00,
0x00,0xF8,0x1F,0x00,0xFF,0x03,0x00,0x00,0x00,0xC0,0xFF,0x00,0xF0,0x5F,0x00,0x00,
0x00,0xF0,0x1F,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0xFF,0x00,0xF0,0xFF,0x00,0x00,
0x00,0xF0,0x0F,0x00,0xFE,0x07,0x00,0x00,0x00,0x80,0xFF,0x01,0xE0,0xFF,0x00,0x00,
0x00,0xF0,0x1F,0x00,0xFC,0x0F,0x00,0x00,0x00,0x00,0xFF,0x00,0xF0,0xFF,0x00,0x00,
0x00,0xF0,0x0F,0x00,0xF0,0x0F,0x00,0x00,0x00,0x00,0xFE,0x00,0xE0,0x7F,0x00,0x00,
0x00,0xFC,0x07,0x00,0xF8,0x1F,0x00,0x00,0x00,0x00,0xFF,0x01,0xC0,0xFF,0x00,0x00,
0x00,0xF8,0x07,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0xFE,0x01,0xD0,0x7F,0x00,0x00,
0x00,0xF8,0x0F,0x00,0xE0,0x7F,0x00,0x00,0x00,0x00,0xFF,0x03,0xF0,0x7F,0x00,0x00,
0x00,0xFC,0x07,0x00,0xE0,0xFF,0x00,0x00,0x00,0x00,0xFE,0x01,0xE0,0x7F,0x00,0x00,
0x00,0xFF,0x0F,0x00,0xE0,0xFF,0x01,0x00,0x00,0x00,0xFE,0x01,0xE0,0xFF,0x00,0x00,
0x00,0xFC,0x07,0x00,0x80,0xFF,0x03,0x00,0x00,0x00,0xFF,0x01,0xC0,0x7F,0x00,0x00,
0x00,0xFF,0x0F,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0xFD,0x01,0xE0,0xFF,0x00,0x00,
0x00,0xFE,0x0F,0x00,0x00,0xFF,0x1F,0x00,0x00,0x00,0xFE,0x03,0xC0,0x7F,0x00,0x00,
0x00,0xFE,0x0F,0x00,0x00,0xFF,0x7F,0x00,0x00,0x50,0xFF,0x01,0xF0,0xFF,0x00,0x00,
0x00,0xFF,0x07,0x00,0x00,0xFA,0xFF,0x65,0xA6,0xFC,0xFF,0x01,0xE0,0xFF,0x00,0x00,
0x00,0xFE,0x07,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xC0,0x7F,0x00,0x00,
0x00,0xFE,0x0F,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x80,0xFF,0x00,0x00,
0x00,0xFE,0x07,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x80,0xFF,0x00,0x00,
0x00,0xFA,0x07,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x7F,0x00,0x00,
0x00,0xFA,0x03,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x7F,0x00,0x00,
0x00,0xF8,0x17,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x2E,0x00,0x00,
0x00,0xF8,0x7F,0x00,0x00,0x00,0xA0,0xF7,0xFF,0xDF,0x1F,0x00,0x00,0x08,0x00,0x00,
0x00,0xF8,0xBF,0x00,0x00,0x00,0x00,0xE7,0x24,0x36,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xF8,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xE0,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xE0,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x80,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x10,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,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,
};
#ifndef__DELAY_H__
#define__DELAY_H__
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
#definenop4(){_nop_();_nop_();_nop_();_nop_();nop_();nop_();nop_();nop_();}
voiddelay_ms(uintx);
#endif
#include
voiddelay_ms(uintx)
{
uchari;
while(x--)
for(i=0;i<120;i++);
}
#ifndef__C02_H__
#define__C02_H__
#include
//24系列的管脚
sbitsda=P1^2;
sbitscl=P1^1;
sbitwp=P1^0;
//24系列的子程序
voidstart();
voidstop();
voidask_yes();
voidask_no();
voidwrite_a_byte(ucharb);
voidwrite_anywhere(ucharaddress1,ucharaddress2,uchardat);
ucharread_a_byte();
ucharread_anywhere(ucharaddress1,ucharaddress2);
#endif
#include
voidstart()
{
scl=1;
sda=1;
nop4();
sda=0;
nop4();
scl=0;
}
voidstop()
{
scl=1;
sda=0;
nop4();
sda=1;
nop4();
scl=0;
}
voidask_yes()
{
sda=0;
nop4();
scl=1;
nop4();
scl=0;
}
voidask_no()
{
sda=1;
nop4();
scl=1;
nop4();
scl=0;
}
voidwrite_a_byte(ucharb)
{
uchari;
for(i=0;i<8;i++)
{
b<<=1;
sda=CY;
nop4();
scl=1;
nop4();
scl=0;
}
}
ucharread_a_byte()
{
uchari,b;
for(i=0;i<8;i++)
{
sda=1;//这一句很关键,也很蛋疼
scl=1;
b<<=1;
b|=sda;
nop4();
scl=0;
}
return(b);
}
voidwrite_anywhere(ucharaddress1,ucharaddress2,uchardat)//address1为芯片地址,写得时候最后一位为0
{//address2为要写数据的地址
start();//dat为要写的数据
write_a_byte(address1);
ask_yes();
write_a_byte(address2);
ask_yes();
write_a_byte(dat);
ask_yes();
stop();
}
ucharread_anywhere(ucharaddress1,ucharaddress2)//address1为芯片地址读的时候最后一位为1
{//address2为要写数据的地址
uchardat;//前两步是伪写的指令
start();
write_a_byte(address1);
ask_yes();
write_a_byte(address2);
ask_yes();
start();
write_a_byte(address1+1);
ask_yes();
dat=read_a_byte();
ask_no();
stop();
returndat;
}
#ifndef__12864LCD_H__
#define__12864LCD_H__
#include
//*************************
sbitrs=P2^4;//rs=1;rw=0,写入数据
sbitrw=P2^5;//rs=0;rw=0,写入命令
sbiten=P2^6;//
sbitPSB=P2^1;//
sbitRES=P2^3;
//**************************
voidwrite_data_or_comm(uchardata_or_com,uchardat);
voidinitial_lcd_ziku();
voidinitina_lcd_tuhua();
#endif
#include<12864lcd.h>
//****************
//传送数据或者命令
//****************
voidwrite_data_or_comm(uchardata_or_com,uchardat)
{
if(data_or_com)
{
rs=1;
rw=0;//数据
}
else
{
rs=0;
rw=0;//命令
}
en=1;
nop4();
P0=dat;
nop4();
en=0;
}
//******************
//字库的初始化
//*****************
voidinitial_lcd_ziku()
{
delay_ms
(1);//大于40MS的延时程序
PSB=1;//设置为8BIT并口工作模式
delay_ms
(1);//延时
RES=0;//复位
delay_ms
(1);//延时
RES=1;//复位置高
delay_ms
(1);
write_data_or_comm(0,0x30);
write_data_or_comm(0,0x30);
write_data_or_comm(0,0x08);
write_data_o
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 心愿 笔记 单片机 12864 显示 开机 次数 动画
![提示](https://static.bdocx.com/images/bang_tan.gif)