1 / 22

ARM嵌入式体系结构与接口技术 第13章 温度监测仪开发实例

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 接口电路图设计

gaius
Download Presentation

ARM嵌入式体系结构与接口技术 第13章 温度监测仪开发实例

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ARM嵌入式体系结构与接口技术第13章 温度监测仪开发实例

  2. 课程安排: • 第1章 嵌入式系统基础知识 • 第2章 ARM技术概述 • 第3章 ARM的指令系统 • 第4章 ARM汇编语言程序设计 • 第5章 ARM Realview MDK集成开发环境 • 第6章 GPIO编程 • 第7章 ARM异常中断处理及编程 • 第8章 串行通信接口

  3. 课程安排: • 第9章 存储器接口 • 第10章 定时器 • 第11章 A/D转换器 • 第12章 LCD接口设计 • 第13章 温度监测仪开发实例

  4. 本章课程: • 13.1 项目功能描述 • 13.2 系统组成 • 13.3 接口电路图设计 • 13.4 程序设计 • 13.5 运行结果 • 13.6 小结

  5. 13.1 项目功能描述 • 温度监测仪可以实现如下功能: • 使用铂电阻传感器探测出目标温度,并通过图形的方式显示在LCD屏上 • 当温度超过报警温度时,在LCD屏上显示报警状态 • 当温度超过报警温度时,通过PWM控制蜂鸣器实现报警 • 当温度超过报警温度时,点亮LED报警灯 • 可以通过按键关闭或打开蜂鸣器及报警等功能 • 实例涉及到传感器技术、GPIO控制技术、中断技术、LCD控制技术、PWM控制技术、A/D转换技术等。

  6. 13.2 系统组成 图13-1 系统组成功能图

  7. 13.3 接口电路图设计 • 1、报警灯电路 • 处理器S3C2410通过GPF4控制报警LED灯,如图13-2所示 图13-2 报警灯电路

  8. 13.3 接口电路图设计 • 2、蜂鸣器电路 • 处理器S3C2410通过GPB0输出PWM信号控制蜂鸣器,如图13-3所示 图13-3 蜂鸣器电路

  9. 13.3 接口电路图设计 • 3、按键电路 • 当GPE11输出0电平时,按键按下后会在EINT0管脚上产生跳沿信号。系统利用此信号产生中断。如图13-4所示 图13-4 按键中断电路

  10. 13.3 接口电路图设计 • 4、LCD液晶屏电路 • LCD屏的分辨率为320*240,颜色深度为16位真彩色。电路接线参照第12章中的图12-4。

  11. 13.3 接口电路图设计 • 5、温度采集电路 • 采样温度范围是0~100℃,变送器将温度信号转换为0~3.3V的电压信号。电压信号和S3C2410的AIN0相连。系统通过测量电压信号从而得到当前的温度值。电路如图13-5所示 图13-5 温度采集电路

  12. 13.4 程序设计 • 1、程序工作流程 图13-6 主程序流程

  13. 13.4 程序设计 图13-7 按键中断处理程序流程

  14. 13.4 程序设计 • 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);

  15. 13.4 程序设计 • int flag_alarm=1; //打开alarm功能的表示 • int flag_beep=0; //蜂鸣器和报警灯打开标志 • int main(int argc,char **argv) • { • unsigned short adc_data; • float f_value; • sys_init(); //初始化 s3c2410's Clock, MMU, Interrupt,Port and UART • led_init(); //LED接口初始化,配置对应的GPIO属性 • lcd_init(); //初始化LCD控制器 • int_init(); //初始化按键中断 • beep_gpio_setup(); //初始化PWM控制蜂鸣器 • adc_init(); //初始化A/D控制器

  16. 13.4 程序设计 • 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_value>80) //判断温度是否超过报警值80 • { • if(flag_alarm) //判断是否设置了报警功能 • { • beep_start();//驱动蜂鸣器

  17. 13.4 程序设计 • led_on(); //打开报警灯 • flag_beep=1; //置标志 • } • else • { • if(flag_beep) //判断标志 • { • beep_stop(); //关闭蜂鸣器 • led_off(); //关闭报警灯 • flag_beep=0; //flag标志置0 • } • } • }

  18. 13.4 程序设计 • else • { • if(flag_beep) //判断标志 • { • beep_stop(); //关闭蜂鸣器 • led_off(); //关闭报警灯 • flag_beep=0; //flag标志置0 • } • } • } • return 0; • }

  19. 13.4 程序设计 3、按键中断处理程序代码 • extern int flag_alarm; • void __irq int0_int(void) • { • delay(3000); • ClearPending(BIT_EINT0); • uart_printf(" EINT0 interrupt occurred.\n"); • if(flag_alarm) • { • flag_alarm=0; • } • else • flag_alarm=1; • }

  20. 13.5 运行结果 • 本章例程的运行后在液晶上的显示如图13-8所示: 图13-8 控制器温度监控界面 通过图形的方式直观的表示出温度情况。K10可以控制报警功能的开关。参照13.1中的描述,测试系统的各项功能。

  21. 13.6 小结 本章通过一个实例,综合了几个常用的接口功能。 通过本章,学员可以提高利用已学知识解决实际问题的能力。 本例程只适合在实验室学习使用,如果用于产品还需要在精度、稳定性等方面做更多的优化。

  22. 22

More Related