- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
维信科技--嵌入式实训28
嵌入式实训28——维信科技
一、实训目的
1.进一步理解ARM芯片的A/D转换原理。
2.进一步熟悉uCOS-II的多任务调度机制以及消息循环、图形控件的使用。
3.学习多通道数据采集的方法。
二、实训内容(维信科技,山西最专业的IT实训)
采用多任务编程方法,每个任务监视一路AD转换,每一路AD的转换结果在液晶屏上用一个条形图的长短来表示,直观地显示每路模拟输入电压的大小。可以通过文本框给每路AD设置警戒值,某路输入超出警戒线之后条形图中超出的部分会以闪动的方式显示。
三、预备知识
1、用ARM SDT 2.5或ADS1.2集成开发环境,编写和调试程序的基本过程。
2、基于uCOS-II操作系统应用程序的框架结构。
3、了解uCOS-II多任务调度的原理。
4、会使用图形控件和绘图API函数(维信科技,山西最专业的IT实训)。
四、设备及工具(包括软件调试工具)
硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上。
软件:PC机操作系统win98、Win2000或WinXP、ARM SDT 2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序
五、实训步骤
1、新建工程,将“Exp23多通道仪表数据采集实验”中的文件加入工程。
2、打开main.c文件,编辑Main_Task任务中的代码。用init_ADdevice()函数初始化处理器的AD转换硬件,启动消息循环。
3、编写OnKey()函数,响应键盘消息。流程图如图5-4所示。
提示:
1)这里设置了两个文本框,用来输入通道编号和该通道的警戒值,在键盘消息响应函数里针对两个文本框分别作出处理,只处理回车键和取消键,其他键由控件本身处理(维信科技,山西最专业的IT实训)。程序里用变量EditNumber指示当前要编辑的文本框控件;用变量input指示该文本框控件是否处于输入编辑状态。以此决定回车键应该执行的功能。
2)当文本框控件不是编辑状态时,回车将使其进入编辑状态,在程序里用SetWndCtrlFocus()函数将焦点转移到该控件并用SetTextCtrlEdit()函数设置为编辑状态;当文本框正处于编辑状态时,回车将使其退出编辑状态,并将要编辑的文本框切换到另一个文本框控件,取消键的处理和这种情况类似。
3)如果当前要编辑的文本框是警戒值输入框,在编辑状态中回车确定后,所输入的通道编号以及警戒值就会保存在数组WarnningData中(维信科技,山西最专业的IT实训),代码如下:
WarnningData[ Unicode2Int(pChannelTextCtrl-text)]=Unicode2Int(pValueTextCtrl-text);
图5-4 流程图
4、编写绘图显示任务Display_Task,绘制文本框和条形图等,并实现文本框编辑过程中和超过警戒值后的动画显示(维信科技,山西最专业的IT实训)。流程图如图5-5所示。
提示:
1)程序中用TextOut()函数显示文本框的提示信息,用数组edit记录两个文本框是否处于编辑状态,用变量IsEdit指示提示信息是否显示。实际上,IsEdit这个变量在显示任务循环一次就改变一次状态,当IsEdit==1时将提示信息擦掉,否则保持显示不变。这就是闪烁显示的原理,表示AD转换结果的条形图超出警戒值的部分的闪烁也是这样实现的,随着任务的循环隔次的改变状态。
2)和变量IsEdit的作用类似,warnning[x]是条形图闪烁的指示变量。当某路AD转换的结果result_ADx大于对应通道的警戒值WarnningData[x]时,根据warnning[x]的值决定条形图的长度是和result_ADx对应还是和WarnningData[x]对应,这样看起来条形图的长度是变化的,效果就是超过警戒线的那部分在闪烁。
3)这里条形图实际上是一个实心矩形(维信科技,山西最专业的IT实训),用FillRect()函数填充。
图5-5 Display_Task流程图
5、编写4路AD采集任务ADx_Task。
提示:
使用GetADresult()函数即可得到某路AD输出的二进制代码。由于处理器的8路10位AD转换单元的最大输入电压是2.50V,所以实际电压值就是
result_ADx=GetADresult(x)*2.50/1024;
6、用ARM SDT 2.5 或ADS1.2编译(维信科技,山西最专业的IT实训)、下载并调试上述程序,检查运行结果。
7、生成发行版本的.bin文件,通过USB下载到嵌入式开发平台中,运行并检查输出结果。
您可能关注的文档
- 微课中小学教师培训的新型课程形态.PDF
- 第二章学案2电动势(人教版选修3-1).doc
- 第二章市场营销基础知识.doc
- 第二章成本核算概述讲稿.doc
- 第二章第1节减数分裂和受精作用学案229926221FZF0J.doc
- 第二章离心压缩机-相似原理.doc
- 第二章材料的结构,中英文对照答案.doc
- 第二章课后答案(装备}.doc
- 第二章方案比选.doc
- 第二章自我检测题参考答案.doc
- 2023咸阳职业技术学院招聘笔试真题参考答案详解.docx
- 2023四川化工职业技术学院招聘笔试真题及参考答案详解.docx
- 2023哈尔滨职业技术学院招聘笔试真题及参考答案详解.docx
- 2023商洛职业技术学院招聘笔试真题及答案详解1套.docx
- 2023呼伦贝尔职业技术学院招聘笔试真题参考答案详解.docx
- 2023南阳农业职业学院招聘笔试真题参考答案详解.docx
- 2023天津公安警官职业学院招聘笔试真题带答案详解.docx
- 2023年上海电机学院招聘笔试真题参考答案详解.docx
- 2023年四川艺术职业学院招聘笔试真题参考答案详解.docx
- 2023安徽体育运动职业技术学院招聘笔试真题及答案详解一套.docx
文档评论(0)