熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2018-7-14 18:16
正文摘要:作為一名小白第一次接觸STC89C52RC單片機(jī),編寫(xiě)點(diǎn)亮LED燈時(shí)無(wú)法運(yùn)行,不知道哪里出現(xiàn)問(wèn)題了 跪求各位大佬指點(diǎn) |
你都沒(méi)有生成HEX文件,先看看是不是keil的配置問(wèn)題。程序是沒(méi)問(wèn)題的,或者看看是不是輸入的字母是在中文輸入的情況下輸入的 |
程序在執(zhí)行了一次led1=0,所以不會(huì)一直亮著 |
#include<reg52.h> 第一次圖你工都沒(méi)生成hex文件, 晶振?單片機(jī)是小三要素 p要大寫(xiě) |
void main() { while(1) { LED1 = 0; } } 將led燈放入while死循環(huán)中,將燈亮?xí)r間延長(zhǎng) |
void main() { LED1=0; while(1) { ; } } |
lxt@ 發(fā)表于 2021-7-22 09:13 首先你的p沒(méi)有大寫(xiě),定義是不成功的,當(dāng)然無(wú)法識(shí)別 |
怎么總是顯示p0和led無(wú)法識(shí)別 |
2021-07-22_09.12.24.jpg (706.47 KB, 下載次數(shù): 143)
我是做硬件的,單片機(jī)工程師能點(diǎn)亮我的LED,卻不能滅我的LED,然后單片機(jī)工程師說(shuō)是硬件有誤?。。。 |
你先看下你的原理圖 對(duì)應(yīng)的端口有沒(méi)有出錯(cuò),再看下led對(duì)應(yīng)的亮燈電平 再改下應(yīng)該就行了 |
兩種情況,第一種是閃的太快你沒(méi)看到,按照底下更改下主函數(shù) void main() { LED1=0; while(1); } 第二種情況:你設(shè)置的p0引腳,接線要接到p0口, 你要生成.hex文件燒寫(xiě)進(jìn)去板子,才能看到結(jié)果。 |
沒(méi)有死循環(huán),而且點(diǎn)亮燈是要看硬件怎么接,是高電平亮,還是低電平亮 |
渝味道 發(fā)表于 2018-7-14 20:24 渝味道行尊您好: (1)我的操作系統(tǒng)是win10,所以使用的是keil4軟件。 (2)我將LED大寫(xiě)標(biāo)識(shí),改寫(xiě)為led小寫(xiě)標(biāo)識(shí),依然沒(méi)有任何作用的。 謝謝你的耐心解答。 |
HC6800-ES-V2.0 發(fā)表于 2018-7-14 20:39 HC6800-ES-V2.0 行尊您好: (1) 源代碼完成后,我編譯了一次沒(méi)有顯示相關(guān)(0)error和(0)warning,不知道是不是編譯存在錯(cuò)誤。 (2) 作為一枚小白的我,不知道如果在keil4這個(gè)軟件上面查看編程環(huán)境啊。 謝謝您對(duì)我這位新手的幫助和點(diǎn)播,感激涕零。 |
天才小能貓 發(fā)表于 2018-7-14 19:06 天才小能貓行尊您好: 我在源代碼加入死循環(huán)white(1)后仍然沒(méi)有任何反應(yīng)哦,作為一名零基礎(chǔ)新手不知道還有通過(guò)什么方式繼續(xù)解決這個(gè)問(wèn)題啊。 謝謝您對(duì)我的答疑和幫助,感激涕零。 |
qq455627509 發(fā)表于 2018-7-14 18:52 qq455627509 行尊您好: (1)普通的發(fā)光二極管的工作電壓為1.6V-2.1V,工作電流為1-20mA;應(yīng)該是正極接入+5V的高電平,負(fù)極接入0V低電平吧. (2)源代碼加入死循環(huán)white(1)后仍然沒(méi)有任何反應(yīng)哦。 (3)要怎么判斷文件是否編譯成功啊 感謝您的耐心解答和對(duì)小白一枚我的幫助。 |
本帖最后由 鵬博士PBs 于 2018-7-15 00:42 編輯 134849694164151 發(fā)表于 2018-7-14 19:04 134849694164151行尊您好: 作為一個(gè)剛剛接觸我首先在License Management已經(jīng)用computer ID注冊(cè)了product,其中support period顯示為 Jul 2020,這樣操作應(yīng)該可以說(shuō)是keil的破解了吧。 |
wsd-cup 發(fā)表于 2018-7-14 18:35 謝謝wsd-cup 行尊您的解答 我先嘗試一下哈 |
1、確定LED燈沒(méi)問(wèn)題 2、程序是否下載成功 3、電路是不是LED負(fù)極接怕P1.0 |
#include<reg52.h> sbit LED1=P1^0; void main() { LED1=0; while(1); } 這樣的程序不會(huì)有什么問(wèn)題,檢查一下這幾方面: 1.單片機(jī)的晶振已經(jīng)焊接并且起振 2.P1^0口上的LED燈陰極接單片機(jī)陽(yáng)極連VCC并且有阻值合適的限流電阻 3.整機(jī)供電正常 4.如果選用的型號(hào)有EAVP腳,它已經(jīng)連到VCC上 如果上述都沒(méi)有問(wèn)題可以嘗試更換LED和單片機(jī)再試 |
看看是不是端口錯(cuò)了,看原理圖,有的好像是P2^0口,還有 加一個(gè)死循環(huán)函數(shù) while(1) |
你打好程序代碼后,再編譯一次沒(méi)有? 程序沒(méi)問(wèn)題,只能是你的編程環(huán)境可能不對(duì)。 這個(gè)沒(méi)法調(diào)你的軟件看啊。 |
首先你這是KEIL幾啊,建議使用KEIL2哦。這里有實(shí)例希望對(duì)你有幫助。 #include<reg52.h> sbit led=P1^0; void main() { led=o; } |
加上主循環(huán)。 |
加一個(gè)while(1), 不然速度太快看不到 |
是不是keil沒(méi)破解?感覺(jué)代碼寫(xiě)的挺對(duì)的 |
用while(1)進(jìn)行死循環(huán)看看,或者看看你的LED是低電平點(diǎn)亮還是高電平。還是你自己的編譯文件沒(méi)編譯成功? |
1、配置不對(duì), 2、代碼不對(duì) void main() { LED1 = 0; while(1) { ; } } |
void main() { LED1=0; while(1) { ; } } |
void main() { LED1 = 0; while(1) {} } |
Powered by 單片機(jī)教程網(wǎng)