利用51單片機(jī)設(shè)計(jì)閃爍燈
1. 電路圖
一個(gè)二極管點(diǎn)亮一般需流經(jīng)的電流值為3mA~10mA,二極管兩邊的壓降為1.6V~1.7V。
2. 點(diǎn)亮二極管:
(1)位操作: sbit led0=P0^0; led0=0;//單個(gè)位的賦值
(2)總線操作: P0=0xfe;//11111110 整個(gè)8位引腳一起賦值
3. 軟件仿真:
點(diǎn)工具欄上d圖標(biāo),雙擊某行即設(shè)置斷點(diǎn);若要用軟件仿真查看一條語句的執(zhí)行時(shí)間,一定要在 Options for target -》target-》Xtal(MHz)中將晶振頻率設(shè)成與單片機(jī)的頻率相同。(機(jī)器周期=12*晶振周期=12*系統(tǒng)時(shí)鐘周期, 晶振頻率越高,單片 機(jī)執(zhí)行速度越快,11.0592M的頻率一般用于單片 機(jī)與單片機(jī)或主機(jī)的串口通信)
4. 51單片機(jī)31腳EA,接高電平時(shí),從片內(nèi)存儲(chǔ)器中讀取指令執(zhí)行;低電平時(shí),讀片外存儲(chǔ)器。
5. 51單片機(jī)中P1、P2、P3都有上拉電阻,而P0沒有,所以,要想使P0作為正常I/O口使用時(shí),需加上拉電 阻(如排阻)。
6. 有些編譯程序編譯完了之后,會(huì)自動(dòng)將你寫的程序進(jìn)行無限循環(huán),若想讓程序停在某個(gè)語句之后,則在該語句后面加“while(1);”即可。
7. #include 有用于移位的函數(shù)_crol(k,1) /*假設(shè)k為11111110,函數(shù)執(zhí)行后k為11111101*/。
8. 51單片機(jī)上電后,默認(rèn)的I/O口狀態(tài)是高電平。