- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 11
PAGE \* MERGEFORMAT 0
成绩
长安大学
嵌入式系统实验报告
课程名称:嵌入式系统设计
实验编号:06 11
专业名称:测控技术与仪器
小组成员:田玲 郭育圻 谭淇文
指导教师:马峻岩
2015年 5月 24 日
一、实验内容及要求
06号实验:1.按键触发一次内部温度传感器值读取;2.按键同时读取RTC实时时钟信息;3.将时间信息和温度值通过串口发送至PC;4.PC端实现一个简单的上位机程序,监听串口,显示相关信息,并将这些信息存储到一个本地文件中;5.自由发挥。
11号实验:1.设计简单的触摸屏用户交互界面;2.用户点击触摸屏相关区域后响应区域显示发生变化;3.触摸相关区域后,通过串口向PC发送特定区域的编码;4.自由发挥。
小组成员及分工
设计、调试及实现:??玲
报告:郭育圻
谭淇文辅助理解
三、实验软硬件环境简介
硬件设备:ALIENTEK MiniSTM32开发板(含液晶屏,数据线);PC机。
软件环境:库函数代码;MDK5开发环境;CH430驱动;STMISP下载器MCUISP;XCOM串口调试助手;
四、硬件原理介绍
1.STM32 有一个内部的温度传感器,可以用来测量 CPU 及周围的温度(TA)。该温度传感器 在内部和 ADCx_IN16 输入通道相连接,此通道把传感器输出的电压转换成数字值。温度传感 器模拟输入推荐采样时间是 17.1μs。 STM32 的内部温度传感器支持的温度范围为:-40~125 度,精度为±1.5℃左右。
现在,我们就可以总结一下通过库函数设置STM32内部温度传感器的步骤,如下:
1)设置ADC,开启内部温度传感器。
关于如何设置ADC,上一节已经介绍了,我们采用与上一节相似的设置。不同的是上一节温度传感器是读取外部通道的值,而内部温度传感器相当与把通道端口连接在内部温度传感器上。所以这里,我们要开启内部温度传感器功能:ADC_TempSensorVrefintCmd(ENABLE);
2)读取通道16的AD值,计算结果。
在设置完之后,我们就可以读取温度传感器的电压值了,得到该值就可以用上面的公式计算温度值了。
2.STM32 的 RTC 模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。
RTC的简化框图
ALIENTEK TFTLCD 模块自带的触摸屏控制芯片为 XPT2046。XPT2046 是一款 4 导线制触摸屏控制器,内含 12 位分辨率 125KHz 转换速率逐步逼近型 A/D 转换器。XPT2046 支持从 1.5V 到 5.25V 的低电压 I/O 接口。XPT2046 能通过执行两次 A/D 转换查出被按的屏幕位置,除此之外,还可以测量加在触摸屏上的压力。
触摸屏与STM32的连接图
软件设计方案及流程图
1.1按键触发内部温度传感器的读值并将其发送到PC(简图):
开始
定义变量,初始化。LED0=0
While(1)
延迟10ms
Key0按下了吗
否
读出温度传感器的值并显示在液晶屏上
,同时发送到PC端。LED0=!LED0
是
1.2按键触发RTC的读值并将其发送到PC:
(流程图与1.1类似,我们将温度传感器实验与RTC实验结合时出现了很多不好解决的问题,所以就将它们分开了。PC机实现简单的上位机程序,监听串口没做出来。)
2设计简单的用户交互界面(简图):
开始
定义变量,初始化
While(1)
延迟10ms
触摸屏按下了吗?
否
按下的是右上角小区域吗?
是
否
按下的是屏幕下方吗?
执行清屏程序,并输出resect到pc端
文档评论(0)