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)
|