当前位置: 首页 > news >正文

项目三简易计算器 任务3-3加法计算器

任务描述:单片机连接8位共阳极数码管和4*4矩阵键盘,
利用矩阵键盘定义0~9数字键,并定义+、-、*、/、=等五个功能键。
编程实现简易计算器功能,完成两个1位十进制数的四则运算。

加法计算器讲解

数字键统一编程,功能键独立讨论。

/************************* 项目名称:项目三简易计算器 任务名称:任务3-3加法计算器 任务描述:单片机连接8位共阳极数码管和4*4矩阵键盘, 利用矩阵键盘定义0~9数字键,并定义+、-、*、/、=等五个功能键。 编程实现简易计算器功能,完成两个1位十进制数的四则运算。 *************************/ #include<reg51.h> #include<intrins.h> //51单片机寄存器定义头文件 sbit row0=P1^0; sbit row1=P1^1; sbit row2=P1^2; sbit row3=P1^3; sbit col0=P1^4; sbit col1=P1^5; sbit col2=P1^6; sbit col3=P1^7; int n;//存放按键编号 int m1,m2;//存放两个加数 int dis[2];//存放结果的十位和个位 int seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//定义0~9共阳极七段码 void key1();//等待按键按下,无限查询 void key2();//扫描按键位置,行列扫描 void key3();//处理按键请求,显示编号 void display();//显示两位结果子函数 /**********************************************/ void delay(int i) { int k,j; for(k=0;k<i;k++) for(j=0;j<100;j++); } /**********************************************/ void main() { while(1) { key1(); key2(); key3(); } } /**********************************************/ void key1() { while(1) { P1=0x0f; if(P1!=0x0f)//有变化,一定是有按键按下,导致某行某列短路 break;//退出查询 } } /**********************************************/ void key2() { P1=0xff;//行列都写1 col0=0;//清零0列 if(row0==0) n=0; if(row1==0) n=1; if(row2==0) n=2; if(row3==0) n=3; P1=0xff;//行列都写1 col1=0;//清零1列 if(row0==0) n=4; if(row1==0) n=5; if(row2==0) n=6; if(row3==0) n=7; P1=0xff;//行列都写1 col2=0;//清零2列 if(row0==0) n=8; if(row1==0) n=9; if(row2==0) m1=n;//'+'键:保存数字1 if(row3==0) {m2=n;n=10;}//'=':保存数字2,并n=10 } /**********************************************/ void key3() { if(n<10)//按下数字键,显示数字 { P2=0xfe;//1111 1110 P0=seg[n]; } else//按下等号键 display();//显示两位结果 } /**********************************************/ void display() { int i,j; dis[0]=(m1+m2)/10;//求和并拆字得到十位显示值 dis[1]=(m1+m2)%10;//求和并拆字得到个位显示值 while(1) { for(i=0,j=0xfd;i<2;i++)//1111 1101 { P2=j; P0=seg[dis[i]]; delay(2); j=_cror_(j,1); } } }
http://www.gsyq.cn/news/1499801.html

相关文章:

  • 2026年6月市场上优质的线上获客机构推荐,门窗定制抖音投流获客/建材线上获客/全屋定制抖音投流获客,线上获客品牌推荐 - 品牌推荐师
  • AI市场中的信息不对称与用户决策机制研究
  • 从‘贪心’到‘最优解’:手把手拆解信息学奥赛经典‘装箱问题’(附C++代码实现)
  • 麒麟V10上Qt5.12离线安装全记录:断网跳过登录,解决libGL报错
  • 2026年SCI/SSCI论文辅导哪些比较厉害!5大机构靠谱评分推荐 - GrowthUME
  • 2026年6月最新版黄石第三方CMACNAS甲醛检测治理机构口碑名单:万清CMA检测中心等5家公司深度测评万清CMA检测中心TOP1推荐 - 一修哥咨询
  • 2026年6月最新版呼和浩特第三方CMACNAS甲醛检测治理机构口碑名单:万清CMA检测中心等5家公司深度测评万清CMA检测中心TOP1推荐 - 一修哥咨询
  • 大连养宠攻略|本地资深宠友私藏 5 家靠谱猫犬舍,选宠不踩雷 - 同城宠物优选基地
  • Kafka 消息推拉
  • 2026年 医药品牌升级推荐榜:聚焦战略、视觉与信任重塑的全案解析及优质服务商盘点 - 品牌发掘
  • GEE 时间序列合成、时序线性插值与SG滤波
  • VSCode配置STM32开发环境避坑指南:从编译报错到调试成功,我踩过的那些坑
  • WAN2.2 All In One终极指南:8GB显存快速生成AI视频的完整教程
  • 远郊覆盖榜:北京远郊收酒不额外收费六家 - 光耀华夏品牌榜
  • 2026年6月最新版毫州第三方CMACNAS甲醛检测治理机构口碑名单:万清CMA检测中心等5家公司深度测评万清CMA检测中心TOP1推荐 - 一修哥咨询
  • 2026年6月最新版广安第三方CMACNAS甲醛检测治理机构口碑名单:万清CMA检测中心等5家公司深度测评万清CMA检测中心TOP1推荐 - 一修哥咨询
  • CH341A/B USB转USART/I2C/SPI介绍
  • 2026年喜铺推荐排行榜:广东喜铺/爱哆哆喜铺/红娘喜铺/婚庆策划喜铺/婚庆服务喜铺/婚礼喜铺精选 - 品牌发掘
  • AnimeGAN2-Pytorch图像动漫化指南:三步实现照片转动漫风格
  • Unity毛发系统常见问题解决:10个常见错误与修复方法
  • 项目三简易计算器 任务3-6六位密码锁2
  • 2026年6月最新版湖州第三方CMACNAS甲醛检测治理机构口碑名单:万清CMA检测中心等5家公司深度测评万清CMA检测中心TOP1推荐 - 一修哥咨询
  • 2026年6月最新版黑河第三方CMACNAS甲醛检测治理机构口碑名单:万清CMA检测中心等5家公司深度测评万清CMA检测中心TOP1推荐 - 一修哥咨询
  • CodeX Docs配置指南:轻松自定义你的免费文档系统
  • LLM Cursor Rules开源项目贡献指南:如何参与这个AI编程规则库
  • 如何快速掌握QMK固件:机械键盘爱好者的完整入门指南
  • Pixelle-Video终极指南:5个简单步骤让AI自动生成专业短视频
  • Lune测试与调试:单元测试、集成测试与性能分析完全指南
  • LLPlayer语言学习播放器终极指南:从零到精通掌握AI学习工具
  • 2026年6月最新版德州第三方CMACNAS甲醛检测治理机构口碑名单:万清CMA检测中心等5家公司深度测评万清CMA检测中心TOP1推荐 - 一修哥咨询