51单片机伪指令DB使用方法

可以这么用吗?DB 0,1,2,3,4,5 不换行写

可以的

DB的作用是把项或项表中的数存入由该指令地址起始单元中,“项或项表”中的数可以是一个八位二进制数或用逗号隔开的一串8位二进制数(二进制、十进制、十六进制或ASCII码)
格式:【标号】 DB 项或项表
例如:TAB: DB 45H,73,00110011B,’A‘
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-18
可以不换行的,太多时换行,只是好看点。
第2个回答  2020-04-23
代码如下:
#include
#define
uchar
unsigned
char
sbit
led=p1^0;
uchar
code
duan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar
code
wei[3]={0x06,0x05,0x03};
void
delay(uchar
c);
void
ini_()
//初始化函数,设置中断触发方式,开中断
{
ea=1;
it0=0;
ex0=1;
}
void
main()
{
uchar
i;
ini_();
led=0;
//由于单片机上电之后,所有的io口默认是高电平,而要求是开始不亮,所以要将p1.0口开始设置为低电平。
while(1)
{
for(i=0;i<3;i++)
动态数码管闪烁
{
p2=wei[i];
p0=duan[i];
delay(35);
}
}
}
void
led_()
interrupt
0
//外部中断0函数,中断函数不需要申明
{
uchar
i;
led=1;
//在中断中让灯亮起来
while(1)
{
for(i=0;i<3;i++)
{
p2=wei[i];
p0=duan[i];
delay(1);
}
}
}
void
delay(uchar
c)
{
uchar
a,b;
for(c;c>0;c--)
for(a=38;a>0;a--)
for(b=80;b>0;b--);
}
接线方法:
单片机的p2.5,p2.6,p2.7口分别接三位动态数码管的位选端,p0口接动态数码管的段选端。然后,p1.0口接一个电阻串联一个led灯然后接地,电阻取200~470欧之间就行,是一个限流电阻。中断用的是外部中断0,要触发中断的时候,就用一根杜邦线一端接地,一端接到单片机的p3.2口就行,这样,就满足了你的要求了。
外部中断的触发方式有低电平触发和下降沿触发。到底是那种触发方式,要设置中断允许寄存器中it0的值,如果it0=0,像我写的程序,就是低电平触发,如果为1,就是下降沿触发。
灯不是一定要接到p3.2口上的。中断要执行的任务是在中断函数中写代码控制的,就像我写的代码中,你只需要控制led灯接的那个io口就行了。
第3个回答  2012-11-18
可以的,可以不换行,不过还与编译器有关,自己写了之后编译一下试试看就知道了。本回答被提问者采纳
相似回答