开发板上的led流水灯的IO口P0连接了数码管的段选,现在我要想在下面的程序中再加一个led秒闪(就是led的闪烁频率为1秒),怎么加???P0口都去控制数码管的段选了???
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar duan[8];
uchar h,m,s;
void delay(uint t)
{
while(t--);
}
void T_0()
{
TMOD|=0x01;
//TH0=0x00;
//TL0=0x00;
EA=1;
ET0=1;
TR0=1;
}
main()
{
void display(uchar f,uchar n);
T_0();
P3=0xff;
while(1)
{
if(P3==0xfe)
{
delay(100);
if(P3==0xfe)
{
while(P3==0xfe);
h++;
if(h==24)
h=0;
}
}
if(P3==0xfd)
{
delay(100);
if(P3==0xfd)
{
while(P3==0xfd);
m++;
if(m==60)
m=0;
}
}
/*if(P3==0xfb)
{
delay(100);
if(P3==0xfb)
while(P3==0xfb);
s++;
if(s==60)
s=0;
} */
duan[0]=table[h/10];
duan[1]=table[h%10];
duan[2]=0x40;
duan[3]=table[m/10];
duan[4]=table[m%10];
duan[5]=0x40;
duan[6]=table[s/10];
duan[7]=table[s%10];
}
}
void display(uchar f,uchar n)
{
uchar i;
for(i=0;i<n;i++)
{
P1=wei[i+f];
P0=duan[i];
delay(100);
P0=0x00;
}
}
void Te_0() interrupt 1
{
static uint t;
TH0=(65536-1000)/256; //2ms
TL0=(65536-1000)%256;
display(0,8);
t++;
if(t==100)
{
t=0;
s++;
if(s==60)
{
s=0;
m++;
if(m==60)
{
m=0;
h++;
if(h==24)
h=0;
}
}
}
}
P1口连接的是数码管的位选了,就只剩下P2口了,但是那要怎么连线了,P2口跟谁连?????
追答P2的一个IO口连接一个1K的电阻连接LED再接地,这是“高”亮接法
Vcc接1K电阻接LED灯接P2的IO口,这是“低”亮接法。
???在单片机开发板上怎么接??开发板上不是一般都用杜邦线连接排针,你那个怎么连??
追答找根导线,找个电阻,找个LED发光管,就可以连接了。
追问非常感谢你的回答。。
本回答被网友采纳51单片机的优缺点
然而,51单片机并非没有缺点。首先,其位处理功能虽然强大,但并不意味着所有操作都比字或字节处理更加高效。在一些特定场景下,字或字节处理可能更为合适。其次,51单片机的功耗相对较高,这在电池供电的应用中可能是一个需要注意的问题。再者,由于51单片机的设计初衷是为了满足特定的应用需求,因此其扩展...
51单片机关于寄存器的问题,请帮助我解释一下
P1M0和P1M1是两个寄存器,它们用于设置P1口各个端口的工作状态。每个端口都有四种工作状态,分别为00b、01b、10b、11b。通过P1M0和P1M1的位控制,可以管理P1的八个端口的所有四种工作状态。例如,P1M0.7和P1M1.7控制P1.7端口的工作状态,分别为准双向口、推挽输出、仅为输入和开漏(Open Drain)。同...
51系列单片机的周期是多少?
1.大部分51单片机1个机器周期=12个时钟周期(或振荡周期),有些增强型的1个机器周期=1个时钟周期(或振荡周期),如stc12系列,stc15系列 2.51单片机的机器周期=1\/晶振频率;当晶振频率=11.0592MHz,1个机器周期=12个时钟周期(或振荡周期)时,机器周期=12\/11.0592微秒。
51单片机的编程问题?
51单片机一个显著优点就是指令执行时间固定,因此可以适应时序要求严格的场合。例如符合ISO7816协议的cpu卡的读写,对时序要求比较严格。其实就是用io脚做出来的同步半双工串口。支持cpu卡的程序一般比较庞大,需要用c51来组织,但是由于c编译的不确定性,必须把底层程序封装成汇编语言模块嵌入到工程中。这就...
51单片机的问题
7.定时\/计数器工作于定时方式时,是通过89C51片内振荡器输出经12分频后的脉冲进行计数,--对。直至溢出。--这要看你的软件,也可以让它永远不溢出。8.80C51单片机的扩展程序存储器与片内程序存储器存储空间重叠。--可以重叠,也可以不重叠。--这要看,是谁设计电路了。9.在中断响应时断点地址...
51单片机有几个中断优先级?
MCS-51单片机有两个中断优先级。在51单片机中,有2个可编程定时\/计数器·5个中断源,2个优先级,21个专用寄存器。另有8位CPU的4kbytes程序存储器(ROM) ,128bytes的数据存储器(RAM),32条I\/O口线·111条指令,大部分为单字节指令。优先级设定方法:1、IP的状态由软件设定,某位设定为“1”,...
51单片机。 某不才,快30了,想转行玩单片机。故自学中。以后会问些白痴...
答一:厂家规定的,20-50pf以内,用来消除晶振的谐波的,增强系统稳定性。答二:目前我还没有发现晶振频率要靠电容来微调,有意思?答三:物理位置靠近,晶振引脚与单片机接口位置,目的还是减少外界干扰,增强系统稳定性。
51单片机位的问题?
可以访问1M字节.51内核是8位,其数据总线是8位的.虽然51的地址总线也是8位的,但是可以借助DPTR寄存器,从而扩展地址,所以51最大寻址能力是2的16次方,即65536个字节 = 64K字节.但是,数据总线没有扩展,只能是8位的,所以,你访问一个short类型的变量时,则需要两次读取数据,而X86只需要读取一次数据 ...
MCS-51单片机的几个问题
3、数字较大,将使用多个字节进行存放。多数情况下,用1~2个字节,就可以存放单片机领域里面的数字。4、布尔处理器,是指按照单独的“位”,进行的逻辑运算,指令有:ANL C, bit ORL C, bit ……指令中的bit,即前面讲的“位地址”。5、浮点数,在单片机应用领域,可以说是永远用不到的,...
51单片机的优缺点
1、AD、EEPROM等功能需要靠扩展,增加了硬件和软件负担 2、虽然I\/O脚使用简单,但高电平时无输出能力,这也是51系列单片机的最大软肋 3、运行速度过慢,特别是双数据指针,如能改进能给编程带来很大的便利 4、51单片机保护能力很差,很容易烧坏芯片 应用范围:目前在教学场合和对性能要求不高的场合大量...