用Keil uVision4写一个程序

用KeiluVision4写一个程序:用AT89C51芯片。控制8个LED从左到由每两个灯为一组依次循环显示,每组显示持续时间分别为0.5S、1.0S、1.5S、2.0S... 用Keil uVision4写一个程序:用AT89C51芯片。控制8个LED从左到由每两个灯为一组依次循环显示,每组显示持续时间 分别为0.5S、1.0S、1.5S、2.0S。 展开
 我来答
bxf0817
推荐于2016-10-03 · TA获得超过2162个赞
知道小有建树答主
回答量:1348
采纳率:0%
帮助的人:1063万
展开全部
#include <reg51.h>
#define LED P2
unsigned char time_flag;
void InitTimer0(void)
{
TMOD = 0x01;
TH0 = 0x3C;
TL0 = 0x0B0;
EA = 1;
ET0 = 1;
TR0 = 1;
}
void main(void)
{
InitTimer0();
while(1)
{
if(time_flag==100) time_flag =0;
switch(time_flag/10)
{
case 0: LED = 0xfc;break;
case 1:
case 2: LED = 0xf3;break;
case 3:
case 4:
case 5: LED = 0xcf;break;
case 6:
case 7:
case 8:
case 9: LED = 0x3f;break;
default:LED = 0xff;
}
}
}
void Timer0Interrupt(void) interrupt 1
{
TH0 = 0x3C;
TL0 = 0x0B0;
//add your code here!
time_flag++;
}

晶振12M。定时器是50ms中断一次。

追问
不行啊,用软件测试时间上挺快的。
追答
哦,晶振是11.0592M的。
名片
2024-10-28 广告
Altair HyperWorks是一套功能强大的集成化CAE(计算机辅助工程)软件平台,由Altair公司开发。它涵盖了结构分析、流体动力学、优化、多体动力学、电磁场仿真等多个领域,提供了丰富的仿真工具和优化算法。HyperWorks以其... 点击进入详情页
本回答由名片提供
伟大且轻松丶榜首C702
2013-04-28
知道答主
回答量:91
采纳率:0%
帮助的人:20.9万
展开全部
用中断吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式