冰楓論壇

 找回密碼
 立即註冊
搜索
查看: 602|回覆: 0
打印 上一主題 下一主題

[討論] STC8H1K08 製作方波頻率測量

[複製鏈接]

2609

主題

0

好友

994

積分

高級會員

Rank: 4

UID
373967
帖子
8828
主題
2609
精華
0
積分
994
楓幣
0
威望
971
存款
34543
贊助金額
0
推廣
0
GP
1205
閱讀權限
50
在線時間
453 小時
註冊時間
2023-1-12
最後登入
2024-11-13

2023端午節紀念勳章 2023中秋節紀念勳章 2023聖誕節紀念勳章

跳轉到指定樓層
1
發表於 2023-4-9 09:22:34 |只看該作者 |倒序瀏覽
以下是使用STC8H1K08製作方波頻率測量示例:


#include <STC8.H>

#define LCD_SCL P1_0
#define LCD_SDA P1_1
#define LCD_RST P1_2
#define TRIG P3_3
#define ECHO P3_2

typedef unsigned char u8;
typedef unsigned int u16;

void delay(u16 i)
{
    while(i--);
}

void init_LCD()
{
    LCD_SCL=0;
    LCD_SDA=1;
    LCD_RST=1;
    delay(50000);
    LCD_RST=0;
    delay(50000);
    LCD_RST=1;
    delay(50000);
    IIC_start();
    IIC_write_byte(0x78);
    IIC_write_byte(0x8a);
    IIC_write_byte(0x00);
    IIC_stop();
    IIC_start();
    IIC_write_byte(0x78);
    IIC_write_byte(0xae);
    IIC_write_byte(0x00);
    IIC_stop();
}

void display(u8 *s,u8 x,u8 y)
{
    u8 i;
    IIC_start();
    IIC_write_byte(0x78);
    IIC_write_byte(0x40|x);
    IIC_write_byte(0xb0|y);
    for(i=0;i<8;i++)
    {
        IIC_write_byte(table[s[i]]);
    }
    IIC_stop();
}

void main()
{
    u8 buf[16];
    u16 t;
    init_LCD();
    display("Freq:",0,0);
    while(1)
    {
        TRIG=1;
        delay(5);
        TRIG=0;
        while(!ECHO);
        t=0;
        while(ECHO)
        {
            t++;
            delay(10);
        }
        t=t*10/58;
        sprintf(buf,"%d",t);
        display(buf,32,0);
        delay(500000);
    }
}
在這個示例代碼中,使用了P3.3作為方波信號輸出口,使用P3.2作為接收超聲波回波信號的輸入口。程序通過測量接收回波信號的時間,計算出方波信號的頻率,並將結果顯示在液晶屏幕上。
收藏收藏0 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1彩票
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-11-13 22:25

回頂部