/************************************************************************************ * Copyright (c) 2007,重庆优易特电子 * All rights reserved. * * 文件名称: main.c * 文件标识: none * 适用器件: STC89C51RC * * 摘 要: 报警声 * * 当前版本:1.0 * 作 者:行卫军 * 完成日期:2007年12月10日 * *************************************************************************************/ #include<reg51.h> #define uchar unsigned char sbit voice=P1^4;//P2^7;
unsigned char jing_count=0; unsigned char jing_dir=0; bit flag=0; unsigned char i;
unsigned char code datl[50]={235, 240,245,250,255,3,7,11,15,19,23, 27,30,33,37,40,43,46,49,52,55, 58,60,63,65,68,70,73,75,77,79, 81,83,85,87,89,91,93,95,97,98, 100,102,105,106,108,109,110,112, };
unsigned char code dath[50]={254, 254,254,254,254,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255, };
void time0(void)interrupt 1 { voice=!voice; TH0=dath[jing_count]; TL0=datl[jing_count]; }
main() { TMOD=0x11; TH0=dath[jing_count]; TL0=datl[jing_count]; TH1=0xee; TL1=0x00; ET0=1; ET1=1; TR0=1; TR1=1; EA=1;
while(1) { if(i>=4) { i=0; if(jing_dir==0) {jing_count++;if(jing_count==49)jing_dir=1;} else {jing_count--;if(jing_count==0)jing_dir=0;} } } }
void time1(void)interrupt 3 { TH1=0xee; TL1=0x00; i++; }
|