下载后可任意编辑2 基本输入输出实验(蜂鸣器控制程序)/*******************************************************名称:基本输入输出(I/O)程序说 明:********************************************************/#include//包含头文件#define uint unsigned int //宏定义#define uchar unsigned char sbit buzzer=P3^5;sbit Keyadd=P2^0;sbit Keydec=P2^1;sbit Keycom=P2^2; void Delay(uint z){uint x;uchar y;for(x=z;x>0;x--)//延时{ for(y=250;y>0;y--);}}void main(void){ uchar voice; voice=3; while(1) {if(Keyadd==0)//按键被按下时为 0voice=1;if(Keydec==0)voice=2;if(Keycom==0)voice=3;if(voice==1){buzzer=~buzzer; Delay(1);}else if(voice==2){buzzer=~buzzer; Delay(20);}elsebuzzer=1; }}下载后可任意编辑3 定时器中断实验/*******************************************************名称:实验三作业说 明:********************************************************/#include//包含头文件#define uint unsigned int //宏定义#define uchar unsigned char uchar counter;uchar voice;sbit buzzer=P3^5;sbit Keyadd=P2^0;sbit Keydec=P2^1;sbit Keycom=P2^2;sbit Keycan=P2^3;//----------------计算计数器初值-----------------//#define T0_TIME1254 //定时时间 us 为单位#define T0ReLoadL1 ((65536-(uint)(T0_TIME1*11.0592/12)) % 256)#define T0ReLoadH1 ((65536-(uint)(T0_TIME1*11.0592/12)) / 256) //----------------计算计数器初值-----------------//#define T0_TIME21400 //定时时间 us 为单位#define T0ReLoadL2 ((65536-(uint)(T0_TIME2*11.0592/12)) % 256)#define T0ReLoadH2 ((65536-(uint)(T0_TIME2 *11.0592/12)) / 256)/*********************************************************名称:主程序说明:**********************************************************/void main(void){//-----------------------------初始化 TIMER0 TMOD|=0x01;//定时器 T0 方式 1TH0 =T0ReLoadH1;//装载计数器初值 TL0 =T0ReLoadL1;TR0 =1;//启动 Timer0ET0 =1;//Timer0 中断使能EA =1;//总开关使能//-----------------------------大循环counter=0;下载后可任意编辑while(1){if(Keyadd==0)/...