文档库 最新最全的文档下载
当前位置:文档库 › 矩阵键盘简易计算器要点

矩阵键盘简易计算器要点

矩阵键盘简易计算器要点
矩阵键盘简易计算器要点

《微处理器系统与接口技术》课程实践报告

计算器

班级:

学号:

学生姓名:

指导老师:

日期: 2014.7.5

******电子与信息工程学院

目录

1、设计题目:计算器 (3)

2、设计目的 (3)

3、计算器总体设计框图 (3)

4、计算器详细设计过程 (4)

4.1输入模块 (4)

4.2键盘输入电路 (5)

4.3主程序模块 (6)

5、分析与调试 (6)

7、运行结果 (8)

8、结束语 (8)

8、参考文献 (8)

9、源程序附录 (9)

9.1主程序 (9)

9.2延时函数delay (12)

9.3显示函数display (12)

9.4键盘扫描函数 (14)

9.5预定义函数 (15)

1、设计题目:计算器

2、设计目的

此次课程实践题目是基于单片机简单计数器的设计,本此设计使用的是Intel公司MCS-51系列的8051AH单片机。设计的计算器可以实现2位小数的加、减、乘、除运算以及整数的乘方运算,其中用4*4矩阵键盘来输入待参与运算的数据和运算符;八位数码管动态显示输入待参与运算的数据以及运算后产生的结果,每个硬件模块的调用过程中涉及到了函数入口及出口参数说明,函数调用关系描述等。

3、计算器总体设计框图

计算器以MCS-51系列的8051AH单片机作为整个系统的控制核心,应用其强大的I/O功能和计算速度,构成整个计算器。通过矩阵键盘输入运算数据和符号,送入单片机进行数据处理。经单片机运算后控制LED数码管的输出。整体框图如图1所示:

图3 整体框图

本系统硬件主要由矩阵键盘、独立键盘I/O输入输出、数码管显示等主要部分组成。各模块的主要功能如下:

(1)矩阵键盘将十六进制编码的数字送到单片机。

(2) 单片机扫描键盘信号并接收,对输入的键盘信号进行处理

(3) LED以动态扫描的方式移位显示每次输入的数据和最后的运算结果。实践设计的具体流程图如下图2所示:

电脑计算器里面的“科学型”的里面所有的按键的功能

下表描述了计算器的功能: 按钮功能 % 按百分比的形式显示乘积结果。输入一个数,单击“*”,输入第二个数,然后单击“%”。例如, 50 * 25% 将显示为12.5。也可执行带百分数的运算。输入一个数,单击运算符(“+”、“-”、“*” 或“/”),输入第二个数,单击“%”,然后单击“=”。例如,50 + 25%(指的是50 的25%) = 62.5。 ( 开始括号的新层。当前的层数显示在“)”按钮上方的框中。括号的最多层数为25。 ) 结束括号的当前层。 * 乘法。 + 加法。 +/- 改变显示数字的符号。 - 减法。 . 插入小数点。 / 除法。 0–9 将此数字置于计算器的显示区。 1/x 计算显示数字的倒数。 = 对上两个数字执行任意运算。若要重复上一次的运算,请再次单击“=”。 A–F 在数值中输入选中字母。只有在十六进制模式为开启状态时该按钮才可用。 And 计算按位AND。逻辑运算符在执行任何按位运算时将截断数字的小数部分。 Ave 计算“统计框”对话框中显示数值的平均值。若要计算平均方值,请使用“Inv”+“Ave”。只有先 单击“Sta”,该按钮才可用。 Backspace 删除当前显示数字的最后一位。 站将显示数字转换为二进制数字系统。最大的无符号二进制数值是将64 位全都设置为1。 C 清除当前的计算。 CE 清除显示数字。 cos 计算显示数字的余弦。若要计算反余弦,请使用“Inv”+“cos”。若要计算双曲余弦,请使用“Hyp”+“cos”。若要计算反双曲余弦,请使用“Inv”+“Hyp”+“cos”。cos 只能用于十进制数字 系统。 Dat 在“统计框”对话框内输入显示的数字。只有先单击“Sta”,该按钮才可用。 十进制将显示数字转换为十进制数字系统。 度数在十进制模式下将三角函数输入设置为度数。 dms 将显示数字转换为度-分-秒格式(假设显示数字是用度数表示的)。若要将显示数字转换为用度数表示的格式(假设显示数字是用度-分-秒格式表示的),请使用“Inv”+“dms”。dms 只能用 于十进制数字系统。 Exp 允许输入用科学计数法表示的数字。指数限制为四位数。指数中只能使用十进制数(键0-9)。 Exp 只能用于十进制数字系统。 F-E 打开或关闭科学计数法。大于10^32 的数总是以指数形式表示。F-E 只能用于十进制数字系统。 梯度在十进制模式中,将三角函数输入设置为梯度。 十六进制将显示数字转换为十六进制数字系统。最大的无符号十六进制数值是将64 位全都设置为1。 Hyp 设置“sin”、“cos”和“tan”的双曲函数。完成一次计算后自动关闭双曲函数功能。 Int 显示十进制数值的整数部分。若要显示十进制数值的小数部分,请使用“Inv”+“Int”。 Inv 设置“sin”、“cos”、“tan”、“PI”、“x^y”、“x^2”、“x^3”、“ln”、“log”、“Ave”、“Sum” 和“s”的反函数。完成一次计算后自动关闭反函数功能。

计算器的使用方法 计算器小知识

计算器的使用方法计算器小知识 普通的计算器如得力计算器与晨光计算器的一些普通功能相信大家都会用,大家经常用来加减乘除,快速计算结果。有些小小的功能键能事半功倍,而这些功能可能有很多人从未使用过,石家庄办公用品批发网小编找了些资料,又根据自己实际经验,把那些个功能键的作用及使用方法给整理了一下。 M+:把目前显示的值放在存储器中,是计算结果并加上已经储存的数,(如屏幕无"M"标志即存储器中无数据,则直接将显示值存入存储器)。 M-:从存储器内容中减去当前显示值,是计算结果并用已储存的数字减去目前的结果,如存贮器中没有数字,按M-则存入负的显示屏数字。 MS:将显示的内容存储到存储器,存储器中原有的数据被冲走。 MR:按下此键将调用存储器内容,表示把存储器中的数值读出到屏幕,作为当前数值参与运算。 MC:按下时清除存储器内容(屏幕"M"标志消除)。 MRC:第一次按下此键将调用存储器内容,第二次按下时清除存储器内容。 GT:GT=Grand Total 意思是总数之和,即按了等号后得到的数字全部被累计相加后传送到GT存储寄存器。按GT后显示累计数,再按一次清空。 MU(Mark-up and Mark-down键):按下该键完成利率和税率计算,详见例3; CE:清除输入键,在数字输入期间按下此键将清除输入寄存器中的值并显示"0",可重新输入; AC:是清除全部数据结果和运算符。 ON/C:上电/全清键,按下该键表示上电,或清除所有寄存器中的数值。 使用举例: 例1. 先按32×21,得数是672。然后按下“M+”,这样就可以把这个答案保存下来,然后我们按“8765-”,再按“MR”就可以把刚才的672调出来了,最后我们就可以得到答案8093。 例2. 在计算时使用记忆键能够使操作简便,例如计算5.45×2+4.7×3可以这样做:按5、.、4、5、×、2、=,会显示出10.9,按M+(记忆10.9),按4、.、7、×、3、=,会显示出14.1,按M+(记忆14.1),按MR 会显示出25(呼出记忆的两个数相加后的结果)。 例3、 MU(Mark-up and Mark-down键):按下该键完成利率和税率计算. 关于"MU"的加减乘除四项功能用法如下: 乘法A×B MU 相当于A+(A+B%) 用途1、知道本年数额与增长率,求预计明年数额。如今年销售收入100,预计增长率为2.5%,求明年数。按100 X 2.5 MU 即出结果为102.5 用途2、计算增值税,由不含税价计算含税价。如不含税销售收入3500元,计算含税销售收入,假定税率为17%,按3500 X 17 MU 即出结果4095 减法A-B MU 相当于(A-B)/B 的百分比 用途知道当年收入与去年收入求增长率。如今年3000,去年2800,计算增长率,按3000-2800 MU 即出结果7.142857 当然结果是百分比 除法A÷B MU 相当于A/(1-B%) 用途1、求成本为120,销售利润率为25%,求销售收入,按120÷25 MU 即出结果160 (看清了,不是成本利润率,成本利润率公式是A x(1+B%)) 用途2、计算消费税组成计税价格,由不含税计算含税价,如不含税1200,适用税率30%,计算含税,按

数据结构课程设计-特殊矩阵计算器

特殊矩阵计算器 1、特殊矩阵计算器 问题描述:创建两个特殊矩阵 A 和 B,计算 A+B、A-B、A*B、B*A、A(或 B)的逆、A(或 B)的转置、A(或 B)的行列式等,具体要求如下:① A、B 均是压缩存储的特殊矩阵,如上/下三角矩阵、对称矩阵、对角矩阵、单位矩阵等。 ② A、B 的矩阵类型、行列数、各位置的元素值等信息均在运行时指定(对于不同类型的矩阵,要求输入的数据也不尽相同)。③各运算若可行,则打印结果;若不可行,则给出提示信息。④各运算需自己实现,禁止调用语言内建或第三方类库的矩阵 API。 涉及算法及知识:特殊矩阵的压缩存储、矩阵相关运算。 #include<> #include<> #define max 100 typedef struct{ int row,col;//定义矩阵行数、列数 int a[max][max]; }Matrix; //存储结构 typedef struct{ int array[max]; int n; //定义矩阵的阶 }M; Matrix A,B,C,D; M p; //*************矩阵的压缩存储*********************// int CompressMatrix(int m,int i,int j,int n){ int k;

if(m==1){ if(i<=j) k=(2*n-i+1)*i/2+(j-i)+1; else k=0; return k; } if(m==2){ if(i>=j) k=i*(i+1)/2+j+1; else k=0; return k; } if(m==3){ if(i>=j) k=i*(i+1)/2+j; else k=j*(j+1)/2+i; return k; } if(m==4){ if(i!=j) k=0; else k=i+1;

计算器有关按键说明大全

计算器有关按键说明大全 一、基本按键 ON 开机 OFF 关机 AC 总清,清除所有存储和显示数值(又:CA, All Clear C 清除所有显示和当前运算、归零(又:CLR、Esc,英文名Clear 注:以上又有组成组合键的情况为ON/OFF、ON/AC、ON/C CE 清除输入,清除当前输入数据中最后一个不正确的输入数据并显示“0”,可重新更正输入(英文名Clear Error或Clear Entry ?清除光标前一字符(又:←、Backspace、BS、DEL(delete) INS 改写模式,从当前位置插入(英文名insert REPLAY 指令状态移动方向,上下查记录,左右移动当前表达式中光标(一般此键上有成十字排列的方向标识:▲▼?? SHIFT 转换,上档选择(又: 2ndF、2nd、2nd(第二功能选择,Second Function)、ALT,按键设定为与其同色的功能 ALPHA 阿尔法,字母,按键设定为与其同色的功能 MODE 方式、模式,用于模式切换(不同的计算器有所不同,常用的见下表:

对于数值计数法有: Norm(normal)标准计数法 Fix(fixed)固定小数点 Eng(engineering)工程计数法 Sci(scientific)科学计数法 Inv 反、倒置,用于使用其它有关按键的相反功能,多用于电子计算器。如ln键变为e x键,sin键变为sin-1键,lsh键变为rsh键等EXP 以科学记数法输入数字,即表示以10为底的方幂(又:EE,英文名Exponent 说明:科学记数法:将一个数字表示成a×10的n次幂的形式,其中1≤|a|<10,n表示整数,这种记数方法叫科学记数法。如:5EXP2即5×102,就是500 F-E 科学记数法开关,显示方式转换 作用:十进制浮点(Floating Point)与科学记数法(Exponent)显示转换 S?D 数值在标准形式(Standard)和小数形式(Decimal fraction)之间转换 作用:分数与小数显示转换 Ran# 随机数(又:RAND、RND、Rnd#,英文名Random , : 分隔符,用于输入方程式之间、坐标数据之间分隔用 ∠角,用于标识极坐标数据的角度数据或复数的虚数 二、基础运算 0、00、1、2、3、4、5、6、7、8、9 数字

扫描矩阵键盘简介以及其FPGA设计思路

扫描键盘的设计思想和代码技巧非常值得学习。 首先扫描键盘可以节省FPGA 的引脚资源,例如一个4x4的扫描键盘有16个按键,如果不用扫描方式而是直接把16跟控制线接入FPGA ,就要16个引脚,而用扫描方式只需要4+4=8个引脚。尤其是随着键盘的增大,比如8x9=72的键盘,用扫描方式只需要17个引脚。 要想了解扫描键盘的原理,首先要知道矩阵键盘的电路结构。 如上图所示,矩阵键盘的某一个按钮按下会使对应的一条行线和列线导通,为了便于分析扫描过程做如下简化: 3.3v Row0 Row1 Row2 Row3 Col 0 Col 1 Col 2 Col 3 Row0 Row1 Row2 Row3 Col 0 Col 1 Col 2 Col 3 3 5 A E D C 2 B 9 8 F 4 6 0 1 7 接高电平 由FPGA 输出给键盘高低电平的组合,即是扫描码 键盘行线 高低电平的变化输入给FPGA

扫描键盘的工作状态分为两种: 第一种状态是判断是否有键按下,该状态下四根列线对应的电平状态是{col 0,col 1,col 2,col 3}=0000 。四根行线左端都接高电平,没有键被按下时,四根行线右端的状态是{row0,row1,row2,row3}=1111 。假如上图中按键3被按下了,也就是说row0和col 0接通了。那么四根行线右端的状态将会是{row0,row1,row2,row3}=0111 。也就是说,在第一种状态下,只要键盘行线输入FPGA的状态不是1111,就说明有键被按下了。马上进入第二状态。 第二种状态是判断具体哪个键被按下了。该状态下四根行线左端接高电平不变,四根列线对应的电平状态不断变化,由FPGA的输出的扫描码控制四根列线的电平状态。由第一状态的行线输入已经可以确定按键所处的行了。接下来只要再确定按键所处的列就可以确定到底哪个键被按下了。 如何根据行线的输入确定按键所处的列,奥妙就在于扫描码了。让列线以1000、0100、0010、0001的电平状态不断循环。假设上一状态确定按键处于row0行,那么随着扫描的进行,行线输入的变化规律如下表: 1000 0100 0010 0001 1000 0100 0010 0001 1000 0100 0010 0001 扫描 码 Row0 1 0 0 0 1 0 0 0 1 0 0 0 Row1 1 1 1 1 1 1 1 1 1 1 1 1 Row2 1 1 1 1 1 1 1 1 1 1 1 1 Row3 1 1 1 1 1 1 1 1 1 1 1 1 观察上表可以发现,在row0是1的时候与之对应的扫描码可以体现出按键所在列。 一个随之而来的设计思路是在第一状态确定按键所在行,然后在第二状态捕捉特定行是高电平的时候所对应的扫描码。 但是这里有一个不可避免的实际问题,那就是机械键盘的抖动!这种抖动主要体现在两个方面:第一,我们手指按某个键的时候可能由于接触面积大无意中碰到周围的键。第二,在按着一个键的时候由于力度不均或者接触不良,行线和列线并不能时刻保持接通的状态。下图来自网络上,描述的是单片机的机械键盘,借用一下。

卡西欧计算器fx-991CN X科学函数计算器(六)

卡西欧计算器fx-991CN X科学函数计算器(六) 矩阵是高等代数中常用的工具,在天体物理、量子力学等领域有着广泛运用,学习对高中理科生以及大学生都有非常重要的作用。卡西欧fx-991CN X是卡西欧第三代新型函数计算器,具备矩阵、计算、复数、统计、表格、方程/函数、向量等10种计算模式,能支持4×4矩阵计算,能够复制以及编辑矩阵变量。 一、基本操作 在卡西欧fx-991CN X科学函数计算器矩阵模式中,可以设置矩阵变量(MatA、MatB、MatC、MatD),指定、编辑变量以及矩阵元素,复制矩阵,并进行矩阵运算。 1.设置矩阵变量 进入矩阵模式后,选择1(MatA),根据需求设置矩阵的行与列。同理可设置MatB、MatC、MatD三个矩阵。

2.指定并编辑矩阵的变量数据 1)按OPTN+1(定义矩阵),然后在显示的菜单中,选择要向其指定数据的矩阵变量。 2)在出现的对话框上,使用一个数字按钮指定行数。 3)在出现的下一个对话框上,使用一个数字按钮指定行数。 4)使用显示的矩阵编辑器输入矩阵的元素。 3.编辑矩阵变量的元素 1)按OPTN+2(编辑矩阵),然后在显示的菜单中,选择要编辑的矩阵变量。 2)使用显示的矩阵编辑器编辑矩阵的元素。 4.矩阵答案存储器 无论何时,只要在矩阵模式中执行的计算结果为矩阵,MatAns屏幕都将显示该结果。该结果还会指定给名为“MatAns”的变量。 5.复制矩阵变量或(MatAns)的内容 1)使用矩阵编辑器显示要复制的矩阵。

2)按STO ,然后执行以下键操作之一,以指定复制目标:(-)(MatA )、“。,,,”(MatB )、x 1 -(MatC )或sin (MatD )。 二、矩阵计算示例 已知MatA=??????1112,MatB=??????--2112,MatC=??? ???--111001,请确认MatA 的平方和立方(MatA 2、MatA 3)。在计算器键盘上按下AC+MatA+2x 按键,然后确认得出结果? ?????2335;按下AC+MatA+SHIFT+2x +(3x ),确认得出答案? ? ? ???58813。 需要注意的是,不得使用?x 进行输入,需要使用2x 指定平方,并使用SHIFT+2x +(3x )指定立方。

计算器使用说明书

计算器使用说明书目录 取下和装上计算器保护壳 (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 年更换一次电池。电量耗尽的电池会泄漏液体﹐使计算器造成损坏及出现故障。因此切勿将电量耗尽的电池留放在计算器内。 ?本机所附带的电池在出厂后的搬运﹑保管过程中会有轻微的电源消耗。因此﹐其寿命可能会比正常的电池寿命要短。 ?如果电池的电力过低﹐记忆器的内容将会发生错误或完全消失。因此﹐对于所有重要的数据﹐请务必另作记录。 ?避免在温度极端的环境中使用及保管计算器。低温会使显示画面的反应变得缓慢迟钝或完全无法显示﹐同时亦会缩短电池的使用寿命。此外﹐应避免让计算器受到太阳的直接照射﹐亦不要将其放置在诸如窗边﹐取暖器的附近等任何会产生高温的地方。高温会使本机机壳褪色或变形及会损坏内部电路。 ?避免在湿度高及多灰尘的地方使用及存放本机。注意切勿将计算器放置在容易触水受潮的地方或高湿度及多灰尘的环境中。因如此会损坏本机的内部电路。 双行显示屏

基于msc51单片机实现的四位4乘4矩阵键盘计算器的C语言程序及其PROTUES电路和仿真

单片机原理及接口技术 课程设计报告 设计题目:计算器设计 学号:100230205 姓名:费博文 指导教师:张扬 信息与电气工程学院 二零一三年七月

计算器设计 单片机体积小,功耗小,价格低,用途灵活,无处不在,属专用计算机。是一种特殊器件,需经过专门学习方能掌握应用,应用中要设计专用的硬件和软件。近年来,单片机以其体积小、价格廉、面向控制等独特优点,在各种工业控制、仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用。与此同时,单片机应用系统的可靠性成为人们越来越关注的重要课题。影响可靠性的因素是多方面的,如构成系统的元器件本身的可靠性、系统本身各部分之间的相互耦合因素等。其中系统的抗干扰性能是系统可靠性的重要指标。 数学是科技进步的重要工具,数据的运算也随着科技的进步越发变得繁琐复杂,计算器的出现可以大大解放人在设计计算过程中的工作量,使计算的精度、速度得到改善,通过msc51单片机,矩阵键盘和LED数码管可以实现简单的四位数的四则运算和显示,并当运算结果超出范围时予以报错。 注:这一部分主要描述题目的背景和意义,对设计所采取的主要方法做一下简要描述。字数不要太多,300-500字。 另注:本文要当做模板使用,不要随意更改字体、字号、行间距等,学会使用格式刷。文中给出的各项内容都要在大家的报告中体现,可采用填空的方式使用本模板。 1. 设计任务 结合实际情况,基于AT89C51单片机设计一个计算器。该系统应满足的功能要求为: (1) 实现简单的四位十进制数字的四则运算; (2) 按键输入数字,运算法则; (3) LED数码管移位显示每次输入的数据和运算结果; (4) 当运算结果超出范围时实现报错。 主要硬件设备:AT89C51单片机、LED数码管、矩阵键盘。 注:这一部分需要写明系统功能需求,用到的主要硬件(参考实验箱的说明书)。

四则运算计算器

基于单片机实现的四则运算计算器 姓名 学号: 班级: 专业名称:测控技术与仪器 指导教师: 东北大学 2016年1月

课程设计(论文)任务书课程设计(论文)题目:基于单片机实现的四则运算计算器 基本内容和设计要求: 1、主机的矩阵键盘输入数和运算符号,从机显示运算结果。 2、主从单片机串行通信系统,并在LCD上显示运算内容及结果。 3、计算结果超过十位数字则显示错误。 4、运算除法时,结果只取整数,不是四舍五入。 5、有清零功能。

目录 课程设计(论文)任务书................................................................................................ i i 摘要 (1) 第1章绪论 (2) 1.1计算器简介 (2) 1.2设计主要内容 (2) 第2章系统硬件设计 (4) 2.1硬件组成 (4) 2.2输入模块 (4) 2.3输出模块 (5) 2.4运算模块 (5) 第3章系统软件设计 (7) 3.1 主程序 (7) 3.1.1主程序框图及初始化 (7) 3.1.2LCD程序框图及初始化 (8) 3.1.3键盘程序框图及初始化 (9) 3.1.4运算程序框图 (10) 第4章调试测试与实验分析 (11) 4.1 计算器调试 (11) 参考文献 (12) 心得体会 (13) 附录硬件原理图及PCB图 (14) 附录程序清单 (15) 附录实物照片 (28)

摘要 单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本设计是基于89C52RC单片机来进行的四则运算计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除的基本四则运算,并在LCD1602液晶显示屏上显示相应的结果。本电路采用89C52RC单片机为主要控制电路,利用4*4矩阵键盘作为计算器以及运算符的输入。显示采用字符LCD静态显示。软件用C语言编程,并用开发板进行演示。 关键词:计算器,89C52RC单片机,LCD,矩阵键盘

06 12864LCD显示计算器键盘按键实验

目录 1 课程设计概述和要求 (1) 1.1 课程设计要求与任务 (2) 1.2 课程设计思路 (2) 1.3 课程设计需要配置的环境 (3) 2 系统设计 (3) 2.1 设计框图 (3) 2.2 元件解析 (3) 2.2.1 LCD12864芯片……………………………………………………………4 2.2.2 AT89C51芯片 (5) 2.2.3 其他部件 (6) 2.2.4 电路分析 (7) 3 软件设计 (12) 3.1 程序流程图 (12) 3.2 程序代码 (12) 4 系统的仿真与调试 (13) 4.1 硬件调试 (13) 4.2 软件调试 (14) 4.3 软硬件调试 (14) 5 总结 (14) 附录1:程序代码 附录2:12864LCD显示计算器键盘按键实验Proteus仿真图

1 课程设计概述和要求 1.1 课程设计任务与要求 设计任务:利用AT89C51单片机结合12864LCD显示器设计计算器键盘按键。 设计要求1:本设计实现一个12864LCD显示12864LCD显示器设计计算器键盘按键 2.利用AT89C51控制整个电路来实现. 显示12864LCD显示器 设计计算器键盘按键,系统主要包括硬件和软件两部分。重点就 是各部分硬件的连接设计以及程序的编写。本章讲述的就是系统 硬件的设计,其中包括各模块的器件选择和电路设计。将计算器 按键上的信息传送至AT89C51主芯片之中,利用P2端口使之显 示于12864LCD液晶显示屏上。 1.2 课程设计目的思路 1、先把与题目有关的芯片资料找到,熟悉一下芯片资料 2、把此程序的电路图看懂,了解一下它的实现原理,以及实现的功能。 3、分析一下此程序的各部分的功能,各零件的工作原理。 4、对程序进行调试,分析调试结果,观察并得出结论。 1.3 课程设计需要配置的环境 1、一台主机,一台显示器 2、Keil uVision3/Keil uVision4 应用程序软件 3、ISIS 7 Professional 仿真软件 4、老师交给的仿真电路图,及案例 5、纸张,以及一些参考资料 2 系统设计 2.1.设计框图 框图设计是为了能够从整体上把握系统的各个大的模块以及各个模块之间的联系。同时罗列出需要主要使用到的各个器件,以方面系统开发中器件的选取。通过框图设计,让设计者从整体上把握系统的开发。 12864LCD显示计算器键盘按键实验设计框图如下所示

计算器按键的使用说明

计算器按键的使用说明 . 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功能,即清除存储数。

c语言 矩阵计算器

#include #define M 20 #define N 20 float A[M][N]; //定义了含有400个浮点型数组元素的二维数组 float B[M][N]; float C[M][N]; int i,j,m,n,p,q,k; int main() { printf(" ###########################################\n"); printf(" ### 欢迎您使用矩阵计算器系统。###\n"); printf(" ### 系统功能:###\n"); printf(" ### 计算两个矩阵相加,相减; ###\n"); printf(" ### 矩阵相乘;矩阵转置; ###\n"); printf(" ### ###\n"); printf(" #########################################\n\n"); int x; do{ printf("请选择您需要的运算,若退出则选择0后按回车键结束\n"); printf("******************************************************************\n") ; printf("0,退出\n"); printf("1,矩阵相加\n"); printf("2,矩阵相减\n"); printf("3,矩阵相乘\n"); printf("4,矩阵转置\n"); printf("******************************************************************\n") ; scanf("%d",&x); switch (x) {

计算器按键的使用说明

计算器按键的使用说明. 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功能,即清除存储数。

矩阵键盘简易计算器要点

《微处理器系统与接口技术》课程实践报告 计算器 班级: 学号: 学生姓名: 指导老师: 日期: 2014.7.5 ******电子与信息工程学院

目录 1、设计题目:计算器 (3) 2、设计目的 (3) 3、计算器总体设计框图 (3) 4、计算器详细设计过程 (4) 4.1输入模块 (4) 4.2键盘输入电路 (5) 4.3主程序模块 (6) 5、分析与调试 (6) 7、运行结果 (8) 8、结束语 (8) 8、参考文献 (8) 9、源程序附录 (9) 9.1主程序 (9) 9.2延时函数delay (12) 9.3显示函数display (12) 9.4键盘扫描函数 (14) 9.5预定义函数 (15)

1、设计题目:计算器 2、设计目的 此次课程实践题目是基于单片机简单计数器的设计,本此设计使用的是Intel公司MCS-51系列的8051AH单片机。设计的计算器可以实现2位小数的加、减、乘、除运算以及整数的乘方运算,其中用4*4矩阵键盘来输入待参与运算的数据和运算符;八位数码管动态显示输入待参与运算的数据以及运算后产生的结果,每个硬件模块的调用过程中涉及到了函数入口及出口参数说明,函数调用关系描述等。 3、计算器总体设计框图 计算器以MCS-51系列的8051AH单片机作为整个系统的控制核心,应用其强大的I/O功能和计算速度,构成整个计算器。通过矩阵键盘输入运算数据和符号,送入单片机进行数据处理。经单片机运算后控制LED数码管的输出。整体框图如图1所示: 图3 整体框图 本系统硬件主要由矩阵键盘、独立键盘I/O输入输出、数码管显示等主要部分组成。各模块的主要功能如下: (1)矩阵键盘将十六进制编码的数字送到单片机。 (2) 单片机扫描键盘信号并接收,对输入的键盘信号进行处理 (3) LED以动态扫描的方式移位显示每次输入的数据和最后的运算结果。实践设计的具体流程图如下图2所示:

单片机课程设计4X4矩阵键盘显示要点

长沙学院 《单片机原理及应用》 课程设计说明书 题目液晶显示4*4矩阵键盘按键号 程序设计 系(部) 电子与通信工程系 专业(班级) 电气1班 姓名龙程 学号2011024109 指导教师刘辉、谢明华、王新辉、马凌 云 起止日期2014.5.19—2014.5.30

长沙学院课程设计鉴定表

《单片机技术及应用》课程设计任务书系(部):电子与电气工程系专业:11级电子一班指导教师:谢明华、刘辉

目录 前言 (5) 一、课程设计目的 (6) 二、设计内容及原理 (6) 2.1 单片机控制系统原理 (6) 2.2阵键盘识别显示系统概述 (6) 2.3键盘电路 (7) 2.4 12864显示器 (8) 2.5整体电路图 (9) 2.6仿真结果 (9) 三、实验心得与体会 (10) 四、实验程序 (10) 参考文献 (18)

前言 单片机,全称单片微型计算机(英语:Single-Chip Microcomputer),又称微控制器 应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器;从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。现代人类生活中所用的几乎每件有电子器件的产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电子产品中都含有单片机。汽车上一般配备40多片单片机,复杂的工业控制系统上甚至可能有数百片单片机在同时工作!单片机的数量不仅远超过PC机和其他计算机的总和,甚至比人类的数量还要多。 是以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方。液晶显示器功耗低,因此倍受工程师青睐,适用于使用电池的电子设备。英国科学家在上世纪制造了第一块液晶显示器即LCD。而第一台可操作的LCD基于动态散射模式(Dynamic Scattering Mode,DSM),是RCA公司乔治·海尔曼带领的小组开发的。 LED点阵屏通过LED(发光二极管)组成,以灯珠亮灭来显示文字、图片、动画、视频等,是各部分组件都模块化的显示器件,通常由显示模块、控制系统及电源系统组成。LED点阵显示屏制作简单,安装方便,被广泛应用于各种公共场合,如汽车报站器、广告屏以及公告牌等。 交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键, 键盘是合理的。

matlab-GUI矩阵计算器

数学应用软件工具箱开发 ——矩阵计算器 姓名:*** 学号:******** 指导老师:*** 专业:******** 2014年9月11日

一.操作过程 1.准备工作 ①在Matlab的主窗口中,选择File菜单中的New菜单项,再选择其中的GUI 命令,就会显示GUI的设计模板; ②选择GUI模板中的默认的空白模版Blank GUI(Default)就会显示GUI设计窗口,可以开始设计矩阵计算器了。 2.设计过程 ①在GUI界面中加入以下控件: 1>2个文本编辑器(edit text)作为输入矩阵的窗口; 2>16个用以执行运算的按钮(push button); 3>4个静态文本框(static text),其中一个作为显示计算所得结果的窗口,另外3个分别作为表示所输入的矩阵(A、B)以及用来输入标题(矩阵计算器); 4>加入3个按钮组(button group)分别圈住: a.1>中的2个控件及3>中的A、B; b.2>中的16个计算按钮; c.3>中的显示计算结果的窗口。 ②分别双击以上25个控件修改其string属性如下: 1>中的改为空白(将原有的“edit text”删掉); 2>中的改为对应的矩阵运算或文字,如“+”、“/R”、“秩”、“逆”等(见图1); 3>中的按顺序改为空白、“A”、“B”以及“矩阵计算器”; 4>中的按钮组分别改为“输入区”、“功能区”、“输出区”。 ③对每个控件分别单击右键,选择“view callback”→“callback”→“保存”,在每个控件的函数后加入代码(见附件)。 ④此外,还需要做的小变动有: 1>②中修改string属性时通过修改fontWeight及fontSize把string的字符粗细、字号也一并修改了。 2>分别双击2个文本编辑器(edit text)将其max属性取值为100或更大的值,以使编辑器有滚动条,方便显示输入的维数比较大的矩阵。 3>双击计算结果窗口将其style改为listbox,也用于显示维数比较大的计算结果。

单片机 矩阵键盘实验 实验报告

实验五矩阵键盘实验 一、实验内容 1、编写程序,做到在键盘上每按一个数字键(0-F)用发光二极管将该代码显示出来。按其它键退出。 2、加法设计计算器,实验板上有12个按键,编写程序,实现一位整数加法运算功能。可定义“A”键为“+”键,“B”键为“=”键。 二、实验目的 1、学习独立式按键的查询识别方法。 2、非编码矩阵键盘的行反转法识别方法。 三、实验说明 1、MCS51系列单片机的P0~P3口作为输入端口使用时必须先向端口写入“1”。 2、用查询方式检测按键时,要加入延时(通常采用软件延时10~20mS)以消除抖动。 3、识别键的闭合,通常采用行扫描法和行反转法。行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。 行反转法识别闭合键时,要将行线接一并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口在各行线上全部送低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。然后,程序对两个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将刚才读得的列线值从列线所接的并行端口输出,再读取行线上输入值,那么,在闭合键所在行线上的值必定为0。这样,当一个键被接下时,必定可以读得一对唯一的行线值和列线值。 由于51单片机的并口能够动态地改变输入输出方式,因此,矩阵键盘采用行反转法识别最为简便。 行反转法识别按键的过程是:首先,将4个行线作为输出,将其全部置0,4个列线作为输入,将其全部置1,也就是向P1口写入0xF0;假如此时没有人按键,从P1口读出的值应仍为0xF0;假如此时1、4、7、0四个键中有一个键被按下,则P1.6被拉低,从P1口读出的值为0xB0;为了确定是这四个键中哪一个被按下,可将刚才从P1口读出的数的低四位置1后再写入P1口,即将0xBF写入P1口,使P1.6为低,其余均为高,若此时被按下的键是“4”,则P1.1被拉低,从P1口读出的值为0xBE;这样,当只有一个键被按下时,每一个键只有唯一的反转码,事先为12个键的反转码建一个表,通过查表就可知道是哪个键被按下了。 四、接线方法 键盘连接成4×4的矩阵形式,占用单片机P1口的8根线,行信号是P1.0-1.3,列信号是P1.4-1.7。

相关文档
相关文档 最新文档