版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、I.专业课程设计基于 C/OS的照明系统设计学 院:工学院专业班级:通信工程 13 秋 2 班姓 名:鲁博文学 号:13150222小组成员:张彦昭、鲁博文II指导教师:徐振、周丽婕完完 成成 日日 期期 2016 年年 9 月月目录目录1 引言-11.1 课程设计目的 -21.2 本论文章节安排 -22 总体方案与设计-32.1 任务分析 -32.2 方案设计-32.2.1 硬件设计 -32.2.2 软件设计 -43 系统硬件设计 -53.1 光敏传感器模块 -53.2 蜂鸣器模块 -63.3 LCD 显示屏模块-73.4 DS18B20 温度传感器模块 -94 系统软件设计-104.1 C
2、/OS操作系统-104.2 软件任务设计-115 调试结果及性能分析-135.1 调试过程 -136 设计总结-14III参考文献-15附录-16现代通信技术课程设计11 引言引言照明工具是人们日常生活、工作以及学习中必不可少工具之一。随着人民生活水平的不断提高,人们对工作和生活环境的要求越来越高,同时对照明系统的要求也越来越高。照明领域的能源消耗在总的能源消耗中占了相当大的比例,节约能源和提高照明质量是当务之急。照明用电作为电力消耗的重要部分,已经占到了电力消耗的 10%左右,并且随着我国国民经济的迅猛发展和人民生活水平的不断提高,照明用电还将不断增加。传统照明技术受到了强烈冲击。一方面,由
3、于信息技术和计算机的发展对照明技术的变化提供了技术支撑;另一方面,由于能源的紧缺,国家对照明节能越来越重视,新型的照明技术得以迅速发展,以满足使用者节约能源、舒适性、方便性的要求。C/OS-II 是一种基于优先级的抢占式多任务实时操作系统,包含了实时内核、任务管理、时间管理、任务间通信同步(信号量,邮箱,消息 队列)和内存管理等功能。它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化。C /OS-II 是一个完整的、可移植、可固化、可裁剪的抢占式实时多任务内核。C/OS-II 已经在世界范围内得到广泛应用,包括很多领
4、域,如手机、路由器、集线器、不间断电源、飞行器、医疗设备及工业控制上。实际上,C/OS-II 已经通过了非常严格的测试,并且得到了美国航空管理局(Federal Aviation Administration)的认证,可以用在飞行器上。这说明 C/OS-II 是稳定可靠的,可用于与人性命攸关的安全紧要(safety critical)系统。除此以外,C/OS-II 的鲜明特点就是源码公开,也便于移植和维护。多任务系统中,内核负责管理各个任务,或者说为每个任务分配 CPU 时间,并且负责任务之间的通讯。内核提供的基本服务是任务切换。C/OS-II 可以管理多达 64 个任务。由于它的作者占用和保
5、留了 8 个任务,所以留给用户应用程序最多可有 56 个任务。赋予各个任务的优先级必须是不相同的。这意味着 C/OS-II 不支持时间片轮转现代通信技术课程设计2调度法(round-robin scheduli ng) 。C/OS-II 为每个任务设置独立的堆栈空间,可以快速实现任务切换 。C/OS-II 近似地每时每刻总是让优先级最高的就绪任务处于运行状态,为了保证这一点,它在调用系统 API 函数、中断结束、定时中断结束时总是执行调度算法,C/OS-II 通过事先计算好数据简化了运算量,通过精心设计就绪表结构使得延时可预知。1.1 课程设计目的课程设计目的基于对用户照明需求以及方便程度的调
6、查,建立了“智能照明灯”模型.此款“智能灯”可以根据光强改变自己的运行状态,为人们的生活提供方便。本文简要介绍了以实时操作系统 C/OS-II 为基础的智能灯的硬件设计方案,详细介绍了其软件的实现过程,并给出了主函数源代码,最后介绍了本智能照明系统的优势所在。1.2 本论文章节安排本论文章节安排针对本论文基于 C/OS的照明系统设计 ,本文章节安排为:第一章介绍 C/OS系统和课程设计目的。第二章主要介绍照明系统的总体方案设计。第三章主要介绍照明系统的硬件部分设计。第四章是本次论文的重点, 介绍照明系统两个任务的软件部分设计。第五、六章为系统调试以及个人对本次课程设计的感想。最后是本论文的参考
7、文献和附录代码。现代通信技术课程设计32 总体方案与设计总体方案与设计2.1 任务分析任务分析本次设计基于 MINISTM32F103 开发板,通过移植 C/OS操作系统,在该系统上主要建立两个任务,第一个任务是利用光敏传感器所感应到的光照强度,通过 ADC 模块进行模数转换,在 LCD 显示屏上显示出来,光强越大电压越小,同时设定为根据光照强度变化的电压条件小于 2v 时利用蜂鸣器进行报警并使 LED 红灯长亮;任务二是通过 DS18B20 温度传感器感应温度变化,在温度达到 30 摄氏度的时候报警使 LED 绿灯闪烁,这两个任务互相独立,最终实现基于 C/OS的照明系统设计。2.2 方案设
8、计方案设计2.2.1 硬件设计硬件设计如图 2.1 为照明系统硬件部分的结构设计框图。图 2.1 系统设计结构图光敏传感器MINISTM32蜂鸣器C/OS操作系统DS18B20 温度传感器ADC 转换模块现代通信技术课程设计42.2.2 软件设计软件设计 是 是图 2.2 系统运行流程图 如图 2.2 为系统整体运行的流程图。开始任务二LED 1 闪烁系统初始化蜂鸣器报警LED 0 长亮MINISTM32 开发板电压值30摄氏度?现代通信技术课程设计53 系统硬件设计系统硬件设计3.1 光敏传感器模块光敏传感器模块光敏传感器内装有一个高精度的光电管,光电管内有一块由”针式二管”组成的小平板,当
9、向光电管两端施加一个反向的固定压时,任何光了对它的冲击都将导致其释放出电子,结果是,当光照强度越高,光电管的电流也就越大,电流通过一个电阻时,电阻两端的电压被转换成可被采集器的数模转换器接受的 0-3.3V 电压,然后采集以适当的形式把结果保存下来简单的说,光敏传感器就是利用光敏电阻受光线强度影响而阻值发生变化的原理向机器人主机发送光线强度的模拟信号。光敏电阻器又叫光感电阻,其工作原理是基于内光电效应。光敏电阻是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化) 。
10、它是基于半导体光电效应工作的。图 3.1 光敏传感器模块光敏传感器原理图如图 3.1。光敏电阻无极性,纯粹是一个电阻元件。使用时可以加直流电压,也可以加交流电压。光敏电阻的工作原理:光照现代通信技术课程设计6时,电阻很小;无光照时,电阻很大。光照越强,电阻越小;光照停止,电阻又恢复原值。光谱范围:从紫外线区到红外线区。优点:灵敏度高,体积小,性能稳定,价格较低。光敏电阻不受光照时的电阻称为暗电阻,此时流过的电流称为暗电流。在受到光照时的电阻称为亮电阻,此时电流称为亮电流。暗电阻越大越好,亮电阻越小越好。3.2 蜂鸣器蜂鸣器模块模块蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于
11、计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。在该设计中主要用到的是有源蜂鸣器,这里的“源”不是指电源,而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要通电就会叫而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用 2K-5K 的方波去驱动它有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。图 3.2 有源蜂鸣器原理图如图 3.2 有源蜂鸣器原理图所示,一般驱动蜂鸣器的方法有两种:一种是 PWM 输出口直接驱动,另一种是利用 I/O 定时翻转,电平产生的驱现代通信技术课程设计7动
12、波形对蜂鸣器进行驱动。通常为了增加驱动能力使蜂鸣器响声更大,可加三极管驱动。蜂鸣器的实物图如图 3.3 所示,控制蜂鸣器的端口为 PA12 引脚,当PA12 引脚输入低电平时,蜂鸣器会鸣叫。由于蜂鸣器的工作电流一般比较大,以致于 MCU 的 I/O 是无法直接驱动的,所以要利用放大电路来驱动,其中的三极管 Q1(8050)就是用来放大电流以驱动蜂鸣器的。图 3.3 有源蜂鸣器实物图3.3 LCD 显示屏模块显示屏模块ALIENTEK MiniSTM32 开发板载有目前比较通用的液晶显示模块接口,还有其比较有特色的兼容性接口,不仅支持 ALIENTEK 各种尺寸(2.4、2.8、3.5、4.3、
13、7 寸等)的 TFTLCD,还支持 OLED 显示器。同时,该接口支持电阻触摸屏以及电容触摸屏等不同类型的触摸屏接口,其原理图如图 3.4 所示。TFT_LCD 是一个通用的液晶模块接口。OLED 是一个给 OLED 显示模块供电的接口,它和 TFT_LCD 拼接在一起。当使用 TFTLCD 时,我们接到 TFT_LCD 上(靠右插)就可以了,而当我们使用 ALIENTEK 的OLED 模块时,则接 OLED 排针做电源,同时会连接到 TFT_LCD 上(靠左插)的部分管脚,从而实现 OLED 与 MCU 的连接。ALIENTEK 现代通信技术课程设计8MiniSTM32 的 LCD 接口兼容
14、 ALIENTEK 各种尺寸的 TFTLCD 模块,包括:2.4 寸(320*240,电阻屏)、2.8 寸(320*240,电阻屏) 、3.5 寸(480*320,电阻屏) 、4.3 寸(800*480,电容屏) 、7 寸(800*480,电容屏)等,同时还兼容 ALIENTEK 的 0.96 寸 OLED 模块。彩色 LCD 显示器:对于笔记本电脑或者桌面型的 LCD 显示器需要采用的更加复杂的彩色显示器而言,还要具备专门处理彩色显示的色彩过滤层。通常,在彩色LCD 面板中,每一个像素都是由三个液晶单元格构成,其中每一个单元格前面都分别有红色,绿色,或蓝色的过滤器。这样,通过不同单元格的光线
15、就可以在屏幕上显示出不同的颜色。图 3.4 LCD 显示模块LCD 克服了 CRT 体积庞大、耗电和闪烁的缺点,但也同时带来了造价过高、视角不广以及彩色显示不理想等问题。CRT 显示可选择一系列分辨率,而且能按屏幕要求加以调整,但 LCD 屏只含有固定数量的液晶单元,只能在全屏幕使用一种分辨率显示(每个单元就是一个像素)。为了创造更优质画面构造,新技术采用了用独有 TFT 型 Active 素子进行驱动。大家都知道,异常复杂的液晶显示屏幕中最重要的组成部分除了液晶之外,就要数直接关系到液晶显示亮度的背光屏,以及负责产生颜色的色滤光镜。在每一个液晶像素上加装上了 Active 素子来进行点对点控
16、制,使得显示屏幕与全统的 CRT 显示屏相比有天壤之别,这种控制模式在显示的精度上,会比以往的控制方式高得多,所以就在 CRT 显示屏会上出现图像的品质不良,色渗以及抖动非常厉害的现象,但在加入了新技术的 LCD 显示屏上观看时其画面品质却是相当赏心悦目的。 现代通信技术课程设计9随着技术的日新月异,LCD 技术也在不断发展进步。目前各大 LCD显示器生产商纷纷加大对 LCD 的研发费用,力求突破 LCD 的技术瓶颈,进一步加快 LCD 显示器的产业化进程、降低生产成本,实现用户可以接受的价格水平。3.4 DS18B20 温度传感器模块温度传感器模块温度传感器是利用一些金属、半导体等材料与温度
17、有关的特性而制成。这些特性包括热膨胀、电阻、电容、磁性、热电势、热噪音、弹性及光学特性等4。DS18B20 数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874 等。主要根据应用场合的不同而改变其外观。封装后的 DS18B20 可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用各种狭小空间设备数字测温和控制领域。DS18B20 温度传感器电路如图 3.5 所示。图 3.5 DS18B20 温度感应器电
18、路图现代通信技术课程设计104 系统软件设计系统软件设计4.1 C/OS操作系统操作系统C/OS-II 是一种基于优先级的抢占式多任务实时操作系统,包含了实时内核、任务管理、时间管理、任务间通信同步(信号量,邮箱,消息 队列)和内存管理等功能。它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化。C /OS-II 是一个完整的、可移植、可固化、可裁剪的抢占式实时多任务内核。C /OS-II 绝大部分的代码是用 ANSII 的C 语言编写的,包含一小部分汇编代码,使之可供不同架构的微处理器。实际上,C/OS-II 已经通
19、过了非常严格的测试,并且得到了美国航空管 理局(Federal Aviation Administration)的认证。C /OS-II 的鲜明特点就是源码公开,便于移植和维护。C/OS-II 可以大致分成核心、任务处理、时间处理、任务同步与通信等 4 个部分。1) 核心部分(OSCore.c)是操作系统的处理核心,包括操作系统初始化、操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分。能够维持系统基本工作的部分都在这里。2) 任务处理部分(OSTask.c)任务处理部分中的内容都是与任务的操作密切相关的。包括任务的建立、删除、挂起、恢复等等。因为 C/OS-II 是以任务为基
20、本单位调度的,所以这部分内容也相当重要。3) 时钟部分(OSTime.c)C/OS-II 中的最小时钟单位是 timetick(时钟节拍) 。任务延时等操作是在这里完成的。4) 任务同步和通信部分为事件处理部分,包括信号量、邮箱、邮箱队列、事件标志等部分;现代通信技术课程设计11主要用于任务间的互相联系和对临界资源的访问。本实验的软件部分设计严格遵守了 C/OS操作系统的设计原则。4.2 软件任务设计软件任务设计任务一:光敏传感器所感应到的光照强度,通过 ADC 模块进行模数转换,在 LCD 显示屏上显示出来,光强越大电压越小,同时设定为根据光照强度变化的电压条件小于 2v 时利用蜂鸣器进行报
21、警并使 LED 0 红灯长亮。任务一流程图如图 4.1 所示。光敏传感器初始化检测光照强度LED0灯亮系统初始化开始结束ADC检测电压是否高于2V是蜂鸣器响图 4.1 任务一流程图现代通信技术课程设计12任务二:DS18B20 温度传感器感应温度变化,在温度达到 30 摄氏度的时候报警使 LED 1 绿灯闪烁。任务二流程图如图 4.2 所示。传感器初始化检测温度LED1灯闪烁系统初始化开始结束温度是否高于30是图 4.2 任务二流程图现代通信技术课程设计135 调试结果及性能分析调试结果及性能分析5.1 调试过程调试过程将硬件根据电路原理图正确连接,光敏传感器的 AO 端口连接 PA0,正极接
22、 5v,负极接 GND;蜂鸣器的 IO 端口接 PB8,正极接 3.3v,负极接GND;DS18B20 温度传感器的 IO 口接 PC1,正极接 5v,负极接 GND;分别进行两个任务,调试结果如图 5.1、5.2 所示。图 5.1 光线强度显示显示图 5.2 温度测试显示现代通信技术课程设计146 设计总结设计总结在这次实验的过程中,我通过查阅大量有关资料,与老师交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个实践学习中,我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习、工作、生活有非常重要的影响。这
23、次的课程设计让我真正体会到,嵌入式系统与我们的生活息息相关,不仅了解了 C/OS操作系统,光敏传感器,DS18B20 温度传感器以及所用到的 ADC 等模块的结构与功能,而且对嵌入式设计产生了更浓厚的兴趣。每次实验都是一次挑战。完成这次试验后,我觉得也是完成了对自己的一次挑战。我要感谢我的搭档在课程设计的过程中的帮助和鼓励,以及老师耐心的指导,不怕麻烦,耐心的帮助我解决问题。这次实验设计让我认识到了自己的不足之处,要学习的东西还有很多,有时粗心就会犯下眼高手低的毛病。通过这次实验设计,让我懂得了学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己的知识和综合素质。这次实
24、验让我受益匪浅,希望在下学期的毕业设计中我能做得更好。现代通信技术课程设计15参考文献参考文献1 唐小峰. 新型景观照明控制系统设计D. 西安电子科技大学, 20112 李西, 赵晓军, 陈雷,等. 嵌入式与物联网技术在温室监测系统中的应用J. 自动化技术与应用, 2013, 32(1):25-29.3 王江红, 胡湘娟, 阳泳. 基于 STM32 的温湿度监控系统设计J. 科技创新与应用, 2016(4):23-23.4 李波. 基于 UCOS-嵌入式系统项目的开发J. 电子制作, 2013(7):81-81.5 陈果, 冯静. ucos 系统及其消息队列详析J. 电子元器件应用, 2011
25、(3):38-42.现代通信技术课程设计16附附录录MAIN 主函数代码#include led.h#include delay.h#include sys.h#include includes.h#include usart.h#include lcd.h#include ds18b20.h #include beep.h#include usart.h#include hc05.h#include usart2.h #include string.h #include key.h#include adc.hvoid start_task(void *pdata);#define vibra
26、te_TASK_PRIO 5 #define vibrate_STK_SIZE 64OS_STK vibrate_TASK_STKvibrate_STK_SIZE;void vibrate_task(void *pdata);#define temperature_TASK_PRIO 4 #define temperature_STK_SIZE 64OS_STK temperature_TASK_STKtemperature_STK_SIZE;void temperature_task(void *pdata);现代通信技术课程设计17int main(void) delay_init();
27、NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);OSInit(); OSTaskCreate(start_task,(void *)0,(OS_STK *)&START_TASK_STKSTART_STK_SIZE-1,START_TASK_PRIO );OSStart();void start_task(void *pdata) OS_CPU_SR cpu_sr=0;pdata = pdata; OS_ENTER_CRITICAL(); OSTaskCreate(vibrate_task,(void *)0,(OS_STK*)&v
28、ibrate_TASK_STKvibrate_STK_SIZE-1,vibrate_TASK_PRIO); OSTaskCreate(temperature_task,(void *)0,(OS_STK*)&temperature_TASK_STKtemperature_STK_SIZE-1,temperature_TASK_PRIO);OSTaskSuspend(START_TASK_PRIO);OS_EXIT_CRITICAL();void vibrate_task(void *pdata) u16 adcx;float temp;delay_init(); uart_init(9
29、600); 现代通信技术课程设计18LED_Init(); LCD_Init();BEEP_Init(); Adc_Init(); POINT_COLOR=RED;LCD_ShowString(60,50,200,16,16,Mini STM32);LCD_ShowString(60,70,200,16,16,ADC TEST);LCD_ShowString(60,90,200,16,16,ATOMALIENTEK);LCD_ShowString(60,110,200,16,16,2016/9/22);POINT_COLOR=BLUE;/LCD_ShowString(60,130,200,16,16,ADC_CH1_VAL:); LCD_ShowString(60,150,200,16,16,ADC_CH1_VOL:0.000V); while(1)adcx=Get_Adc_Average(ADC_Channel_1,10);LCD_Show
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生卫生奖惩制度
- 天车钳工奖惩制度
- 学校职工奖惩制度
- 宁德公司奖惩制度
- 安全联络员奖惩制度
- 客房人员奖惩制度
- 客运监控员奖惩制度
- 小学消防奖惩制度
- 小孩零用钱奖惩制度
- 小饭店奖惩制度
- 【教学创新大赛】教学创新成果报告汇编(8篇)
- 公路工程监理工作程序及质量控制
- 蒙台梭利教学法PPT完整全套教学课件
- 小型红薯粉打捆机的设计17
- 企业安全生产托管工作服务手册
- 2023年新版八年级生物竞赛试题
- 尿动力学检查操作指南2023版
- GB/T 11170-2008不锈钢多元素含量的测定火花放电原子发射光谱法(常规法)
- GB/T 10066.4-2004电热设备的试验方法第4部分:间接电阻炉
- 开工第一课(课件)
- 部编版七年级下册课内文言文《孙权劝学》对比阅读(含答案)
评论
0/150
提交评论