![]() |
發布時間: 2024-5-16 13:47
正文摘要:是不是少了什么初始化,我看網上的例程好像都沒有 單片機源程序如下 #include <STC15.h> #include <intrins.h> #define uint unsigned int #define uchar unsigned char &nbs ... |
zhuls 發表于 2024-5-18 17:40 你好 我設置成了推挽輸出,但是它一通電就自己亮了,我寫的程序是按鍵按下才亮,而且中斷對它也沒有反應 #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 發表于 2024-5-18 18:54 vcc是5v |
zhuls 發表于 2024-5-18 17:40 嗷嗷好的 第一次用這個芯片 不太熟悉 ![]() |
Vcc是多少? |
Dokkis 發表于 2024-5-17 10:17 P3.5設成推挽,應該是"P3M0|=0x20" 你核對一下。 STC的ISP軟件本身自帶的工具里邊就有。。。 |
51hei.jpg (64.77 KB, 下載次數: 31)
R8/R9阻值是多少?分壓了吧? 把R8去掉試試 |
j1ason 發表于 2024-5-16 16:26 推挽輸出是這樣設嗎,改了還是不行 #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; } } |
設置輸出模式為推挽輸出 |
Q1什么型號?P3.5輸出的電壓,經電阻分壓后的Vgs電壓能讓它完全導通嗎? VCC多少V?6串LED,2V(RLED)/3.3V(GLED/BLED),能驅得動嗎? |
把Q1源漏極短接一下看看你led串聯后驅動電壓夠不夠 |
看下那個MOS,5V能打開不。 |
先將IO模式設置成推挽輸出,再將中斷關掉,最后在WHILE循環中添加延時。 |
15是需要設置IO模式的 |
qq475878026 發表于 2024-5-16 15:06 中斷關了也不行 |
yaosongjin 發表于 2024-5-16 15:28 確實是微亮,那我把死循環去掉再加個延時試試嗎 |
取反是如何亮的,看你程序死循環又沒有延時,取反的話應該是出現的脈沖電壓,微亮吧 |
還有這等子事?是不是中斷里有控制LED的?把中斷關了試試看? |