熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2024-5-16 13:47
正文摘要:是不是少了什么初始化,我看網(wǎng)上的例程好像都沒有 單片機(jī)源程序如下 #include <STC15.h> #include <intrins.h> #define uint unsigned int #define uchar unsigned char &nbs ... |
zhuls 發(fā)表于 2024-5-18 17:40 你好 我設(shè)置成了推挽輸出,但是它一通電就自己亮了,我寫的程序是按鍵按下才亮,而且中斷對(duì)它也沒有反應(yīng) #include <STC15.h> #include <intrins.h> #define uint unsigned int #define uchar unsigned char sbit s1 = P3^3; sbit k1 = P3^2; sbit k2 = P3^1; sbit k3 = P3^0; sbit led = P3^5; bit seyFlag=0; void DELAY_MS (unsigned int t) { unsigned int a; while ( --t != 0 ) { for (a=0;a<=600;a++); } } void DELAY_1s(int t) { unsigned long int a,b,c,d,e,f,g; a=60000*t; b=60000*t; c=60000*t; d=60000*t; e=60000*t; f=60000*t; g=60000*t; while(1) { a--; b--; c--; d--; e--; f--; g--; if(seyFlag==1||g==0) { led = !led; seyFlag=0; return; } } } void Int1_Routine(void) interrupt 2 { //led = !led; seyFlag=1; } void main() { P3M0 = 0x20; P3M1 = 0x00; IT1 = 1; EX1 = 1; EA = 1; while(1) { if(seyFlag == 1) { DELAY_MS(10); led = 1; if (k1==0) { if (k2==1) { if (k3==1) { DELAY_1s(5); } else if(k3==0) { DELAY_1s(10); } } } } } } |
benniu 發(fā)表于 2024-5-18 18:54 vcc是5v |
zhuls 發(fā)表于 2024-5-18 17:40 嗷嗷好的 第一次用這個(gè)芯片 不太熟悉 ![]() |
Vcc是多少? |
Dokkis 發(fā)表于 2024-5-17 10:17 P3.5設(shè)成推挽,應(yīng)該是"P3M0|=0x20" 你核對(duì)一下。 STC的ISP軟件本身自帶的工具里邊就有。。。 |
51hei.jpg (64.77 KB, 下載次數(shù): 31)
R8/R9阻值是多少?分壓了吧? 把R8去掉試試 |
j1ason 發(fā)表于 2024-5-16 16:26 推挽輸出是這樣設(shè)嗎,改了還是不行 #include <STC15.h> #include <intrins.h> #define uint unsigned int #define uchar unsigned char sbit s1 = P3^3; sbit k1 = P3^2; sbit k2 = P3^1; sbit k3 = P3^0; sbit led = P3^5; void Delay1s(int t) { uint i; i=1000*t; while(1) { i--; if(i==0) {return;} } } void main() { P3M0 |= 0x00; P3M1 |= 0x08; while(1) { Delay1s(10); led = 1; } } |
設(shè)置輸出模式為推挽輸出 |
Q1什么型號(hào)?P3.5輸出的電壓,經(jīng)電阻分壓后的Vgs電壓能讓它完全導(dǎo)通嗎? VCC多少V?6串LED,2V(RLED)/3.3V(GLED/BLED),能驅(qū)得動(dòng)嗎? |
把Q1源漏極短接一下看看你led串聯(lián)后驅(qū)動(dòng)電壓夠不夠 |
看下那個(gè)MOS,5V能打開不。 |
先將IO模式設(shè)置成推挽輸出,再將中斷關(guān)掉,最后在WHILE循環(huán)中添加延時(shí)。 |
15是需要設(shè)置IO模式的 |
qq475878026 發(fā)表于 2024-5-16 15:06 中斷關(guān)了也不行 |
yaosongjin 發(fā)表于 2024-5-16 15:28 確實(shí)是微亮,那我把死循環(huán)去掉再加個(gè)延時(shí)試試嗎 |
取反是如何亮的,看你程序死循環(huán)又沒有延時(shí),取反的話應(yīng)該是出現(xiàn)的脈沖電壓,微亮吧 |
還有這等子事?是不是中斷里有控制LED的?把中斷關(guān)了試試看? |
Powered by 單片機(jī)教程網(wǎng)