物联网系列专业课程CC2530单片机开发PPT学习教案_第1页
物联网系列专业课程CC2530单片机开发PPT学习教案_第2页
物联网系列专业课程CC2530单片机开发PPT学习教案_第3页
物联网系列专业课程CC2530单片机开发PPT学习教案_第4页
物联网系列专业课程CC2530单片机开发PPT学习教案_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、会计学1物联网系列专业课程物联网系列专业课程CC2530单片机开发单片机开发第1页/共66页CC2530间的转换时间很短,使其进一步降低能源消耗。第2页/共66页第3页/共66页Device TypeWireless MCU Frequency (MHz)24 Flash (KB)Up to 256 RAM8 KB Security128-bit AES PeripheralsSPI, UART Timers1 * 16-bit, 2 * 8-bitGPIO21 ADC12-bit, 8 channel RX Current (Lowest) (mA)20.5 Sleep Current (u

2、A)0.4 RX Sensitivity (dBm)-97 Data Rate (Max) (kbps)250 Operating Temperature Range (C)-40 to 125 Package GroupVQFN Key Applications2.4-GHz IEEE 802.15.4 SystemsRF4CE Remote Control SystemsZigBee Systems (256-KB Flash)Home/Building AutomationLighting SystemsIndustrial Control and MonitoringLow-Power

3、 Wireless Sensor NetworksConsumer ElectronicsHealth Care 第4页/共66页第5页/共66页第6页/共66页123ZigBee节点(1)ZigBee调试接口(1)ZigBee USB串口(1)456ZigBee节点(2)ZigBee调试接口(2)ZigBee USB串口(2)789ZigBee节点(3)ZigBee调试接口(3)ZigBee USB串口(3)1011通信数据灯网络状态灯12温湿度13光强度14丝杆电机(窗帘)1516风扇RGB彩灯17RFID18空气质量20燃气19LED灯17蜂鸣器(报警器)21按键 温湿度 光强度 丝杆电

4、机 按键n节点一 RFID RGB彩灯 风扇 按键n节点二 LED灯 空气质量 燃气 蜂鸣器 按键n节点三第7页/共66页第8页/共66页第9页/共66页第10页/共66页节点一功能说明P0_0EN_M丝杆电机P0_6DIRP0_7STEPP0_2TEMP_DATA温湿度P0_3TEMP_SCLP0_4HUMI_SDA光强度P0_5HUMI_DIRP1_0LED6数据灯P1_1LED5网络灯P2_0K5按键节点二功能说明P0_0RGB_R0RGB彩灯0P0_1RGB_G0P0_2RGB_B0P0_3RGB_R1RGB彩灯1P0_4RGB_G1P0_5RGB_B1P0_6FAN_AD风扇P0_7

5、FAN_SWP1_0LED8数据灯P1_1LED7网络灯P1_4RFID_TXRFIDP1_5RFID_RXP2_0K3按键节点三功能说明P0_0LED1LED灯P0_1LED2P0_2LED3P0_3LED4P0_4AIR_ADC空气质量监测P0_5ADC_VOLT_BAT电池电压监测P0_6GAS_ADC燃气电压监测P0_7BUZZER蜂鸣器P1_0LED10数据灯P1_1LED9网络灯P2_0K2按键第11页/共66页第12页/共66页第13页/共66页第14页/共66页创建工程添加源码工程配置编译工程调试程序镜像下载第15页/共66页第16页/共66页第17页/共66页第18页/共66

6、页第19页/共66页第20页/共66页Building configuration: led_test - Debug Updating build tree. main.c Linking Total number of errors: 0 Total number of warnings: 0 第21页/共66页第一次使用要安装驱动(win7以上版本会自动安装):驱动位置,C:Program Files (x86)Texas InstrumentsSmartRF ToolsDriversCebal)第22页/共66页在调试状态下,程序重新编译、下载并进入运行状态在光标处设置断点/取消断点程

7、序编译、下载并进入运行状态编译工程所有文件编译选定的单个文件调试状态按钮:Reset:程序复位,运行到main函数Stop Debugging退出调试状态Go:程序全速运行Run to cursor:程序运行到光标处Next Statement:程序运行到下一条语句Step Out:程序运行跳出子函数Step Into:程序运行进入子函数Step Over:程序逐行运行暂停运行第23页/共66页第24页/共66页第25页/共66页第26页/共66页第27页/共66页第28页/共66页第29页/共66页第30页/共66页第31页/共66页P0_0P0_1P0_2P0_3第32页/共66页开始时钟

8、初始化LED初始化LED状态取反延时P0SEL &= (0 x0F);P0DIR |= 0 x0F;P0 |= 0 xF;P0 = 0 xF; While(1)P0_0P0_1P0_2P0_3第33页/共66页n务程序第34页/共66页P2_0第35页/共66页开始时钟初始化按键初始化LED状态取反延时P2SEL &= (0 x01);P2DIR &= (0 x01);P2INP &= (0 x01); / 上拉P2IEN |= 0 x01; / 开P2_0中断PICTL |= 0 x08; / 下降沿触发IEN2 |= 0 x02; / 开P2端口中断EA =

9、 1; / 开总中断While(1)P2_0LED初始化/ 中断服务程序EA = 0; / 关总中断if(P2IFG & 0 x01) / 判断中断标志位 LED1 = LED1; / LED1状态反转P2IFG &= (0 x01); / 清P2_0中断标志位IRCON2 &= (0 x01); / 清端口2中断标志位EA = 1; / 开总中断第36页/共66页n/nDMA 触发功能第37页/共66页第38页/共66页开始时钟初始化定时器初始化LED2状态取反延时T1CTL |= 0 x0E; /128分频,模模式T1CC0L = 62500%256; /装入定时器

10、初值T1CC0H = 62500/256;T1CCTL0 |= 0 x04; /设置通道0为比较模式 IEN1 |= 0 x02; /定时器1中断使能EA=1; /开总中断 While(1)LED初始化/ 定时器中断服务程序EA = 0; / 关总中断if(T1STAT & 0 x01) / 判断中断标志位 LED1 = LED1; / LED1状态反转T1STAT &= (0 x01); / 清定时器中断标志位EA = 1; / 开总中断系统在不配置工作频率时默认为2分频(CLKCONCMD.TICKSPD=001),即16M=32M/2,则定时器为1/(16M/128)*6

11、2500 = 0.5s第39页/共66页第40页/共66页P0_4第41页/共66页开始时钟初始化ADC IO初始化LED状态取反延时P0SEL |= 0 x10;P0DIR &= (0 x10);APCFG |= 0 x10; /P0_4配置为模拟IOWhile(1)LED初始化P0_4获取ADC数字量ADCCON3 |= 0 xB4; /选择AVDD5引脚电压,12位精度,通道4ADCCON1 |= 0 x70; /启动AD转化while(!(ADCCON1&0 x80); /等待ADC转换完成get_ADCL = ADCL; /获取低位ADC数据get_ADCH = AD

12、CH; /获取高位ADC数据temp = (u16)get_ADCH 3); /获取有效12位数字量(ADCL寄存器的第3位到ADCH寄存器的第6位)if(symbol) return value; /如果为正则直接返回参数 else return -value; /否则添加负号第42页/共66页第43页/共66页nn奇偶校验和帧校验出错状态第44页/共66页nUxBAUD:USARTx第45页/共66页串口通信实验:开始时钟初始化串口初始化若收到串口数据则发送出去清除发送标志位P1SEL |= 0 xC0; /初始化UART1端口PERCFG |= 0 x02; /选择UART1为可选位置二

13、 U1CSR = 0 x80; /设置为UART模式U1UCR |= 0 x00; /无奇偶校验,停止位为1位 U1GCR = 0 x0A; U1BAUD = 0 x3B; /波特率设置为38400 UTX1IF = 0; /发送标志位清零 URX1IF = 0; /接收标志位清零IEN0 |= 0 x08; /使能串口1接收中断U1CSR |= 0 x40; /接收器使能EA = 1; /开总中断While(1)EA = 0; /关总中断rxd_temp = U1DBUF; /获取接收数据rxd_bufferrecevbytes + = rxd_temp; /获取接收缓存if(rxd_tem

14、p = n) /如果接受到回车信号 send_flag = 1; /发送标志位置一 rxd_bufferrecevbytes + = 0; /向缓存写入结束符 recevbytes = 0; /清除计数位URX1IF = 0; /发送完成后将标志位清零EA = 1; /开总中断第46页/共66页第47页/共66页P0_0P0_1P0_2P0_3P0_4P0_5#define RGB0_R P0_0 /宏定义RGB控制引脚P0_0为RGB0_R#define RGB0_G P0_1 /宏定义RGB控制引脚P0_1为RGB0_G#define RGB0_B P0_2 /宏定义RGB控制引脚P0_2

15、为RGB0_B #define NO 0 /宏定义RGB灯开状态控制为NO#define OFF 1 /宏定义RGB灯关状态控制为OFF#define RGB0(r,g,b) RGB0_R=r;RGB0_G=g;RGB0_B=b /宏定义RGB组合控制#define RGB0_RED RGB0(NO, OFF, OFF) /宏定义RGB为红色的控制组合#define RGB0_GREEN RGB0(OFF, NO, OFF) /宏定义RGB为绿色的控制组合#define RGB0_BULE RGB0(OFF, OFF, NO) /宏定义RGB为蓝色的控制组合#define RGB0_YELLO

16、W RGB0(NO, NO, OFF) /宏定义RGB为黄色的控制组合#define RGB0_CYAN RGB0(OFF, NO, NO) /宏定义RGB为青色的控制组合#define RGB0_PURPLE RGB0(NO, OFF, NO) /宏定义RGB为紫色的控制组合#define RGB0_WHITE RGB0(NO, NO, NO) /宏定义RGB为白色的控制组合#define RGB0_BLACK RGB0(OFF, OFF, OFF) /宏定义RGB为黑色的控制组合第48页/共66页P0_7 while(1) if(!KEY2) /如果按键被按下 delay_ms(10);

17、/延时消抖 while(!KEY2); /等待按键弹起 delay_ms(10); /延时消抖 if(KEY2) /如果按键确实弹起 FANNER = FANNER; /风扇状态取反 第49页/共66页P0_6第50页/共66页P0_6第51页/共66页P0_2P0_3第52页/共66页P0_2P0_3/获取温湿度数据获取温湿度数据dhtu21d_init(); /初始化传感器TempHumi_instructure.temperature = HTU21DWork(TEMP_ADDR); /获取温度值dhtu21d_init(); /初始化传感器TempHumi_instructure.hu

18、midity = HTU21DWork(HUMI_ADDR); /获取温度值/dhtu21库函数库函数void dhtu21d_io_init(void)/htu21d管脚初始化void dhtu21d_init(void)/htu21d初始化float HTU21DWork(u8 order)/htu21d测量温湿度/IIC库函数库函数void htu21d_I2C_Init(void)/I2C初始化函数void htu21d_I2C_Start() /I2C起始信号void htu21d_I2C_Stop()/I2C停止信号void htu21d_I2C_SendACK(int ack)/

19、I2C发送应答int htu21d_I2C_RecvACK()/I2C接收应答u8 I2CWriteByte(u8 WriteData)/I2C写一个字节数据,返回ACK状态u8 I2CReadByte(u8 AckValue) /I2C读一个字节数据,返回读取的数据第53页/共66页P0_5P0_4第54页/共66页/获取光强度数据获取光强度数据u8 *p=buf; /定义u8指针,指针指向缓存数组首地址Init_BH1750(); /初始化BH1750ISendByte(0 x46,0 x01); /power onISendByte(0 x46,0X20); /H- resolution

20、 modeDelay_ms(180); /延时180msIRcvStrExt(0 x46,p,2); /连续读出数据,存储在BUF中u16 x = buf08 | buf1; /合并数据return x/1.2; /返回有效光强信息/BH1750库函数库函数void Init_BH1750(void); /初始化BH1750float get_light(void);/获取光强度值/IIC库函数库函数void Start_I2c(void); /起始信号void Stop_I2c(void); /停止信号void BH1750_SendACK(void); /应答ACKvoid BH1750_SendNCK(void) ; /应答NCKu8 RcvByte(void); /IIC读数据void SendByte(u8 c); /IIC写数据u8 ISendByte(u8 sla,u8 c); /执行BH1750进行一次数据的写入u8 IRcvStrExt(u8 sla,u8 *s,u8 no); /执行BH1750读取连续数据P0_5P0_4第55页/共66页P0_6P0_7P0_0第56页/共66页void go_step(u8 dir,u32 steps) int i; /定义循环计数参数 if (dir)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论