温度监测仪开发实例

上传人:壹****1 文档编号:586007217 上传时间:2024-09-03 格式:PPT 页数:22 大小:309.50KB
返回 下载 相关 举报
温度监测仪开发实例_第1页
第1页 / 共22页
温度监测仪开发实例_第2页
第2页 / 共22页
温度监测仪开发实例_第3页
第3页 / 共22页
温度监测仪开发实例_第4页
第4页 / 共22页
温度监测仪开发实例_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《温度监测仪开发实例》由会员分享,可在线阅读,更多相关《温度监测仪开发实例(22页珍藏版)》请在金锄头文库上搜索。

1、ARM嵌入式体系结构与接口技术嵌入式体系结构与接口技术第13章 温度监测仪开发实例 第1章 嵌入式系统基础知识第2章 ARM技术概述第3章 ARM的指令系统第4章 ARM汇编语言程序设计第5章 ARM Realview MDK集成开发环境第6章 GPIO编程第7章 ARM异常中断处理及编程第8章 串行通信接口课程安排课程安排:2 第9章 存储器接口 第10章 定时器第11章 A/D转换器第12章 LCD接口设计第第13章章 温度监测仪开发实例温度监测仪开发实例课程安排课程安排:3 13.1 项目功能描述13.2 系统组成13.3 接口电路图设计13.4 程序设计13.5 运行结果13.6 小结

2、本章课程:本章课程:4 温度监测仪可以实现如下功能:使用铂电阻传感器探测出目标温度,并通过图形的方式显示在LCD屏上当温度超过报警温度时,在LCD屏上显示报警状态当温度超过报警温度时,通过PWM控制蜂鸣器实现报警当温度超过报警温度时,点亮LED报警灯可以通过按键关闭或打开蜂鸣器及报警等功能实例涉及到传感器技术、GPIO控制技术、中断技术、LCD控制技术、PWM控制技术、A/D转换技术等。13.1 项目功能描述5 图13-1 系统组成功能图13.2 系统组成6 1、报警灯电路处理器S3C2410通过GPF4控制报警LED灯,如图13-2所示图13-2 报警灯电路13.3 接口电路图设计7 2、蜂

3、鸣器电路处理器S3C2410通过GPB0输出PWM信号控制蜂鸣器,如图13-3所示图13-3 蜂鸣器电路13.3 接口电路图设计8 3、按键电路当GPE11输出0电平时,按键按下后会在EINT0管脚上产生跳沿信号。系统利用此信号产生中断。如图13-4所示图13-4 按键中断电路13.3 接口电路图设计9 4、LCD液晶屏电路LCD屏的分辨率为320*240,颜色深度为16位真彩色。电路接线参照第12章中的图12-4。13.3 接口电路图设计10 5、温度采集电路采样温度范围是0100,变送器将温度信号转换为03.3V的电压信号。电压信号和S3C2410的AIN0相连。系统通过测量电压信号从而得

4、到当前的温度值。电路如图13-5所示图13-5 温度采集电路13.3 接口电路图设计11 1、程序工作流程 图13-6 主程序流程13.4 程序设计12 图13-7 按键中断处理程序流程13.4 程序设计13 2、主程序代码1.#include 2410lib.h2.extern void beep_gpio_setup(void);3.extern void beep_start(void);4.extern void beep_stop(void);5.extern UINT16T adc_get(void);6.extern void lcd_init(void);7.extern vo

5、id int_init(void);8.extern void led_init(void);9.extern void led_on(void);10.extern void led_off(void);11.extern void Fill_area(int x0,int y0,int x1,int y1,unsigned short color);12.extern void adc_init(void);13.4 程序设计14 13.int flag_alarm=1; /打开alarm功能的表示14.int flag_beep=0; /蜂鸣器和报警灯打开标志15. 16.int mai

6、n(int argc,char *argv)17.18.unsigned short adc_data;19.float f_value;20.sys_init(); /初始化 s3c2410s Clock, MMU, Interrupt,Port and UART 21.led_init(); /LED接口初始化,配置对应的GPIO属性22.lcd_init(); /初始化LCD控制器23.int_init(); /初始化按键中断24.beep_gpio_setup(); /初始化PWM控制蜂鸣器25.adc_init();/初始化A/D控制器13.4 程序设计15 26.while(1)2

7、7.28.adc_data=adc_get(); /获取到ad转换值29.f_value=adc_data*100.0/1024.0; /转换为对应的电压值30.uart_printf( %0.1f n,f_value);31.Fill_area(60,80,260,120,0x0);/填充温度计的默认颜色32.Fill_area(60,80,(int)(f_value*2),120,0xf000); 33.delay(10000);34.if(f_value80) /判断温度是否超过报警值8035.36.if(flag_alarm)/判断是否设置了报警功能37.38.beep_start()

8、;/驱动蜂鸣器13.4 程序设计16 39.led_on();/打开报警灯40.flag_beep=1;/置标志41.42.else43.44.if(flag_beep)/判断标志45.46.beep_stop();/关闭蜂鸣器47.led_off();/关闭报警灯48.flag_beep=0;/flag标志置049.50.51.13.4 程序设计17 52.else53.54.if(flag_beep)/判断标志55.56.beep_stop();/关闭蜂鸣器57.led_off();/关闭报警灯58.flag_beep=0;/flag标志置059.60.61.62.return 0;63.

9、13.4 程序设计18 52.3、按键中断处理程序代码1.extern int flag_alarm;2.void _irq int0_int(void)3.4.delay(3000);5. ClearPending(BIT_EINT0);6. uart_printf( EINT0 interrupt occurred.n);7.if(flag_alarm)8.9.flag_alarm=0;10.11.else12.flag_alarm=1;13.13.4 程序设计19 本章例程的运行后在液晶上的显示如图13-8所示:图13-8 控制器温度监控界面通过图形的方式直观的表示出温度情况。K10可以控制报警功能的开关。参照13.1中的描述,测试系统的各项功能。13.5 运行结果20 本章通过一个实例,综合了几个常用的接口功能。通过本章,学员可以提高利用已学知识解决实际问题的能力。本例程只适合在实验室学习使用,如果用于产品还需要在精度、稳定性等方面做更多的优化。13.6 小结2122

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号