1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標題: LCD寄存器 如何取值? [打印本頁]

作者: cheney03    時間: 2020-6-4 09:55
標題: LCD寄存器 如何取值?
本帖最后由 cheney03 于 2020-6-5 08:33 編輯

例如我現在要設置第3項:彩屏工作窗口設置,有個疑問寄存器地址的值是如何取的,是不是30h~3Fh都可以。苛硗獬绦蛑 temp=XL>>8;為什么要右移8位?

2.png (251.07 KB, 下載次數: 43)

2.png

3.png (36.1 KB, 下載次數: 45)

3.png

作者: cheney03    時間: 2020-6-5 10:37
沒人回答么,自己頂一下!
作者: xuyaqi    時間: 2020-6-5 18:54
你的問題,把數據手冊看明白就會解決,我們沒有數據手冊不好回答。
作者: 紅領巾    時間: 2020-6-5 22:34
你的tmp變量是不是16位的,寄存器應該是8位的。一開始是把tmp變量中的低8位參與LCD_DataWrite()運算,右移8位取出tmp變量中的高8位,再參與LCD_DataWrite()運算
作者: cheney03    時間: 2020-6-6 08:30
xuyaqi 發表于 2020-6-5 18:54
你的問題,把數據手冊看明白就會解決,我們沒有數據手冊不好回答。

謝謝,已經在數據手冊中找到答案了
作者: cheney03    時間: 2020-6-6 08:39
紅領巾 發表于 2020-6-5 22:34
你的tmp變量是不是16位的,寄存器應該是8位的。一開始是把tmp變量中的低8位參與LCD_DataWrite()運算,右移8 ...

//*************寫數據*************//
void LCD_DataWrite(unsigned char Data)
{
                cs1=0;
                rs=0;  // 數據讀取或寫入周期
                rd=1; //delay_us(5);
                BUS = Data;//數據總線
                wr=0; //delay_us(5);資料寫入 (Data Write)
                wr=1; //數據讀取 (Data Read)
                cs1=1;
                  wr=0; //delay_us(5); 指令寫入(CMD Write)
                wr=1; //狀態讀取(Status Read)
                cs1=1;

這個是寫數據函數(8位的),現在只是設置工作窗口,X軸左邊、右邊,Y軸左邊、右邊。變量tmp實際應該是8位的,為什么要右移還是搞不懂
作者: cheney03    時間: 2020-6-6 09:04
看數據手冊,貌似懂了

51hei截圖20200606084732.png (68.51 KB, 下載次數: 54)

51hei截圖20200606084732.png





歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1