单片机跑马灯编程
答案:2 悬赏:60 手机版
解决时间 2021-04-20 22:26
- 提问者网友:斑駁影
- 2021-04-19 22:57
P0口做输出控制8个发光二极管,使之从左向右逐一循环点亮,时间间隔1秒(一秒实现方法,使用T0,方式1.定时20ms,中断50次
最佳答案
- 五星知识达人网友:骨子里都是戏
- 2021-04-19 23:23
ORG 0000H
AJMP MAIN
ORG 000BH
MOV TH0,#(65535-20000)/256;
MOV TL0,#(65535-20000) MOD 256;
INC R7
RETI
MAIN:
SETB EA
SETB ET0
MOV TMOD,#01H
MOV TH0,#(65535-20000)/256;
MOV TL0,#(65535-20000) MOD 256;
SETB TR0
MOV A,#0FFH
BB:CJNE R7,#50,$
MOV R7,#0
CLR C
RRC A
MOV P0,A
CJNE A,#00H,BB
MOV A,#0FFH
AJMP BB
END
全部回答
- 1楼网友:北方的南先生
- 2021-04-19 23:51
#include<reg52.h> #include <intrins.h>
int a,temp;
void intser() interrupt 1 using 0 //定时20MS { TH0=-20000/256; TL0=-20000%256; a++;
} void main() { EA=1; ET0=1; TMOD=0x01; TH0=-20000/256; TL0=-20000%256; TR0=1; temp=0xfe; while(1) { if(a==50) //判断是否到了1秒,20MS*50 { temp=_crol_(temp,1); //左移一位,_cror_ 右移 P0=temp; a=0; }
} }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯