TFTLCD显示-电子钟-万年历-完整版
单片机源程序如下:
- #include "sys.h"
- #include "usart.h"
- #include "delay.h"
- #include "led.h"
- #include "beep.h"
- #include "key.h"
- #include "exti.h"
- #include "wdg.h"
- #include "timer.h"
- #include "lcd.h"
- #include "tu1.h" //图片1
- #include "tu.h" //图片2
- #include "tu3.h" //图片3
- #include "rtc.h" //时钟初始化
- #include "lcd_ziti.h"
- #include "lcd_rtc.h"
- #include "lcd_2.h"
- #include "timer_jx.h" //设置时间
-
- #include "24c02_chushihua.h" //24c02初始化---
- #include "24c02.h" //24c02读写操作
- /*************************************************
- 时间通过串口2校准
-
- *************************************************/
- float n1=6,k_1=6,n2=0,k_2=6; //表针角度变量
- volatile unsigned int sum1=2014,sum2=11,sum3=01,sum4=12,sum5=14,sum6=18, sum7=2018,sum8=11,sum9=12,sum10=13,sum11=14,sum12=15;
- //时间-闹钟存储变量 sum1--sum6是时间校准临时变量 剩下的为闹钟校准变量
- u8 t;
- u8 shijianshuzu[100]; //时间存储数组
- volatile int count_cukou=0; //计数器
- int data_x=1; //判断进入中断的序号 //
- u16 BACK_COLOR=0xFFFF; //背景颜色
- u16 POINT_COLOR=0xf800; //画笔颜色
- int main(void) //LCD分辨率最大是240*320 宽240 高320 //LCD屏操作时序与内存时序基本相同//在嵌入式中都为16位来表达颜色
- {
- Stm32_Clock_Init(9); //系统时钟设置
- delay_init(72); //延时初始化
- LED_Init(); //初始化与LED连接的硬件接口
- LCD_Init(); //LCD 初始化
- POINT_COLOR=0xf800; //画笔颜色,默认红色
- EXTIX_Init(); //中断初始化
- usart2_init(36,9600); //串口2初始化设置波特率
- exti_2(); //串口初始化配置中断
- AT24CXX_Init(); //IIC初始化
-
- /****************IIC********************************/
- // while(AT24CXX_Check) //iic初始化(成功返回0,失败返回1)
- // {
- // LCD_ShowString(60,120,80,200,16,"IIC--fail--NO"); //初始化失败--显示
- // delay_ms(50); //延时
- // }
- /***************************************************/
- while(RTC_Init()) //RTC初始化 ,一定要初始化成功
- {
- LCD_ShowString(60,130,200,16,16,"RTC ERROR! "); //初始化错误(坐标,字体显示范围坐标,字体大小,地址
- delay_ms(800);
- LCD_ShowString(60,130,200,16,16,"RTC Trying..."); //正在重新尝试
- }
- lcd_ziti(); //框架显示
- while(1)
- {
- Draw_Circle(120,120,1); //画圆, 表盘中间的小圆 //注视掉屏幕上就没有点
- Draw_Circle(120,120,2);
- Draw_Circle(120,120,3);
- Draw_Circle(120,120,4);
- }
- }
- /***********************************************************************
- 在Keil中编译工程成功后,在下面的Bulid Ouput窗口中会输出下面这样一段信息:
- Program Size: Code=6320 RO-data=4864 RW-data=44 ZI-data=1636
- 代表的意思:
- Code :是程序中代码所占字节大小
- RO-data :程序中所定义的指令和常量大小 (个人理解 :Read Only)
- RW-data :程序中已初始化的变量大小 (个人理解”:Read/Write)
- ZI-Data :程序中未初始化的变量大小 (个人理解 :Zero Initialize)
- 1k等于1024字节 1024k等于1kb 1024kb等于1mb 1024mb等于1gb 1024gb等于1tb
- ************************************************************************/
复制代码
所有资料51hei提供下载:
TFTLCD显示-电子钟-完整---副本.rar
(965.87 KB, 下载次数: 156)
|