资源简介
利用C8051F系列单片机的内部ADC,对外部模拟电压信号,采样,进行转化,通过串口连接到PC,通过串口调试工具,观察数据变化,
代码片段和文件信息
/****************************************************************************
**--------------文件信息---------------------------------------------------------------------------
** 功能:实现ADC1采样电压AD转换的值通过串口发给PC,
** 作者:CHAOZAI
** 时间:2009-08-16
注:
** 用内部基准:VREF和VREF1相连
** Vref=2.44V
** Gain=1
** 采用22.1184M晶振,二分频;
** 外部引脚连接
** P1^1 ——外部采样电压
** P0^1 ——RXD
** P0^0 ——TXD
*********************H.document*************************/
#include
#include
#include
/******** 16-bit SFR Definitions for ‘F02x*************/
sfr16 DP = 0x82; // data pointer
sfr16 TMR3RL = 0x92; // Timer3 reload value
sfr16 TMR3 = 0x94; // Timer3 counter
sfr16 ADC0 = 0xbe; // ADC0 data
sfr16 ADC0GT = 0xc4; // ADC0 greater than window
sfr16 ADC0LT = 0xc6; // ADC0 less than window
sfr16 RCAP2 = 0xca; // Timer2 capture/reload
sfr16 T2 = 0xcc; // Timer2
sfr16 RCAP4 = 0xe4; // Timer4 capture/reload
sfr16 T4 = 0xf4; // Timer4
sfr16 DAC0 = 0xd2; // DAC0 data
sfr16 DAC1 = 0xd5; // DAC1 data
/********************宏定义*************************/
#define BAUDRATE 115200 // Baud rate of UART in bps
#define SYSCLK 22118400 // SYSCLK frequency in Hz
#define SYSCLK_0 11059200
#define SAMPLE_RATE 50000 // Sample frequency in Hz
#define INT_DEC 256 // integrate and decimate ratio
#define AMX0SL_AIN 1 // 0=AIN0....7=AIN78=TEMP
/******************函数说明************************/
void Init_Device(void);
void UART0_Init (void);
void ADC_Init(void);
/******************定义全局变量********************/
unsigned int result;
float ADNUM;
int TEMP;
unsigned char NUMHNUML;
/******************主函数*************************/
void main (void)
{
Init_Device();
UART0_Init (); // initialize UART0
ADC_Init (); // init ADC
EA = 1;
ADC1CN |=0X80;
ADC1CN |=0X90;
while (1)
{
while((ADC1CN&0XB0)==0);
ADC1CN&=0X80;
ADNUM=TEMP=result=ADC1;
printf(“THE AD_NUMBER float is %f\n“ADNUM);
printf(“THE AD_NUMBER int is %d\n“TEMP);
printf(“THE AD_NUMBER hex is %+4#x\n“result);
ADC1CN|=0X90;
}
}
/*************关闭看门狗*********************/
// Peripheral specific initialization functions
// Called from the Init_Device() function
void Reset_Sources_Init()
{
WDTCN = 0xDE;
WDTCN = 0xAD;
}
/**************ADC1初始化*******************/
void ADC_Init()
{
ADC1CF = 0xF9;
AMX1SL = 0x01;
}
/*************电压基准初始化****************/
void Voltage_Reference_Init()
{
REF0CN = 0x03;
}
/**************I-O初始化*******************/
void Port_IO_Init()
{
P1MDIN = 0x00;
XBR2 = 0xC0;
P1 = 0XFF;
XBR0 = 0x04; // Enable UART0
P0MDOUT |= 0x01;
}
/***********外部晶振初始化******************/
void
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4217 2009-08-18 15:41 ADC1-PORT\ADC.#1
文件 510 2009-08-18 16:01 ADC1-PORT\ADC1-PORT.plg
文件 44 2009-08-18 15:56 ADC1-PORT\ADC1-PORT.lnp
文件 11765 2009-08-18 16:00 ADC1-PORT\ADC1-PORT.M51
文件 8190 2009-08-18 15:56 ADC1-PORT\ADC1-PORT.hex
....... 0 2009-08-18 11:27 ADC1-PORT\ADC1-PORT_Uv2.Bak
文件 2207 2009-08-18 11:46 ADC1-PORT\ADC1-PORT.Uv2
文件 10271 2009-08-18 15:41 ADC1-PORT\ADC1-PORT.#3
文件 32948 2009-08-18 15:52 ADC1-PORT\ADC1-PORT.wsp
文件 4217 2009-08-18 16:01 ADC1-PORT\ADC.c
文件 114 2009-08-18 16:00 ADC1-PORT\cygli
文件 10271 2009-08-18 15:56 ADC1-PORT\ADC1-PORT.#2
文件 10366 2009-08-18 16:00 ADC1-PORT\ADC1-PORT.#1
文件 7264 2009-08-18 16:00 ADC1-PORT\ADC.LST
文件 7695 2009-08-18 16:00 ADC1-PORT\ADC.OBJ
文件 314 2009-08-18 16:00 ADC1-PORT\tmp.out
文件 10366 2009-08-18 16:00 ADC1-PORT\ADC1-PORT
....... 1787 2009-08-18 15:50 ADC1-PORT\ADC1-PORT_Opt.Bak
文件 1788 2009-08-18 16:01 ADC1-PORT\ADC1-PORT.Opt
文件 2222 2002-08-27 21:39 串口调试助手\help.htm
文件 242 2002-08-27 22:18 串口调试助手\readme.txt
文件 266240 2002-08-27 22:59 串口调试助手\串口调试助手V2.2.exe
目录 0 2009-08-18 11:15 ADC1-PORT
目录 0 2009-08-18 15:51 串口调试助手
----------- --------- ---------- ----- ----
393038 24
相关资源
- 英特尔8系列芯片ahci驱动
- 某污水处理S7-300程序
- School Days HQ GPK文件解包工具
- S5PV210 spi驱动 TJC3224T022_011X 屏幕
- Wolfram Mathematica 11.x 全版本通用注册机
- IKanalyzer约2000个常用停止词库
- Loic源码-DDOS/DOS测试
- LCD12864串行显示DS18B20温度和超声波测
- KUKA机器人与PC机的通讯控制
- Ardunino通过红外发射控制LEGO马达
- 多模式带音乐跑马灯
- AT91SAM7SXX的USART_PDC通信
- adams2007R3中的crack
- Microsoft Root Certification 2010&2011解决VS
- ICT(IN CIRCUIT TESTER)测试原理介绍
- 资源合集_集成clover最新版.txt
- springMVC的增删改查
- DAC8560驱动Verilog
- ADS8865 Verilog驱动
- 热敏打印机原理图
- WINCE SD卡读写源码
- 如何在TMCL软件中通过SPI快速配置TMC
- MT7628AN核心板SCH源文件
- Wincc 7.0 SP3亚洲版授权文件+硬件狗破解
- 变频器一拖四PLC电路
- QT之dock使用
- 基于51单片机和Proteus仿真的波形发生
- The defining decade
- FICO PA模拟题
- SSD3所有exercise答案
评论
共有 条评论