




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