TFT STM32單片機源程序如下:
- #include "Init.h"
- //初始化CPU
- void IniCPU(void)
- {
- // P0M1 = 0x00; //液晶驅動端口
- // P0M0 = 0xFF;
- // P1M1 = 0x00; //P1.6P1.7為輸入其他為輸出
- // P1M0 = 0x3F; //老板子
- P1M1 = 0x00; //P1.6P1.7為輸入其他為輸出
- P1M0 = 0x00; //新板子
- P2M1 = 0x00; //按鍵本身有上拉電阻
- P2M0 = 0x00;
- P3M1 = 0x00; //輸入有上拉,P3.0P3.1為通信端口
- P3M0 = 0x00; //弱上拉
- P4SW = 0x70; //0111,0000 P4.4,P4.5P4.6設置為輸出
- P4M1 = 0x00; //4.0為鍵盤端口有外部上拉,P4.3為掉電檢測端口弱上拉
- P4M0 = 0xF6; //P4.7為蜂鳴器,其它端口為液晶驅動端口,強上拉抗干擾
- TMOD = 0x10; // T1為方式1,T0為方式0
-
- TH1 = 0xB2; //22.1MHz10ms
- TL1 = 0x91;
- ET1 = 1; //定時器1許中斷
- TR1 = 1; //定時器開始工作
- // PCON = 0x00;
- // SCON = 0X00; //串口模式0,8位數據
- //
- //IT0 = 1; //設置中段觸發方式為邊緣出發方式
- //EX0 = 1; //必須為1,否則第一次顯示不正確
- ES = 0; //關閉串口通信中斷
- EA = 1; //全局中斷開關
- }
- //初始化Eeprom
- void IniEeprom(void)
- {
- unsigned char i;
- EepromRead(0x0000, SysTotal, MemorySys);
- EepromRead(0x0800, 2, SysTimer);
- for( i=0; i<SysTotal-2; i++)
- {
- if( MemorySys[i] != MemorySys[i+1])
- {
- break;
- }
- }
- if( i == SysTotal-2 ) //第一次開始上電,數據恢復到出廠設置
- {
- EepromFactory();
- SysTimer[0] = 0;
- SysTimer[1] = 0;
- EepromSave(0x0800, 2, SysTimer);
- }
- }
- //初始化LCD
- void IniLCD(void)
- {
- lcdreset(); //初始化LCD屏
- wr_com1(0x01); //清除顯示,并且設定地址指針為00H
- wr_com2(0x01);
- display_word(Logo[0],Logo[1],Logo[2],Logo[3]);
- }
- //初始化機器狀態
- void IniState(void)
- {
- Beep = 0;
- }
- //系統初始化
- void SysInit(void)
- {
- IniCPU();
- AllMotoStop(); //初始化輸出
- IniLCD();
- IniEeprom();
- display_word(Logo[0],Logo[1],Logo[2],Logo[4]);
- DelayMS(5000);
- IniState();
- }
復制代碼
所有資料51hei提供下載:
單片機一體機十四點電路板測試.rar
(111.5 KB, 下載次數: 5)
2018-5-20 23:07 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|