-
大小: 37KB文件類(lèi)型: .zip金幣: 2下載: 0 次發(fā)布日期: 2023-08-07
- 語(yǔ)言: 其他
- 標(biāo)簽:
資源簡(jiǎn)介
將高電平和低電平交替變換的引腳接到P3.2即外部中斷0,在串口1輸出高電平時(shí)間和低電平時(shí)間,實(shí)時(shí)檢測(cè)實(shí)時(shí)輸出.數(shù)據(jù)通過(guò)串口回傳至電腦,經(jīng)數(shù)據(jù)處理和分析,可實(shí)現(xiàn)模擬示波器功能。

代碼片段和文件信息
/**??????????基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出????????????**/
/**??????????程序猿:wason??????????????????????????????????????**/
/**??????????日期:2016-04-12???????????????????????????????????**/
/**??????????將高電平和低電平交替變換的引腳接到P3.2即外部中斷0???**/
/**??????????在串口1輸出高電平時(shí)間和低電平時(shí)間,實(shí)時(shí)檢測(cè)實(shí)時(shí)輸出?**/
#include?“STC15W204S.h“
#include? ?
#define?uint?unsigned?int
#define?u32?unsigned?long?int
#define?uchar?unsigned?char
#define?H?1
#define?L?0
uint?Time_Numble_H;
uint?Time_Numble_L;
sbit??Int0?=?P3^2;
bit???Sen_mark;
bit???H_or_L;
void?Init_MCU()
{
EA??=?1; //開(kāi)總中斷?
//9600bps@11.0592MHz
SCON?=?0x50; //8位數(shù)據(jù)可變波特率
AUXR?|=?0x04; //定時(shí)器2時(shí)鐘為Fosc即1T
T2L?=?0xE0; //設(shè)定定時(shí)初值
T2H?=?0xFE; //設(shè)定定時(shí)初值
AUXR?|=?0x01; //串口1選擇定時(shí)器2為波特率發(fā)生器
AUXR?|=?0x10; //啟動(dòng)定時(shí)器2
//100微秒@11.0592MHz
AUXR?|=?0x80; //定時(shí)器時(shí)鐘1T模式
TMOD?&=?0xF0; //設(shè)置定時(shí)器模式
TL0?=?0xAE; //設(shè)置定時(shí)初值
TH0?=?0xFB; //設(shè)置定時(shí)初值
TF0?=?0; //清除TF0標(biāo)志
TR0?=?1; //定時(shí)器0開(kāi)始計(jì)時(shí)
ET0?=?1; //打開(kāi)定時(shí)器0中斷
EX0?=?1;
IT0?=?0;
}
/*串口發(fā)送數(shù)據(jù)*/
void?Send_Byte_UART1(uchar?dat)
{
SBUF=dat;
while(!TI);
TI=0;
}
void?main()
{
Init_MCU();
while(1)
{ ??? ???
if(Sen_mark==1)
{
Sen_mark=0;
if(H_or_L==L)
{
Send_Byte_UART1(Time_Numble_H/100+0x30);?
Send_Byte_UART1(Time_Numble_H%100/10+0x30); ?
Send_Byte_UART1(Time_Numble_H%10+0x30);
Time_Numble_H=0;
}??
if(H_or_L==H)
{
Send_Byte_UART1(Time_Numble_L/100+0x30);?
Send_Byte_UART1(Time_Numble_L%100/10+0x30); ?
Send_Byte_UART1(Time_Numble_L%10+0x30);
Time_Numble_L=0;
} ?
Send_Byte_UART1(‘\n‘);
}
}
}
/*定時(shí)器0中斷服務(wù)程序*/
void?Timer_0()?interrupt?1
{??
if(H_or_L==L)
{
if((++Time_Numble_L)>999)Time_Numble_L=999;
}
if(H_or_L==H)
{?
if((++Time_Numble_H)>999)Time_Numble_H=999;
}
}?
/*外部中斷0服務(wù)程序*/
void?INT0()?interrupt?0
{??
_nop_();?
_nop_();
Sen_mark=1;
H_or_L?=?Int0;
}
?
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????目錄???????????0??2016-04-12?08:54??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\
?????文件???????12805??2015-07-09?20:47??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\STC15W204S.h
?????文件????????7756??2016-04-12?08:54??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\xxxx
?????文件?????????979??2016-04-12?08:54??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\xxxx.build_log.htm
?????文件????????2178??2016-04-12?08:52??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\xxxx.c
?????文件????????1095??2016-04-12?08:54??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\xxxx.hex
?????文件??????????40??2016-04-12?08:54??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\xxxx.lnp
?????文件????????5922??2016-04-12?08:54??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\xxxx.LST
?????文件????????7370??2016-04-12?08:54??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\xxxx.M51
?????文件????????8465??2016-04-12?08:54??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\xxxx.OBJ
?????文件?????????367??2015-10-12?15:17??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\xxxx.plg
?????文件???????71169??2016-04-12?08:54??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\xxxx.uvgui.Administrator
?????文件???????84614??2015-10-12?14:12??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\xxxx.uvgui_Administrator.bak
?????文件????????5382??2016-04-12?08:54??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\xxxx.uvopt
?????文件???????14011??2016-04-12?08:54??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\xxxx.uvproj
?????文件????????5627??2015-10-12?14:12??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\xxxx_uvopt.bak
?????文件???????13592??2015-09-25?17:35??基于STC15W204S的高低電平時(shí)間檢測(cè)串口輸出\xxxx_uvproj.bak
- 上一篇:ITK-4.10.0
- 下一篇:數(shù)理方程試卷及詳細(xì)答案
評(píng)論
共有 條評(píng)論