字符型12964例程Word文档格式.docx
- 文档编号:18342757
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:12
- 大小:19.87KB
字符型12964例程Word文档格式.docx
《字符型12964例程Word文档格式.docx》由会员分享,可在线阅读,更多相关《字符型12964例程Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
sbitPSB=P2^3;
//串并口选择1:
并口模式;
0:
串口模式;
/*****LCD功能初始化指令*****/
#defineCLEAR_SCREEN
0x01
//清屏指令:
清屏且AC值为00H
#defineAC_INIT
0x02
//将AC设置为00H。
且游标移到原点位置
#defineCURSE_ADD
0x06
//设定游标移到方向及图像整体移动方向(默认游标右移,图像整体不动)
#defineFUN_MODE
0x30
//工作模式:
8位基本指令集
#defineDISPLAY_ON
0x0c
//显示开,显示游标,且游标位置反白
#defineDISPLAY_OFF
0x08
//显示关
#defineCURSE_DIR
0x14
//游标向右移动:
AC=AC+1
#defineSET_CG_AC
0x40
//设置AC,范围为:
00H~3FH
#defineSET_DD_AC
0x80
/*****汉字地址表*****/
ucharcodeaddr_tab[]={
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,//第一行汉字位置
0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,//第二行汉字位置
0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,//第三行汉字位置
0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,//第四行汉字位置
};
/*****n(ms)延时子程序*****/
voiddelayms(uintt)
//约延时n(ms)
{
uinti;
while(t--)
for(i=0;
i<
125;
i++);
}
}
/*****串行发送一个字节*****/
voidSendByte(ucharDbyte)
uchari;
for(i=0;
8;
i++)
{
SCLK=0;
Dbyte=Dbyte<
<
1;
//左移一位
SID=CY;
//移出的位给SID
SCLK=1;
}
/*****串行接收一个字节*****/
ucharReceiveByte(void)
uchari,temp1,temp2;
temp1=0;
temp2=0;
temp1=temp1<
if(SID)temp1++;
temp2=temp2<
if(SID)temp2++;
return((0xf0&
temp1)+(0x0f&
temp2));
/*****检测LCD忙状态*****/
voidCheckBusy(void)
do
SendByte(0xfc);
//11111,RW
(1),RS(0),0
while(0x80&
ReceiveByte());
//BF(.7)=1Busy
/*****写指令*****/
voidLcd_WriteCmd(ucharCbyte)
CS=1;
CheckBusy();
SendByte(0xf8);
//11111,RW(0),RS(0),0
SendByte(0xf0&
Cbyte);
//高四位
Cbyte<
4);
//低四位(先执行<
)
CS=0;
/*****写数据*****/
voidLcd_WriteData(ucharDbyte)
SendByte(0xfa);
//11111,RW(0),RS
(1),0
Dbyte);
Dbyte<
/*****初始化LCD*****/
voidLcd_Init(void)
{
PSB=0;
delayms(50);
Lcd_WriteCmd(0x30);
//选择基本指令集
delayms
(1);
//选择8bit数据流
Lcd_WriteCmd(0x0c);
//开显示(无游标、不反白)
Lcd_WriteCmd(0x01);
//清除显示,并且设定地址指针为00H
delayms(20);
/*****显示汉字*****/
voidhanzi_Disp(ucharx,uchary,ucharcode*s)
Lcd_WriteCmd(addr_tab[8*x+y]);
//写地址
while(*s>
0)
{
Lcd_WriteData(*s);
//写数据
s++;
/*****显示图片(显示Gdram内容)*****/
/*绘图显示的步骤
1关闭绘图显示功能
2先将垂直的坐标(Y)写入绘图RAM地址
3再将水平的位元组坐标(X)写入绘图RAM地址
4将D15-D8写入RAM中
5将D7-D0写入到RAM中
6打开绘图显示功能*/
//图片取模方式:
横向取模,字节正序
voidpic_Disp(uchar*pic)
//显示Gdram内容(显示图片)
ucharx,y,i;
9;
i=i+8)
for(y=0;
y<
32;
y++)
for(x=0;
x<
x++)
Lcd_WriteCmd(0x36);
//扩充指令,开绘图显示
Lcd_WriteCmd(0x80+y);
//行地址
Lcd_WriteCmd(0x80+x+i);
//列地址
Lcd_WriteData(*pic++);
//写数据D15-D8
//写数据D7-D0
/*****整屏显示竖条*****/
//当i=0时显示上面128×
32,当i=8时显示下面128×
32
voidLcdFill_Vertical()
i=i+8)
0x20;
//扩充指令绘图显示
Lcd_WriteCmd(y+0x80);
//行地址
Lcd_WriteCmd(x+0x80+i);
//列地址
Lcd_WriteData(0x55);
//写数据D15-D8
//写数据D7-D0
}
/*****整屏显示横条*****/
voidLcdFill_Level()
uchark;
i+=8)
if((y%2)==1)k=0xff;
elsek=0;
for(x=0;
{
//列地址
Lcd_WriteData(k);
}
/*****整屏充满亮点或暗点*****/
voidLcd_Fill(uchartest)
Lcd_WriteData(test);
/*****主函数*****/
voidmain(void)
Lcd_Init();
while
(1)
hanzi_Disp(0,0,"
ST7920型液晶模块"
);
hanzi_Disp(1,1,"
串行测试程序"
hanzi_Disp(2,0,"
www.JiangX.net"
hanzi_Disp(3,3,"
"
delayms(2000);
//
Lcd_Fill(0xff);
hanzi_Disp(1,2,"
坏点检测"
delayms(500);
delayms(1500);
LcdFill_Vertical();
delayms(750);
LcdFill_Level();
显示汉字"
hanzi_Disp(0,0,tangshi);
显示图片"
pic_Disp(LCDsheji);
delayms(1000);
pic_Disp(rmb);
pic_Disp(qiche);
pic_Disp(gongji);
Lcd_Fill(0x00);
//清显示RAM
以下是字库头文件:
ziku.h
unsignedcharcodetangshi[]={"
黄河远上白云间,羌笛何须怨杨柳,一片孤城万仞山。
春风不度玉门关。
unsignedcharcodermb[1024]=
0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0x10,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0x00,0x04,0xE7,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xC0,0x05,0x34,0xC0,
0x01,0xF8,0x00,0x38,0x7C,0x00,0x70,0x48,0x6C,0x01,0xFF,0xFF,0xE0,0x07,0x1C,0x40,
0x03,0xDD,0x00,0x3E,0x7C,0x30,0x70,0xF8,0x7C,0x0F,0xFF,0xFF,0xF0,0x07,0x1C,0x40,
0x07,0x76,0x00,0x28,0x58,0x5C,0x70,0x50,0x48,0x1F,0xF0,0xFF,0xF8,0x05,0xF7,0x80,
0x07,0xFE,0x00,0x08,0x6C,0x06,0x78,0x5C,0x18,0x1F,0xC0,0x1F,0xFE,0x04,0xEF,0x00,
0x03,0xFE,0x00,0x08,0x04,0x00,0x0C,0x10,0x00,0x3F,0x80,0x07,0xFF,0x00,0x36,0x00,
0x07,0xCE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x80,0x07,0xFF,0x00,0xFF,0x00,
0x05,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x01,0xFF,0x80,0xFF,0x00,
0x02,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x03,0xFF,0x80,0xFF,0x80,
0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x03,0xFF,0x80,0xFF,0x80,
0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x03,0xFF,0x80,0xFF,0x80,
0x01,0xF4,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x3C,0x00,0x03,0xFF,0x81,0xFF,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x1F,0x83,0x81,0xFF,0x80,0xF7,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x18,0x43,0x01,0xFF,0x80,0xF7,0x00,
0x00,0x00,0x00,0x00,0x08,0x3E,0x01,0xF0,0x00,0x0C,0x23,0x01,0xFF,0x00,0x7F,0x00,
0x00,0x00,0x00,0x00,0x7C,0xFD,0x87,0x7C,0x00,0x1F,0x23,0xE1,0xFE,0x00,0x7F,0x00,
0x00,0x00,0x00,0x00,0x19,0xC3,0x86,0x1E,0x00,0x16,0x23,0x20,0xF6,0x00,0x32,0x80,
0x00,0x00,0x00,0x00,0x19,0x81,0xCE,0x0F,0x00,0x1C,0x61,0x00,0xEA,0x00,0x5E,0x00,
0x00,0x00,0x00,0x00,0x1B,0x80,0xFC,0x03,0x00,0x10,0xC0,0x00,0xC0,0x00,0x08,0x00,
0x00,0x00,0x00,0x00,0x1D,0x00,0xFC,0x07,0x00,0x11,0xC0,0x01,0xF0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x19,0x80,0xFC,0x07,0x00,0x18,0x00,0x01,0xE0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0x80,0xFC,0x03,0x00,0x18,0x00,0x03,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1B,0x40,0xDE,0x06,0x00,0x18,0xD8,0x01,0xE4,0x00,0x02,0x00,
0x00,0x00,0x00,0x00,0x19,0xE1,0xCF,0x0E,0x00,0x18,0xE0,0x03,0xC4,0x00,0x03,0x80,
0x00,0x00,0x00,0x00,0x18,0xFF,0x97,0xFC,0x00,0x18,0x80,0x07,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x3C,0x7F,0x03,0xF8,0x00,0x0D,0x00,0x07,0xC0,0x00,0x03,0x80,
0x00,0x00,0x00,0x00,0x7E,0x38,0x00,0xE0,0x00,0x0D,0xFC,0x03,0xF0,0x00,0x00,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0xFE,0x43,0xE0,0x00,0x01,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0xD8,0x00,0x00,0x0C,0xE0,0x03,0xE0,0x00,0x01,0x00,
0x00,0x00,0x00,0x00,0x00,0x3E,0x7E,0x00,0x00,0x04,0xF0,0x03,0xE0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xF6,0x6F,0x00,0x00,0x07,0x80,0x07,0xF0,0x00,0x03,0x80,
0x00,0x00,0x00,0x00,0x06,0xD7,0xD9,0xE0,0x00,0x07,0x80,0x07,0xD0,0x00,0x03,0x00,
0x00,0x00,0x00,0x00,0x0C,0xA9,0x32,0xE0,0x00,0x01,0x80,0x0F,0xD8,0x00,0x01,0x00,
0x00,0x00,0x00,0x00,0x00,0x1A,0x3A,0x80,0x00,0x01,0xC0,0x1F,0xB8,0x00,0x03,0x80,
0x00,0x00,0x00,0x00,0x07,0x52,0x48,0xC0,0x00,0x00,0xFF,0xFF,0x7C,0x00,0x01,0x00,
0x00,0x00,0x00,0x00,0x18,0x2A,0x58,0x04,0x00,0x00,0xFD,0xFC,0xFF,0x00,0x03,0x80,
0x00,0x00,0x00,0x00,0x1B,0x6A,0x78,0x44,0x00,0x01,0xFB,0xF9,0xFF,0xC0,0x00,0x00,
0x00,0x00,0x00,0x00,0x20,0x19,0x9F,0x54,0x00,0x03,0xBD,0x07,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 字符 12964 例程