文档视界 最新最全的文档下载
当前位置:文档视界 › 1602LCD显示电话拨号键盘按键.dwg

1602LCD显示电话拨号键盘按键.dwg

1602LCD显示电话拨号键盘按键.dwg
1602LCD显示电话拨号键盘按键.dwg

---------

毕业论文(设计)

题目__单片机课程设计________

指导教师________ _________

院系___ __________

专业__ __________

班级________ _________

姓名______________________

学号____ ___________

2015年 9月 1 日至2015年 12月 7日(共12周)

精品文档

目录

1.设计预达目标 (1)

2.设计方案 (1)

2.1单片机最小系统 (1)

2.2输入按键系统 (2)

2.3 1602LCD显示系统 (3)

2.4设计原理图 (6)

3. 分析与编程 (7)

3.1系统流程图 (7)

3.2 LCD显示程序流程图 (7)

3.3 设计程序 (8)

4.仿真 (15)

5.在实现过程中遇到的问题及排除措施 (16)

6.设计心得体会 (16)

7.参考文献 (16)

1602LCD显示电话拨号键盘按键

摘要:介绍了基于单片机LCD1602显示屏的设计过程。给出了其硬件原理图和系统仿真图。

关键词:单片机 1602LCD显示屏键盘系统

一、设计预达目标

要求以51单片机作为微控制器,通过1602LCD显示屏显示拨号键盘,键值包括数字0-9及“*”“#”等12个按键,数字显示为逐个显示方式。

二.设计方案

首先构建单片机最小系统、键盘输入系统及1602LCD显示系统。通过单片机扫描键值,将其结果输入到1602LCD显示屏上。

(一)单片机最小系统

单片机最小系统主要由电源、复位、震荡电路以及扩展部分等部分组成。

1

图2.1单片机最小系统

(二)输入按键系统

独立的键盘与单片机相连时,每个按键都需要单片机的一个I/O线,若按键较多时,占用的I/O口资源就会过多,为此就引入了矩阵键盘。本次设计共有0~9、#、*共12个按键,因此引入3*4的矩阵键盘,共需要7个I/O口,7条线分别与单片机P3口相连。

{注:当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。}

图2.2输入按键系统

(三) 1602LCD显示系统

AT89C51单片机,P0口输出时,必须使用上拉电阻,提高电压,否则无法得到输出结果。{注:51单片机的P0口在做IO时需要上拉电阻,使其避免悬空,因为P0口内部是漏集开

路输出的。其他口则不需要上拉电阻。

}

1 LCD1602原件显示原理

图2.3 1602 LCD显示系统

图2.3.1 LCD1602引脚图

表1 LCD1602引脚功能

2 LCD1602引脚说明

第1脚:VSS为地电源;

第2脚:VDD接+5V电源;

第3脚:VL为液晶显示器对比度调度端,接正电源时对比度最弱,接地时对比度最高,对比度过高会产生“鬼影”,必要时可以通过一个10K的电位器调整对比度。

第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS 和R/W同为低电平时可以写入指令或者显示地址,当RS低电平R/W为高电平时可以读忙信号,当RS为高电平R/W低电平时可以写入数据。

第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:D0~D7为8位双向数据线。

第15脚:背光源正极。

第16脚:背光源负极[2]。

3 LCD1602指令

1602液晶模块内部的控制器共有11条指令,如下表所示

表2液晶模块内部控制其指令

指令说明:

指令1:清显示,指令码01H,光标复位到地址00H位置;

指令2:光标复位,光标返回到地址00H;

指令3:光标和显示位置设置I/D,光标移动方向,高电平向右移,低电平向左移,S:屏幕上所有文字是否左移或右移,高电平表示有效,低电平表示无效;

指令4:显示开关控制。D:控制整体的显示开与关,高电平表示开显示,低电平表示关显示。C:控制光标的开与关,高电平表示有光标,低电平表示无光标。B:控制光标是否闪烁,高电平闪烁,低电平不闪烁;

指令5:光标或显示移位S/C,高电平时显示移动的文字,低电平时显示移动的光标;

指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线。N:低电平时为单位行显示,高电平时为双行显示。F:低电平时显示5*7的点阵字符,高电平时显示5*10的显示字符。

指令7:字符发生器RAM地址设置;

指令8:DDRAM地址设置;

指令9:读忙信号和光标地址。BF:忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平表示不忙[2]。

4 LCD1602数字代码

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,其中阿拉伯数字的代码为:

代码数字

00110000 0

00110001 1

00110010 2

00110011 3

00110100 4

00110101 5

00110110 6

00110111 7

00111000 8

00111001 9

(四)设计原理图

根据设计要求画出原理图:电路图中的扬声器也就是LS1在这个系统中起到了读出按键的数值及拨号与接听的传递功能

图2.4设计原理图

三分析与编程

(一)系统流程图

图3.1为系统总流程图。首先系统进入初始化,系统开始运行,当检测键盘没有按下时,则返回继续检测直至有键盘按下;当扫描到键盘按下时,读取按键值,并检测是否超过10位,若没有超过则送入液晶显示;若超过10位则系统重新初始化。

(二)LCD显示程序流程图

显示程序流程图如图3.2流程图分析:首先对1602显示屏进行初始化,然后检查忙信号,若BF=0,则获得显示RAM的地址,写入相应的数据显示;若BF=1,则代表模块正在进行内部操作,不接受人和外部指令和数据,知道BF=0为止。

(三)设计程序 #include #include #define uchar unsigned char #define uint unsigned int

#define DelayNOP() {_nop_();_nop_();_nop_();_nop_();}

N

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

下表描述了计算器的功能: 按钮功能 % 按百分比的形式显示乘积结果。输入一个数,单击“*”,输入第二个数,然后单击“%”。例如, 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”的反函数。完成一次计算后自动关闭反函数功能。

计算器有关按键说明大全

计算器有关按键说明大全 一、基本按键 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 数字

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功能,即清除存储数。

矩阵键盘简易计算器要点

《微处理器系统与接口技术》课程实践报告 计算器 班级: 学号: 学生姓名: 指导老师: 日期: 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所示:

计算器按键的使用说明

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

计算器说明书

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点阵的汉字。低压低功耗是其又一显著特点。与同类液晶模块相比,无论硬件电路或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的液晶模块。

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

下表描述了计算器的功能: 按钮%功能按百分比的形式显示乘积结果。 输入一个数,单击“*”,输入第二个数,然后单击“%”。 例如,50 * 25%将显示为 12.5。 也可执行带百分数的运算。 输入一个数,单击运算符(“+”、“-”、“*”或“/”),输入第二个数,单击“%”,然后单击“=”。 例如,50 + 25%(指的是50的25%)= 62.5。 ()*++/--./0–91/x=A–FAndAve开始括号的新层。 当前的层数显示在“)”按钮上方的框中。 括号的最多层数为 25。 结束括号的当前层。 乘法。 加法。 改变显示数字的符号。 减法。 插入小数点。 除法。

将此数字置于计算器的显示区。 计算显示数字的倒数。 对上两个数字执行任意运算。 若要重复上一次的运算,请再次单击“=”。 在数值中输入选中字母。 只有在十六进制模式为开启状态时该按钮才可用。 计算按位AND。 逻辑运算符在执行任何按位运算时将截断数字的小数部分。计算“统计框”对话框中显示数值的平均值。 若要计算平均方值,请使用“Inv”+“Ave”。 只有先单击“Sta”,该按钮才可用。 Backspace站CCEcos删除当前显示数字的最后一位。 将显示数字转换为二进制数字系统。 最大的无符号二进制数值是将64位全都设置为 1。 清除当前的计算。 清除显示数字。 计算显示数字的余弦。 若要计算反余弦,请使用“Inv”+“cos”。 若要计算双曲余弦,请使用“Hyp”+“cos”。 若要计算反双曲余弦,请使用“Inv”+“Hyp”+“cos”。

cos只能用于十进制数字系统。 Dat十进制度数dms在“统计框”对话框内输入显示的数字。 只有先单击“Sta”,该按钮才可用。 将显示数字转换为十进制数字系统。 在十进制模式下将三角函数输入设置为度数。 将显示数字转换为度-分-秒格式(假设显示数字是用度数表示的)。 若要将显示数字转换为用度数表示的格式(假设显示数字是用度-分-秒格式表示的),请使用“Inv”+“dms”。 dms只能用于十进制数字系统。 ExpF-E梯度HypIntInv允许输入用科学计数法表示的数字。 指数限制为四位数。 指数中只能使用十进制数(键0-9)。 Exp只能用于十进制数字系统。 打开或关闭科学计数法。 大于10^32的数总是以指数形式表示。 F-E只能用于十进制数字系统。 在十进制模式中,将三角函数输入设置为梯度。 设置“sin”、“cos”和“tan”的双曲函数。 完成一次计算后自动关闭双曲函数功能。 显示十进制数值的整数部分。 若要显示十进制数值的小数部分,请使用“Inv”+“Int”。

计算器功能说明1

一、标准型和科学型两种面板 我们既可从Windows附件菜单中启动它,也可直接运行名为 “CALC.EXE”的程序来启动它。计算器有“标准型”和“科学型”两种面板视图,“标准型”面板(图1)(^31060301a^)相当于我们日常生活中所用的普通计算器,它能完成十进制数的加、减、乘、除及倒数、平方根等基本运算功能。“科学型”面板(图2)(^31060301b^)相当于我们平时所说的函数型计算器,运算功能更强、更完善。 从“查看”菜单中选中相应项可方便地切换它们,面板中显示的值将在切换时被清除。因此,如果不想丢失数据,就要用到“计算器”的存储功能。具体操作如下: 1.直接点击“MS”按钮,将当前显示值保存下来,同时在“MC”按钮上面方框中将显示“M”字样; 2.进行计算时,再点击“MR”按钮即可将保存的值回读出来使用。 需注意的是,存储器中只能保存最近一次存入的数据。 二、常用按钮的用处 如果按钮呈灰色,表示其当前不可用。 1.“CE”:清除当前显示的数值,此功能可用于修改错输的值,如要计算60×40,输入60后,点击“*”按钮,再输入第二个数,本来应输入40,但一

不小心输成了77,没关系,单击一下“CE”按钮即将77清除,接着输入正确的值40,最后点击“=”按钮即完成计算。 2.“C”:清除所有的数据(包括输入的运算量、运算中间值或结果值),完成计算器的清零工作。 3.“ /-”:改变当前显示数据的正负。 4.“pi”:输入圆周率π的值。选中“Inv”,再单击它,可输入 2*pi(6.28…)。 5.“MC”:清除存储区中的值; “M ”:将当前显示的值与存储器中的值相加并保存结果,通过“MR”按钮可显示结果值。 6.“F-E”:打开或关闭科学计数法,对大于10^32的数总是以指数形式表示。 “Exp”:允许输入用科学计数法表示的数,指数最多为四位且只能为整数。科学计数法只能用于十进制。如要以科学计数法输入1.23E-56,应该这样操作:先输入1.23,再单击“Exp”按钮,出现“1.23e 0”,单击“ /-”按钮将“0”前面的正号变负号,接着输入“56”即成。当然,我们也可直接输入一个数,然后点击“F-E”按钮切换成科学计数法形式。 三、计算实例 1.阶乘 输入要计算的值,单击“n!”按钮即可,如5n!=120。 2.指数及对数运算 计算x的y次方。例如,计算2的4次方,先输入2,点击“x^y”按钮,再输入4,最后点击“=”即得到结果为16。面板上还直接提供了平方和立方运算按钮。选中“Inv”,再执行这样的运算,可计算x的y次方根。输入待计算值,单击“log”计算以10为底的常用对数;单击“ln”计算以e为底的自然对数。选中“Inv”,再执行这样的运算,可计算10的x次方或e的x次方。 3.三角函数运算 可以直接计算正弦、余弦、正切,选中“Inv”,再执行这样的运算,可计算反正弦、反余弦、反正切值。例如要计算sin30°的值,应该这样操作:在十进制、角度方式下先输入30,然后点击“sin”按钮即得到结果值为0.5。

基于与Proteus仿真的键盘计算器的设计

基于与P r o t e u s仿真的键盘计算器的设计 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

基于8086与Proteus仿真的4*4键盘计算器的设计一、设计目的 本次课程设计的实验目的是通过该实验掌握较复杂程序的设计。 能够独立完成用程序对8086、8255控制键盘和LED显示的控制,完成计算器加减法的应用。独立编写程序,明白和掌握程序的原理和实现方式。为以后的设计提供经验。学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。 二、设计内容 设计计算器,要求至少能完成多位数的加减乘除运算。独立完成用程序对8086、8255控制键盘和LED显示的控制,完成计算器加减乘除的应用。 三、设计原理与硬件电路 设计的思路是:首先利用程序不断扫描键盘是不是有输入,如果没有就一直扫描,如果有就停止扫描,完成输入,利用汇编的程序核对输入键的数值,通过调用子程序完成数据的储存或者是加减的运算。运算完成后将运算的结果储存并显示到LED显示器上。 各部分硬件功能: 可编程并行通信接口芯片8255A 8255A内部结构: 1. 并行输入/输出端口A,B,C

8255A内部包括三个8位的输入输出端口,分别是端口A、端口B、端口C,相应信号线是PA7~PA0、PB7~PB0、PC7~PC0。端口都是8位,都可以作为输入或输出。通常将端口A和端口B定义为输入/输出的数据端口,而端口C则既可以作数据端口,又可以作为端口A和端口B的状态和控制信息的传送端口。 2.A组和B组控制部件 端口A和端口C的高4位(PC7~PC4)构成A组;由A组控制部件实现控制功能。端口B和端口C的低4位(PC3~PC0)构成B 组;由B组控制部件实现控制功能。 A组和B组利用各自的控制单元来接收读写控制部件的命令和CPU通过数据总线(D0~D7)送来的控制字,并根据他们来定义各个端口的操作方式。 3. 数据总线缓冲存储器 三态双向8位缓冲器,是8255A与8086CPU之间的数据接口。与I/O操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送。 4. 读/写控制部件 8255A完成读/写控制功能的部件。能接收CPU的控制命令,并根据控制命令向各个功能部件发出操作指令。 CS 片选信号:由CPU输入,有效时表示该8255A被选中。 RD, WR 读、写控制信号:由CPU输入。RD有效表示CPU读8255A,WR有效表示CPU写8255A。RESET 复位信号:由CPU输入。RESET信号有

矩阵键盘和数码管制作计算器

/************************************************************ 制作人:火柴 2011-07-14 ************************************************************ ************************************************************ 计算器+ - ×/ 使用说明:4×4矩阵键盘+ 数码管 P0 :矩阵键盘p1:位选P2:段选 矩阵键盘示意图如下: 1 2 3 + 4 5 6 - 7 8 9 × 清屏0 = / ************************************************************/ #include #include #define uint unsigned int #define uchar unsigned char /************************************************************ 查表 ************************************************************/ uchar code lab[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71, 0x80,0x00,0x76,0x3e}; // 点暗H U uchar buffer[4]; // ={} uchar bufferx[4],buffery[4]; uint x,y,z; /************************************************************ 延时函数 ************************************************************/ void delay(uint z)//延时 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /************************************************************ ************************************************************/

计算器上按键说明

计算器上按键说明: AC :清除键,清楚显示及内部存储的数值(全部归0)。 CE :清除输入键,仅清楚当前显示的数值,前期存储的计算结果不清除(仅显示器显示0)。M+ M- MR ,存储计算键 M+键:当屏幕上已经出现计算结果或某个数值后,按下M+键,就把屏幕上的数字存到了存储器中,此时计算中断,可以按新的数字进行新的运算,如果再次按下M+键,就会把屏幕当前的数和刚才存在存储器中的数相加,再把计算结果存在存储器中。 比如:按下这些键:45×3= M+ 12×3= M+ 当按下“45×3=”后,屏幕会出现135,在这时按下“M+”键,就把135存在存储器中了,可以继续按其他数据开始新的运算,当按下“12×3= ”后,屏幕出现的是36,这时再按下“M+”,就在内部运算,把36和135相加,把最后的结果171存在存储器中。 M-键:M-与M+相反,就是把存储器中的数据减去当前屏幕上的数,再把结果存储。 MR键:当存储器中存的有数据时,按下MR键,就可以把存储器中的数据显示在屏幕上MC键:清除存储器中存的数据,把其中的数归零。 GT键:功能就是可以将等号后的数值进行累加,比如说你先输入45*2=,得出90,再输入12*2=,得出24,再按下GT键,则会自动将90和24累加起来,得出114,只要不按AC键,就可以一直累加下去,屏幕也会显示"GT"字样。 UP 5/4 CUT就是小数的处理办法 UP:进一法保留小数位数,,即设置好保留小数多少位的情况下,无论超出保留小数位数的数字是多少,前一位上的数字都要加1。如:保留2位小数,计算结果是4.47865,在UP模式下输出结果是4.48。 5/4:四舍五入保留小数位数,如:保留2位小数,计算结果是4.47865,输出结果是4.48,计算结果是4.47465,在5/4模式下输出结果是4.47。 CUT:舍去法保留小数位数,即设置好保留小数多少位的情况下,无论超出保留小数位数的数字是多少,都要去掉保留位数以后的数字。如:保留2位小数,计算结果是4.47865,在CUT模式下输出结果是4.47。 F 3 2 0 ADD2就是如何保留小数 F:不改变原来输入 4、2、0:保留4、2、0位小数

计算器键盘按键显示

计算器键盘按键显示 摘要 为了满足利用AT89C51单片机结合12864LCD显示器设计计算器4*4键盘按键的要求,我设计了利用AT89C51控制整个电路显示12864LCD显示器设计计算器键盘按键的系统。系统主要包括硬件和软件两部分。其中包括各模块的器件选择和电路设计。将计算器按键上的信息传送至AT89C51主芯片之中,利用P2端口使之显示于12864LCD液晶显示屏上,包含复位、定时电路。通过在proteus和keil仿真软件联合仿真环境下,系统达到了通过按键显示计算器键盘按键的需求,12864LCD 精准的显示了按键信息,达到了目的。 关键字:计算器键盘、液晶显示屏、按键、复位、定时

一、系统方案论证与选择 根据题目要求,系统可以分为定时电路模块、复位电路模块、液晶显示电路模块、键盘模块、控制电路模块,控制电路是以AT89C51为主控芯片,其他电路模块都是由控制电路模块AT89C51芯片进行控制。 如图1,为系统总电路模块框图。 定时 图1 系统总框图 1.1系统基本方案论证 为实现各模块的功能,分别论证了几种不同的设计方案并进行了讨论,并且就各方案的优缺点进行了方案选择。 1.1.1液晶显示电路的选择 方案一:选用LCD1602液晶显示器,LCD1602是字符型的模组,为16字乘2行字符型。但只能显示数字与字符,不可以显示汉字。不能显示出题目目的的汉字字符。 方案二:选用LCD12864液晶显示器,12864屏幕为64行,每行显示128个字符,是点阵型显示器。可根据需求任意显示字符、数字 、汉字、图形,LCD12864 是图形型的模组。显示器控制器接口信号说明如表1所示。

计算器键盘输入update(非常有用)

计算器update——实现键盘输入 吴蔓电工一2017.5.12 之前做计算器时就想实现键盘功能,但是当时还不太会,刚接触,就先实现了各种函数,但是一直想实现键盘输入和鼠标输入均可的计算器,所以我最近半个月一直断断续续在做,由于最近考试多所以进度很慢,今天刚好考完,就可以全身心投入了,做好了这个只有加减乘除的键盘鼠标输入的计算器。 由于时间有限,这次不做exe了。 这次的键盘输入我只是完成了基本的加减乘除,sin,cos等函数运算暂时没有考虑,但是这是一个可以用鼠标控制输入也可以键盘输入的计算器,主要功能: 按下home键——清零,清空结果文本框,可重新输入新的数字 按下ESC键——退出计算器 按下backspace键——退格 按下等号/回车——得到计算结果,但是如果按的是等号,结果文本框会多显示一个”=”在最后,但是不影响计算结果正确性。如下图:(界面中右下角hello没有任何功能,只是为了美观) 鼠标输入的逻辑——首先设置当前运算符是=,输入一个数字,然后输入运算符,一旦检测到输入运算符就应该要进入一个处理运算符的函数,然后由于当前运算符是=,就执行等号

那部分的程序(仅仅是获得目前输入的第一个数字),然后应该清空文本框,让firstDigit=true,又可以输入数字,并改变当前运算符为刚输入的运算符;再输入等号,又进入处理运算符的那个程序,但是当前运算符应该是刚刚输入的运算符,所以执行+-*/对应的运算程序,得到结果。 键盘输入的逻辑——按下操作数一,显示在文本框中——>按下运算符(+-*/),获取第一个操作数到resultNum中,清空文本框——>显示出运算符,再清除;——>按下操作数2,显示出来,按下等号,就获取操作数二,再做相应的计算得到结果显示出来。 关键是加减乘除四则运算用到的四个布尔变量——plus,sub,mul,div,他们最开始设置为false,一旦检测到相应的运算符按下就变为true,等号按下后根据谁是true做什么运算。 做的过程中遇到一些问题,主要有以下几个: 1.乘号,加号检测不到。使用if(e.getKeyCode()==KeyEvent.VK_SHIFT && e.getKeyCode()==61){//加号 System.out.println("你按了+键"); resultNum=getNumberFromText(); resultText.setText(""); plus=true;}是检测不到的,具体解决方法在代码中写的很清楚。 加号应该使用if(e.getKeyChar()=='+'){//加号 System.out.println("你按了+键"); resultNum=getNumberFromText(); resultText.setText("");

计算器每个键的使用方法

一、设置键 (一)负责位数型态的控制(二)负责小数位数的控制。 ↑5∕4 ↓ F 4 2 0 A ↓↓↓↓↓↓↓↓ 所四所显保保保设有舍有示留留留置小五小所四两零小 数入数有位位位数都都数小小小两入舍字数数数位1.根据计算的需要而设置的特殊控制键。 2.先设定,后运算。 二、功能键 对运算过程进行控制而设置的 ⑶清除键——AC:清除所有计算结果。 ⑷正负转换键——+/-:即将加减转换。如:8+5(+/-)=变成8-5 ⑸累加键——GT:总和计算。 GT是用来计算总和的 例:按出1*2=显示结果应该为2 再计算:2*2=显示结果应该为4 然后按GT.显示结果就是6,(2+4)的结果.

即你按了等号后得到的数字全部被累计 按GT后显示累计数再按一次清空 ⑹记忆加法——M+:即将算式累加贮存在机内。 ⑺记忆减法——M-:即将算式累减贮存在机内。 ⑻记忆算式显示、清除键——M(R)(C):即显示和清除计算结果。 ⑹、⑺、⑻要结合使用如下表: 例:46×78 +125÷5 -72×8 3,037 操作:46×78 按M+ 125÷5 按M+ 72×8 按M- 按MRC 3,037 ⑼本利和键——MU:即自动将本金和利息加在一起 例:650+650×15%=747.50 操作:650×15MU ⑽清除末位数键——→:即把当前数字的末位数消除。如:23→2 ⑾清除当前数键——CE:即将当前数字清除。如:23+46 CE=23 ⑿开机键和清除键——ON/C:即打开机器和清除计算结果。

三、符号键 计算数字而设置的一些运算键 ⒀开平方键——√:计算开平方时使用。9√=3 ⒁百分数键——%:计算百分数时使用。第一位不能用,第二位用,3*6%=0.18 ⒂乘算键——×:计算乘算时使用。 ⒃除算键——÷:计算除算时使用。 ⒄加号键——+:计算加法时使用。 ⒅减号键——-:计算减法时使用。 ⒆等号键——=:计算完毕时使用。 四、数字键 为配合运算而设置的。 计算器键盘示意图: 789 456 123 000 . 无论计算器有多少个键,数字键均会设置在中间,以数字键为中 线将计算器键盘分为三块:左、中、右三个区。具体: 左键区中键区右键区

单片机中用矩阵键盘实现计算器

计算器 1.程序要求: 用矩阵按键实现简单的加减乘除运算。 2.程序代码: #include #include sbit col_1=P1^4; sbit col_2=P1^5; sbit col_3=P1^6; sbit col_4=P1^7; unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴极数码管 unsigned char keynum,flag; unsigned char num1,num2,flag1,flag2,flag3,flag4; void keyscan(void); void display(); void keyfind(unsigned char); void keyprocess(void); void delay(unsigned int z) //延时1ms { unsigned int x,y; for(x=110;x>0;x--) for(y=z;y>0;y--); } void main(void) { while(1) { keyscan(); //按键扫描函数 keyprocess(); //数据处理 display(); //数据显示 } } void keyscan(void) { col_1=0; col_2=0;

col_3=0; col_4=0; if ((P1&0x0f)!=0x0f) //判断行线是否全为1,不是则处理{ col_1=0; //第一列输出'0' col_2=1; col_3=1; col_4=1; keyfind(0); col_1=1; //第二列输出'0' col_2=0; col_3=1; col_4=1; keyfind(4); col_1=1; //第三列输出'0' col_2=1; col_3=0; col_4=1; keyfind(8); col_1=1; //第四列输出'0' col_2=1; col_3=1; col_4=0; keyfind(12); col_1=0; //列线输出全为'0' col_2=0; col_3=0; col_4=0; flag++; //每按一下标志位加1 while(((P1&0x0f)!=0x0f)); //等待按键释放} } void keyfind(unsigned char col_dat) { unsigned char temp; temp=(~P1)&0x0f; //求取各行状态 switch(temp) //键值计算 { case 1: keynum=1+col_dat;

计算器按键键盘报告书(全)

计算器键盘按键显示 设计者:—————— 设计日期:2013年——月——日

摘要:为了满足利用AT89C51单片机结合12864LCD显示器设计计算器4*4键盘按键的要求,我设计了利用AT89C51控制整个电路显示12864LCD显示器设计计算器键盘按键的系统。系统主要包括硬件和软件两部分。其中包括各模块的器件选择和电路设计。将计算器按键上的信息传送至AT89C51主芯片之中,利用P2端口使之显示于12864LCD液晶显示屏上,包含复位、定时电路。通过在proteus 和keil仿真软件联合仿真环境下,系统达到了通过按键显示计算器键盘按键的需求,12864LCD精准的显示了按键信息,达到了目的。 关键字:计算器键盘、液晶显示屏、按键、复位、定时 Abstract: in order to meet the needs of using AT89C51 MCU with 12864LCD display design calculator 4*4 keyboard key requirements, I design the AT89C51 control the entire circuit display system of 12864LCD display design calculator keypad. The system mainly includes two parts: hardware and software. Including device selection and circuit design of each module. To transmit the information to the AT89C51 main chip calculator on the button, the display on the 12864LCD LCD screen with P2 port, comprising a reset, the timing circuit. Through the Proteus and keil simulation software simulation environment, the system achieved through the key display calculator keyboard key demand, 12864LCD precision shows the key information, to achieve the objective. Keywords: computer keyboard, LCD display, button, reset, timing

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