English免安装英文中文版推荐Win7老版Version图1.1.25选择合适版本安装三司ZigbeeConfigure图1.1.26Zigbee配置软件图标安装TI Z-Sensor-Monitor软件进入JPIOTDVDIToolsTISensorMonitor目录下,双击Setup_ZigBee_Sensor_Monitor_1.2.0.exetiZ-SensorMonitor图1.1.27ZigBee_Sensor_Monitor图标搭建好之后的所需软件i鱼司ICCV7ZigbeeZ-SensorforAVRStudiosscom32...AVR4ConfigureMonitor图1.1.28所有软件图标24
24 图 1.1.25 选择合适版本安装 图 1.1.26 Zigbee 配置软件图标 安装 TI Z-Sensor-Monitor 软件 进入 JPIOT_DVD\Tools\TI Sensor Monitor 目录下,双击 Setup_ZigBee_Sensor_Monitor_1.2.0.exe 图 1.1.27 ZigBee_Sensor_Monitor 图标 搭建好之后的所需软件 图 1.1.28 所有软件图标
1.2.实验二通用I/0接口实验1.2.1.实验目的O熟练运用ICCAVR开发工具。.掌握软件延时的编程方法。掌握AVR单片机通用I/O口相关寄存器的配置。.初步掌握单片机代码编写的流程以及编写代码时的注意事项。1.2.2.实验原理查看Atmegal62的Datasheet中DDR寄存器的配置,如下图。若端口不检测电平,要设置DDR寄存器相应位为高电平。例如第一位设置输出DDRx=OxO1:警告:用哪一位就设置那一位,避免程序写的庞大后误操作某个寄存器,一旦出问题后这种错误找出来比较费时费力。刚开始定要养成好习惯,避免返工给自己找麻烦。Port A Data Register-n63Bit4N-0PORTAPORTA7PORTA6PORTA5PORTA4PORTA3PORTA2PORTA1PORTAOPORTAReadWriteRWR/WRWRWRWRWRWRW。00。。。。0Initial ValuePort AData DirectionBit765.3210Register-DDRADDA7DDA6DDA5DDA4DDA3DDA2DDA1DDAODDRAReadWifleRWR/WRWR/WRWRWRWRW00000Initiai Value000PortAInput Pins65432Bit710Address-PINAPINAPINA7PINA6PINA5PINA4PINA3PINA2PINA1PINAOReadWriteARRRQNANANANIANAN/ANAInitial ValueN/A图1.2.1端口A配置寄存器查看原理图截图:8个LED采用共阴极接法,接到单片机PA组8个管脚,利用单片机的位操作功能实现LED灯亮灭。25
25 1.2. 实验二 通用 I/O 接口实验 1.2.1. 实验目的 ⚫ 熟练运用 ICCAVR 开发工具。 ⚫ 掌握软件延时的编程方法。 ⚫ 掌握 AVR 单片机通用 I/O 口相关寄存器的配置。 ⚫ 初步掌握单片机代码编写的流程以及编写代码时的注意事项。 1.2.2. 实验原理 查看 Atmega162 的 Datasheet 中 DDR 寄存器的配置,如下图。若端口不检测电平,要设 置 DDR 寄存器相应位为高电平。例如第一位设置输出 DDRx |= 0x01;警告:用哪一位就设置 那一位,避免程序写的庞大后误操作某个寄存器,一旦出问题后这种错误找出来比较费时 费力。刚开始定要养成好习惯,避免返工给自己找麻烦。 图 1.2.1 端口 A 配置寄存器 查看原理图截图:8 个 LED 采用共阴极接法,接到单片机 PA 组 8 个管脚,利用单片机 的位操作功能实现 LED 灯亮灭
本体沐沐体体沐体型LEDx8RES10SWDIP图1.2.2LED电路原理图1.2.3.实验步骤硬件配置:?将MCU-A上方的拨码开关全部拨到ON(后续实验凡用到LED的全部拨上去)W.b---图1.2.3LED实验硬件设置公用ISPIJTAG\RS232接口选择配置:■将双刀双掷开关J2J5J7J9统一拨到左侧,即MCU-A一侧。查看开发板原理图后编写实验代码:完成后烧录进芯片。会看到LED等按照你的方:式亮起来。26
26 图 1.2.2 LED 电路原理图 1.2.3. 实验步骤 硬件配置: ⚫ 将 MCU-A 上方的拨码开关全部拨到 ON(后续实验凡用到 LED 的全部拨上去) 图 1.2.3 LED 实验硬件设置 ⚫ 公用 ISP\JTAG\RS232 接口选择配置: ◼ 将双刀双掷开关 J2 J5 J7 J9 统一拨到左侧,即 MCU-A 一侧。 ⚫ 查看开发板原理图后编写实验代码;完成后烧录进芯片。会看到 LED 等按照你的方 式亮起来
002代点击按,可控制单片机上8盒LED灯开关及闪烁,单击每个灯的图标可控制单片机上相应位置灯的明略。onoha3hr图1.2.4教学系统LED实验演示1.2.4.参考代码本函数为实现对单只LED灯持续闪烁,程序首先通过DDRA将PAO端口设置为输出模式,然后对PORTA不断进行“异或”操作,最低位不断被取反,从而该引脚不断输出0101.../*******1.%2.*函数功能:控制单个led灯3.4.void led test(void)5.46./设置PAO为输出模式1.SETBIT(DDRA, PINAO);8.while(1) (9.PORTA ^=0x01:10.delay(1);11.12. 从原理图可以看出,如果我们想让接在PAO口的LED1亮起来,那么我们只要把PAO口的电平变为低电平就可以了:相反,如果要接在PAO口的LED1熄灭,就要把PAO口的电平变为高电平就可以:同理,接在PA1~PA7口的其他7个LED的点亮和熄灭方法方法同LED1。因此,要实现流水灯功能,我们只要将LED1~LED8依次点亮、熄灭,依始类推,8只LED变会一亮一暗的做流水灯了。27
27 图 1.2.4 教学系统 LED 实验演示 1.2.4. 参考代码 本函数为实现对单只 LED 灯持续闪烁,程序首先通过 DDRA 将 PA0 端口设置为输 出模式,然后对 PORTA 不断进行“异或”操作,最低位不断被取反,从而该引脚不断输 出 0101. 1. /******************************************************************** 2. * 函数功能:控制单个 led 灯 3. * *****************************************************************/ 4. void led_test(void) 5. { 6. //设置 PA0 为输出模式 7. SETBIT(DDRA, PINA0); 8. while(1) { 9. PORTA ^= 0x01; 10. delay(1); 11. } 12. } 从原理图可以看出,如果我们想让接在 PA0 口的 LED1 亮起来,那么我们只要把 PA0 口的电平变为低电平就可以了;相反,如果要接在 PA0 口的 LED1 熄灭,就要把 PA0 口的电平变为高电平就可以;同理,接在 PA1~PA7 口的其他 7 个 LED 的点亮和熄灭 方法方法同 LED1。因此,要实现流水灯功能,我们只要将 LED1~LED8 依次点亮、熄 灭,依始类推,8 只 LED 变会一亮一暗的做流水灯了
/***1.2.*函数功能:花样流水灯实验3.**************************************************************光4.voidline_led(void)5.16.int n;7./设置PORTA端口所有引脚为输出模式8.PORT_OUTPUT(DDRA);9.//初始化PORTA端口数据寄存器10.PORTA=OxFF;11.while(1) (12.for(n=0; n<TYPE_LEN; n++) (13.PORTA = Type_PA[n];14.delay(1);15.16.317. 1.2.5.思考题?请实现自已的4种花样流水灯(可参考现实大楼霓虹灯的显示规则)。请查看并思考DDRx寄存器的详细配置。若DDRx设置为O,请思考相应端口PORTx何时选择上拉,何时选择禁止上拉。3请思考,DDRx寄存器为什么强调配置时使用哪一位就专门配置那一位?同上述,PORTx端口是不是也应用哪一位就设置那一位?扩散思维,后续的寄存器是不是也应如此?28
28 1. /******************************************************************** 2. * 函数功能:花样流水灯实验 3. * *****************************************************************/ 4. void line_led(void) 5. { 6. int n; 7. //设置 PORTA 端口所有引脚为输出模式 8. PORT_OUTPUT(DDRA); 9. //初始化 PORTA 端口数据寄存器 10. PORTA = 0xFF; 11. while(1) { 12. for(n=0; n<TYPE_LEN; n++) { 13. PORTA = Type_PA[n]; 14. delay(1); 15. } 16. } 17. } 1.2.5. 思考题 ⚫ 请实现自己的 4 种花样流水灯(可参考现实大楼霓虹灯的显示规则)。 ⚫ 请查看并思考 DDRx 寄存器的详细配置。 ⚫ 若 DDRx 设置为 0,请思考相应端口 PORTx 何时选择上拉,何时选择禁止上拉。 ⚫ 请思考,DDRx 寄存器为什么强调配置时使用哪一位就专门配置那一位? ⚫ 同上述,PORTx 端口是不是也应用哪一位就设置那一位? ⚫ 扩散思维,后续的寄存器是不是也应如此?