数码管显示简易计算器说明书

目录

一、原理图设计说明 (1)

1.1数码管硬件电路设计 (1)

1.2矩阵键盘电路设计: (2)

二、程序设计说明 (3)

2.1键盘扫描程序设计 (3)

2.2算术运算程序设计 (4)

2.3显示程序设计 (5)

三、工作原理图及程序流程图 (6)

四、程序清单 (9)

五、参考文献 (15)

一、原理图设计说明

1.1数码管硬件电路设计

数码管数据显示的硬件电路由单片机、4 位共阳极数码管、位驱动电路、限流电阻等组成。实验板中用杜邦线将P7 与单片机IO 口相连(这里以P0 口为例)。用跳线将P8 与单片机P2 低四位相连,P0 口送出数码管段选码,P2 送出位选码。

图1-1 数码管硬件电路原理图

1.2矩阵键盘电路设计:

4*4 矩阵键盘行输入接单片机P1.0-P1.3,列输入接单片机P1.4-P1.7,通过扫描方式检测是否有键按下,并确定键值,使用矩阵键盘时注意给P10 矩阵键盘选择端使能。对键盘进行编号,S3-S18,按下相应按键,在数码管上显示相应键值(0-F)。例如按下S10 键,显示A,按下S0 键,显示0。

图1-2 矩阵键盘电路原理图

二、程序设计说明

2.1键盘扫描程序设计

键盘扫描程序的过程为:开始时,先判断是否有键闭合,无键闭合时,返回继续判断,有键闭合时,先去抖动,然后确定是否有键按下,若无键按下,则返回继续判断是否有键闭合,若有键按下,则判断键号,然后释放,若释放按键完毕,则返回,若没有释放按键,则返回继续释放。其流程图如图2-1所示。

开始

是否有键闭

合?返回

去抖动

确定有键按下

判断键号

Y Y N

释放

返回

N

Y N

图2-1 键盘扫描程序流程图

算术运算程序的过程为:先判断输入的运算符是+、-、*、/ 中的哪一个,若是+或-,则要判断运算结果是否溢出,溢出则显示错误信息,没溢出就显示运算结果,若是/,则要先判断除数是否为零,为零就显示错误信息,不为零则显示运算结果,若是-,则直接显示运算结果。其流程图如图2.2所示。

开始

运算符

加乘除减

运算结果溢出?

除数为零?

错误信息送显示缓冲

数值显示

Y

Y

N

N

图2-2 算术运算程序设计流程图

先是程序的过程为:显示开始时,先进行LED 的初始化,判断是否显示,若不显示,则返回,若显示,则进行相应功能的设置,然后送地址和数据,再判断是否显示完,显示完则返回,没有显示完则继续送地址。

显示开始

LED 初始化

相应功能设置

送地址

送数据

是否显示完

返回

N

Y 显示数值

图2-3 显示程序流程图

三、工作原理图及程序流程图

图3-1仿真工作原理电路图

最小系统

数码管模块

STC12C5A60S2

矩阵键盘

图3-2系统组成及总体框图

图3-3-1 PCB原理图

图3-3-2 PCB原理图

图3-3-3 3D 效果图

开始

初始化参数

初始化LED

有键输入?

读取键码

数字键

清零键

功能键

输入数值计算结果

状态清零LED 显示

Y

N

图3-4 程序流程图

四、程序清单

mian.c: //简单的数码管显示按键编码0到9

#include

typedef unsigned char uint8;

uint8 num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,

0x00,0x40}; //共阴极数码管uint8 s[4]={0,10,10,10};

uint8 T0RH=0; //重载初值

uint8 T0RL=0; //重载初值

uint8 step=0; //步骤标号

uint8 oprt=0; //运算符标志

long num1=0; //运算数1

long num2=0; //运算数2

long num3=0; //结果

void Init_times(uint8 ms);

extern void KeyDriver(); //定义键盘驱动

extern void KeyScan(); //定义键盘扫描

void main()

{

EA=1; // 中断总允许位

Init_times(1); //配置T0定时1ms

while(1)

{

KeyDriver(); // 调用键盘驱动

} }

void Init_times(uint8 ms) //配置并启动T0,ms-T0定时时间{

unsigned long tmp;

tmp = 11059200 / 12; //定时器计数频率

tmp = (tmp * ms) / 1000; //计算所需的计数值

tmp = 65536 - tmp; //计算定时器重载值

tmp = tmp + 12; //修正中断响应延时造成的误差 T0RH = (unsigned char)(tmp>>8); //取高八位

T0RL = (unsigned char)tmp; //取第八位

TMOD &= 0xF0; //定义计时器工作状态

TMOD |= 0x01;

TH0 = T0RH; //初始值TH0(变量带入)

TL0 = T0RL; //初始值TL0

ET0 = 1; //中断允许

TR0 = 1; } //启动计时器/* 数码管动态扫描函数 */

void fun()

{

static uint8 i;

switch(i) //数码管的位选和段选

{

case 0:P2=0xfe;P0=num[s[0]];break;

case 1:P2=0xfd;P0=num[s[1]];break;

case 2:P2=0xfb;P0=num[s[2]];break;

case 3:P2=0xf7;P0=num[s[3]];break;

}

i++;

i&=0x03;}

/* T0中断服务函数,执行按键扫描 */

void time0()interrupt 1

{

TH0=T0RH;

TL0=T0RL;

KeyScan();

fun();

}

/*把数值的各个位分别存储在数组是s[4]中 */

void fuzhi(long n)

{

uint8 i=0;

if(n<0) //小于零为负数{

s[3]=11;

n=-n;

}

else

{

s[3]=10;

}

do{

s[i++]=n%10;

n /= 10;

}while(n != 0);

while(i<=2)

{

s[i++]=10;

}}

/* 复位 */

void Reset()

{

num1=0;

num2=0;

step=0;

fuzhi(0);

}

/* 读取运算数 */

void NumKeyAction(uint8 n)

{

if(step > 1){

Reset();

}

if(step == 0){

num1=num1*10+n;

fuzhi(num1);

}

else if(step == 1){

num2=num2*10+n;

fuzhi(num2);

}}

/* 读取运算符 */

void OprtKeyAction(uint8 n) //用于判断按键加、减、乘、除{

if(step == 0){

fuzhi(0);

s[0]=10;

step=1;

oprt=n;

} }

/* 做运算 */

void GetResult() //加、减、乘、除函数运算{

if(step == 1){

switch(oprt){

case 0:num3=num1 + num2;break;

case 1:num3=num1 - num2;break;

case 2:num3=num1 * num2;break;

case 3:num3=num1 / num2;break;

default: break;

}

fuzhi(num3);

step=2;

}

}

key.c :键盘按键程序

#include

typedef unsigned char uint8;

sbit keyout_1 = P1^4; //定义键盘按键

sbit keyout_2 = P1^5;

sbit keyout_3 = P1^6;

sbit keyout_4 = P1^7;

sbit keyin_1 =P1^0;

sbit keyin_2 =P1^1;

sbit keyin_3 =P1^2;

sbit keyin_4 =P1^3;

extern void Reset();

extern void GetResult();

extern void NumKeyAction(uint8 dat);

extern void OprtKeyAction(uint8 dat);

extern uint8 num[];

uint8 keysta[4][4]={{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}}; //全部矩阵键盘的当前状态

uint8 keycode[4][4]={ {'7','8','9','+'}, //矩阵按键编号到标准键盘键码的映射表

{'4','5','6','-'},

{'1','2','3','*'},

{0x11,'0','=','/'}};

void KeyAction(uint8 dat) //用于判断按键运算法则

{

if((dat>='0')&&(dat<='9')){ //判断按下键是否为数值NumKeyAction(dat-'0');

}

else if(dat == '+'){

OprtKeyAction(0); //加法

}

else if(dat == '-'){

OprtKeyAction(1); //减法

}

else if(dat == '*'){

OprtKeyAction(2); //乘法

}

else if(dat == '/'){

OprtKeyAction(3); //除法

}

else if(dat == '='){

GetResult(); //等于

}

else if(dat == 0x11){ //清零

Reset();

}

}

/* 按键驱动函数,检测按键动作,调度相应动作函数,需在主循环中调用 */

void KeyDriver() /

{

uint8 i,j;

static uint8 backup[4][4]={{1,1,1,1},{1,1,1,1}, //按键值备份,保存前一次的值

{1,1,1,1},{1,1,1,1}};

for(i=0;i<4;i++) //循环检测4*4的矩阵按键for(j=0;j<4;j++)

if(keysta[i][j] != backup[i][j]){ //检测按键动作

if(backup[i][j] != 0) //按键按下时执行动作

KeyAction(keycode[i][j]); / /调用按键动作函数backup[i][j] = keysta[i][j]; //刷新前一次的备份值

} }

/* 按键扫描函数,需在定时中断中调用,调用间隔1ms */

void KeyScan()

{

uint8 i;

static uint8 keyout=0; //矩阵按键扫描输出索引

static uint8 keybuf[4][4]={ //矩阵按键扫描缓冲区

{0xff,0xff,0xff,0xff},{0xff,0xff,0xff,0xff},

{0xff,0xff,0xff,0xff},{0xff,0xff,0xff,0xff} };

keybuf[keyout][0]=(keybuf[keyout][0]<<1) | keyin_1; //将一行的4个按键值移入缓冲区

keybuf[keyout][1]=(keybuf[keyout][1]<<1) | keyin_2;

keybuf[keyout][2]=(keybuf[keyout][2]<<1) | keyin_3;

keybuf[keyout][3]=(keybuf[keyout][3]<<1) | keyin_4; //消抖后更新按键状态for(i=0;i<4;i++){ //每行4个按键,所以循环4次

if(keybuf[keyout][i] == 0x00){

//连续4次扫描值为0,即4*4ms内都是按下状态时,可认为按键已稳定的按下keysta[keyout][i]=0;

}

else if(keybuf[keyout][i] == 0xff){

//连续4次扫描值为1,即4*4ms内都是弹起状态时,可认为按键已稳定的弹起keysta[keyout][i]=1;

}

}//执行下一次的扫描输出

keyout++; //输出索引递增

keyout &=0x03; //索引值加到4即归零

switch(keyout){ //根据索引,释放当前输出引脚,拉低下次的输出引脚

case 0:keyout_4=1;keyout_1=0;break;

case 1:keyout_1=1;keyout_2=0;break;

case 2:keyout_2=1;keyout_3=0;break;

case 3:keyout_3=1;keyout_4=0;break;

default: break;

} }

五、参考文献

[1] 徐爱钧,徐阳等,单片机原理与应用机械工业出版社第2版 2013

[2] 罗亚非,凌阳十六位单片机应用基础北京航空航天大学出版社 2003年

[3] 郭天祥 51单片机C语言教程电子工业出版社 2009.1 ISBN 978-7-121-07893-4

[4] 彭伟单片机C语言程序设计实训100例. [M]北京.高等教育出版社.2009

[5] 侯媛彬等,单片机原理及其毕业设计精选科学出版社 2006年

[6] 张义和,王敏男等例说51单片机(C语言版)2008.4 ISBN 978-7-115-17326-3

[7] 张毅刚 MCS-51单片机应用设计哈工大出版社,第2版 2004年

计算器使用说明书

计算器使用说明书 This model paper was revised by the Standardization Office on December 10, 2020

计算器使用说明书目录 取下和装上计算器保护壳 (1) 安全注意事项 (2) 使用注意事项 (3) 双行显示屏 (7) 使用前的准备 (7) k模式 (7) k输入限度 (8) k输入时的错误订正 (9) k重现功能 (9) k错误指示器 (9) k多语句 (10) k指数显示格式 (10) k小数点及分隔符 (11)

k计算器的初始化 (11) 基本计算 (12) k算术运算 (12) k分数计算 (12) k百分比计算 (14) k度分秒计算 (15) kMODEIX, SCI, RND (15) 记忆器计算 (16) k答案记忆器 (16) k连续计算 (17) k独立记忆器 (17) k变量 (18) 科学函数计算 (18) k三角函数/反三角函数 (18) Ch。6 k双曲线函数/反双曲线函数 (19)

k常用及自然对数/反对数 (19) k平方根﹑立方根﹑根﹑平方﹑立方﹑倒数﹑阶乘﹑ 随机数﹑圆周率(π)及排列/组合 (20) k角度单位转换 (21) k坐标变换(Pol(x, y)﹐Rec(r, θ)) (21) k工程符号计算 (22) 方程式计算 (22) k二次及三次方程式 (22) k联立方程式 (25) 统计计算 (27) 标准偏差 (27) 回归计算 (29) 技术数据 (33) k当遇到问题时...... (33) k错误讯息 (33) k运算的顺序 (35)

基于单片机的简易计算器设计

目录 引言 (1) 第一章设计原理及要求 (2) 1.1设计方案的确定 (2) 1.2系统的设计方案 (2) 1.3系统的设计要求 (2) 第二章硬件模块设计 (4) 2.1单片机AT89C51 (4) 2.1.1 AT89C51芯片的特点 (5) 2.1.2 管脚说明 (5) 2.1.3 振荡器特性 (7) 2.1.4 芯片擦除 (7) 2.2键盘控制模块 (7) 2.2.1 矩阵键盘的工作原理 (8) 2.2.2 键盘电路主要器件介绍 (8) 2.3LCD显示模块 (10) 2.3.1 显示电路 (11) 2.3.2 LCD1602主要技术参数 (11) 2.3.3 引脚功能说明 (11) 2.4运算模块(单片机控制) (12) 第三章软件设计 (14) 3.1功能介绍 (14) 3.2系统流程图 (14) 3.3程序 (16) 第四章系统调试 (17) 4.1软件介绍 (17) 4.1.1 Keil uVision2仿真软件简介 (17) 4.1.2 protues简介 (17)

4.2软件调试 (18) 4.2.1 软件分析及常见故障 (18) 4.2.2 仿真结果演示 (20) 4.3硬件调试 (21) 结束语 (23) 参考文献 (24) 附录 (25) 致谢 (36)

引言 计算工具最早诞生于中国,中国古代最早采用的一种计算工具叫筹策,也被叫做算筹。这种算筹多用竹子制成,也有用木头,兽骨充当材料的,约二百七十枚一束,放在布袋里可随身携带。另外直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。 17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的“纳皮尔算筹”,英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加、减、乘、除、乘方和开方运算,甚至可以计算三角函数、指数函数和对数函数。这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了第一部机械式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另一个窗口中,但是它只能做加减运算。1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。此后,一直到20世纪50年代末才有电子计算器的出现。

计算器使用说明书

计算器使用说明书目录 取下和装上计算器保护壳 (1) 安全注意事项 (2) 使用注意事项 (3) 双行显示屏 (7) 使用前的准备 (7) k模式 (7) k输入限度 (8) k输入时的错误订正 (9) k重现功能 (9) k错误指示器 (9) k多语句 (10) k指数显示格式 (10) k小数点及分隔符 (11) k计算器的初始化 (11) 基本计算 (12) k算术运算 (12) k分数计算 (12) k百分比计算 (14) k度分秒计算 (15) kMODEIX, SCI, RND (15) 记忆器计算 (16) k答案记忆器 (16) k连续计算 (17) k独立记忆器 (17) k变量 (18) 科学函数计算 (18) k三角函数/反三角函数 (18) Ch。6 k双曲线函数/反双曲线函数 (19) k常用及自然对数/反对数 (19) k平方根﹑立方根﹑根﹑平方﹑立方﹑倒数﹑阶乘﹑ 随机数﹑圆周率(π)及排列/组合 (20) k角度单位转换 (21) k坐标变换(Pol(x, y)﹐Rec(r, θ)) (21) k工程符号计算 (22) 方程式计算 (22) k二次及三次方程式 (22) k联立方程式 (25) 统计计算 (27)

标准偏差 (27) 回归计算 (29) 技术数据 (33) k当遇到问题时 (33) k错误讯息 (33) k运算的顺序 (35) k堆栈 (36) k输入范围 (37) 电源(仅限MODEx。95MS) (39) 规格(仅限MODEx。95MS) (40) 取下和装上计算器保护壳 ?在开始之前 (1) 如图所示握住保护壳并将机体从保护壳抽出。 ?结束后 (2) 如图所示握住保护壳并将机体从保护壳抽出。 ?机体上键盘的一端必须先推入保护壳。切勿将显示屏的一端先推入保护壳。 使用注意事项 ?在首次使用本计算器前务请按5 键。 ?即使操作正常﹐MODEx。115MS/MODEx。570MS/MODEx。991MS 型计算器也必须至少每3 年更换一次电池。而MODEx。95MS/MODEx。100MS型计算器则须每2 年更换一次电池。电量耗尽的电池会泄漏液体﹐使计算器造成损坏及出现故障。因此切勿将电量耗尽的电池留放在计算器内。 ?本机所附带的电池在出厂后的搬运﹑保管过程中会有轻微的电源消耗。因此﹐其寿命可能会比正常的电池寿命要短。 ?如果电池的电力过低﹐记忆器的内容将会发生错误或完全消失。因此﹐对于所有重要的数据﹐请务必另作记录。 ?避免在温度极端的环境中使用及保管计算器。低温会使显示画面的反应变得缓慢迟钝或完全无法显示﹐同时亦会缩短电池的使用寿命。此外﹐应避免让计算器受到太阳的直接照射﹐亦不要将其放置在诸如窗边﹐取暖器的附近等任何会产生高温的地方。高温会使本机机壳褪色或变形及会损坏内部电路。 ?避免在湿度高及多灰尘的地方使用及存放本机。注意切勿将计算器放置在容易触水受潮的地方或高湿度及多灰尘的环境中。因如此会损坏本机的内部电路。 双行显示屏

单片机设计简易计算器

简易计算器 Simply Calculator 1 设计思想 此计算器有键盘部分、单片机、显示部分三部分组成,键盘部分主要完成输入功能;单片机主要完成数据处理功能,包括确定按键,完成运算,以及输出数据;显示器部分主要完成单片机输出的显示。 本设计的思路是利用单片机性能好,稳定性强的优点来实现系统的运行。设计大致可以分为三个步骤:第一步,硬件的选取和设计;第二步,程序的设计和调试;第三步,Protues 系统仿真。 硬件是设计的骨骼,不仅关系到设计总体方向的确定,还要综合考虑节能,环保,以及稳定性和经济性等各种因素。因此需要花费大量的时间。硬件的选取最为重要,包括选用的芯片,显示设备的选取,输入设备的选取等。本设计是通过单片机来实现的,因此选用了ATMEGA16单片机作为主体,输入设备选用矩阵键盘。程序是硬件的灵魂,是实现设计的中心环节。本设计使用的程序语言是C语言,在“ICC AVR”中运行,调试,直到运行出正确结果,然后输出后缀名为.HEX格式的文件,以备在Protues中仿真使用。程序是设计的关键,程序的调试需要大量的时间,耐心,还够要有足的细心才能成功。本设计中就出现了大量的错误,经过认真修改,最终才能运行出正确结果。最后的系统仿真是设计是否成功的验证,是设计不可缺少的重要环节。这就要求能掌握Protues的一些基本操作。2原理分析 矩阵键盘的扫描 —

》 图矩阵键盘图 如图所示,单片机的8个I/O口和矩阵键盘相连,用8个I/O口来控制矩阵键盘的16个按键是非常有意思的,首先我们设置单片机的PD0—PD7为输出,且PD0—PD3依次设置为低电平,而PD4—PD7设置为高电平,然后我们设置PD4—PD7为输入,而PD0—PD3仍然为输出,假如此时M1键按下,则PD0与PD4相连,因为PD0是低电平,而PD4是输入,所以PD4会被拉为低电平,同理,如果M2被按下,则PD5会被拉低,M3按下,PD6会被拉低,M4按下,PD7被拉低。这是判断有无键盘按下的过程,当我们判断是那一个键盘按下时,我们首先设置8个I/O口为输出,输出为FE,即,PD0为低电平,其他全为高电平,然后我们设置PD4—PD7为输入,如果M1被按下,则PD4会比被拉为低电平,此时会变成EE,同理可以知道M2被按下时会变为DE,M3被按下时会变为BE,M4被按下时会变为7E。同理我们可以设置8个I/O口输出FD来检测M5—M8是否被按下,设置8个I/O口输出FC来来检测M9—M12,设置8个I/O口输出F7来检测M13—M16,如果M1—M4没有被按下,就继续检测M4—M8,一次类推,就可以检测出16个按键了。在这次设计中,16个按键M1—M16所对应检测值分别为:EE,DE,BE,7E,ED,DD,BD,7D,EB,DB,BB,7B,E7,D7,B7,77。 数字显示与计算 本次设计选用的显示器是1602液晶显示器,此液晶显示器能显示32个字符,VSS接地,VDD接电源正极,E为时使能信号,R/W为读写选择端(H/L),RS为数据/命令选择端(H/L),D0—D7为数据I/O口。 首先我们初始化液晶显示器,然后显示出第一个被按下的数,并且使光标右移,如果有第二个数按下,则据继续显示,以此类推,然后把所有显示出来的数换算成一个数,如果按下“+”号,则显示出“+”,并且同理显示出“+”号后面按下的数字,然后调用加子程序,运算出结果,如果按下的是“-”,则调用减子程序,如果按下“*”,则调用乘子程序,如果按下“/”,则调用除子程序。然后再调用显示结果子程序,显示出结果。 《

简易计算器设计说明书

摘要 单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心。如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。计算器的出现给我们的生活带来了巨大的便利,计算器在我们的生活中随处可见,也是我们日常生活中不可缺少的工具。本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除简单的基本四则运算,并在LCD上显示相应的结果。设计电路采用AT89C51单片机为主要控制电路,利用按键作为计算器的键盘的输入。显示采用字符LCD 静态显示。软件方面使用C语言编程,并用PROTUES仿真。 单片微型计算机简称单片机。它是在一块芯片上集成中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、定时/计数器及I/O接口电路等部件,构成一个完整的微型计算机。它的特点是:高性能,高速度,体积小,价格低廉,稳定可靠,应用广泛。单片机比专用处理器最适合应用于嵌入式系统,因此它得到了最多的应用。本文介绍了单片机的产生发展、功能特点、应用开发等内容。 【关键词】简单计算器单片机 LCD 应用发展

背景 近年来,单片机以其体积小、价格廉、面向控制等独特优点,在各种工业控制、仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用。与此同时,单片机应用系统的可靠性成为人们越来越关注的重要课题。影响可靠性的因素是多方面的,如构成系统的元器件本身的可靠性、系统本身各部分之间的相互耦合因素等。其中系统的抗干扰性能是系统可靠性的重要指标。 本设计采用80c51 芯片,实现了利用单片机进行了一个简单计算器设计。允许对输入数据进行加减乘除运算及LCD 显示.如果设计对象是更为复杂的计算器系统,其实际原理与方法与本设计基本相同。LCD液晶显示器是Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置TFT(薄膜晶体管),上基板玻璃上设置彩色滤光片,通过TFT上的信号与电压改变来控制液晶分子的转动方向,从而达到控制每个像素点偏振光出射与否而达到显示目的。 现在LCD已经替代CRT成为主流,价格也已经下降了很多,并已充分的普及。故采用LCD.设计的关键所在,必须非常熟悉单片机的原理与结构,同时还要对整个设计流程有很好的把握,将单片机和其他模块完整的衔接。本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除基本四则运算,并在LCD上显示相应的结果;设计电路采用AT89C51单片机为主要控制电路,显示采用字符LCD静态显示;软件方面使用C 语言编程,并用PROTUES仿真i。

简单计算器的设计与实现

C/C++程序设计课程设计设计说明书 简单计算器的设计与实现 学生姓名 学号 班级 成绩 指导老师 计算机科学与技术系 2010年11月22日

C/C++程序设计课程设计评阅书

课程设计任务书 2010—2011学年第一学期 专业:计算机科学与技术学号:姓名: 课程设计名称: C/C++程序设计课程设计 设计题目:简单计算器的设计与实现 完成期限:自2010 年 11月 15 日至 2010 年 11 月 26 日共2 周 设计内容及要求: 要求用C/C++语言设计一个简易的计算器程序,对输入的数据进行加、减、乘、除、开平方等操作。 设计要求及功能如下: 1.阐述设计思想,画出流程图; 2.实现功能: (1)对输入的数据进行加法运算; (2)对输入的数据进行减法运算; (3)对输入的数据进行乘法运算; (4)对输入的数据进行除法运算; (5)对输入的数据进行开平方根运算。 最终设计成果形式为: 1.编写好的程序; 2.撰写课程设计说明书一份,打印并装订成册。 指导教师(签字):教研室主任(签字): 批准日期:年月日

摘要 设计了一个简单的计算器程序,该计算器具有简单的四则混合运算以及复杂的数学表达式的功能。该计算器采用VC++作为软件开发环境,采用算数表达式处理算法来实现加、减。乘、除四则混合运算。操作简单,界面清晰,易于用户使用,容易被他们所接受的。 关键词:计算器;VC++;数学表达式

目录 1课题描述 (1) 2问题分析和任务制定 (2) 3详细设计 (3) 3.1头文件设计 (3) 3.2简单计算器的设计与实现函数设计 (3) 4 程序调试与测试 (8) 4.1主界面测试 (8) 4.2基本功能的测试 (8) 5结果分析 (12) 总结 (13) 参考文献 (14)

计算器按键的使用说明

计算器按键的使用说明 . 1、电源开关键: ON、 OFF 2、输入键: 0— 9、. +/ —:正负转换键 3、运算功能键: + - * / ( 注意 : 加、减、乘、除键在计算时都可能代替等号键 ) √:开平方键,用来进行开平方运算。先输入数字,再按下此键,不必按等号键即可得 出结果。 4、等号键:= 5、清除键: ①C:清除键。在数字输入期间 , 第一次按下此键将清除除存储器内容外的所 有数值 . 如果是太阳能计算器,在计算器关闭状态下,按此键则开启电源,显示 屏显示出“ 0”。 ②AC或 CA键:全部清除键,也叫总清除键,作用是将显示屏所显示的数 字全部清除。 ③→:右移键。其功能是荧屏值向右位移,删除最右边的尾数。 ④CE:部分清除键,也叫更正键。其功能是清除当前输入的数字,而不是清除 以前输入的数。如刚输入的数字有误,立即按此键可清除,待输入正确的数字后,原运算继续进行。如 5+13,这时发现“ 13”输入错了,则按“ CE”键就可以清除 刚才的“ 13”,但还保留“ 5”这个数。值得注意的是,在输入数字后,按“ +”、“- ”、“/ ”、“* ”键的,再按“ CE”键,数字不能清除。 ⑤MC:累计清除键,也叫记忆式清除键。其功能是清除储存数据,清除存储 器内容,只清除存储器中的数字,内存数据清除,而不是清除显示器上的数字。 6、累计显示键: (1)M+:记忆加法键,也叫累加键。是计算结果并加上已经储存的数;用 作记忆功能,它可以连续追加,把目前显示的值放在存储器中(也就是将显示的 数字与内存中已有的任何数字相加,结果存入存储器,但不显示这些数字的和)。 如先输入“ 5×1.6 ”→按“ M+”键(把“ 5×1.6 ”的结果计算出来并储存起来)→然后输入“10×0.8 ”→按“M+”键(把“10×0.8 ”的结果计算出来并和前面储存的数相加)→接着输入“15×0.4 ”→按“M+”键(把“15×0.4 ”的结果计算出来并和前面储存的数相加)→最后按“MR”键(把储存的数全部取出来)→则出结果“ 22” (2)M-:记忆减法键,也叫累减键。是计算结果并用已储存的数字减去目前 的结果;从存储器内容中减去当前显示值(也就是将显示的数字与内存中已有 的任何数字相减,结果存入存储器,但不显示这些数字的差). 计算“ 50- (23+4)”时→先输入“ 50”→按“ M+”(把“ 50”储存起来)→再输入“ 23+4”→按“ M-”键(计算结果是“ 27”)→再按“ MR”(用储存的“ 50”减去目前的结果“ 27”)→则出结果“ 23” 7、存储读出键: MR MRC GT ①MR:存储读出键。表示用存储器中数值取代显示值。按下此键后,可使存储在“ M+”或“ M-”中的数字显示出来或同时参加运算,数字仍保存在存储器中,在未按“ MC”键以前有效。 MR调用存储器内容,读取储存的数据。如有三组数字不连续在一起相加的时候,则用这个“ MR”键。举例:如输入“ 3+2”时,按“ M+”键,再输入“ 6+7”时,按“ M+”键,再输入“8+9”时按“ M+”键,然后再按“MR”,则三组数字的总和“ 35”就出来了。 ②MRC:MR和 MC功能的组合,即存储读出和清除键。按一次为 MR功能, 即显示存储数,按第二次为 MC功能,即清除存储数。

计算器的简单使用.

计算器的简单使用 教学内容:浙教版九年制义务教育六年制小学数学第九册上册第42页 教学目标:(1)认识计算器,了解计算器各键的名称符号与功能。(2)掌握计算器的使用方法,会正确利用计算器进行简单的计算,增强学生的实践操作能力。(3)端正学生对待计算器的正确态度,懂得合理地利用计算器。 教学重点和难点:重点:掌握用计算器进行同一级运算时地按键顺序。 难点:四则混合运算中按运算顺序进行按键。 教学过程:一、制造冲突、引入课题 1、出示口算题,要求:看算式,想答案13×0.2 9-5.7 2.5+0.25 3.6÷0.3 0.8÷815.6 ×2.6182、反馈:开火车答问题:15.6×2.618不能口算 师:不能口算,你有什么办法得出它的答案?(列竖式和利用计算器) 2、揭示课题:师:在日常生活中,当口算不容易得出结果时,可用计算工具如:计算器他可以帮助我们计算,今天我们就来认识计算器,并利用它进行简单的计算。二、认识计算器1、学生自由介绍计算器师:谁先来说说关于计算器,你已经知道那些知识?(指名生说师进行适当的板演)生:……师:看来你们知道的真不少,打开书本看看还有没有我们不知道的和我们说的是不是一样2、自学书本P42了解有关计算器上的按键和功能 3、学生再次介绍计算器(2-3位,将计算器放于实物投影上)师:相信现在的你对于计算器已经有一定的了解了,我们开一个产品介绍会,请你来当小小推销员,把你手中的产品介绍出去。生:…… 4、比较不同的计算器(出示两个大小不同的计算器)师:你们觉得这两个计算器哪个算得更加准确?师引导生明白:计算器在形状、大小、功能键的安排等方面可能有所差异,但基本的计算功能是相同的。 5、熟练计算器的按键功能(1)熟练各个键师:现在大家对计算器又有了更深的了解,那你想玩计算器吗?那就听着老师的口令来玩吧!师:按开启键,观察一下显示屏有什么变化?师:按关闭键——按开启键——按关闭键——按数字键1师:有什么问题吗?(显示屏1显示不出来)师:什么原因,是不是计算器坏了谁有办法解决这个问题?(先按开启键就可以了)师生总结:在按数字键前都要按开启键。(2)纯小数的简便输入按开启键——0.34指名生说你为什么这么快?20.45中的0能不能省略引导生知道如果是纯小数整数部分的0可以不按。过渡:现在我们已经熟悉了计算器上的各个键,想不想来计算一下

基于51单片机的计算器设计说明

目录 第一章引言 (3) 1.1 简述简易计算器 (3) 1.2 本设计主要任务 (3) 1.3 系统主要功能 (4) 第二章系统主要硬件电路设计 (4) 2.1 系统的硬件构成及功能 (4) 2.2 键盘电路设计 (5) 2.3 显示电路设计 (6) 第三章系统软件设计 (7) 3.1 计算器的软件规划 (7) 3.2 键盘扫描的程序设计 (7) 3.3 显示模块的程序设计 (8) 3.4 主程序的设计 (9) 3.5 软件的可靠性设计 (9) 第四章调试 (9) 第五章结束语 (10) 参考文献 (11) 附录源程序 (11)

第一章引言 1.1 简述简易计算器 近几年单片机技术的发展很快,其中电子产品的更新速度迅猛。计算器是日常生活中比较的常见的电子产品之一。如何才能使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器呢? 本设计是以AT89S52单片机为核心的计算器模拟系统设计,输入采用4×6矩阵键盘,可以进行加、减、乘、除9位带符号数字运算,并在LCD1602上显示操作过程。 科技的进步告别了以前复杂的模拟电路,一块几厘米平方的单片机可以省去很多繁琐的电路。现在应用较广泛的是科学计算器,与我们日常所用的简单计算器有较大差别,除了能进行加减乘除,科学计算器还可以进行正数的四则运算和乘方、开方运算,具有指数、对数、三角函数、反三角函数及存储等计算功能。计算器的未来是小型化和轻便化,现在市面上出现的使用太阳能电池的计算器, 使用ASIC设计的计算器,如使用纯软件实现的计算器等,未来的智能化计算器将是我们的发展方向,更希望成为应用广泛的计算工具。 1.2 本设计主要任务 以下是初步设定的矩阵键盘简易计算器的功能: 1.扩展4*6键盘,其中10个数字,5个功能键,1个清零 2.强化对于电路的焊接 3.使用五位数码管接口电路 4. 完成十进制的四则运算(加、减、乘、除); 5. 实现结果低于五位的连续运算; 6. 使用keil 软件编写程序,使用汇编语言; 7. 最后用ptoteus模拟仿真; 8.学会对电路的调试

科学计算器的使用方法

一、计算器使用的状态 对于两类计算器来说,使用的是数值计算,所采用的状态是十进制状态: 1、学生计算器(KDT科灵通科学计算器):按模式键 第一次屏幕显示 第二次屏幕显示 按2次,再按1,则进入十进制计算状态,这时在屏幕上会出现D的标志。 2、普通计算器(价格10元以内):按键 直接按键,依次在屏幕上会分别显示:DEG、RAD、GRAD,表示十进制、弧度、百分率。要选择DEG,即在屏幕上看到DEG的标志。 二、角度的输入与计算 两种计算器都可以进行角度的运算以及转换: 1、学生计算器(KDT (1 例如输入129°59′26″,操作如下: 输入1295926

这时屏幕的第二行显示:129°59°26°,说明已经将角度输入 (2)角度经过三角函数的计算之后,显示的角度是十进制,即129°59′26″屏幕上显示129.353336,这时需要将十进制的角度转换回六十进制。 按129.353336→129°59°26°。 2 (1)角度的输入:输入角度要以六十进制输入,度和分秒以小数点隔开, 可将六十进制的角度值转换成十进制,用于角度计算或三角函数计算。 具体操作如下:输入129.5926 这时屏幕上显示结果129.9905556,可以进行角度的加减或三角函数计算。 (2)计算结果显示:当角度计算完毕后,需要显示角度的结果,即六十进制的角度结果, 按 具体操作如下:129.9905556→按 这时屏幕上显示计算结果129.592600,可以将成果记录下来。 三、测量误差的精度评定(统计计算) 两种计算器都可以进行标准偏差统计计算: 1、学生计算器(KDT科灵通科学计算器):在标准偏差统计模式下 (1)进入标准偏差统计计算模式:按 显示 ) 其中n x x2m,即中误差。

基于51单片机的简易计算器论文设计

电子设计结课论文题目: 系别: 专业: 学生姓名: 学号: 实验研究工程设计工程技术研究 年月日

基于51单片机的简易计算器 摘要:工程实践教学环节是为了学生能够更好地巩固和实践所学专业知识而设置 的,在本次工程实践中,我以《智能化测量控制仪表原理与设计》、《MCS-51系列单片微型计算机及其应用》课程中所学知识为基础,设计了简易计算器。本系统以MCS-51系列中的8051单片机为核心,能够实现两位数的四则运算。该系统通过检测矩阵键盘扫描,判断是否按键,经数据转换把数值送入数码管动态显示。 本系统的设计说明重点介绍了如下几方面的内容: 1)基于单片机简易计算器的基本功能,同时对矩阵键盘及1602显示原理进行了简单的阐述; 2)介绍了系统的总体设计、给出了系统的整体流程框图,并对其进行了功能模块划分及所采用的元器件进行了详细说明; 3)对系统各功能模块的软、硬件实现进行了详细的设计说明。 关键词:MCS-51 8051单片机;计算器;加减乘除

目录 目录 第一章绪论 (1) 1.2设计目的 (1) 1.3设计任务 (1) 1.4章节安排说明 (1) 第二章计算器系统简介 (2) 2.1单片机发展现状 (2) 2.2计算器系统现状 (2) 2.3简易计算器系统简介 (3) 第三章主要器件简介 (4) 3.1MCS-51系列单片机简介 (4) 3.2其它器件简介 (7) 3.2.11602显示 (7) 3.2.2矩阵按键 (7) 第四章计算器系统设计 (8) 4.1计算器硬件电路设计 (8) 4.2.2主程序设计............................................................... 错误!未定义书签。结语. (17) 参考文献 (18)

计算器说明书

1 设计课题任务、功能要求说明及总体方案介绍 1.1 设计课题任务 课题:简易计算器 任务:设计一个具有特定功能的计算器。该计算器上电或按键复位后能自动显示系统提示界面,进入准备工作状态。能实现基本的加、减、乘、除四则运算。 1.2 功能要求说明 在本次工程实践中,主要完成如下方面的设计任务: (1)计算器上电或按键复位后能显示初始化界面 (2)2秒后进入计算器界面 (3)按键能进行加、减、乘、除运算并显示结果 (4)按清零键后能进行下一次计算 1.3 设计课题总体方案介绍及工作原理说明 计算器的总体功能原理是以AT89S52单片机为主要控制核心,通过外接4*4行列式键盘作为控制信号输入源,一块12864液晶作为显示器件,通过按键控制,单片机实时地去执行,在12864液晶上显示界面。系统控制原理图如图1所示。 液晶 显示电路AT89S52 电源电路 复位电路 下载电路 键盘电路图1系统控制原理图

2 设计课题硬件系统的设计 2.1 设计课题硬件系统各模块功能简要介绍 2.1.1 AT89S52控制模块 考虑到设计功能需要,控制器的功能用于外部键盘信号的接收和识别、液晶模块的显示控制、复位电路等,我们选择了AT89S52系列单片机,具有反应速度极快,工作效率特高的特点。 AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 2.1.2 12864液晶模块 FYD12864-0402B是一种具有4位/8位并行,2线或3线串行多种接口方式,内含国家一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128*64,内置8192个16*16点汉字,和128个16*8点ASCⅡ字符集。利用该模块灵活的接口和简单、方便的操作指令,可构成全中文人机交互图形界面。12864液晶的控制口线主要接在AT89S52单片机的P0和P3的部分口线上,可以显示8×4行,16×16点阵的汉字。低压低功耗是其又一显著特点。与同类液晶模块相比,无论硬件电路或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的液晶模块。

简易计算器设计实验报告

简易计算器设计实验报告 一.设计任务及要求 1.1实验任务: 根据计算器的原理设计一个具有加减乘除功能的简易计算器。如:5+3*4/8=4。 1.2 实验基本要求: (1)实现最大输入两位十进制数字的四则运算(加减乘除)。 (2)能够实现多次连算(无优先级,从左到右计算结果)。 如:12+34*56-78/90+9=36 (3)最大长度以数码管最大个数为限,溢出报警。 二.实验设计方案 (1)用QuartusII的原理图输入来完成系统的顶层设计。 (2)用VHDL编写以及直接拖模块来各功能模块。 (3)通过2个脉冲分别实现个位数和十位数的输入。 (4)通过选择每次的输出数值,将输出值反馈到运算输入端 (4)通过除法运算实现十六进制到十进制的转换输出。 其具体实现流程图如下:

三系统硬件设计 FPGA: EP2C5T144C8目标板及相应外围硬件电路。(从略) 四系统软件设计 1.数据输入模块 原理:用VHDL创建模块,通过两个脉冲分别对两个数码管进行输入控制,再通过相应运算模块将两个独立数据转化成两位十进制数字。 2.运算模块 原理:用VHDL创建模块,四种运算同步运行,通过按键加、减、乘、除选择输出对应的计算结果,当按键等号来时,将所得结果反馈给运算模块输入端。具体实现代码见附录二。 3.输出模块 原理:用VHDL创建模块,通过按键等号来控制显示运算对象还是运算结果,当等号按下时,输出计算结果,否则显示当前输入的数据,并且通过除法模块将十六进制转化为十进制。当输出结果溢出是LED0亮,同时数码管显示都为零。部分实现见附录二。 五实验调试 输入数据12,再按加法键,输入第二个数字25,按等号键,数码管显示37;按灭加法、等号键,输入第二个数据2,依次按等号键,减法键,数码管显示35;同上,按灭减法键、等号键,输入第三个数据7,依次按等号键,除法键,数码管显示5;按灭除法键、等号键,输入第四个数据99,依次按等号键,乘法键,数码管显示495,按灭乘法键、等号键,当前显示为99,依次按等号键、乘法键,数码管显示49005,同上进行若干次之后,结果溢出,LED0亮,同时数码管显示都为零。当输出为负数时,LED0灯变亮,同时数码管显示都为零。六实验结论 本实验基本实现了计算器的加减乘法运算功能,但是存在一个突出的缺陷,就是当输出结果时,必须先按等号键导通数据反馈,再按运算键选择输出结果。这与实际应用的计算器存在很大的差距。但是,本设计可以通过等号键实现运算对象和运算结果之间的切换。

用MATLAB制作一简单计算器

用M A T L A B制作一简 单计算器 标准化工作室编码[XX968T-XX89628-XJ668-XT689N]

这个matlab课程设计是在GUI环境下生成的。开启MATLAB 7.0 软件,在命令窗口输入guide,即可进入GUI环境。 实验目的:(1)熟悉GUI环境,并在该环境中制作一个简单的计算 器,起功能有加,减,乘,除, cos, sin, tan。 (2)熟悉matlab软件的制作。 实验内容及结果: 进入GUI环境中双击Blank GUI (Default)出现一个窗口在该窗口中首先制作一个计算器界面如下所示: 红色的是静态编辑框,其余的是按钮。 下面我们来分析一下功能函数: textString = get(handles.text1,'String'); textString = strcat(textString,'1'); set(handles.text1,'String',textString) 这是使用句柄handles指向对象text1,并以字符串形式来存储数据文本框text1的内容,并存储数个“1”, 然后由set(handles.text1,'String','textString'在text1中输出。 同理,分别在function pushbuttonone~zero_Callback(hObject, eventdata, handles)下给1~0数字按键下编写此类程序。 function pushbuttonjia_Callback(hObject, eventdata, handles) textString = get(handles.text1,'String'); textString =strcat(textString,'+'); set(handles.text1,'String',textString) strcat的作用是将两个字符串连接起来,就是在已输入的存储数据textString后添加“+”进行运算。

单片机简易计算器课程设计报告书

课程设计 题目名称简易计算器设计 课程名称单片机原理及应用 学生姓名 班级学号 2018年 6 月20日

目录 一设计目的 (2) 二总体设计及功能介绍 (2) 三硬件仿真图 (3) 四主程序流程图 (4) 五程序源代码 (4) 六课程设计体会 (17)

一设计目的 本设计是基于51系列单片机来进行的简单数字计算器设计,可以完成计算器的键盘输入,进行加、减、乘、除六位整数数围的基本四则运算,并在LED上显示相应的结果。软件方面使用C语言编程,并用PROTUES仿真。 二总体设计及功能介绍 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机,实现对计算器的设计。具体设计及功能如下: 由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LED 显示数据和结果; 另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘; 执行过程:开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。

三硬件仿真图 硬件部分比较简单,当键盘按键按下时它的那一行、那一列的端口为低电平。因此,只要扫描行、列端口是否都为低电平就可以确定是哪个键被按下。

四主程序流程图 程序的主要思想是:将按键抽象为字符,然后就是对字符的处理。将操作数分别转化为字符串存储,操作符存储为字符形式。然后调用compute()函数进行计算并返回结果。具体程序及看注释还有流程图 五程序源代码 #include #include #include/* isdigit()函数 */ #include/* atoi()函数 */ #define uchar unsigned char #define uint unsigned int

电子计算器课程设计

目录 1 设计任务和性能指标 (1) 1.1 设计任务 (1) 1.2 性能指标 (1) 2 设计方案 (1) 2.1 需求分析 (1) 2.2 方案论证 (1) 3 系统硬件设计 (2) 3.1 总体框图设计 (2) 3.2 单片机选型 (2) 3.3 单片机附属电路设计 (3) 3.4 LCD液晶显示 (4) 4 系统软件设计 (5) 4.1 设计思路 (5) 4.2 总体流程图 (5) 4.3 子程序设计 (5) 4.4 总程序清单 (6) 5 仿真与调试 (6) 5.1 调试步骤 (6) 5.2 仿真结果及性能分析 (8) 6 总结 (8) 参考文献 (8) 附录1 系统硬件电路图 (10) 附录2 程序清单 (11)

1 设计任务和性能指标 1.1 设计任务 电子计算器设计 1、能实现4位整数的加减法和2位整数的乘法; 2、结果通过5个LED数码管显示(4位整数加法会有进位)或通过液晶显示屏显示。 1.2 性能指标 1.用数字键盘输入4位整数,通过LED数码显示管或液晶显示屏显示。 2.完成四位数的加减法应算。当四位数想加时产生的进位时,显示进位。 3.显示2位,并进行2位整数的乘法。 4.设计4*4矩阵键盘输入线的连接。 2 设计方案 2.1 需求分析 我们日常生活的开支,大额数字或是多倍小数的计算都需要计算器的帮助,处理数字的开方、正余弦都离不开计算器。虽然现在的计算器价格比较低廉,但是功能过于简单的不能满足个人需求,功能多的价格较贵,操作不便不说,很多功能根本用不到。所以,我们想到可不可以用自己所学为自己设计开发一个属于自己的简单计算器来完成日常生活的需求。 2.2 方案论证 使用单片机为ATMEL公司生产AT89C51,AT89C51提供以下标准功能:4K字节FLASH 闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个向量两级中断结构,一个全双工串行通讯口,内置一个精密比较器,片内振荡器及时钟电路,同时AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的工作模式,空闲方式停止CPU 的工作,但允许RAM,定时计数器,串行通信及中断系统继续工作。 显示用LCD液晶显示屏,减少线路连接。 用C言编写程序,易进行调试修改。 采用4*4矩阵键盘作为输入。

如何使用VFP制作一个简易的计算器

如何使用VFP(Microsoft Visual FoxPro)设计一个简易计算器? 胡伟 本文内容主要介绍如何使用VFP设计如下图所示的一个简易的计算器。 一、创建项目文件jsq.pjx 创建jsq文件夹:c:\jsq (以下文件均以此为存储目录) 在c:\jsq下创建项目文件:c:\jsq.pjx 二、创建表单jsq.scx (一)创建表单jsq,并设置属性:设AutoCenter为“.T.”、ShowWindow为“作为顶层表单”

(二)在表单jsq内创建各对象 1、创建(菜单部分在后面创建) 单击“表单控件”工具栏上的“文本框”按钮,在表单上的适当位置单击。并设置属性Alignment为“1-右” 2、创建容器控件 设置属性SpecialEffect为“凹下” 3、创建命令控件

更改属性Caption “Command1”为“Backspace”,属性ForeColor “0,0,0”为“255,0,0” 4、如同创建,创建其它控件。 单击表面空白部分,更改属性Caption “Form1”为“计算器”。 5、编辑各控件的命令代码 新建属性 ls 并改其属性“.F.”为“0”;新建属性 mm 并改其属性“.F.”为“0”。(1)Backspace 双击Backspace控件,在打开的Command1.klick中编写如下代码: thisform.text1.value=substr(alltrim(thisform.text1.value),1,len(alltrim(thisform.text1.value))-1)

(2)CE 的代码为: thisform.text1.value='' (3)C 的代码为: thisform.text1.value='' thisform.ls=0 thisform.tag='' (4)MC 的代码为: thisform.mm=0 (5)MR 的代码为: thisform.text1.value=alltrim(str(thisform.mm)) (6)MS 的代码为: thisform.mm=val(alltrim(thisform.text1.value)) (7)M+ 的代码为: thisform.mm=thisform.mm+val(alltrim(thisform.text1.value)) (8)0 的代码为: thisform.text1.value=thisform.text1.value+'0' if alltrim(thisform.text1.value)='00' thisform.text1.value='0' endif 同理编写1、2、3、4、5、6、7、8、9 的代码。 (9)+ 的代码为: thisform.ls=val(thisform.text1.value)

迷你计算器说明书

摘要 本设计要求学生设计、开发出一个简单的计算器。 通过该题目的设计,培养学生面向对象程序设计的思想,要求学生达到熟练掌握Java语言的基本知识和技能,基本掌握面向对象程序设计的基本思路和方法,能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。同时强调好的程序设计风格,提高解决实际问题的能力。 关键词:Java语言、计算器、图形界面

该程序是一个图形界面的简单的java计算器,使用人员能快捷简单地进行操作。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。可以进行简单的四则运算(加,减,乘,除,以及求相反数),有退格功能,归零表示初始化,界面颜色为灰白,该程序支持键盘操作等。 随着科学技术的不断发展,计算机已经成为我们工作学习和生活中不可缺少的工具。文本编辑器是个人计算机最司空见惯的应用程序了,在学习了Java语言之后,使用Java语言编写一个简单的计算器,可以实现简单的运算功能,满足日常基本的工作学习和娱乐需要。 Java是由Sun公司开发的新一代纯面向对象的网络编程语言。其目标是建立一种在任意种机器,任一种操作系统的网络环境中运行的软件,实行所谓“程序写一次,到处运行”的目标。正因为如此,Java已成为当今Internet上最流行,最受欢迎的一种程序开发语言。 。

摘要................................................................................................................................................ I 前言.............................................................................................................................................. II 第1章任务要求.. (1) 1.1 基本要求 (1) 1.2 系统要求 (1) 第2章详细设计 (2) 2.1 实现功能 (2) 2.2 功能模块 (2) 2.3 图形界面设计 (2) 2.4 功能实现 (5) 2.5 小程序 (6) 2.5.1 图形界面设计 (6) 2.5.2 功能运算 (8) 第3章系统测试 (11) 3.1 测试方案 (11) 3.2 测试用例 (11) 3.3 测试结果 (11) 3.3.1 四则运算测试结果 (11) 3.3.2其他运算测试结果 (12) 3.4 软件可靠性分析 (12) 3.5 软件不足性分析 (13) 第4章软件使用说明书 (14) 4.1图形界面 (14) 4.2四则运算举例 (14) 4.3其他运算举例 (16) 4.4清零及退格操作 (16) 4.5小程序及其操作 (17) 4.5.1小程序主界面 (17) 4.5.1小程序操作说明 (17) 参考文献 (18) 课程设计总结 (19) 致谢 (20)

相关文档
最新文档