這個項目是前段時間,要使用LCD12864的時候?qū)懙摹S肧TM32和AMPIRE12864做的仿真,用Proteus(Proteus8.7及以上版本元件庫有STM32)中元件做的仿真。代碼純手動創(chuàng)作,端口操作用了位帶操作,可以把STM32像51單片機一樣來操作。寫了基本的字符顯示函數(shù),沒有加入中文字庫,我用的是8x8像素的英文字符集。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
stm32+ampire12864.jpg (460.45 KB, 下載次數(shù): 45)
下載附件
2019-5-13 14:05 上傳
單片機源程序如下:
- /***********************************************/
- //實驗名稱:12864液晶實驗
- /***********************************************/
- #include "config.h"
- int main(void)
- {
- // int i=0,j=0;
- // int count=0;
- Stm32_Clock_Init(9);//系統(tǒng)時鐘設置
- delay_init(72); //延時初始化
- //LED_Init(); //初始化與LED連接的硬件接口
- Init_12864(); //初始化帶字庫12864液晶
-
- // Display_string(0,0," 單片機綜合設計"); //顯示第1行
- // Display_string(0,1," STM32 TEST "); //顯示第2行
- // Display_string(0,2,"字庫液晶測試實驗"); //顯示第3行
- // Display_string(0,3," 2018.03 "); //顯示第4行
-
-
- // LCD_P6x8Str(1,0,"This is a test");
- // LCD_DispACat(2,90);
- // LCDClearScreen(LeftScreen);
- // LCDSelectScreen(LeftScreen);
- // LCDSetLine(0);
- // LCDSetColumn(0);
- // for (i=0;i<8;i++)
- // {LCDSetPage(i);
- // for (j=0;j<64;j++)
- // {
- // write_12864data(LongMao[i][j]);
- // }
- // }
- //LCD_P6x8Str(2,0," ");
- LCD_P6x8Str(2,0," User:");
- LCD_P6x8Str(3,0," Pw :");
- //LCD_P6x8Str(4,0," User");
- while(1)
- {
- //LED0=!LED0; //指示燈閃爍
- if (Read_Key() == APP_Success)//按鍵刷新
- {
- LCD_P6x8Str(7,0,"APP_Success");
- LCD_P6x8Str(8,0," ");
- DisplayKeyValue();
- }
- else
- {
- LCD_P6x8Str(8,0,"APP_Error");
- }
-
- delay_ms(10);
- }
- }
復制代碼
所有資料51hei提供下載:
STM32+AMPIRE12864.7z
(141.22 KB, 下載次數(shù): 220)
2019-5-14 04:26 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|