微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 汇编程序实现平方运算

汇编程序实现平方运算

时间:11-29 来源:互联网 点击:
P1是位选,p2是段选.
ORG 0000HLJMP MAINORG 000BHLJMP INTMAIN:           MOV TMOD,#01H        MOV TH0,#0        MOV TL0,#1        SETB EA        SETB ET0        SETB TR0MOV R6,#0 ;-------------   R6用于存储1~9         MOV R4,#44H ;          刚上电时让第四个数码管显示0;--------------R1~R4用于存放四个数码管对应的段码---------DISPLAY:         MOV A,R6        MOV DPTR,#TAB2        MOVC A,@A+DPTR        MOV R1,A        MOV A,R6        MOV DPTR,#TAB3        MOVC A,@A+DPTR        MOV R2,APLAY:            MOV P1,#0FFHMOV R7,#100       ;关非正常微亮          DJNZ R7,$MOV A,R4         MOV P1,#7FH        MOV P2,AMOV R7,#100    ;调节亮度         DJNZ R7,$MOV P1,#0FFHMOV R7,#100        ;关非正常微亮        DJNZ R7,$         MOV A,R1         MOV P1,#0EFH         MOV P2,AMOV R7,#100       ;调节亮度        DJNZ R7,$MOV P1,#0FFHMOV R7,#100        ;关非正常微亮         DJNZ R7,$          MOV A,R2         MOV P1,#0DFH         MOV P2,AMOV R7,#100         ;调节亮度        DJNZ R7,$     LJMP DISPLAY;----------------------------------------------------------DELAY:           MOV R7,#100        MOV R3,#100LAY:             MOV R2,#20DJNZ R2,$         DJNZ R3,LAY         DJNZ R7,LAY         RET;***********扫描键盘子程序*************************KEYSCAN:        MOV P1,#0FHJB P1.3,OFF      MOV R7,#100         DJNZ R7,$        JNB P1.3,SCAN        RET       SCAN:            MOV A,#07FHCONTINUE:        MOV P1,AJNB P1.3,RECORDRR ACJNE A,#0FEH,CONTINUERECORD:          MOV R0,A       ;R0用于存储键码KEYDEAL:         MOV A,R0CJNE A,#7FH,OFFLCALL K4OFF:             MOV P1,#0FFH        RETK4:         INC R6        LCALL DELAY         MOV A,R6        MOV DPTR,#TAB1         MOVC A,@A+DPTR        MOV R4,A        CJNE R6,#10,RETURN    MOV R6,#0RETURN:          RET;----------------------------------------------------INT:             LCALL KEYSCAN ;  键盘扫描放定时器中断里面                    MOV TH0,#0        MOV TL0,#1         RETI;------------------------------------------------------TAB1:  DB 44H,0DEH,62H,52H,0D8H,51H,41H,0D6H,40H,50HTAB2:  DB 44H,44H,44H,44H,0DEH,62H,52H,0D8H,41H,040HTAB3:  DB 44H,0DEH,0D8H,50H,41H,51H,41H,50H,0D8H,0DEH        END注意:如果你使用的是STC5608单片机 运行此程序可能会出现的情况:1,数码管闪烁显示;2,数码管显示1、4、7时会卡死或者只有1、4、7可以正常显示 ,如果遇到以上情况建议换用STC5204或换质量较高的电源线然后一切就会正常了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top