基于89C51的等精度頻率計LCD1602顯示
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (21.12 KB, 下載次數: 65)
下載附件
2017-11-23 02:19 上傳
0.png (22.83 KB, 下載次數: 87)
下載附件
2017-11-23 02:20 上傳
單片機源程序如下:
- /*************************************************************************************************
- * FUNCTION NAME:等精度頻率計 *
- * CREATED BY :wu zhi zhong ,ChongQing Institute of Technology *
- * INPUT :frequency *
- * OUTPUT :frequency *
- *
- *************************************************************************************************/
- #include<reg51.h>
- #include<stdio.h>
- #include<lcd.c>
- #include<math.h>
- sbit p32=P3^2;
- main()
- {
- unsigned long int period,k,j,i=0;
- float f,m;
- char buff[30];
- init_LCD();
- P2=0x00;
- while(1)
- {
- TMOD=0X09;
- TH0=0;
- TL0=0;
- while(p32==1);
- TR0=1;
- while(p32==0);
- while(p32==1);
- TR0=0;
- period=TH0*256+TL0;
- while(period<=500) /*判斷是否分頻及計算分頻次數*/
- { P2++;
- i++;
- period=period*10;
- if(i==6)
- {P2=0x00;
- break;
- }
- }
- k=pow(10,i); /* 10的i次方*/
- f=(1000000.0/(2*period))*k;
- if(f<1000)
- sprintf(buff,"f=%5.2fHZ",f);
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
基于89C51的等精度頻率計LCD1602顯示.rar
(147.35 KB, 下載次數: 112)
2017-11-22 17:48 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|