搜索
首页 电脑/网络 硬件

stc51单片机c语言编程

void main(void){ while(1){ P0 = 1;delay(1000); P0 = 0;delay(1000);}} 我想让接po的八个led一亮一灭,我把这个程序写到单片机里只有po.0的灯才一亮一灭,其他的都一直亮怎么回事

全部回答

2012-10-13

0 0
    你这里面程序写错了,P0=1是不对的,一般来说如果想让P0同步亮或灭,应该是设定P0^7-P0^0这八个独立的口同时为零或同时为一来使这八个口同时为低电平或高电平,来控制与其相连接的八个led灯同时亮或者灭,一般来说都位11111111或00000000,写成16进制形式就是0xff或0x00,完整的程序如下 #include #define uint unsigned int void delay(uint); void main() { while(1) { P0=0xff; delay(10); P0=0x00; delay(10); } } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } 还有就是如果要各位显示的亮灭不一样,也是通过修改给P0口的值实现,还有就是如果只是一个口亮,那么要先位定义,如sbit led1=P0^0; 然后后面程序中是led1=1或0来让他亮或者灭。
    。

2012-10-12

76 0
你的程序错误,系统默认的第一盏,你应该每个都设置下

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
硬件
硬件
键盘/鼠标
主板
显卡
显示器
CPU
硬盘
内存
举报
举报原因(必选):
取消确定举报