电子时钟设计报告_第1页
电子时钟设计报告_第2页
电子时钟设计报告_第3页
电子时钟设计报告_第4页
电子时钟设计报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4页共9页电子时钟设计报告1设计任务与要求1.1设计任务用STM32设计一个数字电子钟,采用LCD12864来显示并修改,时间或闹铃。1.2设计要求1)显示功能:可显示时间等基本功能。2)具有闹铃功能。3)按键改变时间。4)按键改变闹铃。5)温度的显示。2方案设计与论证整个系统用stm32单片机作为中央控制器,由单片机执行采集内部RTC值,时钟信号通过单片机I/O口传给TFT彩屏,单片机模块控制驱动模块驱动显示模块,通过显示模块来实现信号的输出。系统设有按键模块用于对时间进行调整及扩展多个小键盘。2.1显示电路方案一:TFT彩屏。显示质量高,没有电磁辐射,可视面积大,应用范围广,画面效果好,数字式接口,“身材”匀称小巧,功耗小。方案二:数码管动态显示。动态显示,即各位数码管轮流点亮,对于显示器各位数码管,每隔一段延时时间循环点亮一次。利用人的视觉暂留功能可以看到整个显示,但须保证扫描速度足够快,人的视觉暂留功能才可察觉不到字符闪烁。显示器的亮度与导通电流、点亮时间及间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。从节省单片机芯片I/O口和降低能耗角度出发,本数字电子钟数码管显示选择设计采用方案一,既TFT彩屏显示。2.2电源电路本数字电子钟设计所需电源电压为直流、电压值大小5V的电压源直接用miniUSB通过电脑USB接口供电。2.3按键电路本数字电子钟设计所需按键用于进行显示时间的调整与设置扩展的小键盘。单片机芯片4个I/O口可与按键直接相连,通过编程,单片机芯片即可控制按键接口电平的高低,即按键的开与关,以达到用按键进行显示时间的调整与设置扩展的小键盘的设计要求。图2指示灯与复位电路图3稳压电路,变压电路,晶震图4实物图4软件设计主程序如下#include<stm32f10x_lib.h> #include"rtc.h" #include"sys.h"#include"usart.h" #include"delay.h" #include"led.h"#include"key.h"#include"exti.h"#include"wdg.h"#include"timer.h"#include"lcd.h" #include"rtc.h"#include"wkup.h"#include"adc.h"#include"dma.h"#include"24cxx.h"#include"flash.h"#include"touch.h"#include"24l01.h"#include"mmc_sd.h"#include"remote.h"#include"ds18b20.h"constu8*COMPILED_DATE=__DATE__;//获得编译日期constu8*COMPILED_TIME=__TIME__;//获得编译时间constu8*Week[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};intmain(void){ u8t=0; shorttemp; Stm32_Clock_Init(9);//系统时钟设置 delay_init(72); //延时初始化 uart_init(72,9600);//串口1初始化 LED_Init(); LCD_Init(); RTC_Init(); //RTC_Set(2015,7,15,20,27,50);//设置时间 POINT_COLOR=RED;//设置字体为红色 LCD_ShowString(30,50,"CCNU-NERCEL"); LCD_ShowString(30,70,"ZhuXiaobin2014112786"); LCD_ShowString(30,90,"JiangXiaomei2014112787");// LCD_ShowString(30,110,"2015/07/15"); //显示时间 POINT_COLOR=BLUE;//设置字体为蓝色 LCD_ShowString(60,130,"--"); LCD_ShowString(60,162,"::"); while(DS18B20_Init())//初始化DS18B20,兼检测18B20 { LCD_ShowString(60,180,"DS18B20CheckFailed!"); delay_ms(500); LCD_ShowString(60,180,"PleaseCheck!"); delay_ms(500); LED0=!LED0;//DS0闪烁 } LCD_ShowString(60,180,"DS18B20Ready!"); POINT_COLOR=BLUE;//设置字体为蓝色 LCD_ShowString(60,200,"Temperate:.C"); while(1) { if(t!=timer.sec) { t=timer.sec; LCD_ShowNum(60,130,timer.w_year,4,16); LCD_ShowNum(100,130,timer.w_month,2,16); LCD_ShowNum(124,130,timer.w_date,2,16); switch(timer.week) { case0: LCD_ShowString(60,148,"Sunday"); break; case1: LCD_ShowString(60,148,"Monday"); break; case2: LCD_ShowString(60,148,"Tuesday"); break; case3: LCD_ShowString(60,148,"Wednesday"); break; case4: LCD_ShowString(60,148,"Thursday"); break; case5: LCD_ShowString(60,148,"Friday"); break; case6: LCD_ShowString(60,148,"Saturday"); break; } LCD_ShowNum(60,162,timer.hour,2,16); LCD_ShowNum(84,162,timer.min,2,16); LCD_ShowNum(108,162,timer.sec,2,16); LED0=!LED0; } delay_ms(10); temp=DS18B20_Get_Temp(); if(temp<0) { temp=-temp; LCD_ShowChar(140,200,'-',16,0);//显示负号 } LCD_ShowNum(148,200,temp/10,2,16);//显示温度值 LCD_ShowNum(172,200,temp%10,1,16);//显示温度值 //printf("t1:%d\n",temp); delay_ms(200); LED0=!LED0; };}参考文献[1]康华光.电子技术基础模拟部分第四版[M].北京:高等教育出版社,1999.6.[2]阎石.数字电子技术基础第四版[M].北京:高等教育出版社,1999.6.[3]王福瑞等.单片微机测控系统设计大全[M].北京航空航天大学出版社,1998(331-337).

[4]宁改娣,杨拴科.DSP控制器原理及应用[M].科学出版社,2002.[5]周立功等.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论