单片机技术与应用课件 30.中断方式下串口控制LED灯.pptx
中断方式下串口控制LED灯zigbee技术开发主讲人:XXXZigbeetechnologydevelopment
中断方式下串口控制LED灯任务描述中断方式下,使用PC端的串口调试程序,通过串口向ZigBee模块发送指令,点亮LED1--LED4。发送1时,LED1亮;发送2时,LED2亮;发送3时,LED3亮;发送4时;LED4亮;发送5时,LED全部熄灭。
中断方式下串口控制LED灯1.知识分析任务分析串口查询方式接收指令控制LED111配置串口相关寄存器,设置相关寄存器参数,注意IEN0的设置。理解中断方式下如何通过指令控制LED灯,设计并实现中断服务函数。理解中断方式下的串口接收原理
中断方式下串口控制LED灯2.设备分析任务分析zigbee模块USB转串口线串口调试助手111
3.技能分析任务分析接收数据程序调试串口助手调试配置111具备中断方式下UART接收数据通信的能力正确设置串口参数,发送数据,查看串口及LED灯的实时状态会查错纠错中断方式下串口控制LED灯
知识储备UART查询方式接收串口数据动画UART查询方式接收串口数据中断方式下串口控制LED灯
任务流程图初始化寄存器设置工作方式设置波特率中断标志位为1进入中断程序产生中断时指令控制LED亮灭中断方式下串口控制LED灯
设计主函数#includeiocc2530.h#defineLED1P1_0#defineLED2P1_1#defineLED3P1_3#defineLED4P1_4voidmain(void){CLKCONCMD=0X80;while(CLKCONSTA0x40);initial_usart_tx();P1SEL=0xE6;P1DIR|=0X1B;P1=0X00;while(1);}中断方式下串口控制LED灯
串口初始化配置voidinitial_usart_rx(){PERCFG=0X00;P0SEL|=0X3C;P2DIR=~0XC0;U0CSR|=0XC0;U0GCR=9;U0BAUD=59;URX0IF=0;IEN0=0X84;}中断方式下串口控制LED灯
设计串口中断接收服务函数#pragmavector=URX0_VECTOR__interruptvoidUART0_ISR(void){URX0IF=0;}中断方式下串口控制LED灯
//编码形式为ASCIIswitch(U0DBUF){case1:LED1=1;break;case2:LED2=1;break;case3:LED3=1;break;case4:LED4=1;break;case5:LED1=LED2=LED3=ED4=0;break;default:break;}中断方式下串口控制LED灯
//编码形式为HEXswitch(U0DBUF){case0x01:LED1=1;break;case0x02:LED2=1;break;case0x03:LED3=1;break;case0x04:LED4=1;break;case0x05:LED1=LED2=LED3=LED4=0;break;default:break;}中断方式下串口控制LED灯
谢谢观看THANKYOU