欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 急需高手幫助 [打印本頁]

作者: paige17    時間: 2010-6-22 12:40
標題: 急需高手幫助
急求單片機課程設計 要求:用4位數碼管顯示,范圍從00.00-99.99s 三個按鍵:1、開始2、暫時3、復位,用AT89C51實現,用匯編語言做程序,謝謝各位!~~~必重謝!~~ 一定要事匯編啊!~~~~
作者: brantyou    時間: 2010-6-22 17:15

哥們給個兩位顯示的給你瞧瞧吧!!!

/*數碼管的顯示,動態顯示,數碼管顯示兩位精確秒計時,從這個例子可以學習定時器的使用,也可從這個例子擴展一個時鐘程序*/
/*效果:精確的秒計時,數碼管顯示兩位計數,可擴展成時鐘*/

 

;----------------定義數據RAM空間-------------------------------
 LDB EQU 36H ;定義一個變量存放顯示值
 LCC EQU 37H ;定義一個變量存放計數值
;-----------數據存放----------------------
ORG 0100H
TABLE: DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;表:共陽數碼管 0-9

ORG 0000H
LJMP MAIN
ORG 000BH ;定時器中斷入口
LJMP TIMER

ORG 0200H
MAIN: MOV TMOD,#01H ;設置定時器1為1模式,即16位計算模式
 MOV TH0,#3CH ;給計數寄存器復值,50毫秒時間
 MOV TL0,#0B0H
 MOV IE,#82H ;開總中斷和T0中斷
 SETB TR0 ;啟動定時器0
 MOV LDB,#0 ;顯示緩沖清0
 MOV LCC,#0 ;計數緩沖清0
 
M1: MOV A,LCC
 CJNE A,#20,M2 ;計數20次50毫秒即為1秒
 MOV LCC,#0 
 INC LDB  ;顯示緩存加1
 MOV A,LDB ;
 CJNE A,#100,M2 ;如果加到100,則清0
 MOV LDB,#0
M2: MOV A,LDB ;用A來傳遞數據顯示
 LCALL DISPLAY
 LJMP M1 


TIMER: INC LCC  ;定時中斷產生,計數加1
 MOV TH0,#3CH ;重新裝入定時器值50毫秒
 MOV TL0,#0B0H
 RETI  


DISPLAY:MOV DPTR,#TABLE ;數碼管顯示子程序
 MOV B,#10
 DIV AB 
 CLR P1.0 ;選擇十位數碼管,即第二位數碼管,當然也可以選擇其它位
 SETB P1.1 
 SETB P1.2
 MOVC A,@A+DPTR ;查表輸出定義好的數碼管段值與P0口,顯示相應的0-9
 MOV P2,A
 LCALL DELAY ;延時,停留一會,讓人眼感觸到它的亮度
 MOV P2,#0 ;清除數碼管顯示

 SETB P1.0 ;選擇個位數碼管,即第一位數碼管,當然也可以選擇其它位
 SETB P1.1 
 SETB P1.2
 MOV A,B  ;個位顯示
 MOVC A,@A+DPTR ;查表輸出定義好的數碼管段值與P0口,顯示相應的0-9
 MOV P2,A
 LCALL DELAY ;延時,停留一會,讓人眼感觸到它的亮度
 MOV P2,#0 ;清除數碼管顯示
 RET

DELAY: MOV R7,#10 ;延時子程序
 DJNZ R7,$
 RET
END






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1