×
嵌入式开发 > 详情

51单片机系列之:闪烁灯

发布时间:2020-06-29 发布时间:
|

一、设计任务

1、做单个灯的闪烁,在P1.0端口接一个发光二极管的D1,使D1不停地一亮和一灭,时间间隔大约为0.125秒。

2、做一个流水灯的设计,在P0.0端口分别对应接上8个LED灯(在此,每个端口接上了3个灯),使这8个灯循环亮灭:P0.0—P0.1—P0.2—……—P0.7。

3做完上面两个了,现在来设计任意灯的点亮。


二、设计程序

//单片机89C51的p1.0口接一个闪光的二极管(设计1)

       org 0hljmp mainorg 30
hmain: clr  p1.0acall delaysetb p1.0acall delaysjmp maindelay:
mov R7,#250d1 :mov R6,#250    
djnz R6,$djnz R7,d1retend//单片机89C51的P0口接上8个灯,使这8个灯循环点亮(设计2)START: 
MOV ACC,#0FEHMOV P0,ACCMOV  R0,7LOOP1: RL AMOV P0,ACCACALL DELAYDJNZ R0,LOOP1AJMP STARTDELAY: MOV R0,255L1:  
MOV R1,255DJNZ R1,$DJNZ R1,$DJNZ R0,L1RETEND//任意灯的点亮(设计3)START: MOV ACC,#7EH  ;1和8灯亮
MOV P0,ACCACALL DELAYMOV ACC,#0BDH  ;2和7灯亮MOV P0,ACCACALL DELAY  MOV ACC,#0DBH  ;3和6灯亮
MOV P0,ACCACALL DELAYMOV ACC,#0E7H  ;4和5灯亮MOV P0,ACCACALL DELAYMOV ACC,#0FCH  ;1和2灯亮
MOV P0,ACCACALL DELAYMOV ACC,#0F3H  ;3和4灯亮MOV P0,ACCACALL DELAYMOV ACC,#0CFH  ;5和6灯亮
MOV P0,ACCACALL DELAYMOV ACC,#3FH    ;7和8灯亮MOV P0,ACCACALL DELAY AJMP STARTDELAY: MOV R0,255L1:  
MOV R1,255DJNZ R1,$DJNZ R1,$DJNZ R1,$DJNZ R0,L1RETEND


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
NXP推出Wi-Fi 6E三频段SOC 充分释放6GHz频谱潜力