久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
12864顯示漢字c51程序 單片機:STC12C5A60S2
[打印本頁]
作者:
騰飛的龍
時間:
2015-7-25 21:25
標題:
12864顯示漢字c51程序 單片機:STC12C5A60S2
/**************************************************
功能:12864顯示漢字
單片機:STC12C5A60S2
晶振:11.0592M
作者:蘇義江
時間:2015-7-25修改
并行輸出
*****************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit E=P3^7;//脈沖使能
sbit RW=P3^6;//讀寫選擇
sbit RS=P3^5;//數據命令選擇
sbit rst=P1^0;//12864復位
uchar code table3[]="欲窮千里目";
uchar code table4[]="更上一層樓";
uchar code table1[]="白日依山盡";
uchar code table2[]="黃河入海流";
// 延時ms函數:
void Delayms(uint t)//STC12C5A60S2 1ms
{
uint i,j;
for(i=t;i>0;i--)
for(j=0;j<840;j++);
}
// 12864寫命令函數:
void Write12864Command(uchar com)
{
Delayms(10);
P0=com;//賦值
E=0;//寫命令前三控制線的狀態
Delayms(10);
RS=0;
RW=0;
E=1;//拉高,寫命令
Delayms(10);//延時必須加
E=0;//寫命令后三控制線的狀態
Delayms(10);//延時必須加
RS=1;
RW=1;
}
//12864寫數據函數:
void Write12864Data( uchar dat)
{
Delayms(10);
P0=dat;//賦值
E=0;//寫數據前三控制線的狀態
Delayms(10);
RS=1;
RW=0;
E=1;//拉高,寫數據
Delayms(10);//延時必須加
E=0;//寫數據后三控制線的狀態
Delayms(10);//延時必須加
RS=0;
RW=1;
}
//12864初始化函數:
void Initialize12864()
{
rst=0;//復位12864
Delayms(30);
rst=1;
Delayms(20);
Write12864Command(0x30);//功能設定:8位控制方式,使用基本指令
Write12864Command(0x08);//顯示關
Write12864Command(0x01);//清屏
Write12864Command(0x06);//地址計數器加一、光標右移
Write12864Command(0x0c);//顯示開
}
//在指定行和列顯示漢字
void LCD12864DisplayString( uchar y, uchar x, uchar *pstr)
//y-行數值0-3,x-列數值0-7,pstr-字符串指針
//12864可以顯示32個漢字(四行每行8個),一個地址對應一個漢字
//可以顯示64個ASCII碼字符(四行每行16個),一個地址對應兩個字符
//為了實現自動換行功能,這個函數比較繁瑣
{
uchar row,n=0;
Write12864Command(0x30);//基本指令
Write12864Command(0x06);//地址計數器自動加以,光標右移
switch(y)//根據行號選擇行地址
{
case 0:row=0x80;break;//第一行首地址
case 1:row=0x90;break;//第二行首地址
case 2:row=0x88;break;//第三行首地址
case 3:row=0x98;break;//第四行首地址
default:;
}
Write12864Command(row+x);//寫地址
while(*pstr!='\0')
{
Write12864Data(*pstr);//寫字符
pstr++;
n++;//計數
if((n+x*2)==16)//如果一行寫完,繼續寫第二行
{
if(y==0) Write12864Command(0x90);//寫下一行地址
else if(y==1) Write12864Command(0x88);//寫下一行地址
else if(y==2) Write12864Command(0x98);//寫下一行地址
else ;
}
else if((n+x*2)==32)//如果第二行寫完,繼續寫第三行
{
if(y==0) Write12864Command(0x88);//寫下一行地址
else if(y==1) Write12864Command(0x98);//寫下一行地址
else ;
}
else if((n+x*2)==48)//如果第三行寫完,繼續寫第四行
{
if(y==0) Write12864Command(0x98);//寫下一行地址
else ;
}
else ;
}
}
//清屏
void Clear12864Screen()
{
Write12864Command(0x01);//清屏
Write12864Data(0x00);//清屏
}
void main()
{
uchar i;
Delayms(100);
Initialize12864();
Clear12864Screen();
while(1)
{
Write12864Command(0x80);
for(i=0;i<11;i++)
{
Write12864Data(table1[i]);
Delayms(200);
}
Clear12864Screen();
Write12864Command(0x90);
for(i=0;i<11;i++)
{
Write12864Data(table2[i]);
Delayms(200);
}
Clear12864Screen();
Write12864Command(0x88);
for(i=0;i<12;i++)
{
Write12864Data(table3[i]);
Delayms(200);
}
Clear12864Screen();
Write12864Command(0x98);
for(i=0;i<12;i++)
{
Write12864Data(table4[i]);
Delayms(200);
}
Clear12864Screen();
LCD12864DisplayString(0, 0, "--蘇義江成心歡迎大家來到單片機世界。沒有想不到只有做不到!");
Delayms(4000);
Clear12864Screen();
}
}
復制代碼
作者:
han233
時間:
2017-9-19 11:28
不錯不錯不錯
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品第2页
|
国产高清在线视频
|
97国产爽爽爽久久久
|
午夜免费在线观看
|
国产一级视频在线观看
|
免费a国产
|
中文字幕在线观看
|
在线一级片
|
无毛av
|
特级做a爰片毛片免费看108
|
色吧久久
|
日韩一区二区三区av
|
国产精品一区二区三
|
狠狠操狠狠干
|
成人在线视频看看
|
欧美一级毛片在线播放
|
天天干天天玩天天操
|
www日
|
精品一区二区三
|
福利片在线观看
|
日韩欧美成人精品
|
欧美日韩一
|
国产精品成人一区二区三区
|
国产视频第一页
|
亚洲一区二区在线视频
|
中文字幕日韩欧美
|
国产特级毛片aaaaaa喷潮
|
精品伊人
|
亚洲欧美一区二区在线观看
|
国内精品久久影院
|
久草网在线视频
|
国产精品不卡
|
日本黄视频在线观看
|
国产69久久精品成人看动漫
|
国产欧美精品一区二区
|
国产精品综合久久
|
精品成人一区二区
|
av在线免费观看网站
|
久久久九九
|
黑人巨大精品欧美一区二区免费
|
国产a级黄色录像
|