5_1_5_2.s43

来自「魏小龙《MSP430系列单片机接口技术及系统设计实例》书中全部程序代码」· S43 代码 · 共 35 行

S43
35
字号
DIS_12      PUSH    R4                    	;显示8个数据到显示器
            PUSH    R5
            MOV.B   #8,R5
DIS_121     MOV.B   1FFH(R5),R4			;取出8个要显示的数据之一
            CALL    #DIS_1			;调一位数据显示子程序
            DEC.B   R5            
            JNZ     DIS_121			;8位显示完了吗
            POP     R5
            POP     R4
            RET
DIS_1       PUSH    R5					
            PUSH    R4
            MOV     #8,R5        		;显示一个数字
            MOV.B   DIS_TAB(R4),R4		;查得显示码
LOOP:      RLC.B   R4				;移出将要送到74164的数据位
            JC      LOOP1            	  	;C=1 JMP  P2.0=1
            BIC.B   #1,&P2OUT			;送出数据"0"
            JMP     LOOP2
LOOP1     BIS.B   #1,&P2OUT         		;送出数据"1"
LOOP2     CALL    #CLK164			;给出时钟上升沿
            DEC     R5	
            JNZ     LOOP			;8位数据没有移完,则继续
            POP     R4
            POP     R5
            RET
CLK164     BIS.B #2,&P2OUT     			;时钟子程序
            BIC.B #2,&P2OUT        		;
            RET
;以下为显示段码表
TABLED:  DB  3FH , 06H ,  5BH   ,4FH        	;0   1   2   3
	      DB  66H , 6DH ,  7DH ,  07H       ;4   5   6   7
	      DB  7FH , 6FH ,  77H,   7CH       ;8   9   A   B
	      DB  39H , 5EH,   79H  , 71H       ;C   D   E   F
	            

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?