文字型LCD的文字閃爍和向左及向上 |
缺席
|
pigyo
一般會員 發表:3 回覆:0 積分:0 註冊:2009-01-03 發送簡訊給我 |
您好,以下為我的程式,要如何修改才可以有"文字閃爍3次","慢速向上",''慢速往左"這各三個'效果,感謝不吝指教!!!
#include #define DBPORT P0 // 定義 P0 埠為資料輸出埠 sbit RS=P1^0 ; // LCD致能控制線接腳 sbit RW=P1^1 ; // LCD讀寫控制接腳 sbit E=P1^2 ; // LCD 資料與指令選擇線接腳 void delay1ms(int count); // 時間延遲副程式 void LCD_CMD(char cmd); // 寫入指令暫存器函式原型宣告 void LCD_DATA(char data1); // 寫入資料暫存器函式原型宣告 char code mess1[]="95441160"; char code mess2[]="shin"; main() { char *pp; // 設定字串的指標位置 delay1ms(5) ; // 等待 LCD 電源與穩定 LCD_CMD(0x3b) ; // #0111011B 8位元存取雙列字5×7字型 LCD_CMD(0xe) ; // #01110B 顯示器ON/游標閃爍/x被顯示在位址計數器 while(1) { LCD_CMD(0x1) ; // 清除螢幕 delay1ms(5) ; // 時間延遲delay1ms(2) ; LCD_CMD(0x80); // 設定DD RAM位址第一行第1列 pp = mess1; while(*pp !=0) LCD_DATA(*pp ); // 呼叫顯示字串函式 delay1ms(1000) ; LCD_CMD(0x1) ; // 清除螢幕 delay1ms(5) ; // 時間延遲delay1ms(2) ; LCD_CMD(0xC0); // 設定DD RAM位址第一行第2列 pp = mess2; while(*pp !=0) LCD_DATA(*pp ); // 呼叫顯示字串函式 delay1ms(1000) ; } } void delay1ms(int count) { int i,j; for(i=0;ifor(j=0;j<119;j ); } // 寫入資料暫存器函式 void LCD_DATA(char data1) { char i; DBPORT=data1; // ASCII字元輸出到資料線 RS=1;RW=0;E=1; //控制線 寫入資料暫存器 for(i=0 ; i < 40 ;i ) ; // 一個短時間的延遲時序 RS=1;RW=0;E=0; } // 寫入指令暫存器函式 void LCD_CMD(char cmd) { char i; DBPORT =cmd ; //寫入指令暫存器 RS=0;RW=0;E=1; //控制線 P1=0x04; for(i=0 ; i < 40 ;i ) ; // 一個短時間的延遲時序 RS=0;RW=0;E=0; //控制線 P1=0x00; }' |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |