?? sh502.c
字號:
#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 + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -