16.PCB设计---导入导出DXF文件
#凡亿7月星企划#Allegro中导入导入导出DXF简介:一. Allegro导入DXF文件:在进行PCB设计时,需要考虑结构要求,其要求就会体现在结构文件中。一般Allegro软件的结构文件为DXF。DXF文件中包含PCB板外形,定位孔位
程序如下,请问数码管为什么一直显示0而没有其他变化?
#include
#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^0;
sbit wela=P2^1;
uchar tt,num;
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x84,0x8e};
void main()
{
tt=0;
num=0;
TMOD=0X01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
wela=1;
P1=0x55;
wela=0;
dula=1;
P1=0xc0;
dula=0;
while(1)
{
if(tt==20)
{
tt=0;
num=num++;
dula=1;
P1=table[num];
dula=0;
}
}
}
void time0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tt++;
}
回答于 · 2022-08-05 16:54
不可以“num=num++”,应该是:num++; 如下:
while(1)
{
if(tt==20)
{
tt=0;
num++;
dula=1;
P1=table[num];
dula=0;
}
}
回答于 · 2022-08-08 02:47
要仔细体会一下:num++ 和++num ,num=num++和num=++num,前面一个是把num赋值给num后自身再+1,后一个是+1后赋值给num。
所以
如果你是用这样的方式也可以正常:num=++num;
回答于 · 2022-08-08 08:51
还有一个问题弄不懂想请问一下,因为我在程序中开始是令num=0,然后程序让数码管显示0,同时程序num=num++;不是相当于让数码管再显示一次0,然后再循环显示0~f;(虽然我的本意不是如此),但是数码管为什么一直显示0,而不会接着显示其他的数。
回答于 · 2022-08-09 22:49
还有一个问题弄不懂想请问一下,因为我在程序中开始是令num=0,然后程序让数码管显示0,同时程序num=num++;不是相当于让数码管再显示一次0,然后再循环显示0~f;(虽然我的本意不是如此),但是数码管为什么一直显示0,而不会接着显示其他的数。
回答于 · 2022-08-10 00:27
我感觉到你对 num++ 没有真正的理解,所以上一个帖子又讲了不少,看来你还是没有理解。
为了解释这一语句方便,我们改成:num2=num++,因为第一次之前num=0 ,执行num2=num++ 时,是把 num 的值赋给 num2,然后num自身再加1。这样执行这一句后是,num2=0,num=1 。
回过头来再看看:num=num++ ,之前num=0,在加1之前,把这个0值赋给了等号左面的“num”,所以无论循环多少次,每次执行这一句后都是num =0,而 右面的num++ 后,就没有了用场。
如果你改成 num=++num,等号右面的num先加1,加1后的值赋给等号左面的num,这样每次循环,num的值就会+1,也可以达到你的目的——不过 num++ 就可以达到 num=++num的目的了。
回答于 · 2022-08-11 02:16
是不是可以理解为赋值之后左边的num等同于例子中的num2,而右边的num等同于num,等到下一个1秒钟到来时,这时执行赋值操作的num2,跟前一秒自加1的num无关了?
你好 我现在在学AD蛇形走线,蛇形走完一根线。然后选中这根走线,在把它锁定。 请问如果选中?视频中老师用了快捷键。但是没说怎么选中的?请问如何快速选中?网上查了资料,没有找到。如何
请问这个错误是,哪一个规则造成的?好的
推荐的快捷键中,以下功能没有找到,望大佬指点。4 单线等长5 保持原间距走线ALT+` 删除物理连接ALT+4 差分等长
原理图上能不能将5V电压与12V电压串联,形成一个17v的电压?