⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 analog_comparators_in.c

📁 EasyARM615在IAR上的实验源代码
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               Guangzhou ZHIYUAN electronics Co.,LTD.
**                                     
**                                 http://www.embedtools.com
**
**--------------File Info-------------------------------------------------------------------------------
** File Name:           Analog_Comparators_in.c
** Last modified Date:  2008.01.18 
** Last Version:        v1.0
** Description:         Stellaris系列单片机模拟比较器的操作
** 
**------------------------------------------------------------------------------------------------------
** Created By:          Kang qinhua
** Created date:        2008.01.18
** Version:             v1.0
** Descriptions:        从PB4输入一路模拟信号,模拟比较器使用内部参考电压 1.1V,比较的结果在 PD7 
**           	        上输出,PD7 连接到 LED1以便观察实验现象。同时读取比较寄存器的结果,
**				        从PB0输出显示.
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Description:
**
********************************************************************************************************/

#include "hw_memmap.h"
#include "hw_types.h"
#include "gpio.h"
#include "sysctl.h"
#include "systick.h"
#include "comp.h"

#define PB4 GPIO_PIN_4		                                            // PB4为VIN-
#define PC5 GPIO_PIN_5		                                            // PC5连接LED2
#define PD7 GPIO_PIN_7		                                            // PD7为VOUT

int main(void)
{
  SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);                          // 使能GPIO PB口
  SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);                          // 使能GPIO PC口
  SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);                          // 使能GPIO PD口
  SysCtlPeripheralEnable(SYSCTL_PERIPH_COMP0);                 	        // 使能模拟比较器0
  GPIODirModeSet(GPIO_PORTC_BASE, PC5, GPIO_DIR_MODE_OUT); 		        // 设置 PC5 为输出
  GPIOPinTypeComparator(GPIO_PORTB_BASE, PB4);                	        // 设置 PB4 为C0- 
  GPIODirModeSet(GPIO_PORTD_BASE, PD7, GPIO_DIR_MODE_HW); 		        // 设置PD7为C0O
  ComparatorConfigure(COMP_BASE, 0, ( COMP_TRIG_NONE | COMP_ASRCP_REF |
                    	COMP_OUTPUT_NORMAL));                 	        // 配置模拟比较器
  ComparatorRefSet(COMP_BASE, COMP_REF_1_1V);            		        // 配置内部参考电压为 1.1V
  while (1)
  {
    //读取比较结果. 1:点亮LED1;0:熄灭LED1
	if(ComparatorValueGet(COMP_BASE, 0) == 1 )
		GPIOPinWrite(GPIO_PORTC_BASE, PC5, ~ PC5);		                //点亮LED2
	else
		GPIOPinWrite(GPIO_PORTC_BASE, PC5, PC5);                        //熄灭LED2
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -