全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1868
推到 Plurk!
推到 Facebook!

文字型LCD的文字閃爍和向左及向上

缺席
pigyo
一般會員


發表:3
回覆:0
積分:0
註冊:2009-01-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-01-05 16:09:18 IP:210.60.xxx.xxx 訂閱
您好,以下為我的程式,要如何修改才可以有"文字閃爍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;
}'
系統時間:2024-04-28 11:12:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!