51單片機(jī)的指令系統(tǒng)及試驗(yàn)
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#06H;讓數(shù)碼管顯示“1” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#5bH;讓數(shù)碼管顯示“2” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#4fH;讓數(shù)碼管顯示“3” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#66H;讓數(shù)碼管顯示“4” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#6dH;讓數(shù)碼管顯示“5” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7dH;讓數(shù)碼管顯示“6” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#07H;讓數(shù)碼管顯示“7” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7fH;讓數(shù)碼管顯示“8” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#6fH;讓數(shù)碼管顯示“9” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7fH;讓數(shù)碼管顯示“A” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7fH;讓數(shù)碼管顯示“b” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7fH;讓數(shù)碼管顯示“C” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7fH;讓數(shù)碼管顯示“d” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7fH;讓數(shù)碼管顯示“E” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7fH;讓數(shù)碼管顯示“F” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV P0,#7fH;讓數(shù)碼管顯示“Y” 。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
MOV R4,#9;送蜂鳴器的報(bào)警次數(shù)。
LOOP:SETB P2.0;不發(fā)聲
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
CLR P2.0;發(fā)聲。
LCALL DELAY;調(diào)用延時(shí)子程序,起到延時(shí)的目的。
DJNZ R4,LOOP;發(fā)聲九次后向下執(zhí)行。
SETB P2.0;關(guān)閉發(fā)聲
LJMP START;跳轉(zhuǎn)到標(biāo)號(hào)為START處執(zhí)行,循環(huán)本程序。
DELAY:MOV R7,#200;這是延時(shí)子程序。
D1:MOV R6,#200
D2:MOV R5,#200
D3:DJNZ R5,D3
DJNZ R6,D2
DJNZ R7,D1
RET;延時(shí)子程序返回指令。
END;結(jié)束偽指令。
九、利用KEIL C51 軟件對(duì)上面的程序進(jìn)行調(diào)試和編譯,產(chǎn)生*.HEX文件,以便用編程器寫入單片機(jī)芯片中。
十、編程器的使用:用編程器把電腦里生成的*.HEX文件寫到芯片中。
十一、產(chǎn)品調(diào)試:通上4.5V(三節(jié)電池)的電源,可以調(diào)試本系統(tǒng),如果沒有錯(cuò)誤就可以正常工作了。
評(píng)論