keil c51,led1 闪烁200ms 2个数码管显示0-59循环程序,编译没问题,创建目标的时候有3个警告,无法仿真

作者&投稿:强彩 (若有异议请与网页底部的电邮联系)
单片机c语言编程问题,功能是用定时器T0使发光管间隔200ms闪烁,定时器T1使数码管循环显示0-59.~

……
num2++;
if(num2==20)
{
num2=0;//少了这句,num2会持续增长,长到255后,才变成0。
……

num2:0~255,只有在=20时,数字才加一。
那么,就是约12.5秒,数字才加一。

#include
#define uchar unsigned char
#define uint unsigned int
sbit led1=P2^0;
uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void display(uchar,uchar);
void delay(uint);
uchar a,b,c,shi,ge;
void main()
{
TMOD=0x11;
TH1=(65536-46080)/256;
TL1=(65536-46080)%256;
TH0=(65536-46080)/256;
TL0=(65536-46080)%256;
EA=1;
ET1=1;
ET0=1;
TR1=1;
TR0=1;
while(1)
{
display(shi,ge);
}
}
void display(uchar shi,uchar ge)
{
P1=0xfe; //FE=11111110
P0=table[shi];
delay(5);
P1=0xfd; //FD=11111101
P0=table[ge];
delay(5);
}
void delay(uint z)
{
uint x,y;
for(x=0;x<z;x++)
for(y=0;y<110;y++);
}
void T0_time() interrupt 1
{
TH0=(65536-46080)/256;
TL0=(65536-46080)%256;
a++;
if(a==4)
{
a=0;
led1=~led1;
}
}
void T1_time() interrupt 3
{
TH0=(65536-46080)/256;
TL0=(65536-46080)%256;
b++;
if(b==20)
{
b=0;
c++;
if(c==60)
c=0;
shi=c/10;
ge=c%10;
}
}

朋友,你太马虎了,你看看你的显示函数是怎么定义的?
void diplay(uchar shi,uchar ge)???

应该是display()才对,你把这个修改完了,就没问题了。


望江县19340827104: 使用51单片机,控制三个发光二极管,上电后二极管闪烁,闪烁2次后熄灭 -
薄崔抗病: #include sbit led1=P1^0;sbit led2=P1^1;sbit led3=P1^2; //设为1亮 0灭void delay();//延时函数自己写main(){...

望江县19340827104: 51单片机(用的是89c52)按s1 led1灯闪烁,s2停止加熄灭 -
薄崔抗病: #include<reg52.h> sbit S1 = P1^0; sbit S2 = P1^1; sbit LED1 = P1^2; unsigned int count = 0; void delay_ms(unsigned int z) { unsigned int x,y; for(x=z;x>0;x--) { for(y=116;y>0;y--); } } void InitTimer0()//定时50MS { TMOD |= 0x01; TH0 = 0x3C; TL0 =...

望江县19340827104: 海信35变频空调LED1.闪LED2亮LED3亮怎么回是??急 -
薄崔抗病: 你好!你先检查电源供电?电源在165v以上到265v之内空调才会正常工作,还有就是在空调没启动时有220v、在空调启动后电压降到165v左右也会显示故障,有些空调在180v以下就不行了.要是电压正常再反馈你的问题.

望江县19340827104: 映泰主板,一开电脑,右下角的故障指示灯LED1和2直接就亮了,不能启动,正常情况应该先亮一个再亮另一个. -
薄崔抗病: 我认为是主板挂了,正常如果主板没挂风扇肯定会转的,现在有指示灯说明电源是好的. 我建议先换电源试试看,不行就死主板挂了.

望江县19340827104: 单片机怎么控制一个led亮一个闪烁 -
薄崔抗病: while(1) { LED1=0; LED2=0; Delay_ms(50); LED2=1; Delay_ms(50); } 注意延时时间要大于20ms,不然肉眼无法看出闪烁.

望江县19340827104: 51单片机程序修改 上电LED闪烁间隔1S 无论何时按下按键重新清零 按刚上电时执行 修改下我的程序 -
薄崔抗病: #include #define uint unsigned int sbit led1=P1^0; sbit key1=P3^4; int flag=1; //设置按下标志 void delayms(uint); void main() { while(1) { if(flag) //标志为1时才闪 { ed1=1; delayms(1000); led1=0; delayms(1000); } if(key==0){delay(20); //按键消抖...

望江县19340827104: 海尔变频空调外机电脑板LED1灯闪2下反反复复什么故障. -
薄崔抗病: 可能是温度传感器故障,不过你最好还是找售后上门看看

望江县19340827104: LED1和LED2轮流闪烁的程序代码,改为汇编语言 -
薄崔抗病: 这段程序很简单的呀,就是控制位D8,和D9轮流输出10和01,从而控制LED灯闪烁,轮流点亮.

望江县19340827104: 单片机ATc52,实现按下key1,led1亮,再按下key2,led2亮led1灭,求具体程序 -
薄崔抗病: 具体看LED的接法,改变两个if的参数,改变状态效果:例如led一边接了高电平,连接单片机这边给led=0为亮,若led一边为地GND(就是低电平)另外一边就要led=1才亮. 以下程序为一边接高电平,单片机引脚给0亮给1灭 #include <reg52.h>sbit led=P1^0;sbit key1=P1^1; sbit key2=P1^2; void main() {led=1;//初始化输出,可初始化=0while(1){if(key1==0){led=0;//亮}if(key2==0){led=1;//灭} } }

望江县19340827104: 主板上LED灯闪烁代表什么意思? -
薄崔抗病: 有些主板是有信息指示灯的 比如微星的 映泰的 这个要看主板设置说明的 不同品牌的含义不一样,比如映泰的 有led1 和led2 led1 open led2 close 代表的意思就是内存初始错误

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网