温度监测仪开发实例.pptVIP

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
温度监测仪开发实例

ARM嵌入式体系结构与接口技术 第13章 温度监测仪开发实例 第1章 嵌入式系统基础知识 第2章 ARM技术概述 第3章 ARM的指令系统 第4章 ARM汇编语言程序设计 第5章 ARM Realview MDK集成开发环境 第6章 GPIO编程 第7章 ARM异常中断处理及编程 第8章 串行通信接口 第9章 存储器接口 第10章 定时器 第11章 A/D转换器 第12章 LCD接口设计 第13章 温度监测仪开发实例 13.1 项目功能描述 13.2 系统组成 13.3 接口电路图设计 13.4 程序设计 13.5 运行结果 13.6 小结 温度监测仪可以实现如下功能: 使用铂电阻传感器探测出目标温度,并通过图形的方式显示在LCD屏上 当温度超过报警温度时,在LCD屏上显示报警状态 当温度超过报警温度时,通过PWM控制蜂鸣器实现报警 当温度超过报警温度时,点亮LED报警灯 可以通过按键关闭或打开蜂鸣器及报警等功能 实例涉及到传感器技术、GPIO控制技术、中断技术、LCD控制技术、PWM控制技术、A/D转换技术等。 图13-1 系统组成功能图 1、报警灯电路 处理器S3C2410通过GPF4控制报警LED灯,如图13-2所示 图13-2 报警灯电路 2、蜂鸣器电路 处理器S3C2410通过GPB0输出PWM信号控制蜂鸣器,如图13-3所示 图13-3 蜂鸣器电路 3、按键电路 当GPE11输出0电平时,按键按下后会在EINT0管脚上产生跳沿信号。系统利用此信号产生中断。如图13-4所示 图13-4 按键中断电路 4、LCD液晶屏电路 LCD屏的分辨率为320*240,颜色深度为16位真彩色。电路接线参照第12章中的图12-4。 5、温度采集电路 采样温度范围是0~100℃,变送器将温度信号转换为0~3.3V的电压信号。电压信号和S3C2410的AIN0相连。系统通过测量电压信号从而得到当前的温度值。电路如图13-5所示 图13-5 温度采集电路 1、程序工作流程 图13-6 主程序流程 图13-7 按键中断处理程序流程 2、主程序代码 #include 2410lib.h extern void beep_gpio_setup(void); extern void beep_start(void); extern void beep_stop(void); extern UINT16T adc_get(void); extern void lcd_init(void); extern void int_init(void); extern void led_init(void); extern void led_on(void); extern void led_off(void); extern void Fill_area(int x0,int y0,int x1,int y1,unsigned short color); extern void adc_init(void); int flag_alarm=1; //打开alarm功能的表示 int flag_beep=0; //蜂鸣器和报警灯打开标志 int main(int argc,char **argv) { unsigned short adc_data; float f_value; sys_init(); //初始化 s3c2410s Clock, MMU, Interrupt,Port and UART led_init(); //LED接口初始化,配置对应的GPIO属性 lcd_init(); //初始化LCD控制器 int_init(); //初始化按键中断 beep_gpio_setup(); //初始化PWM控制蜂鸣器 adc_init(); //初始化A/D控制器 while(1) { adc_data=adc_get(); //获取到ad转换值 f_value=adc_data*100.0/1024.0; //转换为对应的电压值 uart_printf( %0.1f \n,f_value); Fill_area(60,80,260,120,0x0); //填充温度计的默认颜色 Fill_area(60,80,(int)(f_value*2),120,0xf000); delay(10000); if(f_value8

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档