/*************************************************************************** LPC900控制发光二极管 功能: 用 P0.4 控制LED 闪烁发光,亮0.1 秒,灭0.9 秒 采用片内 RC 振荡器,CPU 时钟CCLK=7.3728MHz 本程序适用于所有 LPC900 系列单片机 ***************************************************************************/ //包含标准80C51 的头文件 #include <reg51.h> //LPC900 系列单片机的SFR 与标准80C51 兼容 //定义本程序所用到的LPC900 内部SFR 寄存器 sfr P0M1 = 0x84; //P0M1 和P0M2 是P0 口的模式寄存器 sfr P0M2 = 0x85; //它们共同决定P0 口的4 种工作模式:准双向、推挽输出、高阻输入、开漏 sbit pin_LED = P0^4; //定义LED 控制引脚 //延时函数 //t>0 时,延时(t*0.01)秒 //t=0 时,延时2.56 秒 void Delay(unsigned char t) { do { TH0 = 0x70; //(TH0,TL0)=65536-0.01*PCLK TL0 = 0x00; //PCLK 是外围器件时钟,等于CPU 时钟CCLK 的一半 TR0 = 1; while ( !TF0 ); TF0 = 0; TR0 = 0; } while (--t); } //系统初始化 void SysInit() { TMOD &= 0xF0; //定时器T0 设置成16 位定时器模式,T1 的设置不变 TMOD |= 0x01; P0M1 |= 0x10; //将P0.4 设置成开漏输出方式,其它I/O 的设置不变 P0M2 |= 0x10; } //主函数 void main() { SysInit(); for (;;) { pin_LED = 0; //点亮LED Delay(10); //延时100ms pin_LED = 1; //熄灭LED Delay(90); //延时900ms } } 我想要解决的问题是:除了P0.4口外,还要其他的P0口,比如P0.3或P0.5同时输出电平发光,该怎样修改程序,请指教,谢谢! |