关于单片机编程的几个问题,欢迎各位高手!!

发布于 科技 2024-08-22
4个回答
  1. 匿名用户2024-02-01

    答:1这是一个循环,而且是一个无休止的循环。 他经常用在单片机上,其作用是只要单片机通电,就能让程序在无限循环中继续执行内容!

    2.这取决于您的单片机的硬件电路,在编程之前您最好了解硬件电路。 通常LED的公共端是用三极管门控的!

    看来你的LED是连接到公共阳极的,即8个LED正极连接到三极管的发射极,集电极连接到VCC,基极连接到P1端口。 P1=0,晶体管正向导通,VCC加到LED上,如果LED的另一端为低电平,使LED正偏置,则LED导通。 想想吧

    在 while(1) 中不停地执行语句,但是当发生中断时,CPU 必须先执行中断,然后返回 while 继续执行,这是对中断的等待! 换句话说,如果有中断,CPU 应该立即执行该中断,如果没有中断,它将始终执行 while(1) 中的一个。

  2. 匿名用户2024-01-31

    第一,这是一个循环,这样主程序一直在运行,在这个循环中停止,这样可以防止主程序无事可做,或者程序跑掉。

    其次,你的LED连接到单片机的P1口(你的连接方式是公阳),有一个共同的一端,你把低点有效,这样你就可以点亮任何部分。

    第三,这不是在等待中断,这是在一直执行 p1=0 的功能,你的 LED 会一直亮着,只有在处理中断时你才会执行其他操作。 你只需要打断就可以跳出来。

    而(1)。

  3. 匿名用户2024-01-30

    while(1),即当条件为真值1时,执行以下语句,其实等价于无限循环。

    使用P口控制LED,按键取决于硬件的连接方式,如果是普通阳,那么只要端口为0,它就会发光,如果是普通阴,那么必须设置高才能亮起。

    在中断程序中,只要开启了中断,就需要等到中断来了再进行后续程序,即在执行 ito=1 之后,需要等到有边沿触发中断,然后执行 while(1) 和后续的中断。

    如果以上有任何错误,希望您能指出。

  4. 匿名用户2024-01-29

    只要认为 SFR 声明特殊函数寄存器就足够了(而普通寄存器不能)。 有 8 位和 16 位声明。 0x90是内部RAM中特殊功能寄存器P1分配的固定地址,P1代表P1端口的地址(8位),不会改变。

    p0(0x80),p2(0xa0),p3(0xb0)。由于端口 P1 是 8 位(8 位是一个字节),因此 0x90 是此字节的起始地址。 此字节的范围为 (0x90 0x97)。

相关回答
11个回答2024-08-22

设置就是表示你想让CPU做什么,只要CPU去做这个设置,它就没用了,因为它已经干了。 中断只是优先级更高的程序,程序不是没有编写的,而是已经包含的,但您不必自己编写。

10个回答2024-08-22

**不完整,实实看不出问题,只能胡说八道: >>>More

8个回答2024-08-22

总结。 1. 指向代码区域中数组的指针也应由 code 关键字声明。 (1)按下开关时的振动。 >>>More

8个回答2024-08-22

这很简单,有点像 ARM 中的 IO 控制。

0x00004000"它是一个 8 位十六进制数,即 32 位二进制数,这意味着您的 P0 端口可能是 32 位,或者您的控制总线可能是 32 位。 >>>More

13个回答2024-08-22

这些概念可以说是可以的,这些概念怎么会这么重要呢? 一旦你理解了它,关键是把它转化为你自己的理解,并以你自己的方式使用它。 不管寄存器是什么,每个寄存器的功能基本不同,所以知道它们是如何工作的以及如何使用它们就足够了! >>>More