|
;=================================================================
;程序編寫人:蘭建文 ;編寫地點(diǎn):湖南源點(diǎn)IC培訓(xùn)機(jī)構(gòu) ;時(shí)間:2009年7月3日上午 星期五 ;功能:本程序?qū)崿F(xiàn)液晶顯示電動(dòng)車速度功能,速度范圍(0-50KM/H) ;=======================開始初始化================================ CS BIT P3.4 ;設(shè)置使能口 SCLK BIT P3.3 ;設(shè)置時(shí)鐘脈沖口 ADOUT BIT P3.5 ;設(shè)置數(shù)據(jù)輸出口 PIANXUAN EQU P1 ;設(shè)置片選口 SHUCHU EQU P2 ;========================系統(tǒng)程序================================== ORG 0000H JMP MAIN ORG 30H ;=========================主程序=================================== MAIN: MOV A,#0 SETB ADOUT SETB SCLK CLR SCLK CLR CS CALL READ SETB CS CALL HBCD CALL DISPLAY JMP MAIN ;=========================讀子程序=========================== ;輸入條件:待轉(zhuǎn)化的單字節(jié)十六進(jìn)制整數(shù)在累加器A中。 ;輸出信息:轉(zhuǎn)化后的BCD碼(十位和個(gè)位)仍在累加器A中,百位在R3中。 ;影響資源:PSW、A、B、R3 堆棧需求:2字節(jié) ;============================================================ READ: MOV R1,#08H LL: SETB SCLK ;設(shè)置下降沿 MOV C,ADOUT RLC A CLR SCLK DJNZ R1,LL RET ;=====================BCD轉(zhuǎn)化子程序========================= ;輸入:"R2、R3、R6" ;輸出:"P0口" ;實(shí)現(xiàn)的功能:把R2、R3、R6的數(shù)輸出到P0口顯示 ;============================================================ HBCD: MOV B,#9 DIV AB MOV R5,A CJNE R5,#28,JIXU MOV A,#50 JMP NEXT JIXU:MOV B,#7 MUL AB MOV B,#10 DIV AB ADD A,R5 NEXT:MOV B,#100 ;分離百位,放在R3中 DIV AB MOV R3,A MOV A,#10 ;繼續(xù)分離十位和個(gè)位 XCH A,B DIV AB MOV R2,A MOV R6,B RET ;========================顯示子程序========================== ;輸入:"A" ;輸出:"P0口" ;實(shí)現(xiàn)的功能:把A的數(shù)輸出到P0口顯示 ;============================================================ DISPLAY:MOV R0,#50 CC:MOV DPTR,#TAB MOV A,R2 MOVC A,@A+DPTR MOV SHUCHU,A ;顯示十位 MOV PIANXUAN,#01H CALL DELAY MOV SHUCHU,#0FFH MOV A,R6 MOV DPTR,#TAB MOVC A,@A+DPTR MOV SHUCHU,A ;顯示個(gè)位 MOV PIANXUAN,#02H CALL DELAY MOV SHUCHU,#0FFH DJNZ R0,CC RET ;========================延時(shí)程序============================ ;輸入;無 ;輸出: 無 ;實(shí)現(xiàn)的功能:延時(shí)一段時(shí)間 ;============================================================ DELAY: MOV R4,#5 MOV R5,#200 D1: NOP DJNZ R5,$ DJNZ R4,D1 RET ;=======================共陽查表數(shù)據(jù)========================== TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;=========================程序結(jié)束================================= END
|
|