stm32电子钟设计课程设计报告.docx

上传人:小*** 文档编号:76394964 上传时间:2023-03-10 格式:DOCX 页数:31 大小:3.40MB
返回 下载 相关 举报
stm32电子钟设计课程设计报告.docx_第1页
第1页 / 共31页
stm32电子钟设计课程设计报告.docx_第2页
第2页 / 共31页
点击查看更多>>
资源描述

《stm32电子钟设计课程设计报告.docx》由会员分享,可在线阅读,更多相关《stm32电子钟设计课程设计报告.docx(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、. .课程论文成绩题目:基于 STM32 的多功能电子时钟学生姓名:梁健学生学号:1008050120系别:电气信息工程系专业:电子信息科学与技术年级:2010 级任课教师:郑晓东. .word.电气信息工程学院制2013 年 3 月基于 stm32 的多功能电子时钟学生:梁健 指导教师:郑晓东电气信息工程学院电子信息科学与技术专业一、设计任务与要求51、设计任务52、设计要求5二、方案设计与论证51、单片机芯片选择方案72、显示选择方案7三、硬件单元电路设计与参数计算81、电源电路82、按键电路83、rtc 时钟94、12864 显示电路95、温度传感器模块10四、 软件设计与流程图101、

2、主程序流程图102、显示子程序流程图123、按键子程序流程图14五、总原电路及元器件清单161总原理图16六、元器件清单26七、主程序26八、 参考文献30摘要:本论文基于单片机原理技术介绍了一款于stm32芯片作为核心控制器的单片机数字电子钟的设计与制作,包括硬件电路原理的实现方案设计、软件程序编辑的实现、数字电子钟正常工作的流程、原理图仿真实现、硬件实物的安装制作与硬件实物的调试过程。该单片机数字电子钟采用stm32自带的RTC,用lLCD12864能够准确显示时间(显示格式为:年月日时分秒),可随时进行时间调整,时间可采用12 小时制显示或24 小时制显示,用12864做成菜单形式,闹铃

3、提醒,可按自己的要求设置扩展的小键盘个数,并增加温度显示。关键词:单片机 、数字电子钟 、LCD12864、STM32、RTC,温度传感器一、设计任务与要求1、设计任务用 STM32 设计一个数字电子钟,采用 LCD12864 来显示并修改,时间或闹铃。2、设计要求(1) 显示格式为:XXXXXX XXXXXX 即:年月日 时分秒。(2) 具有闹铃功能。(3) 按键改变时间。(4) 按键改变闹铃。(5) 温度的显示。二、方案设计与论证整个系统用 stm32 单片机作为中央控制器,由单片机执行采集内部 rtc 值,时钟信号通过单片机 I/O 口传给 LCD12864,单片机模块控制驱动模块驱动显

4、示模块,通过显示模块来实现信号的输出、LCD12864 的显示及相关的控制功能。系统设有按键模块用于对时间进行调整及扩展多个小键盘,系统整体框图如图 1 所示。开始选择更改时间,闹铃跳显示时间,温度是设正 常 显图 1系统整体框图1、单片机芯片选择方案方案一: stm32 是一个低功耗,高性能 32 位单片机,片内含 4k Bytes ISP(In-system programmable)的可反复擦写 1000 次的 Flash 只读程序存储器。主要性能有:与 MCS-51 单片机产品兼容、全静态操作:0Hz33Hz、 三级加密程序存储器、32 个可编程 I/O 口线、三个 16 位定时器/计

5、数器、八个中断源、全双工 UART 串行通道、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符、易编程。方案二:AT89C52 是一个低电压,高性能 CMOS 8 位单片机,片内含 8k bytes 的可反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器(RAM)。主要性能有:兼容 MCS51 指令系统、32 个双向 I/O 口、256x8bit 内部 RAM、3 个 16 位可编程定时/计数器中断、时钟频率 0-24MHz、2 个串行中断、可编程 UART 串行通道、2 个外部中断源、6 个中断源、2 个读写中断口线、3 级加密位、低功耗空闲和掉电模式、

6、软件设置睡眠和唤醒功能。从单片机芯片主要性能角度出发,本数字电子钟单片机芯片选择设计采用方案一既 stm32。2、显示选择方案方案一:lcd1286。显示质量高,没有电磁辐射,可视面积大,应用范围广, 画面效果好,数字式接口,”身材”匀称小巧,功耗小。方案二:数码管动态显示。动态显示,即各位数码管轮流点亮,对于显示器各位数码管,每隔一段延时时间循环点亮一次。利用人的视觉暂留功能可以看到整个显示,但须保证扫描速度足够快,人的视觉暂留功能才可察觉不到字符闪烁。显示器的亮度与导通电流、点亮时间及间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了 I/O 口,降低了能耗。从节省单片机

7、芯片 I/O 口和降低能耗角度出发,本数字电子钟数码管显示选择设计采用方案一,既 lcd12864 显示。三、硬件单元电路设计与参数计算1、电源电路本数字电子钟设计所需电源电压为直流、电压值大小 5V 的电压源 。从硬件实物设计简易程度与经费方面考虑,用两节电压值大小 2.5V 干电池与电路电压源引脚相连接即可达到硬件设计要求。即本数字电子钟设计用两节电压值大小2.5V 干电池做硬件电路电压源。2、按键电路本数字电子钟设计所需按键用于进行显示时间的调整与设置扩展的小键盘。单片机芯片 4 个 I/O 口可与按键直接相连,通过编程,单片机芯片即可控制按键接口电平的高低,即按键的开与关,以达到用按键

8、进行显示时间的调整与设置扩展的小键盘的设计要求。3、rtc 时钟Stm32 自带 rtc 模块 , 实时时钟是一个独立的定时器。RTC 模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期RTC 模块和时钟配置系统(RCC_BDCR 寄存器)处于后备区域,即在系统复位或从待机模式唤醒后,RTC 的设置和时间维持不变。系统复位后,对后备寄存器和 RTC 的访问被禁止,这是为了防止对后备区域(BKP)的意外写操作。在 RTC 预分频器余数寄存器(RTC_DIVH / RTC_DIVL)赋值可改变 时间,在 RTC 闹钟寄存器(RTC_

9、ALRH/RTC_ALRL) 中改变闹铃时 间。4、12864 显示电路数字电子钟设计的显示模块用 8 个一位数码管实现,也可用两个四位一体数码管实现。两种实现方式实现效果一样。从实物制作的难易程度出,本数字电子钟设计采用两个四位一体数码管实现。即数码管引脚与单片机芯片和 74LS245 对应引脚相连接。5、温度传感器模块DS18B20 数字温度传感器接线方便,封装成后可应用于多种场合,如管道式, 螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有 LTM8877,LTM8874 等等。主要根据应用场合的不同而改变其外观。封装后的 DS18B20 可用于电缆沟测温,高炉水循环测温,锅炉测温,机

10、房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样, 适用于各种狭小空间设备数字测温和控制领域。1: 技术性能描述、 独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。 、测温范围 55+125,固有测温误差(注意,不是分辨率,这里之前是错误的)0.5。、支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,最多只能并联 8 个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。、工作电源: 35V/DC (可以数据线寄生电源) 、在使用

11、中不需要任何外围元件。四、软件设计与流程图1、主程序流程图主程序流程图如下图图 2 所示开启rtc,初始化温进 入 循是否Sec 变了?更改数值显示温度图 22、显示子程序流程图显示程序流程图如下图图 3 所示。开始Rtc 计数开始循环次数加 1是否满 1s?秒值加 1是否满N分值加 1N是否满Y小时加 1N是否满Y显示缓冲单元清 0返回图 33、按键子程序流程图显示子程序流程图如下图图 4 所示。开始DISPLAYY切换键是N否按下?秒正分小值常值时小按显按按时=N标志位显示 A键示键键按?Y按按分离秒值个位、十下下下标志位显 示Y显示秒十位、个位显示 HYYY分离分值个位、十时数加分数加秒

12、数加显示分十位、个位分离小时个位、十显示小时十位、个图 4五、总原电路及元器件清单1. 总原理图最小系统控制原理图如下图图 5 所示, 12864 原理图如下图图 6 所示。图 5(1):stm32f103 引脚图图 5(2):指示灯与复位电路图 5(3):稳压电路,变压电路,晶震图 62. 实物图图 7 按键模块图 8 stm32 最小系统模块图 9 欢迎界面图 10 选择界面图 11 正常显示界面图 12 选择时界面图 13 调整时间界面图 14 调整闹铃界面图 15 闹铃开始界面图 16 12864 实物图 17 调温度传感器实物六、元器件清单STM32F103VE T6一个杜邦线一束L

13、cd12864一个定位器(10k)一个Ds18b20一个插排一排电源一个铜柱两个七、主程序/#include #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 rtc.h #include lcd12864.h #include ds18b20.h #include adc.h #include timer.hconst u8 *COMPILED_DATE= DATE ;/获得

14、编译日期const u8 *COMPILED_TIME= TIME ;/获得编译时间extern u8TIM5CH1_CAPTURE_STA;/输入捕获状态extern u16 TIM5CH1_CAPTURE_VAL; /输入捕获值short temp;int main(void)/u16 adcx; u8 t=1;Stm32_Clock_Init(9);/系统时钟设置delay_init(72);/延时初始化uart_init(72,9600); /串口 1 初始化KEY_Init();LCD12864_initial();/初始化 12864 液晶LCD_Clearh();/12864 液

15、晶初始化LED_Init();/初始化与 LED 连接的硬件接口Adc_Init();/AD 转换初始化EXTIX_Init();/外部中断初始化RTC_Init();/时钟初始化xuanzhe();/选择你需要的操作while(DS18B20_Init()/初始化 DS18B20,兼检测 18B20LCD(3,0,失败);delay_ms(500); LED0=!LED0;/DS0 闪烁while(1)temp=DS18B20_Get_Temp();if(temp0)temp=-temp;LCD(3,4,_);Show_dig(2,5,temp/10);/显示温度值LCD12864_send

16、byte(0,0x33);LCD12864_sendbyte(1,46); Show_digl(temp%10);LCD(2,7,);if(t!=timer.sec)t=timer.sec; Show_dig(1,0,timer.w_year); LCD12864_sendbyte(1,47);if(timer.w_month=9) Show_digl(0); Show_digl(timer.w_month);else Show_digl(timer.w_month); LCD12864_sendbyte(1,47);if(timer.w_date=9) Show_digl(0); Show_

17、digl(timer.w_date);else Show_digl(timer.w_date);switch(timer.week)case 0:LCD(1,5,星期天);break; case 1:LCD(1,5,星期一);break; case 2:LCD(1,5,星期二);break; case 3:LCD(1,5,星期三);break; case 4:LCD(1,5,星期四);break; case 5:LCD(1,5,星期五);break; case 6:LCD(1,5,星期六);break;Show_digshuzhi(2,0,timer.hour); LCD12864_sendb

18、yte(1,58);LCD12864_sendbyte(0,0x33); if(timer.min=9) Show_digl(0);Show_digl(timer.min);else Show_digl(timer.min);LCD12864_sendbyte(0,0x33); LCD12864_sendbyte(1,58); if(timer.sec=9) Show_digl(0); Show_digl(timer.sec); else Show_digl(timer.sec);LCD12864_sendbyte(0,0x02);Show_dig(2,5,temp/10);/显示温度值LCD

19、12864_sendbyte(0,0x33);LCD12864_sendbyte(1,46); Show_digxiaoshu(temp%10);LCD(2,7,);delay_ms(50); LCD12864_sendbyte(0,0x02);八、参考文献1 康华光.电子技术基础模拟部分第四版M.:高等教育出版社,1999.6.2 阎石.数字电子技术基础第四版M.:高等教育出版社,1999.6.3 王福瑞等单片微机测控系统设计大全M 北京航空航天大学出版社,1998(331337)4 宁改娣,杨拴科DSP 控制器原理及应用M科学出版社,20025 周立功等.ARM 嵌入式系统基础教程M.:北

20、京航空航天大学出版社,2005.1.6 周立功等.ARM 嵌入式系统实验教程M.:北京航空航天大学出版社,2005.1.7 罗浩等.一种新的基于 ARM 的数据采集系统设计J.信阳师范学院学报(自然科学版),2006.4.8 秦伟等.基于 ARM 处理器的数据采集系统的设计J.自动化技术与应用.2006 年第 10 期.9 杜春雷.ARM 体系结构与编程.清华大学出版社,2003.10 李宁.ARM 开发工具 ReaIView MDK 使用入门M.北京航空航天大学出版社,2008.11 李宁.基于 MDK 的 STM32 处理器开发应用 M.北京航空航天大学出版社,2008.12 刘 黎 明 等 . 单 片 机 与 嵌 入 式 系 统 应 用 J. 英 文 刊 名MICROCON TROLLER&EMBEDDED SYSTEM. 2002(7).

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁