1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉
標題:
基于51單片機的數字頻率計源碼 最大能測60KHz
[打印本頁]
作者:
Obligation
時間:
2018-3-23 17:59
標題:
基于51單片機的數字頻率計源碼 最大能測60KHz
基于51單片機的數字頻率計
本程序是一個數字頻率計,最大能測60KHz
單片機源程序如下:
#include<reg52.h>
#include<intrins.h>
#include"lcd.h"
#include<stdio.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
unsigned char code ASCII[15] = {'0','1','2','3','4','5','6','7','8','9','H','Z',};
uint time_count,count,sum;
uint dis[6];
void initial(void);
void display(); //LCD顯示程序
void main()
{
InitLcd1602(); //LCD1602初始化
initial(); //定時器初始化
while(1)
{
display();
}
}
void initial() //定時器初始化
{
count=0;
time_count=0;
sum=0;
TMOD=0x02; //定時器0工作方式2
TH0=0x06; //定時器初值250US
TL0=0x06;
IT0=1; //外部中斷0,下降沿有效
EA=1;
ET0=1;
EX0=1;
TR0=1;//開中斷
}
void int0() interrupt 0 //外部中斷0,每個下降沿計數一次就是一個信號周期
{
count++;
}
void timer0() interrupt 1
{
time_count++;
if(time_count==3690) //計數一秒,因為11.0592MHZ晶振,所以值不為4000,而是3690
{
sum=count; //一秒的下降沿的次數和即為頻率
time_count=0; // 250us的次數清零
count=0; //下降沿次數清零
//display();
}
}
void display()
{
dis[0]=sum/10000;//萬位
dis[5]=sum%10000;
dis[1]=dis[5]/1000; //千位
dis[5]=dis[5]%1000;
dis[2]=dis[5]/100; // 百位
dis[5]=dis[5]%100;
dis[3]=dis[5]/10; // 十位
dis[4]=dis[5]%10; // 個位
DisplayOneChar(0, 1, ASCII[dis[0]]); //顯示萬位
DisplayOneChar(1, 1, ASCII[dis[1]]); //千位
DisplayOneChar(2, 1, ASCII[dis[2]]); //百位
DisplayOneChar(3, 1, ASCII[dis[3]]); //十位
DisplayOneChar(4, 1, ASCII[dis[4]]); //個位
DisplayOneChar(8, 1, ASCII[10]); //顯示H
DisplayOneChar(9, 1, ASCII[11]); //顯示 Z
}
復制代碼
所有資料51hei提供下載:
頻率.rar
(33.09 KB, 下載次數: 36)
2018-3-23 17:56 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
admin
時間:
2018-5-2 01:01
能分享個原理圖嗎?
作者:
1508104726
時間:
2018-5-21 10:00
能分享個原理圖嗎
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1