寄存器 指令集 缓存 内存 集成电路 运算器
主页 正文

51单片机计算器代码

51单片机计算器(浮点数加减,数码管)

在这款51单片机计算器中,是专门用来实现浮点加减运算的。
基于最小系统,用户可以使用键盘输入1到5位数字,包括小数,并使用UP键(加法)和DOWN键(减法)进行运算。
按 ENTER 键执行计算,按 BACK 键清除屏幕并重新开始。
显示结果通过两个74HC573驱动数码管显示。
设计中,单片机的P2.0~P2.7连接CON10的D0~D7,P3.2连接DUAN,P3.5连接WEI,按钮电路连接到CON10的P1口。
微控制器。
该程序使用了“reg51.h”库和一些定义,例如“sbit”和“uchar”,以及用于驱动数字管道的两个数组smgduan0和smgduan1。
计算过程包括数据检查(保证输入数据不超过5位、小数点不超过1位、运算符不超过1位)、数据整理以及按键扫描和延时。
在main函数中,通过定时器0中断实现每0.5秒计时,保证计算过程的稳定性。
当用户输入数字、运算符或者按下删除键时,就会按照相应的逻辑进行相应的操作,并将结果显示在数码管上,无论是正数还是负数。
总体而言,这款单片机计算器提供了一个基本的浮点数计算平台,通过简单的运算就可以实现加减运算,并使用数码管实时显示计算结果。

51单片机制作简易计算器

单片机51利用LCD1602模块和4×4按钮模块构成一个简单的计算器,用于输入数字和运算符并计算结果。
通过按键操作,输入数据和运算符号,按下按键后即可得到计算答案。
使用的目标单片机是51系列,电路结构和物理外观如下: 代码编写如下:清除按键功能无法正常使用,数据无法重新输入。
赔偿。
原因不明。
在实施过程中仍有可能进行改进。
由于缺少二极管,4*4按钮无法通过中断实现。
欢迎大家分享更好的实现方法。
如果您有任何改进,请在评论框中分享。
感谢大家的关注和支持。

高分求:用80c51/52单片机小系统编程制作计算器

****************************************************** * ** 满意加分! ****************************************************** * * * 要认识算术符号,如果没有读过《数据结构》,掌握这里的知识是相当困难的。
这里使用的算法称为逆波兰算法。
可以阅读《。
c语言/数据结构》栏目相关文章:如《单片机51通过门串行基于波兰求逆算法进行逻辑运算》《双数组求逆波兰语表达方法:计算机源程序转载(c语言)》《RPN——波兰反演算法介绍(Huiyukian翻译转载)》仔细阅读,无需评论 文,你能看懂! ****** * 满意奖励积分 ************************************** ************* * 这也是一个程序: #include "stdio.h" #include "REG52.h" #definem015voidinit(){SCON=0x50 ;//串口模式1,使能接收 TMOD=0x20;//定时器模式1 2TCON= 0x40;//定时器设置 time 1 开始计数 TH1=0xE8;//11.0592MHz1200 波特率 TL1=0xE8;TI=1;TR1=1;//启动定时器 }voidcaculate(){idac harstr[m0]={"!(1+0)#"};idatacharexp[m0];idatacharstack[10];idatacharstack1[10],d;charc h,c;inti,j,t,top=0;i =0;/*do{i++;scanf("%c",&str[i]);}while(str[i]!='#'&&i !=m0);*/t=1; i=0;ch=str[i];i++;while(ch!='#'){if(ch=='0'||ch=='1'){exp[t]=ch;t++; }elseif(ch=='('){t op++;stack[top]=ch;}elseif(ch==')'){while(stack[top]!='('){exp[t]=堆栈[顶部];顶部--;t++;} top--;}elseif(ch=='+'){while(top!=0&&stack[top]!='('){exp[t]=stack[top];top--;t++;}t op++ ;stack[top]=ch;}elseif(ch=='*'){while(stack[top]=='*'){exp[t]=stack[top];top--;t++;} top++;stack[top]=ch;}elseif(ch=='!'){while(stack[top]=='!'){exp[t]=stack[top];top-- ;t++;} top++;stack[top]=ch;}ch=str[i];i++;}while(top!=0){exp[t]=stack[top];t++;top--;}e xp[t]='#';for(j=1;j
热门资讯
逆变器单频与混频解析及使用技巧
精准挑选最靠谱基金经理的五大标准
cpu看主频还是睿频
杭州有哪些地方
2岁孩子听得懂却不说话,揭秘语言发展迟缓原因
度量cpu时钟主频率单位
redis集群清除缓存命令
运算器包含哪些运算