亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標(biāo)題:
單片機(jī)學(xué)習(xí)筆記(九)液晶字幕顯示
[打印本頁]
作者:
51hei人人
時(shí)間:
2016-3-12 16:46
標(biāo)題:
單片機(jī)學(xué)習(xí)筆記(九)液晶字幕顯示
本帖最后由 51hei人人 于 2016-3-12 16:47 編輯
LCD顯示 第一行顯示 welcome 第二行顯示 www.baidu.com
C語言源程序:
#include <reg52.h> //52單片機(jī)頭文件包含
#include <intrins.h> //包換一些匯編指令的頭文件
typedef unsigned char BYTE;//定義BYTE 為 unsigned char 型
typedef unsigned int WORD;//定義WORD 為 unsigned int 型
typedef bit BOOL;//定義BOOL 為 bit 型
sbit rs=P1^0;//定義rs 為P1端口的第0位
sbit rw=P1^1;//定義rw為P1端口的第1位
sbit ep=P1^2;//定義ep為P1端口的第2位
BYTE code dis1[]={"welcome"};//定義第一行要顯示的字符數(shù)組
BYTE code dis2[]={"www.baidu.com"};//定義第二行要顯示的字符數(shù)組
delay(BYTE ms) //延時(shí)函數(shù)
{
BYTE i; //定義字節(jié)型變量i
while(ms--)//每循環(huán)一次將ms的值減1
{
for(i=0;i<250;i++)//for循環(huán) 循環(huán)250次
{
_nop_();//NOP語句
_nop_();//NOP語句
_nop_();//NOP語句
_nop_();//NOP語句
}
}
}
BOOL lcd_bz() //LCD忙碌狀態(tài)檢測函數(shù)
{
BOOL result; //定義結(jié)果位變量 result;
rs=0; //P0第一位給0
rw=1; //P0第二位給1
ep=1; //P0第三位給1
_nop_(); //空語句用于延時(shí)
_nop_(); //空語句用于延時(shí)
_nop_(); //空語句用于延時(shí)
_nop_(); //空語句用于延時(shí)
result=(BOOL)(P0 & 0x80) //將P0與0x80相與 結(jié)果轉(zhuǎn)換成BOOL型賦值給result
ep=0;//第三位給0
return result;//返回結(jié)果
}
lcd_wcmd(BYTE cmd) //指令寫入函數(shù)
{
whiel(lcd_bz()); //測試lcd是否忙碌
rs=0;rw=0;ep=0;//功能位選擇
_nop_();_nop_();//延時(shí)
P0=cmd; //寫入指令
_nop_();_nop_();//延時(shí)
_nop_();_nop_();//延時(shí)
ep=1;//ep給1
_nop_();_nop_();//延時(shí)
_nop_();_nop_();//延時(shí)
ep=0;//ep給0
}
lcd_pos(BYTE pos) //顯示位置設(shè)定函數(shù)
{
lcd_wcmd(pos | 0x80); //將pos和0x80相或作為參數(shù)傳給lcd_wcmd
}
lcd_wdat(BYTE dat) //字符寫入函數(shù)
{
while(lcd_bz());//測試lcd是否忙碌
rs=1;rw=0;ep=0;//功能位選擇
P0=dat;//寫入字符
_nop_();_nop_();//延時(shí)
_nop_();_nop_();//延時(shí)
ep=1;//ep給1
_nop_();_nop_();//延時(shí)
_nop_();_nop_();//延時(shí)
ep=0;//ep給0
}
lcd_init() //LCD初始化函數(shù)
{
lcd_wcmd(0x38);
delay(1); //延時(shí)
lcd_wcmd(0x0c);
delay(1);//延時(shí)
lcd_wcmd(0x06);
delay(1);//延時(shí)
lcd_wcmd(0x01); //清除LCD的顯示內(nèi)容
delay(1);
}
main()
{
BYTE i;//定義BYTE變量i
lcd_init(); //初始化LCD
delay(10);//延時(shí)
lcd_pos(4); //設(shè)置顯示位置為第一行的第5個(gè)字符
i=0;//i賦值為0
while(dis1[i]!='\0')//判斷是否到了字符串結(jié)尾
{
lcd_wdat(dis1[i]);//循環(huán)將字符寫入
i++;i自加指向下個(gè)字符
}
lcd_pos(0x40); //設(shè)置顯示位置為第二行第一個(gè)字符
i=0;//i賦值為0
while(dis2[i]!='\0') //判斷是否到字符串結(jié)尾
{
lcd_wdat(dis2[i]);//循環(huán)將字符寫入
i++;i自加指向下個(gè)字符
}
whiel(i); //無限循環(huán)
}
//實(shí)驗(yàn)結(jié)果 液晶屏第一行顯示welcome 第二行顯示www.baidu.com
復(fù)制代碼
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1