51计算器设计思路

Get Started. It's Free
or sign up with your email address
51计算器设计思路 by Mind Map: 51计算器设计思路

1. 硬件方案

1.1. 键盘输入

1.1.1. 资源:

1.1.1.1. 4×4(P1.(0-3)*P1.(4-7)) Matrix Key

1.1.1.2. P3.(2-5)

1.1.2. key map

1.1.2.1. <html><img src="My Pictures/51notes/keymap.jpg">

1.2. 数字显示

1.2.1. 资源

1.2.1.1. 8位LED数码管

1.2.1.1.1. 位选:P2.(0-7)

1.2.1.1.2. 段数据:P0.(0-7)

1.2.2. 功能

1.2.2.1. 显示数字

1.2.2.2. 显示小数点

1.2.2.3. 显示科学计数法

1.2.2.4. 显示错误信息

1.3. 状态显示

1.3.1. 资源

1.3.1.1. 4位LED发光二极管

1.3.1.1.1. p1.(4-7)

1.3.2. 功能

1.3.2.1. M的显示

1.3.2.2. 计算器/时钟切换

1.3.2.3. 功能参数设置状态显示

1.4. 蜂鸣器

1.4.1. 资源

1.4.1.1. 直流蜂鸣器

1.4.1.1.1. p1.3

1.4.2. 功能

1.4.2.1. 按键音

1.4.2.2. 报警音

1.5. 相关硬件测试

1.5.1. 写做中。。。

2. 运作方式

2.1. 键盘输入

2.1.1. 输入基本数字

2.1.1.1. 定时器扫描键盘输入

2.1.1.2. matrix键盘定位

2.1.1.3. 转义相应显示位

2.1.1.4. 显示数字

2.1.2. 输入运算符号

2.1.2.1. 显示符号

2.1.3. 继续输入数字

2.1.3.1. 输入第一位

2.1.3.1.1. 创建数字位数寄存器(DigitLocation)DL

2.1.3.1.2. DL=1

2.1.3.1.3. 创建存储数(SavedNumber)SN

2.1.3.1.4. SN=0

2.1.3.1.5. 取得输入的数字(InputNumber)IN

2.1.3.1.6. SN=SN+IN*10^DL

2.1.3.2. 输入新数字时

2.1.3.2.1. DL++

2.1.3.2.2. SN=SN+IN*10^DL

2.1.4. 输入计算符号

2.1.4.1. CM=(1-4)

2.1.4.2. 创建存储数(AnotherSavedNumber)ASN

2.1.4.3. ASN=0

2.1.4.4. DL=1

2.1.5. 继续输入数字

2.1.5.1. 取得 IN

2.1.5.2. ASN=ASN+IN*10^DL

2.1.6. 输入等于号

2.1.6.1. SN 与 ASN 计算

2.1.6.2. 结果显示于屏幕

2.2. 程序运算

2.2.1. 加法

2.2.1.1. 创建算法寄存器(CalculateMethold)CM

2.2.1.2. CM=1 ; 1 as plugs

2.2.2. 减法

2.2.3. 乘法

2.2.4. 除法

2.3. 显示

2.3.1. 显示结果

2.4. 新思路

2.4.1. LED Display

2.4.1.1. input shows

2.4.1.2. del shows

2.4.1.3. different digit shows

2.4.1.3.1. DL

2.4.1.3.2. Number String

2.4.2. Convert Display to Digit

2.4.3. Function Symbols

2.4.3.1. +

2.4.3.2. -

2.4.3.3. *

2.4.3.4. /