学蓝桥Chapter3:uln2003初识与继电器及蜂鸣器操作
#include <reg52.h>
sbit a=P2^5;
sbit b=P2^6;
sbit c=P2^7;
sbit relay=P0^4;
sbit buzzer=P0^6;
void delay_ms(int ms){
int ms1,ms2;
for(ms1=0;ms1<ms;ms1++){
for(ms2=0;ms2<125;ms2++);
}
}
void buzUp(){
a=1;b=0;c=1; //output of 74hc138_Y5 low level
//The 'WR' connect GND
//So...Output level of Y5c of 74hc02 is high level
relay=1;
buzzer=1;
}
void buzOff(){
a=1;b=0;c=1;
P0^4 = 0;//output reverse level=1
buzzer=0;//output reverse level=1
//when relay level with buzzer level as high_level=1 output,the voltage difference is the same.And this action will shut down the buzzer.
//the buzzer whether beep or not depends on the P0^6 port
//
}
void main(){
int cishu;
for(cishu=0;cishu<9;cishu++){
buzUp();
delay_ms(1000);
buzOff();
delay_ms(1000);
}
}