[求助]单片机汇编(keil软件) 计算器 只要求有加法就可以

yeshang_lgt 2009-11-12 10:59:18
1、四位显示
2、三位整数加法
3、键盘输入

以下是方案:
让P2 口做扫描,P0口做段码输出,在调用显示程序时,P2口循环选通数码管每一位的,P0口也依次循环输出相应位的代码。控制数字显示时,可先将0-9,熄灭,10个段码放入列表中,在设置四个显示缓冲区,数码管要显示的数字就存放在这四个单元中,通过控制四个缓冲去的内容来控制输出的数字。如:要显示的是12则将缓冲区从低位开始依次放入02H,01H剩余两位放入10H(代表数码管熄灭的代码),当调用显示程序时,通过程序根据四位数码管缓冲区的数字调用相应的代码就可以循环输出。
其次是设计键盘扫描程序,我们采用4*4矩阵键盘,通过软件识别,列和行可接在同个端口上,也可接在不同端口上,本设计行接在P3口的高4位,列接在P1口的低四位,通过循环扫面行,读取列的判断据是否有键按下,如果有则调用按键识别程序是不是那个键,执行相应的操作,按键识别是根据按键时得到的列代码和行代码组合,来判断是哪个键的。
按键识别后,如果是数字键则直接放入数码管的显示缓冲区,如果再次有数字键按下,则相应将缓存区的数字向高位移一位,将刚键入的数放入最低位,并且记录按键次数,每输入一个键值都调用显示程序显示出来,如果是运算符(由于采用软件已有键盘,设计中就只有“+”符号能用),则执行加法的计算,然后在调用显示程序显出出来。




谢谢各位高手帮帮小弟呀 小弟学的太瞥了高手么笑哦
...全文
389 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

3,409

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 设计模式
社区管理员
  • 设计模式
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧