云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 传感器实验二

传感器实验二

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 20:47:19

复位键S2按下时D3灯一直闪烁。编写串口发送函数时,手动发送“welcome”时,出现如下结果。

(三)AD转换实验1

1.实验目的

(1)掌握CC2530的AD转换寄存设置。 (2)掌握AD转换函数程序的编程方法。

2.实验内容

在IAR集成开发环境中编写定时器中断程序

3.程序

#include \#define uint8 unsigned char #define uint16 unsigned int char uart_buffer;

unsigned int adc_value; void delay(void) {

unsigned int i; unsigned char j; for(i=0;i<1500;i++) {

for(j=0;j<200;j++) {

asm(\ asm(\ asm(\ } }

} uint16 ReadAdValue(uint8 SREF,uint8 SDIV,uint8 Channel) {

uint16 AdcValue;

ADCCON3 = (SREF<<6)|(SDIV<<4)|Channel; ADCCON1 &= 0x30; //停止A/D ADCL &= 0x00; //EOC清零 ADCH &= 0x00; //EOC清零

ADCCON1 |= 0x40; //启动A/D;

while(!(ADCCON1 & 0x80)); //等待AD转换结束 AdcValue = ADCH;

AdcValue = ((AdcValue<<6)+(ADCL >> 2)); return AdcValue; }

void UartTX_Send_String(unsigned char *Data,int len) //串口发送函数 {

int j;

for(j=0;j

U0DBUF = *Data++; while(UTX0IF == 0); UTX0IF = 0; } }

void UartTX_Send_Data(char Data,int len) //串口发送函数 {

int j;

for(j=0;j

U0DBUF = Data; while(UTX0IF == 0); UTX0IF = 0; } }

#pragma vector=URX0_VECTOR //uart0中断函数 __interrupt void uart0(void){ URX0IF = 0; //清中断标志 P0_0=~P0_0;

uart_buffer = U0DBUF;

//UartTX_Send_String(\

//UartTX_Send_Data(uart_buffer,1); }

void main( void ) {

float temp;

unsigned char buf[8]; temp = 0;

P0DIR |= 0x01; //设置P0.0为输出方式;P0.4和P0.5为输入方式 P2DIR |= 0x01; //设置P2.0为输出方式 P0_0 = 1;

P2_0 = 1; //熄灭LED

CLKCONCMD &= ~0x40; //选择32M晶振 while(!(SLEEPSTA & 0x40)); //等待XSOC稳定

CLKCONCMD = 0xb8; //TICHSPD 128分频,CLKSPD 不分频 SLEEPCMD |= 0x04; //关闭不用的RC 振荡器 PERCFG = 0x00; //位置1 P0 口 P0SEL = 0x3c; //P0 用作串口 U0CSR |= 0x80; //UART 方式 U0GCR |= 10; //baud_e = 10; U0BAUD |= 216; //波特率设为57600 UTX0IF = 1;

U0CSR |= 0X40; //允许接收

IEN0 |= 0x84; //开总中断,接收中断 while(1){

P2_0=~P2_0;

if(uart_buffer == 0x01) {

temp = ReadAdValue(2,3,0xf); temp = (temp/0x1fff)*33;

//UartTX_Send_Data(adc_value,1); uart_buffer = 0;

buf[0] = (((unsigned char)temp)/10)+'0'; buf[1] = 46;

buf[2] = (((unsigned char)temp))+'0'; buf[3] = 86; buf[4] = '\\t';

UartTX_Send_String(&buf[0],5); } }

} // end of main()

4.实验现象

按下复位键S2时D3长亮,按住S2后D3灭。打开串口调试助手结果如下:

(四)睡眠定时器唤醒实验

1.实验目的

(1)掌握CC2530的睡眠定时器寄存设置。 (2)掌握睡眠定时器唤醒程序的编程方法。

2.实验内容

在IAR集成开发环境中编写睡眠定时器程序。

3.程序

#include \void delay(void) {

unsigned int i; unsigned char j; for(i=0;i<1500;i++) {

for(j=0;j<200;j++) {

asm(\ asm(\ asm(\ } } }

搜索更多关于: 传感器实验二 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

复位键S2按下时D3灯一直闪烁。编写串口发送函数时,手动发送“welcome”时,出现如下结果。 (三)AD转换实验1 1.实验目的 (1)掌握CC2530的AD转换寄存设置。 (2)掌握AD转换函数程序的编程方法。 2.实验内容 在IAR集成开发环境中编写定时器中断程序 3.程序 #include \#define uint8 unsigned char #define uint16 unsigned int char uart_buffer; unsigned int adc_value; void delay(void) { unsigned int i; unsigned char j; for(i=0;i<1

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com