欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4400|回復: 8
收起左側

求助,測距儀程序有一個錯誤,怎么改,求大神幫助

[復制鏈接]
ID:350243 發表于 2018-6-14 15:46 | 顯示全部樓層 |閱讀模式
#include"reg51.h"
#include"intrins.h"
sbit lcdrs=P3^5;
sbit lcdrw=P3^6;
sbit lcden=P3^7;
sbit Trig=P2^6;
sbit Echo=P2^7;
bit flag=0;
unsigned char num[ ]="0123456789";
unsigned char dis1[ ]="The Distance is:";
unsigned char dis2[ ]="Error!";
unsigned int diistance;
//ÑÓʱº¯Êý
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
  for(y=400;y>0;y--);
}
//LCDдָÁÊý
void lcdWriteCmd(unsigned char  cmd)
{
lcdrs=0;
P1=cmd;
delay(1);
lcden=1;
delay(1);
lcden=0;
}
//дÊý¾Ýº¯Êý
void lcdWriteDate(unsigned char dat)
{
lcdrs=1;
P1=dat;
delay(20);
lcden=1;
delay(20);
lcden=0;
}
//LCDÇåÆÁº¯Êý
void clear()
{
lcdWriteCmd(0x01);
delay(5);
}
//LCD³õʼ»¯º¯Êý
void lcdInit()
{
lcden=0;
lcdWriteCmd(0x38);
lcdWriteCmd(0x0f);
lcdWriteCmd(0x06);
clear();
lcdWriteCmd(0x80);
}
//LCDÏÔʾ¾àÀ뺯Êý
void lcdDisplay(unsigned int temp)
{
unsigned int i;
for(i=0;i<17;i++)
{
   lcdWriteCmd(dis1[i]);
  }
lcdWriteCmd(0x80+0x40);
lcdWriteCmd(num[temp/100]);
lcdWriteCmd(num[temp/10%10]);
lcdWriteCmd(num[temp%10]);
lcdWriteCmd('c');
lcdWriteCmd('m');
delay(400);
clear();
}
//&sup3;&not;&Eacute;ù&sup2;¨&sup2;&acirc;&frac34;à&AElig;&ocirc;&para;&macr;&ordm;&macr;&Ecirc;&yacute;
void start()
{
int i;
Trig=1;
for(i=0;i<20;i++)
{
  _nop_();
  }
Trig=0;
}
//&frac34;à&Agrave;&euml;&frac14;&AElig;&Euml;&atilde;&Oacute;&euml;&Iuml;&Ocirc;&Ecirc;&frac34;&ordm;&macr;&Ecirc;&yacute;
void  lcdWriteData();
void count()
{
unsigned int i,distance,falseValue,time,timeH,timeL;
timeH=TH0;
timeL=TL0;
TH0=0;
TL0=0;
time=time*256+timeL;
distance=time*1.7/100;
if(distance<10||distance>200||flag==0)
{
  flag=1;
  falseValue=888;
  lcdWriteCmd(0x80);
  for(i=0;i<7;i++)
  {
   lcdWriteData(dis2[i]);
    }
  delay(200);
  clear();
  lcdDisplay(falseValue);
  }
else
{
  lcdDisplay(distance);
  }
}
//&Ouml;÷&ordm;&macr;&Ecirc;&yacute;
void main()
{
  lcdrw=0;
while(1)
{
  lcdInit();
  TMOD=0x11;
  TH0=0;
  TL0=0;
  Trig=0;
  Echo=0;
  start();
  while(!Echo);
  TR0=1;
  while(Echo);
  TR0=0;
  count();
  delay(200);
   }
}
捕獲.PNG
回復

使用道具 舉報

ID:350243 發表于 2018-6-14 15:56 | 顯示全部樓層
有沒有大佬在線指點迷津
回復

使用道具 舉報

ID:303383 發表于 2018-6-14 18:02 | 顯示全部樓層
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

ID:350754 發表于 2018-6-14 18:42 | 顯示全部樓層
小貓貓愛吃魚 發表于 2018-6-14 18:02
在頭文件后面加上

#define uchar unsigned char

這個方法她已經試過了,沒有用,在前面加了頭文件也不管用,我們下午去問老師的時候撞上了飯點,老師要去接孩子放學,顧不上我們,哈哈
回復

使用道具 舉報

ID:352144 發表于 2018-6-14 21:07 | 顯示全部樓層

在頭文件后面加上

#define uchar unsigned char
回復

使用道具 舉報

ID:234075 發表于 2018-6-14 22:56 | 顯示全部樓層
樓主不地道!截圖之前void后面有個uchar,你編譯出錯后把這個刪了才截的圖,其實問題就是uchar沒有定義!“她”沒試過,你女朋友啊?有沒告訴她后面不能加“;”
回復

使用道具 舉報

ID:341045 發表于 2018-6-15 01:30 | 顯示全部樓層
//void  lcdWriteData();
回復

使用道具 舉報

ID:341045 發表于 2018-6-15 01:31 | 顯示全部樓層
93多余的,注釋掉       //void  lcdWriteData();
回復

使用道具 舉報

ID:164602 發表于 2018-6-15 08:35 | 顯示全部樓層
你抄的程序,抄掉了一個子函數!
就是第93行的void  lcdWriteData()
沒有這個函數,像樓上說的注釋掉,就會有其它的錯。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表