單片機(jī)輸出管腳的定義
再問個問題呀,就是KEIL 51的編程軟件,我想換個編譯器,應(yīng)該怎樣換?
本文引用地址:http://m.butianyuan.cn/article/201611/315379.htm1.對于傳統(tǒng)的51單片機(jī),在復(fù)位之后所有端口都輸出1,即高電平,AVR單片機(jī)則是PORTx=0x00,DDRx=0x00的高阻態(tài),PIC單片機(jī)也是這樣。
2.如果你要讓LED受控,那應(yīng)該反著接,即在端口輸出0的時候才點(diǎn)亮LED,另外對于常用的51單片機(jī),高電平輸出的電流較小,而低電平能吸收的電流較大,這是你需要了解的。當(dāng)然,STC的單片機(jī)使用了推挽式端口,無論輸出1和0時能承受的電流都很大。
3.當(dāng)然,在單片機(jī)復(fù)位之后端口狀態(tài)就是確定的高電平(如51單片機(jī)),或者高阻態(tài)(AVR等),在程序中初始化一下也不算有錯嘛!有的編譯器能自動生成代碼(比如AVR單片機(jī)的CVAVR編譯器),都在程序開始時初始化端口為高阻態(tài),如果為了節(jié)省代碼空間,可以把這些代碼去掉。
4.對于Keil UV2之外,IAR for 8051編譯器也是不錯的,但我看IAR的編譯器主要針對C8051F系列和CC2430等增強(qiáng)型的單片機(jī),對于普通的單片機(jī)……似乎大材小用!
2.如果你要讓LED受控,那應(yīng)該反著接,即在端口輸出0的時候才點(diǎn)亮LED,另外對于常用的51單片機(jī),高電平輸出的電流較小,而低電平能吸收的電流較大,這是你需要了解的。當(dāng)然,STC的單片機(jī)使用了推挽式端口,無論輸出1和0時能承受的電流都很大。
3.當(dāng)然,在單片機(jī)復(fù)位之后端口狀態(tài)就是確定的高電平(如51單片機(jī)),或者高阻態(tài)(AVR等),在程序中初始化一下也不算有錯嘛!有的編譯器能自動生成代碼(比如AVR單片機(jī)的CVAVR編譯器),都在程序開始時初始化端口為高阻態(tài),如果為了節(jié)省代碼空間,可以把這些代碼去掉。
4.對于Keil UV2之外,IAR for 8051編譯器也是不錯的,但我看IAR的編譯器主要針對C8051F系列和CC2430等增強(qiáng)型的單片機(jī),對于普通的單片機(jī)……似乎大材小用!
評論