亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
有關LCD1602動態顯示的源程序和仿真原理圖
[打印本頁]
作者:
青春風鈴
時間:
2016-10-25 16:13
標題:
有關LCD1602動態顯示的源程序和仿真原理圖
寫了一個基本的1602動態顯示程序供大家參考!希望能給初學者帶來幫助。
字符式LCD滾動顯示.rar
2016-10-25 16:13 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
71.46 KB, 下載次數: 30, 下載積分: 黑幣 -5
1602
作者:
admin
時間:
2016-11-13 21:33
#include "stc15f2k60s2.h"
#include"intrins.h"
#define uchar unsigned char
#define uint unsigned int
sbit lcd_rs=P0^7;
sbit lcd_rw=P0^6;
sbit lcd_en=P0^5;
uchar idata dis0[]={" "};
uchar idata dis1[]={"hdxydxc@163.com"};
uchar idata dis2[]={"QQ:1767104479"};
uchar idata dis3[]={"2016-10-20"} ;
uchar idata dis4[]= {"I LOVE YOU"};
void delay(uchar ms)
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
uchar Busy_Check(void)// 測試LCD忙碌狀態
{
uchar LCD_Status;
lcd_rs=0;
lcd_rw=1;
lcd_en=1;
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
LCD_Status=P0&0x80;
lcd_en=0;
return LCD_Status;
}
void lcd_wcmd(uchar cmd) //寫入指令數據到LCD
{
while(Busy_Check()); //等待LCD空閑
lcd_rs=0;
lcd_rw=0;
lcd_en=0;
_nop_ ();
_nop_ ();
P2=cmd;
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
lcd_en=1;
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
lcd_en=0;
}
void lcd_pos(uchar pos) // 設定顯示位置
{
lcd_wcmd(pos|0x80); //設置LCD當前光標的位置
}
void lcd_wdat(uchar dat)//寫入字符顯示數據到LCD
{
while(Busy_Check()); //等待LCD空閑
lcd_rs=1;
lcd_rw=0;
lcd_en=0;
P2=dat;
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
lcd_en=1;
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
lcd_en=0;
}
void LCD_disp(void) //向上滾動
{
uchar i;
lcd_pos(1); //設置顯示位置為第一行的第二個字符
i=0;
while(dis0[i]!='\0')
{
lcd_wdat(dis0[i]); //在第一行顯示字符串“”
i++;
}
delay(1200);
lcd_pos(0x41);//設置顯示位置為第二行第二個字符
i=0;
while(dis1[i]!='\0')
{
lcd_wdat(dis1[i]); //在第1行顯示字符串“hdxydxc@163.com”
i++;
}
delay(200);
lcd_wcmd(0x01); //清除LCD顯示內容
delay(1);
lcd_pos(1);//設置顯示位置為第一行第二個字符
i=0;
while(dis1[i]!='\0')
{
lcd_wdat(dis1[i]); //在第一行顯示字符串“hdxydxc@163.com”
i++;
}
delay(1200);
lcd_pos(0x41);//設置顯示位置為第二行第二個字符
i=0;
while(dis2[i]!='\0')
{
lcd_wdat(dis2[i]); //在第二行顯示字符串“QQ:1767104479”
i++;
}
delay(200);
lcd_wcmd(0x01); //清除LCD顯示內容
delay(1);
lcd_pos(1);//設置顯示位置為第一行第二個字符
i=0;
while(dis1[i]!='\0')
{
lcd_wdat(dis2[i]); //在第一行顯示字符串“QQ:1767104479”
i++;
}
delay(1200);
lcd_pos(0x41);//設置顯示位置為第二行第二個字符
i=0;
while(dis3[i]!='\0')
{
lcd_wdat(dis3[i]); //在第二行顯示字符串“2016-10-20”
i++;
}
delay(200);
lcd_wcmd(0x01); //清除LCD顯示內容
delay(1);
lcd_pos(1);//設置顯示位置為第一行第二個字符
i=0;
while(dis3[i]!='\0')
{
lcd_wdat(dis3[i]); //在第一行顯示字符串“2016-10-20”
i++;
}
delay(1200);
lcd_pos(0x41);//設置顯示位置為第二行第二個字符
i=0;
while(dis4[i]!='\0')
{
lcd_wdat(dis4[i]); //在第二行顯示字符串“I LOVE YOU”
i++;
}
delay(200);
lcd_wcmd(0x01); //清除LCD顯示內容
delay(1);
lcd_pos(1);//設置顯示位置為第一行第二個字符
i=0;
while(dis4[i]!='\0')
{
lcd_wdat(dis4[i]); //在第一行顯示字符串“I LOVE YOU”
i++;
}
delay(1200);
lcd_pos(0x41);//設置顯示位置為第二行第二個字符
i=0;
while(dis1[i]!='\0')
{
lcd_wdat(dis1[i]); //在第二行顯示字符串“hdxydxc@163.com”
i++;
}
delay(200);
lcd_wcmd(0x01); //清除LCD顯示內容
delay(1);
}
void lcd_init(void) //LCD初始化設定
{
lcd_wcmd(0x38); //設置顯示格式為:16*2行顯示,5*7點陣,8位數據接口
delay(1);
lcd_wcmd(0x0c);//0x0f--顯示開關設置,顯示光標并閃爍
delay(1);
lcd_wcmd(0x06);//0x06--讀寫后指針加1
delay(1);
lcd_wcmd(0x01); // 清除LCD顯示內容
delay(1);
}
void main(void)
{
lcd_init(); // 初始化LCD
delay(10);
while(1)
{
LCD_disp();
}
}
復制代碼
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1