《项目驱动式单片机应用》 LED 彩灯控制器【任务描述】设计一个单片机驱动 8路 LED 灯显示, 按以下方案显示: 从左往右逐位点亮, 再从左往右逐位熄灭;从右往左逐位点亮,再从右往左逐位熄灭;从中间向两边点亮直至全亮,再从中间向两边熄灭直至全灭;从两边向中间点亮直至全亮,再从两边向中间熄灭直至全灭。【源程序】①;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; org 0 ljmp 30h ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; main: mov dptr,#ledtab mov r2,#48 mov 30h,#0 loop: mov a,30h movc a,***@a+dptr mov p1,a lcall delay inc 30h djnz r2,loop sjmp main delay: mov r7,#200 dd1: mov r6,#250 dd2: nop nop djnz r6,dd2 djnz r7,dd1 ret ledtab: ;48 种 LED 显示状态 db 0feh,0fch,0f8h,0f0h,0e0h,0c0h,80h,00h ; 从左往右逐位点亮 db 01h,03h,07h,0fh,1fh,3fh,7fh,0ffh ; 从左往右逐位熄灭 db 7fh,3fh,1fh,0fh,07h,03h,01h,00h ; 从右往左逐位点亮 db 80h,0c0h,0e0h,0f0h,0f8h,0fch,0feh,0ffh ; 从右往左逐位熄灭 db 0e7h,0c3h,81h,00h ; 中间向两边点亮直至全亮 db 18h,3ch,7eh,0ffh ; 中间向两边熄灭直至全灭 db 7eh,3ch,18h,00h 《项目驱动式单片机应用》; 两边向中间点亮直至全亮 db 81h,0c3h,0e7h,0ffh ; 两边向中间熄灭直至全灭②;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; org 000h ljmp 30h ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; main: mov r2,#8 mov a,#0ffh lp1: clrc rlca mov p1,a lcall delay djnz r2,lp1 mov r2,#8 lp2: setb c rlca mov p1,a lcall delay djnz r2,lp2 mov r2,#8 lp3: clrc rrc a mov p1,a l
LED彩灯控制器 来自淘豆网m.daumloan.com转载请标明出处.