请高手解答关于单片机的问题

我是按照上面那个图片在proteus上面模拟的,但是我模拟出来灯泡老是不亮,我也不知道是怎么回事。请高手指点,具体能不能加QQ聊啊我得QQ:501380441
程序清单:#include <reg51.h>
#define unchar unsigned char
#define uint unsigned int
uchar n=0,temp=0;
uchar code segcode0[]={0x5b,0x06,0x3f,0x5b,0x06,0x3f,0x5b,0x06,0x3f} ;
uchar code segcode0[]={0x6f,0x7f,0x07,0x7d,0x6d,0x66,0x4f,0x5b,0x06,0x3f} ;
//uchar code segcode0[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f} ;
void delay(x)
{ while(x--);
}
void timer0() interrupt 1
{TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
n++;
temp=temp%61;
if(n==20)
{ temp++;
n=0;
}
if(temp<25) P1=0x21;
if((temp>=25)&&(temp<28)) P1=0x22;
if((temp>=28)&&(temp<30)) P1=0x24;
if((temp>=30)&&(temp<55)) P1=0x0c;
if((temp>=55)&&(temp<58)) P1=0x14;
if((temp>=58)&&(temp<60)) P1=0x24;
}
main()
{uint i=0;
//P1_0=0;
//P1_7=0;
TOMD=0X01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
//while(1)
//{//i=temp;
// }
//TH1=256-125;
//TL1=256-125;
EA=1;
ET0=1;
//ET1=1;
TR0=1;
while(1)
{P2_0=0;
P2_1=1:
P0=segcode0[temp/10];
delay(3000);
P2_0=1;
P2_1=0;
P0=segcode1[temp%10];
delay(3000);
P2_1=1;//TR1=1;
}
}
就是希望哪位高手在proteus上面将上面那个图仿真成功,再将成功的仿真文件发给我一下,还有程序如果出错的话帮忙改一下,最好将你们编译成的hex文件也发给我一下啊,谢谢啊,如果分不够(就只有这点分),我可以给你们充一些话费(要是能成功的话)

教你一种办法。就是先不用中断,只是先用IO口控制看看,你的电路有没有问题。P2_0=0;
P2_1=1:
P0=0x3c;
delay(3000);
P2_0=1;
P2_1=0;
P0=0xf0;
delay(3000);
P2_1=1;//TR1=1;
}
相当于只是给数据看看能不能工作

temp=temp%61;
这句话好像不太对哦。
温馨提示:内容为网友见解,仅供参考
无其他回答

请高手帮忙解答,简述51单片机P1,P3的主要功能和性能特点
P1口是一个8位的准双向口,每个引脚都可以独立设置为输入或输出。当配置为输入时,写入锁存器的1会将Q(非)置为0,T2截止,内部上拉电阻将引脚电位拉至高电平,此时引脚输出为1。写入0时,Q(非)置为1,T2导通,输出为0。作为输入口时,锁存器置1,Q(非)为0,T2截止,引脚可以外部电路拉低电...

求高手解答单片机问题。
( MOVC )指令用于单片机内部与外部ROM之间的查表。31、8751有两个16位可编程定时\/计数器,T0和T1。它们的功能可由控制寄存器( TMOD ) 、( TCON )的内容决定,且定时的时间或计数的次数与( THx )、( TLx )两个寄存器的初值有关。32、串行口的控制寄存器SCON中,REN的作用是( 允许接收控...

请教单片机高手几个问题!!!
第一个问题:学会单片机还要有其它的知识作为辅助。没有那家公司会让你单纯用单片机带个数码管那么简单(如果你在生产型企业,用它代替PLC是没有问题的)。更多时候是含数据采集,通信两方面。也就是数字模拟电路是基础,无论学那一类电子专业,所以必须学会。能分析就行,设计能力可以在工作中积累。通信...

求高手解答单片机
18个不对,mov c,20h是位寻址。另一个是直接寻址。19不对,用来锁存p0口的低八位地址。20理论上如此,但每个单片机肯定会有时钟的上限。21对 22不对,一个指令周期可以包含数个机器周期 23对的 24不对scon只是串口中断的控制寄存器。25不对,SP始终指向栈顶。26不对 都是64K 27不对,是一条查...

单片机问题,求高手详解!
1、答案:00H,LCALL调用把地址0221H放到堆栈中,先低后高,所以08H是00H,PC也会变化,这里就不说了 2、十进制变成二进制不能一位对应四位,那个是十六进制变成2进制的方法。。。

找个单片机高手帮我做下题目
三、简答题 1,2 概念的东西自己找书对着抄。3.89C51中有5个中断源,每个中断源可设置高低两级优先级,试问下列中断优先级的安排是否可能?若可能应如何安排,若不可能说明理由。(1)定时器0,定时器1,外部中断0,外部中断1,串行口中断。正确,设置定时器0,定时器1为高优先权即可。(2)外部...

单片机问题 高手麻烦帮忙解答下 谢谢了
总体上讲:为了每一次触发事件可查询,设立了标志位,当一标志位为1时,说明此事件已触发或是完成,这样可方便去查询该标志,然后需清0,再待下一次事件触发。 中断如果有触发,基本上全要软件清0; 至于外部,则同理,是用来记录单片机外围电路的触发事件的,如外部中断。

单片机入门,急求高手大虾指教!!!
但是我告诉你单片机一旦学会,永远不会忘了。另外我再说说关于用汇编语言还是C语言编程的问题。很多同学大一、二就开设了C语言的课,我也上过,我知道那时上课老师讲的就是几乘几、几加几、求个阶乘、画个星星、编个月亮什么的。学完了有什么用?虽然考试我考了90分,可我心里比谁都明白,C语言到底是什么?它有什么...

我是单片机入门菜鸟,想请教单片机高手一个问题!
1. sfr P1 = 0x90; \/\/ 正确地声明了单片机寄存器P1的地址 2. sfr 用于指定一个字节大小的寄存器;sbit P1_1 = 0x91; \/\/ 正确地声明了P1寄存器中的位P1_1 3. sbit 是用来指定寄存器中的一个位;sfr 和 sbit 不是相同的概念,不应混淆讨论。4. 对于“位地址”的概念,需要查阅单片机或...

有关单片机的几个问题!跪求高手回答
1.是个循环,而且是个死循环。他在单片机中是常要用到的,功能就是只要单片机上电它使程序不停里执行死循环里的内容!2.这个看你的单片机的硬件电路了,你最好也先看懂硬件电路才编程。通常LED的公共端是用三极管选通的!看来你的LED是共阳极接法的,就是8个LED正极共同接到三极管的发射极,集电极接...

相似回答
大家正在搜