熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2020-5-28 20:40
正文摘要:#include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit flag=P3^2;//外部中斷信號(hào)產(chǎn)生腳 sbit key=P3^0;//控制flag產(chǎn)生下降沿 sbit led=P2 ... |
lyxing 發(fā)表于 2020-5-29 22:55 我知道那兩個(gè)腳 我網(wǎng)上查的也可以通過(guò)別的i/o口來(lái)控制P3^2 P3^3的高低電位 觸發(fā)不就是有下降沿么 別的可以控制他的高低電位 咋就不可以等效那兩個(gè)腳呢 |
雪峰1259 發(fā)表于 2020-5-29 21:43 外部中斷INT0與INT1,在 P3.2 P3.3口上,按P3.0不能產(chǎn)生外中斷。 |
wulin 發(fā)表于 2020-5-29 16:11 額 我是想通過(guò)P3^0按鍵來(lái)產(chǎn)生這個(gè)中斷 |
雪峰1259 發(fā)表于 2020-5-29 13:16 程序都給你改好了你還玩不轉(zhuǎn),無(wú)語(yǔ)了。 |
273431377 發(fā)表于 2020-5-29 00:33 應(yīng)該加個(gè)while 不過(guò)這和名字沒(méi)啥關(guān)系吧 |
wulin 發(fā)表于 2020-5-29 06:05 加過(guò)while后 還是不行 我先通過(guò)按P3^0按鍵發(fā)現(xiàn)沒(méi)用 然后我又直接按P3^2想產(chǎn)生跳變沿 還是沒(méi)反應(yīng) 懵逼了 ![]() |
csmyldl 發(fā)表于 2020-5-29 00:43 想通過(guò)按鍵來(lái)控制中斷 |
wulin 發(fā)表于 2020-5-29 06:05 贊同樓上 |
樓主犯了兩個(gè)錯(cuò)誤。1.程序結(jié)構(gòu)錯(cuò)誤:main函數(shù)初始化后必須限制在主循環(huán)while(1)中運(yùn)行,哪怕沒(méi)有如何任務(wù)也得在while(1)中死循環(huán)。2.外部中斷理解錯(cuò)誤:所謂外部中斷必須是單片機(jī)外部信號(hào)作用于IN0(IN1),由軟件置flag=1; flag=0;不會(huì)觸發(fā)IN0中斷。
|
| 問(wèn)題未描述清楚,flag與KEY在程序中定義引腳P32和P30,不知為何要這么定義 |
|
在main()函數(shù)結(jié)尾加個(gè)while(1); 把中斷函數(shù)名改成void exint0() interrupt 0 試一下。 |
Powered by 單片機(jī)教程網(wǎng)