




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.z..--可修编-目录摘要……………1绪论……………11.设计要求及功能分析………………………11.1设计要求………………11.2根本功能………………22.设计方案……………………22.1硬件局部设计方案……………………2单片机局部…………2按键局部……………2显示局部……………22.2软件局部设计方案……………………23.系统的硬件总体设计………………………43.1系统的总体硬件设计…………………43.2键盘连接电路…………43.3显示屏连接电路………………………53.4单片机芯片AT89C51…………………63.5外接电路………………74.系统的软件总体设计………………………84.1键盘识别程序设计……………………84.2显示程序………………114.3运算程序………………115.元器件清单及程序清单……………………125.1元器件清单……………125.2程序清单………………126.软件仿真……………………186.1仿真验证………………186.2性能分析………………206.3出现故障及其原因……………………206.4解决方法………………20结论……………20参考文献………………………21致……………21附录PCB图……………………22简易计算器的设计学生:飞马鹏超舒宏超指导教师:王孝俭摘要:单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大局部功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大局部部件:CPU、存、部和外部总线系统,目前大局部还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机部也用和电脑功能类似的模块,比方CPU,存,并行总线,还有和硬盘作用一样的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可,用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!它主要是作为控制局部的核心部件。它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的本钱,这也是和离线式计算机的〔比方家用PC〕的主要区别。单片机比专用处理器最适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。关键词:单片机、计算器、控制电路、仿真。绪论设计要求掌握数码管移位动态扫描显示的编程方法,掌握矩阵扫描的编程方法,掌握数据在部运算的编程方法。设计任务实现最大8位正整数加、减、乘、除,具备清零、等于功能,16个按键功能依次为:数字0、数字1、数字2、数字3、数字4、数字5、数字6、数字7、数字8、数字9、清零、等于、加、减、乘、除。1.设计要求及功能分析1.1设计要求:本次单片微型计算机与接口技术课程设计做的是利用C51单片机为主体的计算器,实现了简单的加、减、乘、除功能。采取的是键盘输入和液晶显示屏的输出结果显示。主要硬件构成局部由四个,一个AT89C51单片机芯片,一个液晶显示屏,一个4*4键盘和一个排阻〔10K〕做P0口的上拉电阻,可以实现16位的数值操作计算。1.2根本功能:首先,计算器可现实8位数字,开机运行时,只有数码管最低位显示为“0〞,其他位全部不显示;其次,可以对计算结果在16位以的;两个无符号数进展加、减、乘、除运算,并显示计算结果,如果输入操作数和输出结果超过16位,则会显示“error〞,以提示使用者输入错误,应清零后重新输入。最后,运算时,如果按错了可以使用清零键直接清零,重新输入数据,运算过程中,如果运算表达式是加、减、乘、除混合运算,可以进展连续运算,不需要按等号键,运算规则则是从左到右,不区分运算等级。即认为加减乘除是同等级的运算。2.设计方案2.1硬件局部设计方案单片机局部单片机以AT89C51来作为核心元器件。按键局部方案一:采用4*4行列式键盘,分别设定数字键和功能键,采用查询方式,每次有键按下时,先判断是实数字键还是功能键,但是这种方式采用了大量的I/O口线。方案二:采用独立式按键,独立式按键借口电路配置灵活,软件构造简单。虽然采用独立式按键时每个按键必须占用一根I/O口线,但是在本实验中根据实际的需要采用通过四个按键即只占用四个I/O口线,而如果采用4*4行列式键盘时占用8个I/O口线,所以我们采用一方案。显示局部在单片机应用系统中,使用的显示器主要有LED〔发光二极管显示器〕、LCD液晶显示亲以及CRT接口。方案一:使用8位LED数码管来显示,LED显示器是由发光二极管显示字段组成的显示器件,在单片机应用系统常使用的是七段LED,这种显示器有共阴极和共阳极两种,它具有本钱低廉、配置灵活和单片机接口方便等特点。方案二:使用液晶显示器来显示。液晶是介于固态和液态间的有机化合物,将其加热会变成透明液态,冷却后变成结晶的浑浊固态。在电机的作用下,产生冷热变化,从而影响它的透光性,来到达显示的目的。LCD还具有以下优点:〔1〕低压、微功耗;〔2〕显示信息量大;〔3〕长寿命;〔4〕无辐射、无污染。2.2软件局部设计方案软件局部的设计思路时将整个程序划分为键盘扫描局部、显示局部、运算程序局部、清屏显示局部。对于其中的键盘扫描局部在编写时又分为动态扫描和静态扫描;运算程序局部包括加、减、乘、除四个子程序。软件流程大致如下:开场,然后是系统的初始化,进展键盘扫描,对扫描的键值进展判断〔分为数字键和功能键〕,如果是数字键,执行数字处理子程序,即显示数字并将数值存储;如果是命令键,即先判断是否为清屏,如为清屏键,则执行清屏子程序,假设为加减乘除运算键则显示相应的符号并存储结果,假设都不是则为=键,即要先判断上个符号位,然后调用对应的运算子程序运算,就可以得到需要的结果。8位LCD显示8位LCD显示局部51系列单片机时钟电路和复位控制电路4*4键盘图1系统原理框图3.系统的硬件总体设计3.1系统的总体硬件设计硬件系统是指构成微机系统的实际装置,通常是由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进展电气连接,必须外加各种拓展接口电路、外部设备等才能构成一个单片机应用系统。单片机芯片选择AT89C51,显示区域使用显示屏,键盘是4*4普通矩阵键盘,P0口接上拉电阻,芯片的P0口和P3口的前5脚接入数字显示屏,键盘横行A~D接入单片机芯片AT89C51的后四个接口,键盘的竖行1~4则分别接入单片机芯片AT89C51的P2口的前四个接口。另外12MHz晶振接入单片机芯片AT89C51的*TAL1接口。系统总接线图如下:图2系统硬件总接线图3.2键盘连接电路本设计之中使用的是4*4的普通键盘,我们可以使用其行列号来识别被按下的按键以此来获知被按键的信息,因此将行输出信号和列输出信号分别接入单片机芯片C51的P2口,通过循环扫描,读取行列的数据来判断是否有按键被按下,如果有则调用按键识别程序来识别具体按键,并执行相应的操作,按键识别是根据按键时得到的列代码与行代码的结合,在汇编语言中进展查表来判断是哪个键。键盘如图:图3数字输入键盘3.3显示屏连接电路如上所述,当数字输入键盘有键按下的时候,经过程序识别,则会有相应结果被送入显示屏得到显示。如果是数字键则直接放入液晶显示缓冲区,如果再次有数字键按下,则应将缓冲区的数字向高位移动一位,以构成两位数,之前输入的置之高位,并记录按键次数,每输入一个键值都调用显示程序出来;如果是运算符,则执行相应的运算,送入单片机芯片C51进展计算后将结果调用显示程序显示结果。该设计中选取的是LM0202型号液晶显示屏,如下列图:图4液晶显示屏3.4单片机芯片AT89C51应本次课程设计的要求,此设计之中选取的是C51芯片,取代了之前设计之中的pic芯片。芯片包含有一个8位CPU;一个片振荡器及时钟电路;4KBROM程序存储器;128BRAM数据存储器;可寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路;32条可编程的I/O线〔4个8位并行I/O端口〕;两个16位的定时/计数器;一个可编程全双工串行口;5个中断源、两个优先级嵌套终端构造。芯片如下列图:图5单片机芯片AT89C513.5外接电路为了进一步强化该设计的功能,所以在单片机芯片C51外围添加了时钟脉冲芯片和复位电路,这样就可以对其电路频率进展调节。这个电路当中,是选取的是12M的晶振,对其两头电容接地,并一端接入芯片*ALT1端口输入,调节芯片部频率。另外一端,高电平通过按钮接入单片机芯片RST端口,并接一个电容和一个电阻,降低电流冲击对芯片的影响。时钟脉冲电路和复位电路如下列图:图6时钟脉冲电路和复位电路由此,就是由以上的键盘连接电路、显示屏连接电路、外部电路和芯片共同构成了整个设计的硬件构造局部。4.系统的软件总体设计编程语言当中,汇编语言比拟接近底层,编程效率高;C语言则语言灵活,在编写算法中会比拟方便。但是我们在学习中是学习的汇编语言,我们还是对于单片机的编程更加熟悉,尽管汇编语言在计算器中涉及到算法之中会比拟繁琐,但是我们还是选择汇编语言。4.1键盘识别程序设计首先将P2口送0E0H,将P1口弦送1在读P1口的数据当P1口低四位全1时说明没有键按下;再扫描下一行,如果P1口不是全1,则说明有键按下,将P2口高四位和低四位组合成一个字节,放入R5存放器中,通过延迟技术来进展按键去抖,判断按键是否松开,如松开则将得到的键值进展判断是哪一个键。如果是数字键则首先将其对应的数字放入缓冲区30H,同时将键值放入结果缓冲区,并调用显示程序,显示键值。在调用扫描键盘程序,如果再有键值输入则将原来的数值在显示屏高位依次移一位,将刚键入的数值放入最低位,并将原来的数值乘十加上刚键入的键值的数放入结果缓冲区,然后调用显示程序;如果是运算符,则记录运算符标志,加法用01H表示,剑法使用02H表示,乘法使用03H表示,除法使用04H表示,并将结果缓冲区的数转移到中间结果红区,将结果缓冲区清零,等待输入运算数据,当按下等号时,根据记录的运算符标志,判断运算类型,执行运算将结果依次除以10取余数放入结果显示缓冲区,调用显示程序。依次循环执行。键盘识别程序流程图如下:开场开场扫描键盘是否有键按下是否为等号计算并显示最终结果完毕是否为计算符读进内存之前是否有计算符先计算显示暂时的结果读进内存并调用显示程序YYYYNNNN图7键盘识别程序流程图扫描第一行扫描第一行是否有键按下扫描第四行扫描第三行扫描第二行是否有键按下是否有键按下是否有键按下开场完毕图8键盘扫描程序流程图4.2显示程序显示程序是将30H~37H单元设置成液晶显示屏显示缓冲区,分别存放各个位置的数据,40H单元作为输入数据的计数单元。因为运算结果超出围时应采取报错,使之显示“error〞即可,将数字0~9和“error〞存入列表中,当调用显示程序时,显示程序根据40H单元记录的个数决定显示位数。如果输入错误将在数码管上显示“error〞。这样就得到了显示程序的入口:30H~37H,依次存放各位到千万位;40H,存放输出的数字位数。出口:数码管,P0输出字段码P2输出位选码。开场开场初始化R0缓冲区指针,R1位控制,RS循环控制次数,R0=30H,R1=*80H,R5=40H数码管显示判断显示是否完毕?完成YN图9显示程序流程图4.3运算程序运算程序分四个模块,即加减乘除。分别采用两字节运算,因此运算结果不能超出亮字节,否则会溢出。溢出时显示“error〞。加法程序:入口是R0被加数低位字节地址指针,R1加数低位字节地址指针,R3字节数。出口R0和值地址指针,R3和值字节数。运算时用R0、R1间接寻址,从低字节算起,高字节采用带进位加〔ADDC〕,计算结果回送到R0所指的单元中,并将和字节数放入R3单元中,如果R3大于3说明溢出。减法程序同加法类似,入口R0被减数低位字节地址指针,R1减数低位字节地址指针,R3字节数。出口R0差值低位字节地址指针,R3差值字节数。只是判断溢出时通过CY位,如果运算后CY位有借位,则将07H位置1,否则置0.乘法程序入口R3被乘数低位地址字节,R2被乘数高位地址字节,R7乘数低位地址字节,R6乘数高位地址字节。出口R3,R5,R6,R7结果字节由高到低。通过判断R5是否为零就可以知道运算结果是否溢出,如果溢出就显示“error〞。除法程序入口被除数放在R4R5R6R7,R4R5容为0,R4高R5低,除数放在R2R3,R2高R3低。出口商放在R6R7,R6高R7低,余数放在R4R5,R4高R5低。5.元器件清单及程序清单5.1元器件清单序号名称型号数量1滑动变阻器3214G-1-100E1251系列单片机AT89C5113按钮BUTTON14电容CAP22pF25电容CAP-ELEC20uF16晶振CRYSTAL12MHz174*4键盘KEYPAD-SMALLCALC18液晶显示器LM020L19电阻RES1k110上拉电阻RESPACK-81-.z.5.2程序清单rsequp1.5 ;确定具体硬件的连接方式rwequp1.6 ;确定具体硬件的连接方式eequp1.7 ;lcd1602引脚 org0hmain: acallstart movp0,*8fh ;写入显示起始地址〔第一行第一个位置〕acallenable ;调用写入命令子程序 mov r0,*2fh mov2fh,*30h movr6,*1acallwrite1 mov55h,*0 ;运算方式标志main1: movr0,*20hd:movr0,*0 incr0cjner0,*50h,d;清理系统存 mov 50h,*0 ;被操作数的位数 mov 51h,*0 ;操作数的位数 mov52h,*0;结果的位数 mov53h,*0 ; mov58h,*0 ;符号标志位d0: mov56h,*0 movr1,*50h mov54h,*2fh sjmptest ;接收被操作数d1: mova,50h cjnea,*0,d2 mov50h,*1 acallstart movp0,*8fhacallenable mov r0,*2fh mov2fh,*30h movr6,*1acallwrite1d2: movr1,*51h mov54h,*3fh sjmptesttest:movp2,*0f0hmova,p2 anla,*0f0h;anl:与 cjnea,*0f0h,have;a!=f0,sjmphave sjmptesthave: mova,*0fehne*t: movb,amovp2,aread: mova,p2anla,*0f0h;a=f0 cjnea,*0f0h,yes mova,b rla cjnea,*0efh,ne*tyes:acallday mova,p2 anla,*0f0h cjnea,*0f0h,yes1 sjmptestyes1: movr2,a mova,b anla,*0fh orla,r2;orl或y0:cjnea,*0e7h,y1ajmpmainy1:cjnea,*0d7h,y2movb,*31hajmpchay2:cjnea,*0b7h,y3movb,*34hajmpchay3:cjnea,*77h,y4movb,*37hajmpchay4:cjnea,*0ebh,y5 movb,*30hajmpchay5:cjnea,*0dbh,y6movb,*32hajmpchay6:cjnea,*0bbh,y7movb,*35hajmpchay7:cjnea,*7bh,y8movb,*38hajmpchay8:cjnea,*0edh,y9 cjner1,*50h,y81 cjner1,*0,y81 ajmpd0y81:mova,55h cjnea,*0,y82 ajmpd0y82:mova,5ah cjnea,*0,y87 mova,51h cjnea,*0,y88 mov51h,50h movr0,*2fh movr1,*3fh movr2,*10hy83:mova,r0 movr1,a decr0 decr1 djnzr2,y83 mova,55h cjnea,*1,y84 mova,58h cjnea,*0ffh,y87 mov55h,*2 sjmpy87y84:cjnea,*2,y88 mova,58h cjnea,*0ffh,y87 mov55h,*1 sjmpy87y88:mova,55h cjnea,*3,y89 sjmpy85y89:cjnea,*4,y87y85:mova,58h cjnea,*0ffh,y86 mov59h,*0ffhy86:*rla,59h mov58h,ay87:acallsuan ajmpd0y9:cjnea,*0ddh,yamovb,*33hajmpchaya:cjnea,*0bdh,ybmovb,*36hajmpchayb:cjnea,*7dh,ycmovb,*39hajmpchayc:cjnea,*0eeh,yd mova,*1 mov59h,*0 pushacc acallf sjmpygyd:cjnea,*0deh,ye mova,*2 mov59h,*0 pushacc acallf sjmpygye:cjnea,*0beh,yf mova,*3 mov59h,*0 pushacc acallf sjmpygyf:mova,*4 mov59h,*0 pushacc acallfyg: pop55h mov51h,*0 movr0,*30hyg0:movr0,*0 incr0 cjner0,*40h,yg0 ajmpd1cha:mova,56h cjnea,*0,cha6 sjmpcha0cha6: cjner1,*10,cha0 ajmptestcha0: mov59h,*0 ;乘法和除法中用 cjner1,*50h,cha2 mov55h,*0 mov58h,*0 mova,56h cjnea,*0,cha2 mov56h,*1 mov50h,*0 movr0,*20hcha1: movr0,*0 incr0 cjner0,*30h,cha1cha2: cjner1,*1,cha3 movr0,54h cjner0,*30h,cha3 movr0,*0 movr1,*0cha3: cjner1,*51h,cha4 mov5ah,*2cha4: movr2,*8 ;重要语句cha5: mova,54h subba,r2 movr0,a mova,r0 decr0 movr0,a decr2 incr0 mova,r0 cjnea,54h,cha5 movr0,54h movr0,b acallshow ajmptest;f: mov5ah,*0 cjner1,*50h,f3 mov51h,*0 movr0,*30hff: movr0,*0 incr0 cjner0,*40h,fff2: popdpl popdpl movdptr,*ygpushdplpushdph retf3: mova,51h cjnea,*0,f4 sjmpf2f4: acallsuan retshow: acallstart mova,*8fh subba,r1 movp0,a ;写入显示起始地址〔第一行第一个位置〕acallenable ;调用写入命令子程序 mova,54h subba,r1 movr0,a inc r1 mov a,r1 movr6,aacallwrite1 ret;lcd1602局部start: mov p0,*1h ;清屏并光标复位 acallenable ;调用写入命令子程序 mov p0,*8h ;设置显示模式:8位2行5*7点阵 acallenable ;调用写入命令子程序mov p0,*0ch ;显示器开、光标关 acallenable ;调用写入命令子程序 mov p0,*6h ;文字不动,光标自动右移 acallenable ;调用写入命令子程序 retenable: clrrs ;写入控制命令的子程序 clrrw clre acalldelay setbe retwrite1: mova,r0 lcallwrite2 ;调用写入数据存放器子程序 incr0 ;取码指针加1 djnzr6,write1 retwrite2: movp0,a setbrs ;rs=1 clrrw ;rw=0准备写入数据 clre ;e=0执行显示命令 acalldelay ;判断液晶模块是否忙"(用延时代替)setbe ;e=1 retdelay:movr2,*2fhdl1:movr3,*0fh djnzr3,$ djnzr2,dl1 retday:movr2,*100 ;按键延时0.1sdl3:movr3,*250dl2:nop nop djnzr3,dl2 djnzr2,dl3 ret;计算局部suan: mova,55h cjnea,*1,su0 mova,58h cjnea,*0,su acalljiafa sjmpsuan0su: acalljianfa sjmpsuan0su0:cjnea,*2,su4 mova,58h cjnea,*0,su1 acalljianfa sjmpsuan0su1:acalljiafa sjmpsuan0su4:cjnea,*3,su5 acallchengfa sjmpsuan0su5:acallchufasuan0: movr0,50h cjner0,*16,suan1suan1: jcsuan2su6:movr0,*20hsu7:movr0,*0 incr0 cjner0,*30h,su7 mov2ah,*'E' mov2bh,*'r' mov2ch,*'r' mov2dh,*'o' mov2eh,*'r' mov2fh,*'!' acallstart movp0,*80h movr0,*20h movr6,*10hacallwrite1 popdpl popdpl movdptr,*main1 pushdpl pushdph retsuan2: mov53h,*1 mova,50h cjnea,*1,suan3 mova,2fh cjnea,*30h,suan3 sjmpsuan4suan3: mova,58h cjnea,*0ffh,suan4 mova,*2fh subba,50h movr1,a movr1,*'-'suan4: acallstart movp0,*80h movr0,*20h movr6,*16acallwrite1 movr1,*0 ret;加法局部jiafa: mova,50h cjnea,51h,jia1jia1: jcjia2 movr2,50h mov52h,50h sjmpjia3jia2: movr2,51h mov52h,51hjia3: mov54h,*2fh mov57h,*3fh movr1,*4fhjia4: movr0,54h mova,r0 anla,*0fh pushacc movr0,57h mova,r0 anla,*0fh popb adda,b pushacc mova,r1 popb adda,b acallbcd movr1,b decr1 movr1,a dec54h dec57h djnzr2,jia4 mova,*4fh subba,52h movr0,a cjner0,*0,jia5 sjmpjia6jia5:inc52hjia6: acalljieguo retjianfa: mova,50h cjnea,51h,j3j0: movr2,50h mova,*2fh subba,50h inca movr0,a adda,*10h movr1,aj1:mova,r0 subba,r1 cjnea,*0,j2 incr0 incr1 djnzr2,j1 movr0,*20hj5:movr0,*0 incr0cjner0,*2fh,j5 mov58h,*0 mov2fh,*30h mov50h,*1 retj2: mova,r0 subba,r1j3: jncj4 mov54h,*3fh mov57h,*2fh movr1,*4fh movr2,51h mov52h,51h mova,58h cpla mov58h,a sjmpjianj4:mov54h,*2fh mov57h,*3fh movr1,*4fh movr2,50h mov52h,50hjian: movr0,57h mova,r0 anla,*0fh pushacc popb movr0,54h mova,r0 anla,*0fh clrc pushacc pushb subba,b pushacc jncjian3 popb popb popacc adda,*10 subba,b movr1,a mova,r2 movr3,a decr3 movr0,54h decr0jian1: clrc mova,r0 anla,*0fh pushacc subba,*1 pushacc jncjian2 clrc popb popacc adda,*10 subba,*1 orla,*30h movr0,a decr0 djnzr3,jian1jian2: popacc orla,*30h movr0,a popb sjmpjian4jian3: popacc movr1,a popb popbjian4: dec54h dec57h decr1 djnzr2,jian lcalljieguo mova,*2fh subba,50h inca movr0,ajian5: cjner0,*30h,jian6 movr0,*0 dec50h incr0 cjner0,*30h,jian5jian6: ret;乘法局部chengfa: mova,50h cjnea,*1,cheng4 mova,2fh cjnea,*30h,cheng4 retcheng4: mova,51h cjnea,*1,cheng5 mova,3fh cjnea,*30h,cheng5 mov52h,*1 sjmpchengcheng5: mov57h,*3fh movr2,*0 mova,50h adda,51h mov52h,a movr3,51h cjnea,*17,cheng3cheng3: jccheng mov50h,*16 retcheng: mov54h,*2fh movr1,*4fh mova,r1 clrc subba,r2 movr1,a movr4,50hcheng0: movr0,54h mova,r0 anla,*0fh pushacc movr0,57h mova,r0 anla,*0fh popb mulab pushacc mova,r1 popb adda,b lcallbcd movr1,b decr1 pushacc mova,r1 popb adda,b movr1,a dec54hdjnzr4,cheng0 dec57h incr2 djnzr3,chengdec52h mova,*4fh subba,52h movr0,a cjner0,*0,cheng1 sjmpcheng2cheng1:inc52hcheng2: lcalljieguo ret;除法局部chufa: mova,51h cjnea,*1,chuf mova,3fh cjnea,*30h,chuf mov50h,*16 retchuf: mova,50h cjnea,*1,chu mova,2fh cjnea,*30h,chu mov2fh,*30h mov58h,*0 sjmpchu2chu:mova,50h cjnea,51h,chu5 mova,*2fh subba,50h inca movr0,a adda,*10h movr1,a movr2,50hchu0: mova,r0 mov5bh,r1 cjnea,5bh,chu5 incr0 incr1 djnzr2,chu0 mov2fh,*31hchu2: movr0,*20hchu3: movr0,*0 incr0cjner0,*2fh,chu3 mov50h,*1 retchu5: jncchu6 mov2fh,*30h mov58h,*0 sjmpchu2chu6: mova,50h subba,51h inca movr4,a mov5ch,achu7: mova,r4 deca movr5,a cjner5,*0,chu9 sjmpchu11chu9: movr0,*31hchu10: mova,r0 decr0 movr0,a incr0 incr0 cjner0,*40h,chu10 mov3fh,*30h djnzr5,chu9 sjmpchu11chu19: movr0,*3fhchu20: decr0 mova,r0 incr0 movr0,a decr0 cjner0,*2fh,chu20 mov30h,*0chu11: movr0,*21h movr1,*31hchu12: mova,r0 mov5bh,r1 cjnea,5bh,chu13 incr0 incr1 cjner0,*30h,chu12 mova,*70h subba,r4 movr0,a incr0 sjmpchu15chu13: jcchu14 mova,*70h subba,r4 movr0,a incr0 lcallj4 sjmpchu11chu14: djnzr4,chu19chu15: movr0,*4fh movr1,*6fhchu16: mova,r1 movr0,a movr1,*0 decr0 decr1 cjner0,*40h,chu16 mov52h,5ch dec52h mova,*4fh subba,52h movr0,a cjner0,*0,chu17 sjmpchu18chu17:inc52hchu18: movr0,*2fhchu21: movr0,*0 decr0 cjner0,*1fh,chu21 acalljieguo ret;16进制数转换为BCD码bcd:movb,*10 divab ret;保存结果到被操作数中jieguo: mov50h,52h movr0,*2fh movr1,*4fh movr2,52hjie1: mova,r1 orla,*30h movr0,a movr1,*0 decr0 decr1 djnzr2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 理论与实践并重2024年酒店经营管理师考试试题及答案
- 2025年中国差压变送器箱数据监测研究报告
- 2025年中国尼龙塑胶料市场调查研究报告
- 2025年中国导航设备市场调查研究报告
- 焊接技术核心考点试题及答案
- 2025年中国家居维修组套工具数据监测报告
- 基于环境的CAD工程师考试备考科学分析试题及答案
- 焊接工程师考试知识架构试题及答案
- 焊接中的应力与变形试题及答案
- 二年级道德与法治上册 第一单元 2《暑假的一次外出》教学设计1 浙教版
- 高中校本课程-径向切槽复合循环指令G75教学设计学情分析教材分析课后反思
- 高等数学-函数的概念课件
- 江苏中能硅业科技发展有限公司硅烷法多晶硅产能替代项目环评报告
- 了不起的我课件完整版
- 油藏工程重点知识点
- 国家安全教育智慧树知到答案章节测试2023年临沂职业学院
- 金属波纹管的焊接技术
- (完整版)人教版小学阶段英语单词默写表
- 2023版浙江评审卫生高级专业技术资格医学卫生刊物名录
- GB/T 22235-2008液体黏度的测定
- GB/T 16866-2006铜及铜合金无缝管材外形尺寸及允许偏差
评论
0/150
提交评论