欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
51單片機設計的頻率計仿真與源代碼
[打印本頁]
作者:
zhuzhu@qq
時間:
2018-5-29 17:57
標題:
51單片機設計的頻率計仿真與源代碼
頻率計仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(21.6 KB, 下載次數: 48)
下載附件
2018-5-30 00:00 上傳
0.png
(48.15 KB, 下載次數: 50)
下載附件
2018-5-30 00:00 上傳
單片機頻率計源程序如下:
#include<reg52.h>
sbit LED=P1^7;
sbit SW=P3^2;
bit flag=0;
bit CL = 0;
unsigned int high = 0; //計數器溢出的次數
unsigned int low = 0;
unsigned char cishu = 0; //定時器溢出次數
unsigned char ch[6];
unsigned char code dsy_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char num[6] = {0}; //存儲各個位的值
void DelayMS (unsigned int x);
void main()
{
unsigned char i;
EA = 1;
EX0 = 1;
IT0=1;
ES = 1; //開串口中斷
SCON = 0x50; //方式1
PCON = 0x00;
TMOD = 0x21; //定時器T1方式2
TH1 = 0xFD;
TL1 = 0xFD; //波特率9600
TR0 = 1;
ET0 = 1;
TH0 = (65536 - 50000) / 256;
TL0 = (65536 - 50000) % 256; //設置T0為50ms溢出一次
TCON = 0x50; //同時開啟定時器T0和計數器T1
while(1)
{
if(flag==1)
{
for(i=0;i<6;i++)
{
P2 = 0x04<< i;
P0 = dsy_code[num[i]];
DelayMS(2);
ch[i]=num[i] + '0';
SBUF=ch[i];
while(!TI);
TI=0;
}
SBUF=' ';
while(!TI);
TI=0;
}
}
}
void Timer0() interrupt 1
{
if(CL==1)
{
cishu++;
// TH0 = (65536 - 50000) / 256;
// TL0 = (65536 - 50000) % 256;
if(cishu == 20)
{
TCON = 0x00; //暫停定時器,緩解CPU壓力,并不影響頻率值
cishu = 0;
num[0] = (high*256 + low)/ 100000 % 10;
num[1] = (high*256 + low)/ 10000 % 10;
num[2] = (high*256 + low)/ 1000 % 10;
num[3] = (high*256 + low)/ 100 % 10;
num[4] = (high*256 + low)/ 10% 10;
num[5] = (high*256 + low)% 10;
high = 0;
low = 0;
TH0 = (65536 - 50000) / 256;
TL0 = (65536 - 50000) % 256; //再重裝初值,保證計數時間為1秒
TCON = 0x50; //同時開啟定時器T0和計數器T1
flag=1;
LED=1;
}
}
}
void Timer1() interrupt 0
{
TF0=1;
low++;
TH1 = 0xFD;
TL1 = 0xFD; //波特率9600
if(low==256)
{
high++;
// low=0;
}
TF0=0;
// if(high==256)high=0;
}
void InterruptUART () interrupt 4
{
static unsigned char m;
if(RI) //接受到字節(jié)
{
RI=0; //手動清零接收中斷標志位
m=SBUF; //接收的數據+1后發(fā)回,左邊是發(fā)送SBUF,右邊是接收SBUF
if(m=='A')
{
CL=1;
LED=0;
}
}
}
void DelayMS (unsigned int x)
{
unsigned int t;
while (x--)
{
for(t=0;t<120;t++);
}
}
復制代碼
所有資料51hei提供下載:
頻率計.zip
(70.3 KB, 下載次數: 24)
2018-5-29 17:54 上傳
點擊文件名下載附件
基于c51設計
下載積分: 黑幣 -5
作者:
ziba108
時間:
2018-6-14 21:37
缺少fangboxinhao.hex????
作者:
mif
時間:
2018-7-2 16:22
多謝了大佬
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1