1樓:匿名使用者
我有51的程式,可供參考。
#include "lcd12864.h"
#include "ziku.h"
#include
static void delay(uint j) //延時
void busy(void)
void wdata(uchar wdata)
void wcode(uchar wcode)
void subinit()
//設定顯示位置
void setxy(uchar x,uchar y)
else //if (y<=127)
wcode(0x40|(y%64));
wcode(0xb8|x);
p0=0xff;
}void wdram(uchar x,uchar y,uchar dd)
//復位.
void lcd_rst(void)
//lcd初始化
void lcd_init(void)
void lcd_on(void)
//lcd 清顯示屏
void lcd_clear(uchar startline,uchar stopline,uchar startrow,uchar stoprow)
} }
//顯示數字.
void lcd_disp_onenum(uchar x,uchar y,uchar num,uchar disp_mode)
break;
case 1:break;
case 2:break;
case 3:break;
case 4:break;
case 5:break;
case 6:break;
case 7:break;
case 8:break;
case 9:break;
default: break;}}
//顯示二位數。
void disp_2num(uchar x,uchar y,uchar num,uchar disp_mode)
//顯示三位數。
void disp_3num(uchar x,uchar y,uint num,uchar disp_mode)
//顯示四位數。
void disp_4num(uchar x,uchar y,uint num,uchar disp_mode)
void lcd_dispico2(uchar x,uchar y,uchar *pico)//顯示老肯圖示}}
//顯示多位數。 disp_mode&0x10==1時,進行即每位都顯示,否則大於0的位置不顯示。
void disp_numgb16(uchar x,uchar y,ulong data,uchar num,uchar disp_mode)}
2樓:
你的電平輸出是對的麼?12864好像是5v電壓驅動的吧?
為什麼我把lcd12864在51上的程式移植到stm32後就不顯示或者亂碼?
3樓:匿名使用者
首先,你要確定lcd12864的電源是5v的,還是3.3v。你用在51微控制器上正常顯示,說明12864是5ⅴ的,而你用stm32上時,lcd的正極接3.
3v,是給lcd加3.3v的電源,那是不能工作的。
但是,給lcd加5v電源,與stm32引腳連線後,加到stm32引腳上有5v電壓,這是不行的。
所以,stm32要配3.3v的液晶屏,重買乙個吧。這個5v只能配51微控制器了。
stm32接12864液晶,用串列埠好,還是並口好?串列埠速度能有多快?能滿足哪些方面的需求?謝謝!
4樓:匿名使用者
12864液晶單bai屏資料是8k位元組
du,如每秒重新整理10次,zhi即80k位元組的資料量dao。
如果使用並口版,即每秒大概有80k組操作權;如果是模擬並口,大概是320k次操作
如果使用串列埠,操作次數是並口的8倍速左右,即每秒不會超過5m次。
而stm32的執行速度可以達到70mips,遠遠高於上述的5m次,所以無論是使用並口,還是模擬並口,還是串列埠,在速度上都是沒有問題的。
我有產品中用過stm32模擬並口和模擬串列埠來驅動12864,都沒有問題。
5樓:匿名使用者
如果用的是spi型別的串列埠,速度足夠了
stm32中,stm32中GPIOx BSRR和 GPIO xBRR寄存允許對任何GPIOx進行讀 更改的獨立訪問
比如我要讓gpioa變為高電平,可以有兩種做法 1 gpioa odr gpio pin 0 2 gpioa bsrr gpio pin 0 比如我要讓gpioa變為低電平,可以有兩種做法 1 gpioa odr gpio pin 0 2 gpioa brr gpio pin 0 總結和糾正一下前面...
stm32如何啟動串列埠中斷,stm32 關於串列埠中斷服務函式
看一下暫存器手冊,配置一下相關暫存器就ok。然後在初始化時或合適的地方啟動串列埠中斷就是了。1.首先配置串列埠1管腳 配置串列埠1引腳 gpio initstructure.gpio pin gpio pin 9 gpio initstructure.gpio speed gpio speed 50...
stm32怎樣存痊大靜態陣列,stm32怎樣訪問超大靜態陣列
你是否是遇到這樣問題 比如定義乙個陣列unsigned char arry num 因為想要這個陣列非常大,也就是說這個num非常大,超過了堆疊的大小,程式就會報錯而編譯不通過,然後你想換種方法解決是嗎?如果是的話有兩種方法可解決 1 擴大堆疊容量,如果是keil編寫 的話,那麼更改堆疊大小在相應的...
stm32微控制器的定時問題,STM32微控制器的定時問題。
是這樣的,看到你這個問題,我腦海裡第乙個反映是,你的初值和計數方式配合反了.因為很多從51過來的人都犯這個錯誤,他們認為,stm32向上計數是從初值 65535 向下是 初值 0,也就是說,他們把初值作為出發點.其實是錯的,初值是目標點,向上是 0 初值,向下是 65535 初值.那麼看一下,如果你...
stm32的晶振為什麼不起振,STM32板的晶振不起振,怎麼辦
是不是你自己做的stm32板子呢?如果是的話建議你檢查電路,一般一次未燒寫程式的stm32晶振是不起振的,如果已經燒寫了程式不起振的話檢查你程式是否已經執行了。檢測boot0與boot1引腳電壓 這個晶元的通病,廠家答覆是使用問題,晶振不合適。問題是其他廠商的單片怎麼就沒這問題呢?st以前生產的其它...