📂 共 14 个源码文件 点击文件名可在线查看源代码
📋 资源详细信息
💡 温馨提示:本资源由用户 shanon 上传分享,仅供学习交流使用。如有侵权,请联系我们删除。
资源简介
//------------------------------------------------------------------------------------
//此程序为ADC转换程序,可以选择向ADC0BUSY写1或用定时器0,1,2,3作为ADC的启动信号。
//
//------------------------------------------------------------------------------------
//头文件定义
//------------------------------------------------------------------------------------
//
#include <c8051f330.h>
#include <stdio.h>
//-----------------------------------------------------------------------------
// 定义16位特殊功能寄存器
//-----------------------------------------------------------------------------
sfr16 ADC0 = 0xbd;
sfr16 TMR0RL = 0xca;
sfr16 TMR1RL = 0xca;
sfr16 TMR2RL =0xca;
sfr16 TMR3RL =0xca;
sfr16 TMR0 = 0xCC;
sfr16 TMR1 = 0xCC;
sfr16 TMR2 = 0xcc;
sfr16 TMR3 = 0xcc;
//-----------------------------------------------------------------------------
// 全局变量定义
//-----------------------------------------------------------------------------
char i;
int result;
//-----------------------------------------------------------------------------
//定义常量
//-----------------------------------------------------------------------------
#define SYSCLK 49000000
#define SAMPLE_RATE 50000
//------------------------------------------------------------------------------------
// 定义函数
//------------------------------------------------------------------------------------
void SYSCLK_Init (void);
void PORT_Init (void);
void Timer0_Init (int counts);
void Timer1_Init (int counts);
void Timer2_Init (int counts);
void Timer3_Init (int counts);
void ADC0_Init(void);
void ADC0_ISR (void);
void ADC0_CNVS_ADC0h(void);
//------------------------------------------------------------------------------------
// 主程序
//------------------------------------------------------------------------------------
void main (void)
{
int ADCRESULT[50] ;
int k;
PCA0MD &= ~0x40; // 禁止看门狗
SYSCLK_Init ();
PORT_Init ();
Timer0_Init (SYSCLK/SAMPLE_RATE);
//Timer1_Init (SYSCLK/SAMPLE_RATE); //选择相应的启动方式
//Timer2_Init (SYSCLK/SAMPLE_RATE);
//Timer3_Init (SYSCLK/SAMPLE_RATE);
ADC0_Init();
EA=1;
while(1)
{
//ADC0_CNVS_ADC0h();
k=ADC0;
ADCRESULT[i]=result; //此处设断点,观察ADCRESULT的结果
}
}
源码文件列表
立即下载此资源
资源说明
下载说明
- 下载需消耗 2积分
- 24小时内重复下载不扣分
- 支持断点续传
- 资源永久有效
使用说明
- 下载后用解压软件解压
- 推荐 WinRAR 或 7-Zip
- 如有密码请查看说明
- 解压后即可使用
积分获取
- 上传资源获得积分
- 每日签到免费领取
- 邀请好友注册奖励
- 查看详情 →