找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1385|回复: 2
收起左侧

stc89c52rc单片机hc-sr04串口输出程序问题

[复制链接]
ID:812531 发表于 2020-11-19 22:33 | 显示全部楼层 |阅读模式
目前的问题是  上电之后数码管没有反应 通过串口软件点击发送才会数码管显示距离  但是一闪一闪不知道是怎么回事 希望知道的兄弟可以告诉我一下
#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);//
回复

使用道具 举报

ID:812531 发表于 2020-11-19 22:41 | 显示全部楼层
程序不全??
回复

使用道具 举报

ID:328014 发表于 2020-11-19 23:40 | 显示全部楼层

代码用编辑器工具栏里面的代码框<>框起来吧 ,,直接复制的代码问题多
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表