sh502.c

来自「单片机光盘C语言版-51系列-2.5M.zip」· C语言 代码 · 共 57 行

C
57
字号
#include<reg51.h>
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int
uint FREQ; 								/*定时器计数变量*/
uint FREQ_out; 								/*输出频率变量*/
uint delay;

sbit SEL0=P3^0;
sbit SEL1=P3^1;
sbit FSGN=P3^5;							//设置P3.5,作为信号输出引脚;

/* 定时计数器0的中断服务子程序 */
void timer0(void)  interrupt 1 using 1
{
TH0=-1000/256;							// 定时器T0的高四位赋值
TL0=-1000%256;
FREQ=FREQ+1; 						// 定时器T0的低四位赋值
if (FREQ==FREQ_out)					// 周期时间长短的判断
	{
FREQ=0;
FSGN=!FSGN;						// 信号输出端口取反
	}
}

/* 外中断0的中断服务子程序 */
void intsvr0(void)  interrupt 0 using 1
{
TR0=1;								// 开始输出方波
}
/* 外中断0的中断服务子程序 */
void intsvr1(void)  interrupt 2 using 1
{
FREQ_out = FREQ_out +5000;				// 输出的方波频率减1;
} 

main()
{
EA=1; ET0=1;
IT0=1; IT1=1; EX0=1;EX1=1;				// 开外中断和定时中断

TMOD=0x01;  							/* T0方式1计时5秒 */
TH0=-1000/256;							// 1ms的初值
TL0=-1000%256;
TR0=0;						 		/* 开中断,启动定时器 */
FREQ=0;
FREQ_out=5000;
FSGN=1;
while(1)
{
for (delay=0;delay<=200;delay++); 				// 延时程序
//disp( );									// 显示程序
} 
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?