单片机 简易计算器 设计报告2_第1页
单片机 简易计算器 设计报告2_第2页
单片机 简易计算器 设计报告2_第3页
单片机 简易计算器 设计报告2_第4页
单片机 简易计算器 设计报告2_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河北工业大学计算机硬件技术基础(MCS-51单片机原理及应用)课程设计报告1.题目:简易计算器2.目的:实现简单的四则运算有健闭合否调用显示程序,延时6ms有健闭合否调用显示程序,延时6ms两次调12ms有键闭合否YNN开始判断键号存到OP中判断有无运算符存到OP1中存到OP2中调运运算子程序结果存到OP1压栈显示子程序闭合键释放否输入键开始NY数字符号无有4.源程序: org0000h;初值赋予变量(扫描部分)opequ20h op1equ21h op2equ22hstart: movsp,#60h;键盘的初始化 movdptr,#0ff20h mova,#03h movx@dptr,a mov70h,#00 movop,#00 movop1,#00 movop2,#00key1: acallks1;判键是否按下 jnzlk1n1: acalldir ajmpkey1lk1: acalldir;判键抖动 acalldir acallks1 jnzlk2 acalldir ajmpkey1lk2: movr2,#0feh movr4,#0lk4: movdptr,#0ff21h;扫描行程序 mova,r2 movx@dptr,a incdptr incdptr movxa,@dptr jbacc.0,lone mova,#07h ajmplkplone: jbacc.2,next mova,#01h ajmpkey1lkp: adda,r4;确认键号 mov51h,a cjnea,#0ah,l1 movop,a ajmpkey1l1: jcqq;分类处理 movop,a ajmpkey1qq: mova,op jnzm2m1: mova,#10;储存数字op1,op2 movb,op1;运算符存入op mulab adda,70h movop1,a pushacc ajmpppm2: mova,#10 movb,op2 mulab adda,70h movop2,app: mov70h,a;压栈程序(显示缓存) pushacclk3: acalldir;判键释放程序 acallks1 jnzlk3 popacc ajmpkey1next: incr4;判列扫描 mova,r2 jnbacc.7,knd rla movr2,a ajmplk4knd: ajmpkey1ks1: movdptr,#0ef21h;判键按下子程序 mova,#0 movx@dptr,a incdptr incdptr movxa,@dptr cpla anla,#1fh retdir: cplp1.0;键码显示 movr0,#70h mova,@r0 anla,#0fh mov30h,a mova,@r0 swapa anla,#0fh mov31h,a movr0,#30h movr3,#01hdo1: mova,r3 movdptr,#0ef21h movx@dptr,a incdptr mova,@r0 adda,#0dh movca,@a+pcdir1: movx@dptr,a;移位显示 acalldl mova,r3 rla jbacc.2,ld1 movr3,a incr0 ajmpdo1ld1: retdseh: db0f8h,99h,80h,92h,90h,82h,88h,83h;扫描码表 db0f9h,0c0h,0a4h,081h,0b0h,086h,0c6h,0a1hdl: movr7,#2;延时子程序dl1: movr6,#0ffhdl2: djnzr6,dl2 djnzr7,dl1 retcalc: movr7,op;运算程序加,减,乘,除 cjner7,#0ah,notadd;运算部分 clrc mova,op1 adda,op2 sjmpfcalcnotadd: cjner7,#0bh,notsub clrc mova,op1 subba,op2 sjmpfcalcnotsub: cjner7,#0ch,notmul clrc mova,op1 movb,op2 mulab sjmpfcalcnotmul: clrc mova,op1 movb,op2 divab sjmpfcalcfcalc: mov50h,a;显示结果及运算数(显示部分) anla,#0fh mov72h,a mova,50h swapa anla,#0fh mov73h,adisp: movr3,#01h movr0,#70h mova,r3 movdptr,#0ff21h movx@dptr,a movdptr,#0ff22h mova,@r0 adda,#03h movca,@a+pc movx@dptr,a acalldlay db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,;字形码表db 80h,90h,88h,83h,0c6h,0a1h,86h,8ehdlay: movr7,#02h;延时子程序dlay1: movr6,#0ffhdlay2: djnzr6,dlay2 djnzr7,dlay1 ret end程序分三大模块,是键盘扫描与运算及结果显示,程序顺序排列。5.硬件使用。pc机,并行接口8155一片,DICE-5013S实验系统一个使用方法:键盘0~9实现数字的输入,A,B,C,D分别代表+,-,*,/运算符号6.心得体会通过本次设计,对键盘的处理熟悉了不少,同时对单片机的指令的正确使用也有了更进一步的了解。深知编程完全是一点都错不得的,出现任何一个微小的错误都会导致

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论