第二个是加加两个按键控制其开始和停止
第三个是用汇编控制数字led灯,其是一个可以从0-9循环的
第四个是加两个键控制其从0-9和9-0循环(可用汇编和c写)
ORG 0000H
lJMP MAIN
MAIN:
DELAY:MOV R0,#20
LOOP1:MOV R1,#100
LOOP2:MOV R2,#250
LOOP3:DJNZ R2,LOOP3
ORG 0000H
lJMP MAIN
MAIN: JB P2.0,MAIN
DELAY: MOV R0,#20
LOOP1: MOV R1,#100
LOOP2: MOV R2,#250
LOOP3: JNB P2.0,AA
ORG 0000H
LJMP MAIN
MAIN:MOV R0,#00
LOOP: MOV A,R0
DELAY:MOV R3,#10
LOOP1:MOV R4,#100
LOOP2:MOV R5,#250
LOOP3:DJNZ R5,LOOP3
TABLE:DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H
ORG 0000H
LJMP MAIN
MAIN:MOV R0,#00
LOOP: MOV A,R0
DG: MOV R6,#9
MOV DPTR,#TABLE
LOOP4:MOV A,R6
DELAY:MOV R3,#10
LOOP1:MOV R4,#100
LOOP2:MOV R5,#250
LOOP3:DJNZ R5,LOOP3
最后这个我还用c语言写了程序,程序如下
#include sfr p2=0xa0; sfr p1=0x90; sbit p1_0=0x90; sbit p1_1=0x91; int kk[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; DELAY(); int a,b; int main() { if(p1_0==0) b=1; if(p1_1==0) } } DELAY() { } 或者如以下程序: #include sfr p2=0xa0; sfr p1=0x90; sbit p1_0=0x90; sbit p1_1=0x91; int kk[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; DELAY(); int flag=2 ,i,t;/*flag先设置一个值(这个值不能为1和0),如果不设的话默认为0*/ int main() 循环一开始就得先检测有没有按键按下*/ } DELAY() 跟下面一样的道理,考虑一下t不取0而取-1*/ 循环过程中按键1按下,程序有两种情况,第一种是在程序正在执行按键0程序的时候,这时候有没有t=10对程序没影响,但第二种情况,程序在执行自己按键1的时候按键1按下,是不是就得让数组重新从高往低循环,考虑一下为什么t不取9而取10*/下载本文