当前位置:首页 > 基于单片机的彩灯设计 - 图文
当收到按键四按下使P3.5的电平由高电平变成低电平时,主程序就跳到方式四的子函数执行,这样就实现了方式一的点亮。
开 始 长跳转到Start P3.2=0? N P3.3=0? N Y 方式一亮灯 Y 方式二亮灯 Y 方式三亮灯 P3.4=0? N P3.5=0? N Y 方式四亮灯 图3.1 系统流程图
3.2方式一程序设计
当按下一号键时,主程序跳到方式一子数,彩灯从上到下循环点亮。
9
开 始 给R7赋值为7 将P1赋值给A 调用延时程序 Y R7=0? N 图3.2 方式一流程图
方式一子程序:
PAOMA: MOV P1,#0FEH ;键一跑马灯子程序 RESTART: MOV R7,#7 LOOP: MOV A,P1 RL A LCALL DELAY MOV P1,A JB P3.2,START DJNZ R7,LOOP SJMP RESTART RET
10
3.3 方式二程序设计
当二号键按下时,主函数跳转到方式二的子程序执行,使彩灯的变换方式为从上到下循环点亮,然后接着从下到上循环点亮。
开 始 给P1赋值 R5R4赋值为7
将P1传给A N P3.3=0 Y 跳转到START 左移一位A值 调用延时程序 将A赋给P1 N R4=0? Y 右移一位A值 调用延时程序 将A赋给P1 Y N R4=0?
图3.3 方式二流程图
11
方式二子程序:
SXC: MOV P1,#0FEH ;键二上下循环 MOV A,P1 RESTART1: MOV R5,#7 MOV R4,#7 LOOP3: MOV A,P1 JB P3.3,START RL A LCALL DELAY MOV P1,A DJNZ R5,LOOP3 LOOP4: RR A LCALL DELAY MOV P1,A DJNZ R4,LOOP4 SJMP RESTART1 RET
3.4 方式三子程序设计
当按下三号键的时,主函数跳转到方式三子程序,使彩灯的变换方式为,上下的两个LED灯亮中间的四个灭,再中间的四个LED亮上下的两个灭,这样依次循环。
12
共分享92篇相关文档