CYPRESS psoc4初次使用感想三 —— 电子温度计
2013-12-03 15:46
453 查看
PsoC4内置了温度传感模块,因此可以使用此模块取得环境温度并将结果输出到显示屏上,实现同时显示摄氏温度和绝对温度的功能。
要用到的材料:
公头杜邦线12根;
1602液晶屏一个;
PsoC4开发板一块;
1.1KOhm电阻一枚;
USB线一条。
温度信息在1602上这样显示,上方显示绝对温度, 下方显示摄氏温度:
TempK = 300.15 °K
TempS = 27 °C
然后设计需要用到的组件:
根据针脚定义图确定接线位置:
http://blog.csdn.net/firedom/article/details/17028489 http://pan.baidu.com/s/1f7r3B 第13页说明
连接好后会像这个样子:
然后链接电源和背光线和对比度控制线:
将一个1.1KOhm电阻接在对比度控制端,使文字更容易辨认。
然后是程序:
最后是成品展示:
要用到的材料:
公头杜邦线12根;
1602液晶屏一个;
PsoC4开发板一块;
1.1KOhm电阻一枚;
USB线一条。
温度信息在1602上这样显示,上方显示绝对温度, 下方显示摄氏温度:
TempK = 300.15 °K
TempS = 27 °C
然后设计需要用到的组件:
根据针脚定义图确定接线位置:
http://blog.csdn.net/firedom/article/details/17028489 http://pan.baidu.com/s/1f7r3B 第13页说明
连接好后会像这个样子:
然后链接电源和背光线和对比度控制线:
将一个1.1KOhm电阻接在对比度控制端,使文字更容易辨认。
然后是程序:
#include <device.h> #include <stdio.h> #define CH0_N 0x00u #define TEMP_CH 0x01u #define DELAY_1SEC 1000u volatile uint32 dataReady = 0u; volatile int16 result[ADC_SAR_SEQ_TOTAL_CHANNELS_NUM]; volatile uint32 timer_delay = 0u; void main() { float temperature; LCD_Start(); LCD_Position(0u,0u); LCD_PrintString("TempK = "); LCD_PutChar(LCD_CUSTOM_0); LCD_PutChar('K'); LCD_Position(1u,0u); LCD_PrintString("TempS = "); LCD_PutChar(LCD_CUSTOM_0); LCD_PutChar('C'); PWM_Start(); PWM_TriggerCommand(PWM_MASK, PWM_CMD_START); ADC_SAR_SEQ_Start(); ADC_SAR_SEQ_StartConvert(); ADC_SAR_SEQ_IRQ_StartEx(ADC_SAR_SEQ_ISR_LOC); ISR_TIMER_StartEx(ISR_TIMER_LOC); CyGlobalIntEnable; while(1) { if((dataReady & ADC_SAR_SEQ_INJ_EOC_MASK) != 0u) { dataReady &= ~ADC_SAR_SEQ_INJ_EOC_MASK; temperature = DieTemp_CountsTo_Celsius(result[TEMP_CH]); LCD_Position(0u,8u); LCD_PrintString(" "); LCD_Position(0u,8u); LCD_PrintNumber(temperature + 273); LCD_PutChar('.'); LCD_PrintNumber(15); LCD_Position(1u,8u); LCD_PrintString(" "); LCD_Position(1u,8u); LCD_PrintNumber((float)temperature); } } }
最后是成品展示:
相关文章推荐
- CYPRESS psoc4初次使用感想
- CYPRESS psoc4初次使用感想二 —— 应用总览
- vista & office2007 使用感想(含图片)
- 使用 DataGridView 控件建立一个类似电子表格的累计结余接口
- 使用JavaScript控制WebGIS电子地图中轨迹回放的速度 - window.setInterval 控制执行速度
- 关于金格电子签章的使用问题处理
- 使用CSS3生成的电子时钟特效
- C++类中使用前置声明和使用include包含头文件的感想
- 单片机控制DS18B20自制简易电子温度计(测试通过)(一)
- 实现基于Android的英文电子词典使用cursorAdapter
- CCFadeOut的使用感想
- 在EasyJWeb中使用Java Excel API 处理电子表格
- 【iCore、iBoard 电子学堂教程】《QuartusII12.0安装与使用指南.REV0》
- [文档].艾米电子 - 使用有符号数,Verilog
- PHP:使用PHPExcel完成电子表格文件的导出下载和导入操作
- 谷歌电子市场开发流程(6)-xutils的使用
- 在电子制造业中使用黑匣子记录生产过程控制数据
- 使用博客感想
- 使用 DataGridView 控件建立一个类似电子表格的累计结余接口
- 推荐2款jquery编写的字符云插件,自己亲自使用后感想