设置各个IO口的工作状态void main()
{
/************************************系统初始化****************************************/
WDTCCR = 0x00; //关闭看门狗
//本例程为方便测试关闭看门狗,实际使用中,建议客户打开看门狗,详见WDT复位例程
CLKSWR = 0x51; //选择内部高频RC为系统时钟,内部高频RC 2分频,Fosc=16MHz
CLKDIV = 0x01; //Fosc 1分频得到Fcpu,Fcpu=16MHz
/***********************************设置IO口模式***************************************/
P0M1 = P0M1&0xF0|0x00; //P02设置为输入(非施密特)
P0M1 = P0M1&0xF0|0x01; //P02设置为带下拉输入(非施密特)
P0M1 = P0M1&0xF0|0x03; //P02设置为带上拉输入(非施密特)
P0M1 = P0M1&0xF0|0x04; //P02设置为带模拟输入
P0M1 = P0M1&0xF0|0x05; //P02设置为带下拉输入(施密特)
P0M1 = P0M1&0xF0|0x06; //P02设置为带上拉输入(施密特)
P0M1 = P0M1&0xF0|0x08; //P02设置为推挽输出
P0M1 = P0M1&0xF0|0x09; //P02设置为开漏输出
P0M1 = P0M1&0xF0|0x0A; //P02设置为带上拉开漏输出
while(1);
}
|