ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:112.97KB ,
资源ID:7817775      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7817775.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式课题论文.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

嵌入式课题论文.docx

1、嵌入式课题论文嵌 入 式 课 程 设 计 姓 名: 袁 伟 组 员: 黄鹏 李昂 周亚西 凌诗文 学 号: 20097074 学 院: 涉外学院 专业班级: 09电信二班 课程标题:化学反应过程控制系统程序设计 任课老师: 谢铁强 设计时间: 2012.6.21 一、设计描述某化学反应过程的装置如下图,它由4个容器组成(4#池很大),容器之间用泵连接,以此进行化学反应。1#-3#容器都有检测容器空和满的传感器,2#容器还有加热器和温度传感器,3#容器还有搅拌器。化学反应流程如下:按启动按钮后,1#、2#容器分别用泵P1、P2抽入碱和聚合物,抽满后各自的传感器发出信号,P1、P2关闭。2#容器在

2、P2启动后10s开始启动加热器,当2#容器中的聚合物加热到60时,温度传感器发出信号,关闭加热器。当加热器关闭后,P3和P4启动,分别将1#、2#容器中的溶液送到3#反应器中,同时启动搅拌器,当3#满或1#、2#空,则P3、P4停止,P3、P4停止后搅拌器继续搅拌60s后,P5启动将混合液抽到产品池4#容器,直到3#空。当按下停止按钮后,应该完成一个完整的生产流程,即把1#、2#容器中的反应物用完,把3#容器所有混合液抽空到4#池,最终1#、2#、3#池处于空状态,然后才停止所有工作。2、设计要求在LPC2292开发板上编程实现上述控制流程。 S1为启动按钮,S2为停止按钮。1#-3#池的空和

3、满传感器都是数字量输入,分别通过键盘S3-S8输入;2#池温度为模拟量输入,接AIN0,需要进行AD转换。P1-P4、加热器、搅拌器的控制都使用开关量控制,用D1-D6指示,指示灯亮表示“开”。要求在液晶屏上第一行显示2#池温度。界面设计要求简单清晰明了。3、扩展功能 增加智能检测功能,能够判断系统以下基本故障,并在液晶屏上第二行显示故障类型信息。1)当P1开时间超过2分钟,1#满传感器没有指示则指示故障1;2)当P3开时间超过2分钟,1#空传感器没有指示则指示故障2;3)当加热器开时间超过3分钟,温度没有达到60度则显示故障3;4)当P5开时间超过3分钟,3#空传感器没有指示则指示故障4.

4、增加并行功能以提高工作效率,即当P3、P4关闭后,即启动P1、P2。4、设计流程1、仔细分析整个工作流程细化成状态找出状态切换条件将状态逐步联系起来绘制状态网络图,如图一2、根据状态网络图和开发板硬件原理图合理的设置状态指示和开关切换状态3、根据上面的状态网络图和硬件设置,绘制程序流程图4、仔细分析流程图编写程序5、进行程序调试,修改6、验证程序,确认设计要求7、设计总结5、设计方案分析说明 设计方案总体框架图总说明:8路LED做状态指示,8路按键引发状态切换,12864液晶显示各种故障提示以及实时显示温度,AD模拟温度,子说明:LED详细状态说明及按键详细说明见下表LED1LED2LED3L

5、ED4LED5LED6LED7LED8P1开P2开P3开P4开P5开加热搅拌-KEY1KEY2KEY3KEY4KEY5KEY6KEY7KEY8开始停止1#满1#空2#满2#空3#满3#空注:1、P1P5开都是在其对应的LED亮的情况下,类推,当对应的LED暗的时候就意味着是关的状态;2、LED1LED8对应开发板的D1D8;3、KEY1KEY8对应开发板的K1K8;6、设计软件程序图主状机状态转换图7、体会此次课程设计在历时两个星期之久,通过两个星期多的学习实践,让我们经历了从理论到实践的过程,了解了实际产品开发的标准流程,经历了团队合作的重要过程。使我们对arm构架有了基本的了解,熟悉了ar

6、m9中的外部中断,定时器中断,RTC,IO口的配置和使用。本次课设提高我对嵌入式学习的浓厚的兴趣,增加了学好嵌入式的信心,增强了面对学习中克服困难的勇气。同时也总结了一些经验和教训,比如:项目开发经验不足,有时会出现实际的开发脱离先前的设计,遇到难的问题解决起来较慢。需求分析不全面等。因此在以后的学习实践过程中,要认真思考,勇于面对各种困难,全面系统分析一切遇到的问题。同时它也让我学会了如何通过自己的努力去认知一个新事物,更重要的是端正自己的学习态度,只有真正下功夫去学习,才能有收获,正所谓“一份耕耘,一份收获。”没有付出,何谈回报呢?再者,通过本次课程设计,我也学会了如何去分析问题,继而去排

7、除解决问题,这就是一个自我学习的过程。当我们通过课程设计去学习理论知识时,自己动手得出的结论,不仅能加深我们对嵌入式的理解,更能加深我们对此的记忆。参考文献周立功主编,ARM嵌入式系统基础教程,北京航空航天大学出版社,2008.9嵌入式系统基础与应用,北京科海电子出版社,2009.1附录 程序清单注:相关头文件在项目压缩文件中均已包含/* 文 件 名:main.c* 功 能:LED显示控制。通过GPIO直接控制4个LED产生流水灯效果* 说 明:将跳线器JP12全部短接,这个警告可忽略,C2892E: signed constant overflow*/#include config.h#in

8、clude def.h#include LPC2294.h#include board.h#include LCD_YM12864I.h#define uchar unsigned char#define uint unsigned int#define LED1_ON (IO0CLR = IO0CLR | (12) #define LED1_OFF (IO0SET = IO0SET | (12)#define LED2_ON (IO0CLR = IO0CLR | (14) #define LED2_OFF (IO0SET = IO0SET | (14)#define LED3_ON (IO0

9、CLR = IO0CLR | (15) #define LED3_OFF (IO0SET = IO0SET | (15)#define LED4_ON (IO0CLR = IO0CLR | (16) #define LED4_OFF (IO0SET = IO0SET | (16)#define LED5_ON (IO0CLR = IO0CLR | (128) #define LED5_OFF (IO0SET = IO0SET | (128)#define LED6_ON (IO0CLR = IO0CLR | (129) /加热器 #define LED6_OFF (IO0SET = IO0SE

10、T | (129)#define LED7_ON (IO0CLR = IO0CLR | (130) #define LED7_OFF (IO0SET = IO0SET | (130) /搅拌器#define LED8_ON (IO0CLR = IO0CLR | (131) #define LED8_OFF (IO0SET = IO0SET | (120)&(p1_state != 1) /时间到了,还没有收到满信号则显示故障; Display_GuZhang1(yi); if (readkey=Get_Keystoke() = 3) / 1 池满关闭1 P1_state = 1; LED1_O

11、FF; if (readkey=Get_Keystoke() = 5) / 池满关闭 p2_state = 1; LED2_OFF; if (t010) state1 = 2; t3_num = 0; LED6_ON; ; break; case 2:/ Display_AD_Data(wendu); / LED6_ON / 加热开 if (p1_state != 1) /池没有满则打开 LED1_ON; p1_state = 2; /开了,池当然不是是空的 if (p2_state != 1) /池没有满则打开 LED2_ON; p2_state = 2; /开了,池当然不是是空的 if (t1_num20)&(p1_state != 1)/时间到了,还没有收到满信号则显示故障; Display_GuZhang1(); /故障 if (t3_num20)&(wendu60); Display_GuZhang1(); /故障3 if (readkey=Get_Keystoke() = 3) /1 池满 关闭1 p1_state = 1; LED1_OFF; if (readkey=Get_Keystoke() = 5) / 池满关闭 p2_state = 1; LED2_OFF;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1