欢迎来到天天文库
浏览记录
ID:55641133
大小:40.50 KB
页数:7页
时间:2020-05-22
《简易超市收机(程序).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、简易超市收银机设计(程序)一、数据存储单元的设置及说明ZANCUNEQU25H;暂存输入数据GWEQU30H;输出显示的个位SWEQU31H;输出显示的十位BWEQU32H;输出显示的百位QWEQU33H;输出显示的千位FLAGEQU34H;判断是否松开键盘的标识CHENG_ZANCUNEQU35H;乘法暂存BCDH_ZANCUNEQU36H;BCD码转16进制暂存DISPHEQU37H;暂存输出显示的高八位DISPLEQU38H;暂存输出显示的低八位ERROR_FLAGEQU39H;错误标识位X1EQU40H;第一操作数的第一位输入X2EQU41H;第一操作数的第二位输入XEQU42H
2、;第一操作数的结果Y1EQU43H;第二操作数的第一位输入Y2EQU44H;第二操作数的第二位输入YEQU45H;第二操作数的结果Z1EQU46H;第三操作数的第一位输入Z2EQU47H;第三操作数的第二位输入ZEQU48H;第三操作数的结果XXEQU49H;第一操作数运算过程中产生的进位YYEQU4AH;第二操作数运算过程中产生的进位需要具体说明的标识如下:FLAG:判断是否松开键盘的标识。其原理是在初始化程序中将其置1以保证在第一次正确扫描。在主程序循环中,当无按键按下时将其置1,有按键按下后将其置0。在每次扫描按键之后会判断FLAG中的值,若为0则表示按键按下后没有松开,输入无效,
3、不执行数据存储,功能键判断等操作,直接返回主程序;若为1则表示中间有检测到松开键盘,输入有效,执行数据存数,功能键判断等操作。ERROR_FLAG:错误标识位。初始化程序中将其置0,在发生溢出的情况下将其置1,在每一次扫描键盘后有一个判定,若ERROR_FLAG为0,则程序继续执行,若ERROR_FLAG为1则只判断扫描的特征码是否为“清零”的特征码,若是则转至清零程序,若不是则直接返回主程序。X1,X2,Y1,Y2,Z1,Z2:三组分别是X,Y,Z的第一位输入和第二位输入。以操作数X为例,当输入的是第一位时,即R2=1时,,将ZANCUN单元(扫描到的数据存在ZANCUN单元)中的值给
4、X1以及X;若有第二位输入,即R2=2时,将ZANCUN单元中的值给X2,此时X1中的值代表的是十位上的数,X2中的值代表的是个位上的数,因此需要将X1乘以10H并加上X2,结果存至X。R2、R3、R4:分别用来对操作数X,Y,Z的计数。本设计中操作数最高为两位数,因此需要设置这样的标识来判断输入数目的个数。这三个寄存器在初始化程序均清零。以操作数X的输入为例,当输入第一位的时候,R2=1,当输入第二位的时候,R2=2;当再有连续的数据输入即R2>2时,程序选择忽略。这些标志位在有功能键按下后进行清零。R5:R5用来存储符号,若按下“+”则将其置1;若按下“*”则将其置2;在初始化,按下
5、“=”及“清零”时将其置0。R6:R6用来标识乘号所在的位置,即标识是否等待第三操作数。R5、R6的状态将影响到操作数的存储,当R5=0时,则说明还没有符号被按下过,操作数存至X;当R5=1时,则说明上一次按下的符号是“+”,操作数存至Y;当R5=2时,则说明上一次按下的符号是“*”,此时需要检测“*”前面的符号,当R6=1时,则说明前面是“+”,需要等待第三操作数Z的输入,此时操作数存至Z;当R6=0时,则说明前面没有符号,此时操作数存至Y。二、程序清单ORG0000HLJMPMAINORG0050HMAIN:ZANCUNEQU25H;暂存输入数据GWEQU30H;输出显示的个位SWE
6、QU31H;输出显示的十位BWEQU32H;输出显示的百位QWEQU33H;输出显示的千位FLAGEQU34H;判断是否松开键盘的标识CHENG_ZANCUNEQU35H;乘法暂存BCDH_ZANCUNEQU36H;BCD码转16进制暂存DISPHEQU37H;暂存输出显示的高八位DISPLEQU38H;暂存输出显示的低八位ERROR_FLAGEQU39H;错误标识位X1EQU40H;第一操作数的第一位输入X2EQU41H;第一操作数的第二位输入XEQU42H;第一操作数的结果Y1EQU43H;第二操作数的第一位输入Y2EQU44H;第二操作数的第二位输入YEQU45H;第二操作数的结果
7、Z1EQU46H;第三操作数的第一位输入Z2EQU47H;第三操作数的第二位输入ZEQU48H;第三操作数的结果XXEQU49H;第一操作数运算过程中产生的进位YYEQU4AH;第二操作数运算过程中产生的进位;---------------------初始化--------------------------MOVSP,#60HCLRAMOVP2,#0FFHMOVGW,AMOVSW,AMOVBW,AMOVQW,AMOVR0,AMOV
此文档下载收益归作者所有