基于STM32的教学楼电子打铃器课程设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1工业微控制器课程设计题目:教学楼电子打铃器设计院系名称:电气工程学院专业班级:学生姓名:学号:指导教师:成绩:指导老师签名:日期:2目录引言.................................................................11系统概述.............................................................11.1设计任务.......................................................11.2设计要求.......................................................12方案设计与论证......................................................12.1单片机芯片选择方案.............................................22.2作息时间控制钟系统概述........................................22.3设计要求:.....................................................22.4单片机总体设计思路.............................................22.5各功能模块程序实现原理分析.....................................33STM32性能介绍及硬件设计.............................................33.1STM32单片机性能介绍...........................................33.2电子打铃系统硬件设计...........................................44系统程序............................................................84.1主程序设计如下.................................................84.2主程序内容....................................................94.3定时器中断函数以及按键程序如图...............................105调试仿真...........................................................12心得体会.............................................................15参考文献:...........................................................161引言当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效的方法就是理论与实践并重,本文用STM32单片机设计的一个电子打铃系统。本次设计中的LED数码管电子时钟电路采用24小时制记时方式,本次设计采用STM32单片机,使用5V电源供电,并且在按键的作用下可以进行调时,调分,复位功能。计时数据的更新在计算机C语言的驱动下每秒自动进行一次,但不需程序干预其输出状态。1系统概述1.1设计任务用STM32设计一个教学楼电子打铃器。1.2设计要求(1)设置至少3种打铃模式,例如正常模式、周末模式、考试模式等;(2)能够通过按键设置打铃时间和每种模式的打铃次数等参数;(3)设置的参数能够掉电存储;(4)具有LED显示接口。22方案设计与论证2.1单片机芯片选择方案stm32是一个低功耗,高性能32位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器。主要性能有:与MCS-51单片机产品兼容、全静态操作:0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器、八个中断源、全双工UART串行通道、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符、易编程。2.2作息时间控制钟系统概述:本设计是一个具有打铃功能的作息时间控制钟。它利用STM32单片机的自带的时基计时,进行年历计算,并用的蜂鸣器驱动模块将它打出来;在进行时间计算,分每加一时,都与规定的作息时间比较,如果相等则进行相应的控制或动作。由七段显示驱动模块、蜂鸣器驱动模块和按钮控制模块三部分组成,四个按键用于报时及校正时间。现代机关企业,特别是学校要求对时间加以控制,要按时打铃及播放广播,以保证学习与工作的正常运行。本设计实现了这些功能,给学校及其他机关企业带来方便,整体性好,人性化强、可靠性高,实现了对时间控制的智能化。2.3设计要求:①利用单片机组成一个电子打铃器。②按照学校上下课铃声次序设定定时间③用一个蜂鸣器模拟电铃,正常模式和周末模式响铃1.8s考试模式时响铃3.6s。④通过LED可以正常显示2.4单片机总体设计思路(1)设计能正常工作的一个单片机最小硬件系统,外围电路包括设置键盘(2)进行软件设计,利用单片机的系统时钟先设计一个高精度的内部时钟系统,最小精确时间为期1秒;(3)在秒计数器的基础上设计一个24小时时钟,并设计若干定时功能;3(4)设计打铃执行机构,完成自动打铃功能。2.5各功能模块程序实现原理分析该模块由蜂鸣器驱动模块,LED模块和按钮控制模块组成。且都通过STM32来实现。1蜂鸣器驱动模块采用压电式蜂鸣器,压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5-15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。2按钮控制模块四个按钮的一端分别接地,另一端接单片机一个端口的四个引脚,当某一个按钮按下的时候,其对应的引脚就由高电平变成低电平,然后通过单片机扫描读取引脚的电平来判断按钮是否按下。3LED模块题目的要求只需用一个LED灯便可以显示传输是否在运行,故只接两个LED灯,LED0为显示传输是否运行的指示灯,SYS为系统是否有电源进行供电的指示灯。3STM32性能介绍及硬件设计3.1STM32单片机性能介绍STM32它拥有的资源包括:48KBSRAM、256KBFLASH、2个基本定时器、4个通用定时器、2个高级定时器、2个DMA控制器(共12个通道)、3个SPI、2个IIC、5个串口、1个USB、1个CAN、3个12位ADC、1个12位DAC、1个SDIO接口及51个通用IO口,该芯片性价比极高。各个引脚说明如下PA0作用1,按键KEY_UP2,可以做待机唤醒脚(WKUP)3,可以接DS18B20传感器接口(P2设置)4PA1作用1,NRF24L01接口IRQ信号2,接HS0038红外接收头(P2设置)PA2作用作为W25Q64的片选信号PA3作用作为SD卡接口的片选脚PA4作用作为NRF24L01接口的CE信号PA5作用作为W25Q64、SD卡和NRF24L01接口的SCK信号PA6作用作为W25Q64、SD卡和NRF24L01接口的MISO信号PA7作用作为W25Q64、SD卡和NRF24L01接口的MOSI信号PA8作用作为接DS0LED灯(红色)PA9作用作为串口1TX脚,默认连接CH340的RX(P4设置)PA10作用作为串口1RX脚,默认连接CH340的TX(P4设置)PA11作用作为接USBD-引脚PA12作用作为接USBD+引脚PA13作用作为JTAG/SWD仿真接口,没接任何外设PA14作用作为JTAG/SWD仿真接口,没接任何外设PA15作用作为1,JTAG仿真口(JTDI)2,PS/2接口的CLK信号3,接按键KEY13.2电子打铃系统硬件设计该程序所需要的主电路图,蜂鸣器电路图,电源电路图以及LED电路图以及LCD外部接线图依次如下图所示5图1.1主电路图如下图6图1.2蜂鸣器电路图如下图图1.3电源电路图如下图7图1.4LED电路图如下图图1.5LCD外部接线图如下图84系统程序4.1主程序设计如下主程序流程设计图如下图:YNNY图1.5主程序流程设计图如图1.5所示主程序开始初始化后,如没有按键按下时,则为正常模式,,继续向下执行对打铃时间的比较,时间正确的话则打铃1.8s;若有按键按下;再次判断是否为考试模式,是则向下进行时间比较,时间正确则打铃3.6s;若判断非考试模式则为周末模式,周末模式打铃1.8s。继而循环,并再次执行主程序。开始初始化按键检测有键按下?考试模式?正常模式打铃时间比较周末模式打铃时间比较打铃1.8s,执行打铃3.6s,执行显示打铃1.8s,执行94.2主程序内容#includeled.h#includedelay.h#includesys.h#includeusart.h#includelcd.h#includetimer.h#includekey.hexternu8zhou,hour,min,sec;u8t,i,shijian=0,a=50;u32zcdlsj[5]={//30600,36000,37800,43200,52200,57600,59400,64800//´ËΪÕý³£µÄ½Ìѧ¥´òÁåʱ¼ä1,5,10,20,25//ÒÔ´Ë5¸öʱ¼ä½øÐзÂÕæ};u32zmdlsj[3]={//30600,43200,64800//´ËΪÖÜĩģʽÏ´òÁåʱ¼ä};u32zcksdlsj[4]={//32400,39600,54000,61200//´ËΪ¿¼ÊÔģʽÏ´òÁåʱ¼ä};intmain(void){delay_init();LED_Init();KEY_Init();LED1=0;TIM3_Int_Init(10000,7199);while(1){t=KEY_Scan(0);if(t==KEY_ts_PRES){a=100;}if(t==KEYzc_PRES){if(zhou=5){shijian=(hour*60*60+min*60+sec);for(i=0;i=4;i++){if(shijian==zcdlsj[i]){PDout(2)=1;delay_ms(a*10);delay_ms(a*10);delay_ms(a*10);PDout(2)=0;10}}}else{shijian=(hour*60*60+min*60+sec);for(i=0;i=2;i++){if(shijian==zczmdlsj[i]){PDout(2)=1;delay_ms(a*10);delay_ms(a*10);delay_ms(a*10);PDout(2)=0;}}}}elseif(t==KEYks_PRES){shijian=(hour*60*60+min*60+sec);for(i=0;i=3;i++){if(shijian==ksdlsj[i]){PDout(2)=1;delay_ms(a*10);delay_ms(a*10);delay_ms(a*10);PDout(2)=0;}}}}4.3定时器中断函数以及按键程序定时器中断函数程序如下voidTIM3_IRQHandler(void)//TIM3ÖжÏ{if(TIM_GetITStatus(TIM

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功