当前位置:编程学习 > 汇编语言 >>

基于单片机的计算器设计 主要程序有什么。最好是汇编的

答案:51单片机,整形五位计算器,C调汇编,不知道行不行? #include <reg51.h> #include <absacc.h> #include <math.h> #pragma NOREGPARMS #define g DBYTE[0x30] #define s DBYTE[0x31] #define b DBYTE[0x32] #define q DBYTE[0x33] #define w DBYTE[0x34] #define sw DBYTE[0x35] #define bw DBYTE[0x36] #define qw DBYTE[0x37] #define ww DBYTE[0x39] #define flag DBYTE[0x20] unsigned long data a0 _at_ 0x42; unsigned long data a1 _at_ 0x46; unsigned long data a2 _at_ 0x4A; void count() { unsigned int temp; if(ww==1) { a0=w*10000+q*1000+b*100+s*10+g; } if((flag>0)&&(!ww)) { a1=w*10000+q*1000+b*100+s*10+g; if(flag==1)a2=a1+a0; if(flag==2)a2=a0-a1; if(flag==3)a2=a1*a0; if(flag==4)a2=a0/a1; g=a2%10; temp=a2/10; s=temp%10; temp=temp/10; b=temp%10; temp=temp/10; q=temp%10; w=temp/10; } } EXTRN CODE(COUNT) ORG 0000H D1:MOV R0,#30H MOV R1,#8 D2: MOV @R0,#0 INC R0 DJNZ R1,D2 D3: LCALL DISPLAY MOV P0,#0FH MOV A,P0 CJNE A,#0FH,D5 LJMP D3 D5:MOV 40H,A MOV P0,#0F0H MOV A,P0 MOV 41H,A D6:MOV P0, #0F0H MOV A, P0 CJNE A, 41H, D7 CALL DISPLAY JMP D6 D7: MOV A,41H ADD A,40H CJNE A,#0EEH,D8 MOV 40H,#1 JMP D24 D8: CJNE A,#0DEH,D9 MOV 40H,#2 JMP D24 D9: CJNE A,#0BEH,D10 MOV 40H,#3 JMP D24 D10: CJNE A,#7EH,D11 MOV 40H,#4 JMP D24 D11: CJNE A,#0EDH,D12 MOV 40H,#5 JMP D24 D12: CJNE A,#0DDH,D13 MOV 40H,#6 JMP D24 D13: CJNE A,#0BDH,D14 MOV 40H,#7 JMP D24 D14: CJNE A,#7DH,D15 MOV 40H,#8 JMP D24 D15: CJNE A,#0EBH,D16 MOV 40H,#9 JMP D24 D16: CJNE A,#0DBH,D17 MOV 40H,#0 JMP D24 D17: CJNE A,#0BBH,D19 MOV 39H,#1 MOV 20H,#1 CALL D100 MOV 39H,#0 D19: CJNE A,#7BH,D20 MOV 39H,#1 MOV 20H,#2 CALL D100 MOV 39H,#0 D20: CJNE A,#0E7H,D21 MOV 39H,#1 MOV 20H,#3 CALL D100 MOV 39H,#0 D21: CJNE A,#0D7H,D22 MOV 39H,#1 MOV 20H,#4 CALL D100 MOV 39H,#0 D22: CJNE A,#0B7H,D23 CALL D100 LJMP D3 D23: LJMP D1 D24: MOV R0,#30H MOV R1,#8 MOV A,40H D25: XCH A,@R0 INC R0 DJNZ R1,D25 JMP D3 D100: PUSH PSW PUSH ACC LCALL COUNT POP ACC POP PSW RET DISPLAY: MOV A,37H JZ LED6 ADD A,#70H MOV P1,A CALL DELAY LED6:MOV A,36H JB 36H,DIS6 JZ LED5 DIS6: ADD A,#60H MOV P1,A CALL DELAY LED5:MOV A,35H JB 35H,DIS5 JZ LED4 DIS5:ADD A,#50H MOV P1,A CALL DELAY LED4:MOV A,34H JB 34H,DIS4 JZ LED3 DIS4:ADD A,#40H MOV P1,A CALL DELAY LED3:MOV A,33H JB 33H,DIS3 JZ LED2 DIS3:ADD A,#30H MOV P1,A CALL DELAY LED2:MOV A,32H JB 32H,DIS2 JZ LED1 DIS2:ADD A,#20H MOV P1,A CALL DELAY LED1:MOV A,31H JB 31H,DIS1 JZ LED0 DIS1:ADD A,#10H MOV P1,A CALL DELAY LED0:MOV A,30H MOV P1,A CALL DELAY RET DELAY: MOV R7,#02 D30: MOV R6,#248 DJNZ R6,$ DJNZ R7,D30 RET END
其他:索爱x8 2.2或者2.3的刷机包 界面漂亮点的 

上一个:51单片机汇编语言
下一个:在汇编语言中,编写一个程序段,在DX高4位全为0时,使AX=0:否则使A= - 1

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,