冰楓論壇
標題:
STC8H1K08 製作方波頻率測量
[打印本頁]
作者:
洪嵐峰
時間:
2023-4-9 09:22
標題:
STC8H1K08 製作方波頻率測量
以下是使用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作為接收超聲波回波信號的輸入口。程序通過測量接收回波信號的時間,計算出方波信號的頻率,並將結果顯示在液晶屏幕上。
歡迎光臨 冰楓論壇 (https://bingfong.com/)
Powered by 冰楓