利用C8051F120做了一块板子,在调试的时候出现了问题。对端口初始化的时候,将P0~P3作为普通的IO口,设置为推挽,将P4口和P5的低两位设置为数字输入。将P4口采集的数据从P2口输出,点亮小灯。在实际测试的时候,测量P4口的引脚电压全为0,但是P2口的输出却总为0X84。求问一下到底是什么地方出错。
附上代码:
void main()
{
Port_Init();
//其他初始化省略
while(1)
{
AdcData = P4; //
P2 = AdcData;
}
}
//端口初始化
void Port_Init(void)
{
SFRPAGE = CONFIG_PAGE;// SFRPAGE选择CONFIG_PAGE页
XBR0 = 0x04;// UART0 Enable
XBR1 = 0x04;
XBR2 = 0x40;
P0MDOUT=0xff;// P0口为推拉式
P1MDOUT=0xff;
P2MDOUT=0xff;// P2口为推拉式
P4MDOUT=0x00;//
P5MDOUT=0xfc;
P0 = 0x00;
P1 = 0x00;
P2 = 0x00;
P4 = 0xff;
P5 = 0x03;
}
此帖出自
小平头技术问答
一周热门 更多>