找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1409|回复: 0
收起左侧

TFT STM32源码

[复制链接]
ID:313895 发表于 2018-5-20 23:07 | 显示全部楼层 |阅读模式
TFT STM32单片机源程序如下:
  1. #include "Init.h"

  2. //初始化CPU
  3. void IniCPU(void)
  4. {
  5. //        P0M1 = 0x00;                 //液晶驱动端口
  6. //        P0M0 = 0xFF;

  7. //        P1M1 = 0x00;                //P1.6P1.7为输入其他为输出
  8. //        P1M0 = 0x3F;                //老板子

  9.         P1M1 = 0x00;                //P1.6P1.7为输入其他为输出
  10.         P1M0 = 0x00;                //新板子

  11.         P2M1 = 0x00;                //按键本身有上拉电阻
  12.         P2M0 = 0x00;

  13.         P3M1 = 0x00;                //输入有上拉,P3.0P3.1为通信端口
  14.         P3M0 = 0x00;                //弱上拉

  15.         P4SW = 0x70;                 //0111,0000 P4.4,P4.5P4.6设置为输出

  16.         P4M1 = 0x00;                //4.0为键盘端口有外部上拉,P4.3为掉电检测端口弱上拉
  17.         P4M0 = 0xF6;                //P4.7为蜂鸣器,其它端口为液晶驱动端口,强上拉抗干扰

  18.         TMOD = 0x10;                 // T1为方式1,T0为方式0
  19.          
  20.         TH1 = 0xB2;                        //22.1MHz10ms
  21.         TL1 = 0x91;               
  22.         ET1 = 1;                         //定时器1许中断
  23.         TR1 = 1;                        //定时器开始工作

  24. //        PCON = 0x00;
  25. //        SCON = 0X00;                //串口模式0,8位数据
  26. //
  27. //IT0 = 1;                     //设置中段触发方式为边缘出发方式
  28. //EX0 = 1;                        //必须为1,否则第一次显示不正确
  29.         ES = 0;                                //关闭串口通信中断
  30.         EA = 1;                      //全局中断开关
  31. }


  32. //初始化Eeprom
  33. void IniEeprom(void)
  34. {
  35.         unsigned char i;

  36.         EepromRead(0x0000, SysTotal, MemorySys);
  37.         EepromRead(0x0800, 2, SysTimer);

  38.         for( i=0; i<SysTotal-2; i++)
  39.         {
  40.                 if( MemorySys[i] != MemorySys[i+1])
  41.                 {
  42.                         break;
  43.                 }
  44.         }

  45.         if( i == SysTotal-2 )                                                //第一次开始上电,数据恢复到出厂设置
  46.         {
  47.                 EepromFactory();
  48.                 SysTimer[0] = 0;
  49.                 SysTimer[1] = 0;
  50.                 EepromSave(0x0800, 2, SysTimer);
  51.         }
  52. }


  53. //初始化LCD
  54. void IniLCD(void)
  55. {
  56.         lcdreset();                                                       //初始化LCD屏
  57.         wr_com1(0x01);                                               //清除显示,并且设定地址指针为00H
  58.         wr_com2(0x01);
  59.         display_word(Logo[0],Logo[1],Logo[2],Logo[3]);
  60. }

  61. //初始化机器状态
  62. void IniState(void)
  63. {
  64.         Beep = 0;                                       
  65. }

  66. //系统初始化
  67. void SysInit(void)
  68. {
  69.         IniCPU();
  70.         AllMotoStop();                                                        //初始化输出
  71.         IniLCD();
  72.         IniEeprom();
  73.         display_word(Logo[0],Logo[1],Logo[2],Logo[4]);
  74.         DelayMS(5000);
  75.         IniState();
  76. }



复制代码

所有资料51hei提供下载:
单片机一体机十四点电路板测试.rar (111.5 KB, 下载次数: 5)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表