文档详情

基于单片机双字节简易计算器程序设计.doc

发布:2017-10-14约1.89万字共17页下载文档
文本预览下载声明
;================= Const =============================== SysStack Equ 07h ;08H...1FH Dark Equ 10H ;----------------- Hardware ---------------------------- DisSegPort Equ 0000H ;0:Light up DisCSPort Equ 2000H ;1:Select KeyOutPort Equ DisCSPort;Key Output Port ;KeyInout:p1.0,P.1..P1.3 ;0:Pressed ;------------------ Byte Units ------------------------- KeyGetF Bit 20H ;1:Get A New Key KeyPress Bit 21H ;1:Key Released SumPress Bit 22H ;1 + SumPress1 Bit 23H EqualPress Bit 24H ;1 = DivPress Bit 25H ;1 / DivPress1 Bit 26H MulPress Bit 27H ;1 * MulPress1 Bit 28H SubbPress Bit 29H ;1 - SubbPress1 Bit 31H NegPress Bit 32H NegPress1 Bit 33H ;+/- NegPress2 Bit 34H DataPress Bit 35H ;数字键 FuncPress Bit 36H ;运算功能键 Sign Bit 37H KeyCode Equ 60H DisBuf Equ 70H;..75H DeciPos Equ 76H ;Bit=1:Show DeciPoint SumVa Equ 77H ;press func KEY,Memory the DATA ON dis DivVa Equ 78H ;the same UP MulVa Equ 79H ;the same UP SubbVa Equ 85H ;the same UP ;======================================================= Org 0000H AJmp Main ;======================================================= Display: Mov R1, ;R1=DisCS Mov R0,#DisBuf ;DisBuf Pointer DisLoop: Mov B,#0FFH Mov A,DeciPos ;小数点? Anl A,R1 Jz DisNext ;0没小数点 Clr B.7 ;1小数点 DisNext: Mov Dptr,#DisCSPort;Do Display CS Mov A,R1 Movx @Dptr,A Mov A,@R0 ;Get Dis Char Mov Dptr,#DisTab Movc A,@A+Dptr Anl A,B Mov Dptr,#DisSegPort;Use Table Movx @Dptr,A ;Send to DisSeg Port ACall Delay Inc R0
显示全部
相似文档