資源簡介
51計算器,160251計算器,160251計算器,160251計算器,160251計算器,160251計算器,1602

代碼片段和文件信息
/************************************************************************************
/ 3.?系統板上硬件連線? \
/ \
/ (1).?把“單片機系統”區域中的P0.0-P0.7與“動態數碼顯示”區域中的 \
/ ????????ABCDEFGH端口用8芯排線連接。? \
/ \
/ (2).?把“單片機系統”區域中的P2.0-P2.7與“動態數碼顯示”區域中的 \
/ S1S2S3S4S5S6S7S8端口用8芯排線連接。? \
/ \
/ (3).?把“單片機系統”區域中的P3.4(T0)端子用導線連接到“頻率產生器” \
/ 區域中的WAVE端子上。? \
/ \
/ 4.?程序設計內容? \
/ \
/ (1).?定時/計數器T0和T1的工作方式設置,由圖可知,T0是工作在計數狀態下, \
/ 對輸入的頻率信號進行計數,但對工作在計數狀態下的T0, ?\
/ ????????最大計數值為fOSC/24,由于fOSC=12MHz,因此:T0的最大計數頻率為250KHz。
/ 對于頻率的概念就是在一秒只數脈沖的個數,即為頻率值。 ??\
/ 所以T1工作在定時狀態下,每定時1秒中到,就停止T0的計數, ???\
/ 而從T0的計數單元中讀取計數的數值,然后進行數據處理。送到數碼管顯示出來。? \
/ ?\
/ (2).?T1工作在定時狀態下,最大定時時間為65ms,達不到1秒的定時, ??\
/ 所以采用定時50ms,共定時20次,即可完成1秒的定時功能。 ???\
*********************************************************************************************************/
#include
#include
#define?uchar?unsigned?char
#define?unit?unsigned?int
#define?ulong?unsigned?long ???//(共陰)
uchar?code?dispbit[]={0xfe0xfd0xfb0xf70xef0xdf0xbf0x7f}; //?定義位選
uchar?code?dispcode[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x000x40};//定義段碼
uchar?dispbuf[8]={01234567};?//顯示緩沖
uchar?temp[8];
uchar?dispcount;
uchar?T0count;//T0計數
uchar?timecount;//時間計數
bit?flag;
ulong?x;
void?main(void)
{
TMOD=0x15;
TH0=0;
TL0=0;
TH1=(65536-4000)/256;
TL1=(65536-4000)%256;
TR1=1;
TR0=1;
ET0=1;
ET1=1;
EA=1;
while(1)
{
uchar?i;
if(flag==1)
{
flag=0;
x=T0count*65536+TH0*256+TL0;
for(i=0;i<8;i++)
{
?temp[i]=0;
}
i=0;
while(x/10)
{
temp[i]=x%10;
x=x/10;
i++;
}
temp[i]=x;
for(i=0;i<6;i++)
{
dispbuf[i]=temp[i];
}
timecount=0;
T0count=0;
TH0=0;
TL0=0;
TR0=1;
}
}
}
void?t0(void)?interrupt?1?using?1//T0工作在計數狀態下,T0的最大計數頻率為250KHz
{
????T0count++;
}
void?t1(void)?interrupt?3?using?2
{
TH1=(65536-4000)/256;
TL1=(65536-4000)%256;
timecount++;
if(timecount==250)
{
TR0=0;
timecount=0;
flag=1;
}
P0=dispcode[dispbuf[dispcount]];
P2=dispbit[dispcount];
dispcount++;
if(dispcount==8)
{
dispcount=0;
}
}?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2784??2006-12-09?13:58??!6位數顯頻率計數器\c\6bit_cymometer.c
?????文件???????2287??2005-08-15?14:44??!6位數顯頻率計數器\c\6bit_cymometer.hex
?????文件???????7805??2006-12-09?11:56??!6位數顯頻率計數器\c\6bit_cymometer.M51
?????文件????????702??2006-12-09?14:40??!6位數顯頻率計數器\c\6bit_cymometer.plg
?????文件???????1045??2006-12-09?14:40??!6位數顯頻率計數器\c\6bit_cymometer.Opt
?????文件???????7834??2006-12-09?11:56??!6位數顯頻率計數器\c\6bit_cymometer.LST
?????文件???????5943??2006-12-09?11:56??!6位數顯頻率計數器\c\6bit_cymometer.OBJ
?????文件?????????45??2006-12-09?11:56??!6位數顯頻率計數器\c\6bit_cymometer.lnp
?????文件???????2124??2006-12-08?17:42??!6位數顯頻率計數器\c\6bit_cymometer.Uv2
?????文件??????99582??2005-08-15?21:06??!6位數顯頻率計數器\c\6bit_cymometer.DSN
?????文件???????5477??2006-12-09?11:56??!6位數顯頻率計數器\c\6bit_cymometer
?????文件???????1474??2006-01-07?19:32??!6位數顯頻率計數器\c\6bit_cymometer.SDF
?????文件???????1293??2006-01-07?19:37??!6位數顯頻率計數器\c\6bit_cymometer.TXT
?????文件???????1182??2006-12-09?17:09??!6位數顯頻率計數器\c\6bit_cymometer.PWI
?????文件??????99582??2005-08-15?20:55??!6位數顯頻率計數器\c\Last?Loaded?6bit_cymometer.DBK
?????目錄??????????0??2006-01-20?16:10??!6位數顯頻率計數器\sim
?????目錄??????????0??2006-01-20?16:10??!6位數顯頻率計數器\c
?????目錄??????????0??2006-01-20?16:10??!6位數顯頻率計數器
-----------?---------??----------?-----??----
???????????????239159????????????????????18
- 上一篇:霍爾傳感器protues仿真+程序
- 下一篇:完美解決proteus仿真stm32
評論
共有 條評論