stc 89c52單片機。P0 口接了8顆燈,P3口第4個腳接了QC1602的EN 腳,都是直連的沒有接上拉或者下拉。
下面這個程序,本意為了看這兩個口的工作狀況(沒有具體意義), 這個燈沒有想象中的1秒亮,一秒滅。
而是不停的閃爍。這個程序什么都不改,把P3口的操作屏蔽掉。燈的工作狀況如程序所寫。亮1秒滅一秒,
P3口和P0口不能同時工作?還是我的程序有問題或者是電路沒有上拉?
單片機源程序如下:
#include <reg52.h>
#include <intrins.h>
sbit a = P0^4;
sbit b = P3^4;
int Delay1000ms(void) //@12.000MHz
{
unsigned char i, j, k;
_nop_();
i = 8;
j = 154;
k = 122;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
int main(void)
{
while(1)
{
a = 0;
b = 0;//屏蔽
Delay1000ms();
a = 1;
b = 1;//屏蔽
Delay1000ms();
}
}
|