1、用 Proteus 软件画出电路原理图。要求在 P1.0 至 P1.7 口
线上分别接 LED0 至 LED7 八个发光二极管,在 P3.0 口线上
接一蜂鸣器。
2、编写程序:要求 LED0 至 LED7 以秒速率循环右移。
3、编写程序:要求 LED0 至 LED7 以秒速率循环左移。
4、编写程序:要求在灯移动的同时,蜂鸣器逐位报警。
查询方式右移
ORG 0000H
CLRO: MOV IE, #00H;关闭中断
MOV TMOD, #10H;方式 1
MOV SP, #30H; 开辟栈底
MOV TH1, #3CH;采用定时器 1 定时 50ms
MOV TL1, #0B0H;
SETB TR1;开启定时器
MOV P1, #07FH;起始状态 LED7 亮
MOV A, #7FH;
MOV P3, #0FFH;
MAIN: MOV R3,#14H;20 次
LCALL TIME; 定时一秒
CLR P3.0;
RR A;右移
MOV P1, A;灯右移
LJMP MAIN;
定时一秒的子程序
TIME: JBC TF1, LOOP2;溢出标志位为 1 跳转
AJMP TIME;
LOOP2: MOV TH1, #3CH;
MOV TL1, #0B0H;
DJNZ R3, TIME;R3 先自减再,判断 R3 是否为 0,为 0 跳转
RET;返回主程序
END
中断方式左移低电平有效
START: LJMP MAIN
ORG 000BH
LJMP TTCO
ORG 0100H
MAIN: MOV SP, #30H; 开辟栈底
SETB EA; 打开总中断
SETB ET0; 打开定时器中断
MOV R1, #00H;
MOV R2, #14H;
评论0
最新资源