急求用单片机设计简易计算器!!!!

作者&投稿:颜胀 (若有异议请与网页底部的电邮联系)
急求!!基于51单片机的简易计算器设计~

网上很多,非常多,哥哥,自己下个吧。。

不用单片机,完全由电路搭建?这个恐怕很难完成。或者用一个FPGA来可以实现吧。

1. 4X4键盘输入,点阵字符型液晶显示。
2. 由于所采用的浮点程序库的限制(MCU平台只找到这个……),浮点运算采用3字节二进制补码表示,有效数字6位。对于输入输出,采用3字节BCD码浮点数格式,有效数字只有4位,因此最终有效数字只有4位。
3. 可进行连续输入,例如:1.23+4.56*8.23/234.8 ,但是运算结果为从左到右,这也是8位简易计算器的方式。
4. 可进行错误判断,溢出、除零等错误将显示一个字符 E 。
5. 由于键盘只有16个按键,安排如下:
+---------------+
| 7 | 8 | 9 | + |
| 4 | 5 | 6 | - |
| 1 | 2 | 3 | * |
| 0 | . | = | / |
+---------------+
6. 按键的缺少导致取消了一些特殊函数,即开根号,三角函数(sin, cos, tan, ctg)的实现,由于这些函数在浮点程序库中均已提供,如果硬件允许,在原来的框架上添加这些附加功能是很容易的(可以看作和+, -, *, /等价的按键操作,调用不同的子程序进行运算即可)
7. 按两次 = 等于清灵。因为按键实在太少,才采用了这个做法。
8. 相应举例:
按键 结果 说明
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
123+= 123 按下等号而没有第二个操作数,保留第一个操作数
并认为此次运算结束(等号的功能)

123+321/111 4.0 等价于(123+321) / 111

2.3+5.4=/0.1+ 77 等号后直接按 / ,则将前面的运算结果作为第一个
操作数
1/0= E 错误显示

要源码去这里:http://macroling.bokee.com/2390458.html

ptotues软件中带了一个比较好的,你可以去看看.

给你些子程序,自己看着凑吧。呵呵。有了这些,写出来应该不难了。
;@@@@@@@@@双字节整数运算@@@@@@@@@@@@@@@@@@
;***********双字节无符号加法**************
;入口:R6(H),R7,R4(H),R5,出口:和R6(H),R7(L)
UADD:
MOV
A,R7
ADD
A,R5
MOV
R7,A
MOV
A,R6
ADDC
A,R4
MOV
R6,A
RET
;***********双字节无符号减法**************
;入口:被减数R6(H),R7(L),减数R4(H),R5(L),出口:差R6(H),R7(L)
CLR
C
MOV
A,R7
SUBB
A,R5
MOV
R7,A
MOV
A,R6
SUBB
A,R4
MOV
R6,A
RET
;***********双字节无符号乘法**************
;入口:R6(H),R7(L),R4(H),R5(L),出口:积R6(H),R7(L)
UMUL:
MOV
A,R7
MOV
B,R5
MUL
AB
MOV
R0,B
XCH
A,R7
MOV
B,R4
MUL
AB
ADD
A,R0
XCH
A,R6
MOV
B,R5
MUL
AB
ADD
A,R6
MOV
R6,A
RET
;***********双字节无符号除法*****************
;入口:R6(H),R7(L),R4(H),R5(L),出口:商R6(H),R7(L),余R4(H),R5(L)
;影响:R2,R3,
;堆栈需求:1
UDIV:
CLR
C
CLR
A
MOV
R2,A
MOV
R3,A
MOV
B,#10H
MOVBIT:
MOV
A,R7;R6、R7中数据左移一位到R2、R3中,C到R7
RLC
A
MOV
R7,A
MOV
A,R6
RLC
A
MOV
R6,A
MOV
A,R3
RLC
A
MOV
R3,A
MOV
A,R2
RLC
A
MOV
R2,A
CLR
C
;R2R3-R4R5
MOV
A,R3
SUBB
A,R5
PUSH
Acc
MOV
A,R2
SUBB
A,R4
JBC
Cy,MOVBIT0;不够减,清C继续左移
MOV
R2,A;够减,存回余数并置位C
POP
Acc
MOV
R3,A
SETB
C
SJMP
MOVBIT1
MOVBIT0:
POP
Acc
MOVBIT1:
DJNZ
B,MOVBIT
MOV
A,R7
RLC
A
MOV
R7,A
MOV
A,R6
RLC
A
MOV
R6,A
MOV
A,R2
MOV
R4,A
MOV
A,R3
MOV
R5,A
RET
(7)
标号:
DIVD
功能:双字节二进制无符号数除法
入口条件:被除数在R2、R3、R4、R5中,除数在R6、R7中。
出口信息:OV=0
时,双字节商在R2、R3中,OV=1
时溢出。
影响资源:PSW、A、B、R1~R7
堆栈需求:
2字节
DIVD:
CLR
C
;比较被除数和除数
MOV
A,R3
SUBB
A,R7
MOV
A,R2
SUBB
A,R6
JC
DVD1
SETB
OV
;溢出
RET
DVD1:
MOV
B,#10H
;计算双字节商
DVD2:
CLR
C
;部分商和余数同时左移一位
MOV
A,R5
RLC
A
MOV
R5,A
MOV
A,R4
RLC
A
MOV
R4,A
MOV
A,R3
RLC
A
MOV
R3,A
XCH
A,R2
RLC
A
XCH
A,R2
MOV
F0,C
;保存溢出位
CLR
C
SUBB
A,R7
;计算(R2R3-R6R7)
MOV
R1,A
MOV
A,R2
SUBB
A,R6
ANL
C,/F0
;结果判断
JC
DVD3
MOV
R2,A
;够减,存放新的余数
MOV
A,R1
MOV
R3,A
INC
R5
;商的低位置一
DVD3:
DJNZ
B,DVD2
;计算完十六位商(R4R5)
MOV
A,R4
;将商移到R2R3中
MOV
R2,A
MOV
A,R5
MOV
R3,A
CLR
OV
;设立成功标志
RET


长春理工单片机课程设计:简易信号发生器设计,急急急
其次是对方案一与方案二的比较,方案一中用的是电容和电阻运放和三极管等电器原件,方案二是用的二极管、电阻、三极管、运放等电器原件,所以从简单而且便于购买的前提出发我们选择方案一为我们最终的设计方案。 1.4参数的确定 1、 从电路的设计过程来看电路分为三部分:①正弦波部分②方波部分③三角波部分 2、 正弦波部分...

求一个简单的单片机时钟程序
include<reg51.h>#define uchar unsigned charuchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};\/\/0-9unsigned char sec=0,min=0,hour=0,scanled;unsigned char key,time; unsigned char disdat[6];sbit K=P1^0;void dischg(){disdat[0]=sec%10;dis...

跪求单片机c51一个多功能时钟设计。要闹钟。调整时间、秒表、就行了...
跪求单片机c51一个多功能时钟设计。要闹钟。调整时间、秒表、就行了。急求。。。C语言编写  我来答 分享 新浪微博 QQ空间 举报 1个回答 #热议# 生活中有哪些成瘾食物? Smart_wolf 2011-07-06 · TA获得超过1654个赞 知道小有建树答主 回答量:1467 采纳率:0% 帮助的人:324万 我也去答题...

求单片机交通灯控制系统设计的程序(最后有中文解析)
要求:1、一路延时60S,一路延时40S (演示时为节省时间,一路延时15S,一路延时10S>> 两路时间分别用不同的数码管显示;--相同的,即可。--比如:--东西绿灯、南北红灯,两个方向的数字显示,都是60s倒计时。--东西红灯、南北绿灯,两个方向的数字显示,都是40s倒计时。--两路时间虽然不...

利用AT89C51单片机在6MHZ晶振频率下,设计一简单2ms方波发生器要求使用...
sbit P1_0=P1^0;\/\/位定义 unsigned char i; \/\/定义变量 void main(void){ P1_0=0;TMOD=0x01; \/\/T0定时器,工作方式1 TH0=(65536-500)\/256;TL0=(65536-500)%256; \/\/装初值 ET0=1;EA=1;TR0=1;while (1) ;} void time0 () interrupt 1 \/\/使用中断方式1 { TH0=(...

用单片机设计简易计算器
给你些子程序,自己看着凑吧。呵呵。有了这些,写出来应该不难了。;@@@双字节整数运算 ;***双字节无符号加法 ;入口:R6(H),R7,R4(H),R5,出口:和R6(H),R7(L)UADD: MOV A,R7 ADD A,R5 MOV R7,A MOV A,R6 ADDC A,R4 MOV R6,A RET ;***双字节无符号减法 ;入口:...

求51单片机的简单开发项目
比如键盘输入,有AD模数方式,距阵扫描方式,直接接端口和地方式,串口扩并口输入方式,等等,显示也如此,静态,动态,等多种方法去实现,熟练了这些子程序,以后开发项目拿出来直接使用就可以了, (有些需修改一点儿),建立一个子程序库!备日后之需!这时候你会发现单片机也不过如此轻易就可以玩转!

单片机S51设计一个计算器 求键盘程序(4*4)
键盘扫描+键值转换的方法。4*4的矩阵键盘,我使用不开中断的反转法来做,简单来说就是将横列置1纵列置0,检测到案件后再纵列置1横列置0,这样就可以扫描到按键的特征码了。以下是我早期写的一段程序,你学单片机的,端口怎么用,#define怎么写我不用教了吧。unsigned char scan_key(){ unsigned ...

求大神帮忙做一个以单片机为基础的多功能电子时钟
4,在系统校准模式时,系统具有快速校准时间的功能, 5,在秒表技师模式时,可兼做比赛时间记录表,秒表计时的精确度为0。1秒,由三个键分别控制秒表启动,清零,记录功能,可连续记录三组时间。并能够显示记录时间。6系统显示器采用LCD液晶显示器1602或其他显示器件,并采用键盘对相关数据进行设置与操作。

求一单片机程序设计
这个纯粹是学校最小单片机系统,跟毕业设计有点像,P0用于段码的显示,P2低4位为位码,P2.4与P2.5作为控制继电器的驱动三极管的驱动,但是奇怪的是你把HS1101接到了P1口了,这样程序会复杂的多,为什么不把HS1101输出接到单片机的定时计数器上去,P1口就做设定值的输入端口用,这样只要定时间来计数...

龙海市19429709876: 基于单片机的简易计算器设计 -
仪飞仙利: 安装protues仿真软件,看自带的例子,里面正好有一个例子是这个,用LCD显示的

龙海市19429709876: 单片机制作简易计算器需要哪些器件 -
仪飞仙利: 电路不难,主要是程序比较难. 一个矩阵键盘,LCD1602液晶比较好点(用数据管比较麻烦,特别是动态扫描),其它没有什么,主要是运算,可以加个蜂鸣器 我有一个STM32开发板上用的2.4寸触摸液晶一个例程就是计算器,看了下程序比较难.

龙海市19429709876: 用51单片机实现一个简单计算器的功能
仪飞仙利: 下面是我以前用来显示9999秒倒计时的原程序,仅供学习,版权所有,侵权不究. #include <REGX51.H> #include <./stdint.h> #include <ABSACC.H> #include<AT89X51.H> #include <INTRINS.H> //------------------------------ #define TH_10MS (...

龙海市19429709876: 急求用单片机设计简易计算器!!!! -
仪飞仙利: 1. 4X4键盘输入,点阵字符型液晶显示.2. 由于所采用的浮点程序库的限制(MCU平台只找到这个……),浮点运算采用3字节二进制补码表示,有效数字6位.对于输入输出,采用3字节BCD码浮点数格式,有效数字只有4位,因此最终有效数...

龙海市19429709876: 一、设计题目 基于单片机的简易计算器设计 二、设计任务 1、用单片机设计一简易计算器. 2、采用4*4键盘, -
仪飞仙利: 1. 4X4键盘输入,点阵字符型液晶显示.2. 由于所采用的浮点程序库的限制(MCU平台只找到这个……),浮点运...

龙海市19429709876: 怎样用单片机实验板上的矩阵键盘和显示器编写一个简单的计算器,要求能一位数和两位数的加减乘除? -
仪飞仙利: #include <reg51.h> #define uchar unsigned char long First,End; //定义全局变量void delay(int n) //***延时程序***// {int i,j;for(i=0;i<n;i++){for(j=0;j<50;j++);} }long add(long x,long y) //***加法程序***//{long z;z=x+y;return(z);}long sub(long x,...

龙海市19429709876: 请问如何用单片机做一个简单的计算器?需要哪些元器件和材料? -
仪飞仙利: 简单元器件=单片机+1602LCD+4*4键盘

龙海市19429709876: 怎么利用51单片机做一个简单计算器? -
仪飞仙利: 你是要程序?自己写吧,又不难,用C语言写+、-、*、%不就可以,用lcd1602显示就行

龙海市19429709876: 51单片机设计简易计算器 -
仪飞仙利: 利用中断口程序来写按扭和数字连接到PO,P1口当按=时候,进行中断处理,将结果调显示程序执行!

龙海市19429709876: 单片机的简易计算器 -
仪飞仙利: 单片机计算器 基本功能介绍:简单的加减乘除的运算.时间显示功能,而且能实现计算器模块和时间模块之间的任意切换.按键音却换功能.原理;多功能单片机计算器是一个实现加减乘除的和时间功能的计算器,主要的硬件组成由,一个AT...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网