久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
12232c液晶顯示和8051單片機的接口c語言程序
[打印本頁]
作者:
xiashan
時間:
2015-4-5 18:03
標題:
12232c液晶顯示和8051單片機的接口c語言程序
在atmega128中寫通訊協議的頭四位數字時好像不能分開一位一位的送,而是要把它當作一個16進制的整體移位寫入!程序中的comm為寫0表示寫12232c的指令,dat為1表示寫數據。cs,sclk,std分別為片選、時鐘、及數據io口,可用sbit指令定義。
/************lcd初始化程序**************/
void init_lcd (void)
{
wr_lcd (comm,0x30); /*30---基本指令集動作,8位控制接口*/
wr_lcd (comm,0x01); /*清屏,地址指針指向00H*/
delay (80);
wr_lcd (comm,0x06); /*光標的移動方向,光標右移*/
wr_lcd (comm,0x0c); /*開顯示,關光標*/
}
/******************LCD顯示任意量程序********************/
void eng_disp (uchar x,uchar y,uchar code *eng)
{
uchar i,j;
wr_lcd (comm,0x30);
wr_lcd (comm,0x80); /*第一行的起始地址*/
for(j=0;j<y;j++)
{
for (i=0;i<x;i++)
wr_lcd (dat,eng[j*16+i]);
if((y==2)&&(j==1))
{wr_lcd (comm,0x90);
for (i=0;i<8;i++)
wr_lcd (dat,eng[j*16+i]);
}
}
}
/*********************LCD顯示中文(歡迎界面)程序******************/
void chn_disp (uchar code *chn) /*lcd顯示中文*/
{
uchar i,j;
wr_lcd (comm,0x30);
wr_lcd (comm,0x80); /*第一行的起始地址*/
j=0;
for (i=0;i<16;i++)
wr_lcd (dat,chn[j*16+i]);
wr_lcd (comm,0x90); //第二行的起始地址
j=1;
for (i=0;i<16;i++)
wr_lcd (dat,chn[j*16+i]);
}
/***************************LCD清內存程序*******************/
void clrram (void) //lcd清內存
{
wr_lcd (comm,0x30);
wr_lcd (comm,0x01);
delay (120);
}
/*************LCD寫數據或寫命令子程序****************/
void wr_lcd (uchar dat_comm,uchar content) /*lcd寫數據*/
{
uchar a,i,j;
delay (40);
a=content; //a為指令代碼或者數據
cs=1; //置位cs開始傳輸數據
sclk=0; //拉低sclk準備給上升沿,發送數據
std=1; //置1
for(i=0;i<5;i++) /*先傳輸起始字節,首先5個1,sclk的上升沿傳輸啟動*/
{
sclk=1;
sclk=0;
}
std=0; //RW=0;
sclk=1;
sclk=0;
if(dat_comm)
std=1; //如果是數據則RS為1
else
std=0; //如果是控制字則RS為0
sclk=1; //給上升沿,啟動傳輸
sclk=0; //拉低sclk
std=0; //第8位為0,起始字節傳輸完畢
sclk=1; //給上升沿,啟動傳輸
sclk=0;
for(j=0;j<2;j++) //一個字節分兩次發送,第一次發送高四位,后面補4個0,第二次發送低4位,后面同樣補4個0
{
for(i=0;i<4;i++) //先傳輸高4位
{
a=a<<1; //數據循環左移一位,低位補0
std=CY; //把進位進行傳輸
sclk=1;
sclk=0;
}
std=0;
for(i=0;i<4;i++) //后4位數據為4個0
{
sclk=1;
sclk=0;
}
}
}
/**********************LCD延時程序************************************/
void delay (uint us) //lcd延時時間
{
while(us--);
}
void delay1 (uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<15;j++)
delay(1);
}
/*********************顯示數據位子程序*******************/
void math_disp(uint math)
{ uint k;
uchar i;
uchar j;
k=math;
dispbuf[0]=k/10000; //得到萬位數
k=k%10000;
dispbuf[1]=k/1000; //得到千位數
k=k%1000;
dispbuf[2]=k/100; //得到百位數
k=k%100;
dispbuf[3]=k/10; //得到十位數
dispbuf[4]=k%10; //得到個位數
wr_lcd (comm,0x90); //給第二行的起始地址以讓數據在第二行顯示,
for(i=0;i<5;i++)
{
for(j=0;j<2;j++) //連續顯示兩個tab2中的字節,LCD自動把這兩個字節聯系起來顯示一個數據
{
wr_lcd(dat,tab2[xs2*dispbuf[i]+j]); //調用顯示子函數
}
}
}
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
精品一区二区三区四区五区
|
日本精品在线一区
|
91看片免费版
|
男人天堂久久久
|
精品久久久久久久久久久久
|
欧美黑人一区二区三区
|
日本成人免费网站
|
精品欧美视频
|
狠狠热视频
|
一区二区三区av
|
日韩免费高清视频
|
午夜电影福利
|
男女网站视频
|
综合久久综合久久
|
欧美高清dvd
|
久久久www成人免费无遮挡大片
|
久久精品久久综合
|
国产欧美一区二区三区在线播放
|
国产精品久久久久久久久久久久冷
|
国产一区欧美
|
一区二区三区四区av
|
不卡视频一区
|
美女天天操
|
一级毛片在线播放
|
亚洲精品视频在线播放
|
免费一区二区三区在线视频
|
国产精品无码久久久久
|
国产99热
|
产真a观专区
|
亚洲第一网站
|
国产日产欧产精品精品推荐蛮挑
|
国外成人在线视频
|
国产精品美女久久久av超清
|
日韩一
|
国产精品不卡一区
|
五月婷婷婷
|
国产精品久久一区二区三区
|
欧美国产视频
|
一级片在线视频
|
一区二区激情
|
在线观看免费黄色片
|