《物联C172-177935-完整实验.docx》由会员分享,可在线阅读,更多相关《物联C172-177935-完整实验.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验要求:采用IAR仿真器的模拟仿真功能完成第二章中CC2530接口的基本实验功能。实验项目:LED核心代码分析:定义D7为P1_0口控制定义D6为P1_1口控制端口1功能选择寄存器(P1SEL)P1.0、P1.1置为0,设为通用I/O口。端口1方向选择寄存器(P1DIR)P1.0、P1.1置为1,设为输出。该实验通过改变P1_0和P1_1的值实现灯的亮灭,在灯亮灭的间隙加上了延时,从而实现led闪烁。实验项目:ExtInt核心代码分析:定义D7为P1_0口控制定义D6为P1_1口控制端口0功能选择寄存器(P0SEL)将P0_4置0,为通用I/O。端口0方向选择寄存器(P0DIR)将P0_4置
2、0,作输入。端口0输入模式寄存器(P0INP)将P0_4置0,处于上拉/下拉模式。端口0中断屏蔽寄存器(P0IEN)将P0_4置1,中断使能。端口中断控制寄存器(PICTL),置位下降沿触发。端口0中断状态标志寄存器(P0IFG),将P0_4中断标志清零。P0IE=1,中断使能。EA=1,总中断使能。当按下K5时,D6闪烁,D7状态改变。并且在LED屏幕显示相应信息。这是 利用中断来改变D7的状态。拓展:利用中断实现开关灯。实验项目:Timer核心代码分析:T1CTL:定时器 1 的控制,D1D0 控制运行模式,D3D2 设置分频划分值。(0x05)转换为二进制(00000101)即8分频,自
3、由运行,反复从0x0000到0xffff计数。T1STAT:定时器 1 的状态寄存器(0x21)转换为二进制(00100001),通道0,D5 为溢出标志位, 当计数到最终计数值是自动置 1。IEN1定时器1中断使能。EA总中断使能。使用定时器完成对灯闪烁快慢的控制。实验项目:UART核心代码分析初始化P_2、P0_3端口置为1,为外设功能。选择UART0 为可选位置一 。P0优先作为串口0 。设置为UART模式,而且使能接受器。设置UART0 波特率为 38400bps。设置停止位与奇偶校验。输入一个字符发送,发送结束,会返显在电脑上。拓展:接收串口命令,实现对灯的控制。实验项目:ADC利用
4、 ADC 转换 CC2530 片内温度传感器的温度值,通过串口将温度值发送到 PC 并显示出来。 扩展:(1) 光敏电阻的应用。(2) 可利用传感器进行拟合气体浓度实验实验项目:DMADMA 是 direct memory access 的缩写,即“直接内存存取”。这是一种高速的数据传输模式,ADC/UART/RF 收发器等外设单元和存储器之间可以直接在“DMA 控制器”的控制下交换数据而几乎不需要CPU的干预。除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和这些数据交互处于并行工作状态。因此,系统的整体效率可以得到很大的提高。配置
5、DMA:首先必须配置 DMA,但 DMA 的配置比较特殊:不是直接对某些SFR赋值,而是在外部定义一个结构体,对其赋值,然后再将此结构体的首地址的高 8位赋给DMA0CFGH,将其低8位赋给 DMA0CFGL。 DMA方式能满足高速I/O设备的要求,也有利于CPU效率的发挥。实验项目:Watchdog核心代码分析:WDT 运行在一个频率为32.768 kHz(当使用32 kHz XOSC时)的看门狗定时器时钟上。这个时钟频率的超时期限等于1.9ms,15.625 ms,0.25 s 和1s,分别对应64,512,8192 和32768 的计数值设置。当计数器达到设定的计数值时,看门狗会对系统产
6、生一个reset信号,如果在计数器到达设定值之前执行了看门狗clear序列,counter的值会被重置为0,并会继续递增。如果这个完整序列不能在watch dog时期结束前完成,看门狗就会产生一个系统reset信号。初始化看门狗程序,并且将时间间隔设为1s。喂狗程序,清除定时器。当0xa0跟随0x50写到这些位时,定时器被清除。因为有喂狗程序的存在,故D7一直亮。如果,没有喂狗程序,则看门狗程序每隔1s就会产生一个系统reset信号让系统重置,因此就D7就会闪烁。实验项目:PowerModeCC2530 共有 4 种电源模式:PM0(完全清醒),PM1(有点瞌睡)、PM2(半 醒半睡)、PM3
7、(睡的很死)。越靠后,被关闭的功能越多,功耗也越来越低。把 PM1、PM2 唤醒到 PM0,有三种方式:复位、外部中断、睡眠定时器中断;但把 PM3 唤 醒到 PM0,只有两种方式:复位、外部中断(这是因为在 PM3 下,所有振荡器均停止工作,睡眠定时器也停止工作)。核心代码分析:睡眠定时器中断标志清0,无中断未决。睡眠定时器中断使能置1,中断使能。EA置1,通过设置对应的使能位将每个中断源分别使能和禁止。即,开总中断。进行宏定义选择对应的电源模式设置外部中断,当按下K5时,触发中断。实验现象:D7第一次闪烁后表示系统工作在PM1模式。D7第二次闪烁后表示系统进入PM2模式。D7第三次闪烁后系统进入PM3模式。按下K5按键后D7点亮,系统由PM3模式进入PM0模式。实验总结:利用IAREmbeddedWordbench软件,建立工程,编写、调试和下载程序,使我对CC2530基本接口实验有了更为清楚的认识。对实验的原理有了更好的理解。通过这次做实验,我认识和了解了热门的Zigbee技术,提高了C51 的程序编写和调试能力。