標題: stc89c52rc單片機hc-sr04串口輸出程序問題 [打印本頁]
作者: 朝朝1 時間: 2020-11-19 22:33
標題: stc89c52rc單片機hc-sr04串口輸出程序問題
目前的問題是 上電之后數碼管沒有反應 通過串口軟件點擊發送才會數碼管顯示距離 但是一閃一閃不知道是怎么回事 希望知道的兄弟可以告訴我一下
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit DU =P2^6; //段選
sbit WE =P2^7; //位選
ssbit Trig = P1^6;//超聲波輸出端
sbit Echo = P1^7; //超聲波接收端
int d,e,f;
unsigned char posit=0;
unsigned char disbuff1[5]={ 0,0,0,0,0x00};
uchar codetable1[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39}; //askll編碼 0~9
unsigned char const discode[] ={ 0x3F,0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F,0x6F,0x40,0x00/*-*/}; //數碼管顯示 0~9,不是很確定
unsigned char const positon[4]={0xfe,0xfd,0xfb,0xf7}; //數碼管位選斷
unsigned char disbuff[4]={0,0,0,0,}; //用來存放顯示的距離
typedef unsigned int u16;
u16 time //時間變量 用來計算超聲波發出到接受所用的時間
u16 s; //距離變量 超聲波的距離
void delayms(uint); //延時函數
void send_char(); //串口發送數據函數
unsigned char txd; //應該是沒用的
uchar buf; // 也應該是沒用的
void delay(u16 i) // 延時函數
{
while(i--);
}
voidstart() //啟動超聲波的函數
{
Trig=1;
delay(2);
Trig=0; /超聲波啟動需要20us的延時才可以啟動
}
voidcount() //計算函數
{
while(!Echo);//
作者: 朝朝1 時間: 2020-11-19 22:41
程序不全??
作者: 51hei團團 時間: 2020-11-19 23:40
代碼用編輯器工具欄里面的代碼框<>框起來吧 ,,直接復制的代碼問題多
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |