📄 8seg.c
字号:
/**************************************************/
/*发出不同频率的声音 */
/*大学生电子设计论坛 http://www.nuedc.net.cn */
/*作者:杨sir 版权没有 欢迎使用 */
/*在线技术支持QQ:68723936 */
/**************************************************/
#include <reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit beep=P2^0;
uint code table[]={20000,2000,400,200,100,50,25,20};//定时器初始值40MS 4ms 0.8ms 0.4ms 0.2ms 0.1ms 0.05ms 0.04ms
uchar t0,t1,num,temp,num2,flag;
uint i;
void main()
{
num=0;
num2=0;
i=table[num2];
TMOD=0x11;
TH0=(65536-i)/256;
TL0=(65536-i)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
PT1=1;
PT0=0;
while(1)
{
;
}
}
void timer0() interrupt 1
{
TH0=(65536-i)/256;
TL0=(65536-i)%256;
t0++;
if (t0==25)
{
t0=0;
beep=~beep;
}
}
void timer1() interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
t1++;
if (t1==6)
{
t1=0;
TR0=0;
num2++;
if (num2==8) num2=0;
i=table[num2];
TH0=(65536-i)/256;
TL0=(65536-i)%256;
t0=0;
TR0=1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -