这个是计算机老师布置的作业,51单片机模拟警灯警笛仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
源代码:
#include <reg51.h>
#define u16 unsigned int
#define u8 unsigned char
sbit SPK=P2^3; //喇叭引脚
u8 frq; //频率
void delay(u16 k) //延时函数
{
u16 a,b;
for(a=0;a<k;a++)
for(b=0;b<114;b++);}
void Init_Timer0(){
TMOD=0x01;//M1M0=01,16位
TH0=0xfe; //前8位
TL0=0x00; //后8位
EA=1; //总开关
ET0=1;
TR0=1;
}
void main(){
u16 i;
u8 data1[16]= {
0x1f,0xff,0x8f,0xff,
0xc7,0xff,0xe3,0xff,
0xf1,0xff,0xf8,0xff,
0x7c,0xff,0x3e,0xff };
P0=0xff;
Init_Timer0();
while(1)
{
for(i=0;i<16;i++)
{
P0=data1[ i];
|