|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
幫忙看一下這段簡(jiǎn)單的C51程序 |
| 作者:szjgjg 欄目:單片機(jī) |
#include <AT89X51.h> //預(yù)處理命令 void main(void) //主函數(shù)名 { unsigned int a; //定義變量a為unsigned int類型 unsigned CHAR b; //定義變量b為unsigned CHAR類型 do { //do while組成循環(huán) for (a=0; a<65535; a++) P1_0 = 0; //65535次設(shè)P1.0口為低電平,點(diǎn)亮LED P1_0 = 1; //設(shè)P1.0口為高電平,熄滅LED for (a=0; a<30000; a++); //空循環(huán) for (b=0; b<255; b++) P1_1 = 0; //255次設(shè)P1.1口為低電平,點(diǎn)亮LED P1_1 = 1; //設(shè)P1.1口為高電平,熄滅LED for (a=0; a<30000; a++); //空循環(huán) } while(1); } 應(yīng)該是P1.0量的時(shí)間長(zhǎng)一些,P1.1量的時(shí)間短一些,不斷閃爍,但是只是P1.0閃動(dòng),P1.1不動(dòng)???? |
| 2樓: | >>參與討論 |
| 作者: j_lailei 于 2005/1/21 16:26:00 發(fā)布:
255次設(shè)P1.1口為低電平,點(diǎn)亮LED。時(shí)間太短了 |
|
| 3樓: | >>參與討論 |
| 作者: 小橋流水 于 2005/1/21 16:28:00 發(fā)布:
你的晶振頻率是多少? 255次,會(huì)不會(huì)時(shí)間太短了, 加長(zhǎng)點(diǎn)時(shí)間試試 |
|
| 4樓: | >>參與討論 |
| 作者: wag 于 2005/1/21 16:57:00 發(fā)布:
延時(shí)的位置不對(duì),高低變化只有一個(gè)指令周期 |
|
| 5樓: | >>參與討論 |
| 作者: yangtse 于 2005/1/21 17:13:00 發(fā)布:
代碼質(zhì)量(與主題無關(guān),探討一哈) #include <AT89X51.h> //預(yù)處理命令 void main(void) //主函數(shù)名 { unsigned int a; while(1) { P1_0 = 0; a=0; while(--a!=0); P1_0 = 1; a=30000; while(--a!=0); P1_1=0; a=256; while(--a!=0); P1_1 = 1; a=30000; while(--a!=0); } } |
|
| 6樓: | >>參與討論 |
| 作者: yangtse 于 2005/1/21 17:23:00 發(fā)布:
重新來過 #include <AT89X51.h> //預(yù)處理命令 void main(void) //主函數(shù)名 { unsigned int a; while(1) { P1_0 = 0; a=0; while(--a!=0); P1_0 = 1; P1_1=0; a=30000; while(--a!=0); P1_1 = 1; } } 這樣p1.0亮的長(zhǎng),p1.1亮的短。不停閃爍。。。 |
|
| 7樓: | >>參與討論 |
| 作者: keypad 于 2005/1/21 20:33:00 發(fā)布:
我也湊熱鬧,談代碼質(zhì)量: #include <AT89X51.h> #define LED1 P1_0 #define LED2 P1_1 void subDelay(unsigned int pTimes); void main(void) //主函數(shù)名 { while(1) { LED1 = 0; subDelay(65535); LED1 = 1; LED2=0; subDelay(255); LED2 = 1; } } void subDelay(unsigned int pTimes) { while(--pTimes); } |
|
| 8樓: | >>參與討論 |
| 作者: hebeijiang 于 2005/1/21 21:32:00 發(fā)布:
xxxx #include <AT89X51.h> #define LED1 P1_0 #define LED2 P1_1 void subDelay(unsigned int pTimes); void main(void) //主函數(shù)名 { while(1) { LED1 = 0; LED2 = 1; subDelay(65535); LED1 = 1; LED2 = 0; subDelay(255); } } void subDelay(unsigned int pTimes) { while(--pTimes); } |
|
| 9樓: | >>參與討論 |
| 作者: robincyh93 于 2005/1/21 21:49:00 發(fā)布:
這樣是不是好些撒 #include <AT89X51.h> sbit LED1=P1^0 sbit LED2=P1^1 void subDelay(unsigned int pTimes); void main(void) //主函數(shù)名 { while(1) { LED1 = 0; LED2 = 1; subDelay(65535); LED1 = 1; LED2 = 0; subDelay(255); } } void subDelay(unsigned int pTimes) { while(--pTimes); } |
|
| 10樓: | >>參與討論 |
| 作者: wag 于 2005/1/22 9:50:00 發(fā)布:
szjgjg 你很幸福,這么多人 |
|
| 11樓: | >>參與討論 |
| 作者: yangtse 于 2005/1/22 14:46:00 發(fā)布:
好!拋磚引玉. 向各位學(xué)習(xí)ing... |
|
| 12樓: | >>參與討論 |
| 作者: szjgjg 于 2005/1/23 9:58:00 發(fā)布:
我太感動(dòng)了謝謝大家! |
|
| 13樓: | >>參與討論 |
| 作者: xjg1111 于 2005/1/23 17:16:00 發(fā)布:
哈哈,高手如云呀~~ 除了樓主coding爛點(diǎn)兒,都不錯(cuò)! |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |