#include "ioCC2530.h"
#define D3 P1_0
#define D4 P1_1
#define D5 P1_3
#define D6 P1_4
unsigned char UR0_Command; //上位机命令控制字
/*====================初始化系统时钟函数======================*/
void Init_Clock_32MHz()
{
CLKCONCMD &= ~0x40; //选择系统时钟源为32MHZ晶振
while(CLKCONSTA & 0x40); //等待晶振稳定
CLKCONCMD &= ~0x47; //设置系统主时钟频率为32MHZ
}
/*======================初始化串口0函数=======================*/
void Init_Uart0()
{
//端口相关的配置
PERCFG = 0x00; //串口0的引脚映射到位置1,即P0_2和P0_3
P0SEL = 0x0C; //将P0_2和P0_3端口设置成外设功能
//波特率相关的配置
U0BAUD = 59; //32MHz的系统时钟产生9600BPS的波特率
U0GCR = 8; //16MHz---9; 32MHz---8
//串口属性相关的配置
U0UCR |= 0x80; //禁止流控,8位数据,清除缓冲器
U0CSR |= 0xC0; //选择UART模式,使能接收器
//串口中断相关的配置
UTX0IF = 0; //清除TX发送中断标志
URX0IF = 0; //清除RX接收中断标志
URX0IE = 1; //使能URAT0的接收中断
EA = 1; //使能总中断
}
/*===================串口0接收中断服务函数=====================*/
#pragma vector = URX0_VECTOR
__interrupt void UR0_RecvInt()
{
UR0_Command = U0DBUF; //将控制命令字从缓冲区取出
}
/*=====================串口0单字节发送函数=====================*/
void UR0_Send_Byte(unsigned char dat)
{
U0DBUF = dat; //将要发送的1字节数据写入U0DBUF
while(!UTX0IF); //等待TX中断标志,即数据发送完成
UTX0IF = 0; //清除TX中断标志,准备下一次发送
}
/*=======================ADC初始化函数========================*/
void Init_ADC1()
{
APCFG |= 0x01; //P0_0作为模拟I/O使用
}
/*====================ADC电压采样函数========================*/
void Get_ADC1_Data()
{
D6 = 1;
ADCIF = 0;
//参考电压选择AVDD5引脚,256抽取率,通道0
ADCCON3 = (0x80 | 0x20 | 0x00);
while(!ADCIF); //等待ADC转换完成,
UR0_Send_Byte(ADCH);
UR0_Send_Byte(ADCL);
D6 = 0;
}
/*======================端口初始化函数========================*/
void Init_Port()
{
//初始化LED灯的I/O端口
P1SEL &= ~0xb; //P1_0、P1_1、P1_3和P1_4作为通用I/O端口
P1DIR |= 0x1b; //P1_0、P1_1、P1_3和P1_4端口输出
//关闭所有的LED灯
D3 = 0;
D4 = 0;
D5 = 0;
D6 = 0;
}
/*==========================主函数============================*/
void main()
{
Init_Clock_32MHz();
Init_Uart0();
Init_ADC1();
Init_Port();
while(1)
{
if(UR0_Command == 0xa6)
{
UR0_Command = 0x00;
Get_ADC1_Data();
}
}
}
18-ADC单通道外部电压采样.zip_ad
版权申诉
99 浏览量
2022-09-23
20:17:50
上传
评论
收藏 23KB ZIP 举报
刘良运
- 粉丝: 69
- 资源: 1万+
最新资源
- 基于Python的酒店评论情感分析源码+文档(高分项目).zip
- meta-llama-3-8b-instruct 的 model-00003-of-00004.safetensors 的3/3
- nginx配置文件,注意其中需要对应宿主机的路径
- 自用数据集自用数据集自用数据集
- HTML5小游戏【堆雪人-优秀H5小游戏合集】游戏源码分享下载 - epicsnowman.zip
- SNMP Client 是SNMP测试工具
- Android Camera内存统计脚本
- AD9220高速数据芯片硬件参考设计原理图+STM32F103单片机驱动程序代码+芯片技术手册资料.zip
- 常用爆破用户名字典top500
- meta-llama-3-8b-instruct 的 model-00003-of-00004.safetensors 的2/3
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈