小弟上次藉著版友的提醒
順利的做出 LED 跑馬燈的控制
最近開始在做 LCD 的部分
但剛做沒多久就碰到困難了 XD
小弟要讓某個字在 LCD 上呈現順時針轉動的感覺 ( 或逆時針 )
LCD 螢幕分為上下兩排
我可以讓那個文字在上面那一排由左跑到右
也可以讓那個文字在下面那一排由右跑到左
但是合寫在一個 while 裡就會發生錯誤 囧"
以下是小弟寫的程式
#include <REG51F.H>
#define uchar unsigned char
#define uint unsigned int
uchar code Table1[] = "H";
sbit RS=P0^0;
sbit EN=P0^1;
sfr DATA_BUS=0x80;
void Init_LCD(void);
void LCD_CmdI(uchar comm);
void LCD_Cmd(uchar comm);
void Send_Data(uchar Data);
void Delay(uint del);
void DLY(uchar dly);
void main(void)
{
uchar i; EN=0;
Init_LCD();
while (1) {
LCD_Cmd(0x0C); Delay(65000);
LCD_Cmd(0x80); // 上排左到右
for(i=0 ; i<1 ; i++)
Send_Data(Table1[i]);
for(i=0 ; i<15 ; i++)
{
LCD_Cmd(0x1C); Delay(65000);
}
LCD_Cmd(0xCF); // 下排右到左
for(i=0 ; i<1 ; i++)
Send_Data(Table1[i]);
for(i=0 ; i<15 ; i++)
{
LCD_Cmd(0x18); Delay(65000);
}
}
}
如果把上排左到右或下排右到左其中一個 // 掉都可以執行
但這樣寫起來就沒辦法形成一個感覺是順時針的跑動
不知道有沒有版友可以提點一下的 Q_Q
先感謝各位大大
※ 此程式是由範例程式拿來改的,因此我只有 PO 我有改的 main 的部分
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.10.152