用c51程序完成p0到p7口的依次点亮

不要用数组的方式去做

你说的是P00到P07吧。
如果你把发光管的正极接电源,那么程序是这样的:

#include<reg51.h> //单片机寄存器定义,也可以用其它
#include<intrins.h> //包含_crol_函数

void main()
{
P0 = 0xFE; //设置初始值
while(1)
{
P0 = _crol_(P0, 1); //P0(单字节)循环左移一位
Delay(); //延时函数你自己写
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-25
lay(1000);可能太大了.
不过也能用,你尝试长按某个按键试下.
再者:根据你的程序,当按键按下时,相应引脚应该是低电平,这样下面的子程序里应该对应的按键值是:0x70,0xB0,0xD0,0xE0.

中间调用第二个程序,产生正弦波,因为zhengxianbo()中有while(1)所以程序不能够结束,将一直执行正弦波程序,不能再进行按键检测.