若51单片机P1口接了8个LED,编写程序完成跑马灯程序要求大约1秒变化一次

单片机编程题... 单片机编程题 展开
 我来答
NJGQZF
推荐于2017-09-20 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3165
采纳率:0%
帮助的人:1379万
展开全部
//假设晶振12MHZ,P1控制8个LED低电平亮
#include "reg51.h"
unsigned int YSJS=0;
signed char LED=0XFE;
void main(void)
{
TMOD |= 0X10; //定时器1工作于方式1,16位定时器
TH1 = 0XFE; //定时器1定时时间=500uS
TL1 = 0X0C;
ET1 = 1; //使能定时器1中断
TR1 =1;
EA =1; //开总中断

while(1)
{
}
}

void TIMER1(void) interrupt 3 //定时器1中断函数使用默认寄存器组
{
TH1 = 0XFE; //定时器1定时时间=500us
TL1 = 0X0C;

YSJS++;
if(YSJS==2000) //500uS*2000=1000000uS=1S
{
P1 = LED;
LED=LED<<1;
LED=LED | 1
if(LED==0XFF)LED=0XFE;
YSJS = 0
}
}
leipole
2024-11-29 广告
作为上海雷普电气有限公司的一员,我们深知温度控制在工业领域的重要性。Arduino温度控制系统凭借其灵活性和易用性,成为我们温控方案中的重要组成部分。该系统通过Arduino控制器与温度传感器相连,实时监测并调整温度,实现精确的温度控制。无... 点击进入详情页
本回答由leipole提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式