熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
angmall 發(fā)表于 2021-5-27 15:04 謝謝大佬 |
void timer0()interrupt 1; 去掉1后面的分號(hào) |
#在void timer0()interrupt 1; 去掉1后面的分號(hào) |
garrettzls 發(fā)表于 2021-5-27 08:15 加上分號(hào),就不對(duì),分號(hào)的意思一句話說完了,如果加上分號(hào),這里是無法延時(shí)的,編譯錯(cuò)誤,是很容易出現(xiàn)的,樓主需要對(duì)照別人的程序或者書本一項(xiàng)項(xiàng)檢查那里錯(cuò)了。 |
garrettzls 發(fā)表于 2021-5-27 17:35 樓主這個(gè)程序不是簡(jiǎn)單的多幾個(gè)分號(hào)錯(cuò)誤,其實(shí)是幾乎通篇錯(cuò)誤。建議在論壇搜搜別人的程序參考。先照貓畫虎練練手。 |
解決了 謝謝大佬們 |
18701931930 發(fā)表于 2021-5-27 13:24 去了分號(hào)直接40多個(gè)錯(cuò) 這是為啥啊 |
給你改了一下試試。
|
3個(gè)函數(shù)名后面多分號(hào); void Delay_us(unsigned char t); void timer0()interrupt 1; void chaoshenbo_kongzhi(); 其中 void chaoshenbo_kongzhi() 又少了一對(duì)大括號(hào) { } 變量last沒有定義 |
void chaoshenbo_kongzhi(); //??????? unsigned int time,distance; 看看這里多了什么又少了什么,難怪1930說你 |
18701931930 發(fā)表于 2021-5-27 09:10 #include<reg52.h> #include<stdio.h> #include<intrins.h> sbit Trig=P2^0; //??? sbit Echo=P2^1; //??? sbit pwm =P0^1 ; //PWM???? sbit jia =P1^2; //????????IO? sbit jan =P1^1; //????????IO? unsigned char count; unsigned char jd; //???? unsigned char T0RH=0; unsigned char T0RL=0; void Time0_Init() //?????? { TMOD = 0x01; //???0?????1 IE = 0x82; TH0 = 0xfe; TL0 = 0x33; //11.0592MZ??,0.5ms TR0=1; //????? }//???????? void time_init() { EA=1; TMOD=0x11; TH0 = 0; TL0 = 0; } //????????? void Delay_us(unsigned char t); { while(--t); } void timer0()interrupt 1; { TH0 = 0; TL0 = 0; } //???? ????? ???? ?????? ???? void chaoshenbo_kongzhi(); //??????? unsigned int time,distance; Trig=0; Echo=0; jd=3; time_init(); while(1) { Trig=1; Delay_us(5); Trig=0; while(Echo==0); TR0=1; while(Echo); TR0=0; time=TH0*256+TL0; distance=(int)(time*0.017); //???? ???cm TH0=0; TL0=0; if(distance<100) //??????100cm ???? { last=distance; jd=4; Delay_us(10); if(distance<last) { jd=1; } if(distance>last) { jd=5; } } if(distance>100) jd=3; } void main() { jd=3; count=0; chaoshenbo_kongzhi(); } |
garrettzls 發(fā)表于 2021-5-27 08:15 代碼用文本的方式貼出來看看 |
18701931930 發(fā)表于 2021-5-27 08:04 這個(gè)我知道。我本來沒有分號(hào) 但是報(bào)錯(cuò)40個(gè)。加上之后就剩三個(gè)了 |
個(gè)人建議: 剛開始學(xué)寫代碼的時(shí)候,寫一個(gè)函數(shù)編譯一下。 有問題及時(shí)查找。寫一個(gè)函數(shù),先寫框架,再寫內(nèi)容。如: void key() { //內(nèi)容 } 要養(yǎng)成良好的編程習(xí)慣。 |
這上面的3個(gè)函數(shù)名后面都多了一個(gè)分號(hào); 最下面的函數(shù)還少了一個(gè) { 這種低級(jí)錯(cuò)誤都能犯,這不是大意都能說得過去的。 ![]() ![]() |
Powered by 單片機(jī)教程網(wǎng)