VB科学计算器课程设计

VB科学计算器课程设计
VB科学计算器课程设计

湖南医药学院

VB计算器课程设计题目: VB科学计算器

院(系)别临床医学院

专业临床医学

班级本临一班

学号 2015101010121

姓名夏铭锴

指导教师李跃强

二○一六年四月

目录

一、设计内容及要求

二、设计原始资料

三、设计完成后提交的文件和图表设计

四、进程安排

五、主要参考资料

[摘要]

用VB制作这个程序的简单计算器,它包括一个标准的计算器和一个科学计算器。它可以实现简单的加减乘除四则运算,数字的平方、平方根,正弦、余弦、正切,倒数、指数函数、对数函数,角度、弧度、梯度的转换,以及各进制的相互转换。而且它的功能还有退格,清除当前数据,清除所有数据,复制数据,粘贴数据。

在这个计算器的程序中,我用到了单行选择语句If…Then…Else…,

块语句if…then…end if,If语句的嵌套,多条件选择语句Select Case,而且还用到了按钮、文本框、框架、单选按钮控件,菜单的设计。

在此报告中我重点叙述了计算机的各个功能及用法。特别是进制间的转换和数字与运算符之间的联系。。虽然描述的不太完整,但我会尽力使用系统结构图,划分多个模块,让大家明白我设计的运算器的功能的。

[关键词]

Visual Basic;计算器;对象;代码

1

2

3

四、进程安排

(1)创建应用程序的界面。

(2)设置属性。

(3)编写代码。

4

附页:

设计原始资料

Private Sub Command1_Click() '删除数字的最后一位If Label3.Caption <> "" Then

Label3.Caption = Left(Label3.Caption, Len(Label3.Caption) - 1) Else

c = MsgBox("内容已为空!不可删除一位!", 49, "注意!")

End If

End Sub

Private Sub Command10_Click() '输入数字6 Label3.Caption = Label3.Caption + Command10.Caption

End Sub

Private Sub Command11_Click()

If Label3.Caption <> "" Then '输入符号*

Label1.Caption = Label3.Caption

Label2.Caption = Command11.Caption

Label3.Caption = ""

Else

c = MsgBox("请输入数据后输入符号!", 49, "注意!")

End If

End Sub

5

Private Sub Command12_Click() '输入数字1

Label3.Caption = Label3.Caption + Command12.Caption

End Sub

Private Sub Command13_Click() '输入数字2

Label3.Caption = Label3.Caption + Command13.Caption

End Sub

Private Sub Command14_Click() '输入数字3

Label3.Caption = Label3.Caption + Command14.Caption

End Sub

Private Sub Command15_Click() '输入符号—

If Label2 <> "" Then

Label3.Caption = -Val(Label3.Caption)

Else

Label1.Caption = Label3.Caption

Label2.Caption = Command15.Caption

Label3.Caption = ""

End If

End Sub

Private Sub Command16_Click() '输入数字0

Label3.Caption = Label3.Caption + Command16.Caption

End Sub

Private Sub Command17_Click() '输入小数点

Label3.Caption = Label3.Caption + Command17.Caption

End Sub

Private Sub Command18_Click() '“=”按钮

If Label1.Caption <> "" Then

If Label2.Caption = "*" Then '计算乘法

Label3.Caption = Label1.Caption & "*" & Label3.Caption & "=" & Val(Label1.Caption) * Val(Label3.Caption)

ElseIf Label2.Caption = "/" Then '计算除法

If Val(Label3.Caption) <> 0 Then

Label3.Caption = Label1.Caption & "/" & Label3.Caption & "=" & Val(Label1.Caption) / Val(Label3.Caption)

Else

c = MsgBox("除数不能为0!请重新输入!", 49, "注意!")

End If

ElseIf Label2.Caption = "-" Then '计算减法

Label3.Caption = Label1.Caption & "-" & Label3.Caption & "=" & Val(Label1.Caption) - Val(Label3.Caption)

ElseIf Label2.Caption = "+" Then '计算加法

Label3.Caption = Label1.Caption & "+" & Label3.Caption & "=" & Val(Label1.Caption) + Val(Label3.Caption)

ElseIf Label2.Caption = "mod" Then '进行取余运算

6

If Label3.Caption = 0 Then

c = MsgBox("除数不能为0!" + Chr(13) + Chr(10) + "请重新输入!", 49, "提示!")

Else

Label3.Caption = Label1.Caption & " mod " & Label3.Caption & " = " & Val(Label1.Caption) Mod Val(Label3.Caption)

End If

ElseIf Label2.Caption = "x^y" Then '计算x^y

Label3.Caption = Label1.Caption & "^" & Label3.Caption & "=" & Val(Label1.Caption) ^ Val(Label3.Caption)

End If

Else

If Label2.Caption = "-" Then '如果输入数字前输入“-”则按负数处理

Label3.Caption = -Val(Label3.Caption)

End If

End If

Label1.Caption = ""

Label2.Caption = ""

Open App.Path & "\记录" For Append As #1 '保存记录

Print #1, "科学型计算器" & " "; Date & " "; Time()

Print #1, Label3.Caption

Print #1,

Close #1

End Sub

Private Sub Command19_Click() '输入符号+

If Label3.Caption <> "" Then

Label1.Caption = Label3.Caption

Label2.Caption = Command19.Caption

Label3.Caption = ""

Else

c = MsgBox("请输入数据后输入符号!", 49, "注意!")

End If

End Sub

Private Sub Command2_Click()

Label3.Caption = "" '清空

Label2.Caption = ""

Label1.Caption = ""

End Sub

Private Sub Command20_Click()

s = 1 '求阶乘n!

For i = 1 To Val(Label3.Caption)

s = s * i

Next

Label3.Caption = Label3.Caption + "! =" & s

Open App.Path & "\记录" For Append As #1 '保存记录

Print #1, "科学型计算器" & " "; Date & " "; Time()

Print #1, Label3.Caption

7

Print #1,

Close #1

End Sub

Private Sub Command21_Click() '取整运算fix

Label3.Caption = "Fix(" & Label3.Caption & ")=" & Fix(Val(Label3.Caption))

Open App.Path & "\记录" For Append As #1 '保存记录

Print #1, "科学型计算器" & " "; Date & " "; Time()

Print #1, Label3.Caption

Print #1,

Close #1

End Sub

Private Sub Command22_Click() '取倒数

If Val(Label3.Caption) <> 0 Then

Label3.Caption = "1/" & Label3.Caption & "=" & 1 / Val(Label3.Caption)

Open App.Path & "\记录" For Append As #1 '保存记录

Print #1, "科学型计算器" & " "; Date & " "; Time()

Print #1, Label3.Caption

Print #1,

Close #1

Else

c = MsgBox("除数不能为0!" + Chr(13) + Chr(10) + "请重新输入!", 49, "注意!")

End If

End Sub

Private Sub Command23_Click() '输入符号mod

Label1.Caption = Label3.Caption

Label2.Caption = Command23.Caption

Label3.Caption = ""

End Sub

Private Sub Command24_Click() '计算正切值tan

Label3.Caption = "tan(" & Label3.Caption & ")=" & Tan(Val(Label3.Caption) / 57.2958)

Open App.Path & "\记录" For Append As #1 '保存记录

Print #1, "科学型计算器" & " "; Date & " "; Time()

Print #1, Label3.Caption

Print #1,

Close #1

End Sub

Private Sub Command25_Click()

If Val(Label3.Caption) > 0 Then '计算对数ln

Label3.Caption = "ln(" & Label3.Caption & ")=" & Log(Val(Label3.Caption))

Open App.Path & "\记录" For Append As #1 '保存记录

Print #1, "科学型计算器" & " "; Date & " "; Time()

Print #1, Label3.Caption

Print #1,

Close #1

Else

c = MsgBox("对数值应大于0,!" + Chr(13) + Chr(10) + "请重新输入!", 49, "注意!")

End If

8

End Sub

Private Sub Command26_Click() '计算余弦值tan

Label3.Caption = "cos(" & Label3.Caption & ")=" & Cos(Val(Label3.Caption) / 57.2958)

Open App.Path & "\记录" For Append As #1 '保存记录Print #1, "科学型计算器" & " "; Date & " "; Time()

Print #1, Label3.Caption

Print #1,

Close #1

End Sub

Private Sub Command27_Click() '计算e 的x 次方

Label3.Caption = "Exp(" & Label3.Caption & ")=" & 2.71818 ^ Val(Label3.Caption)

Open App.Path & "\记录" For Append As #1 '保存记录Print #1, "科学型计算器" & " "; Date & " "; Time()

Print #1, Label3.Caption

Print #1,

Close #1

End Sub

Private Sub Command28_Click() '计算正弦值

Label3.Caption = "sin(" & Label3.Caption & ")=" & Sin(Val(Label3.Caption) / 57.2958)

Open App.Path & "\记录" For Append As #1 '保存记录Print #1, "科学型计算器" & " "; Date & " "; Time()

Print #1, Label3.Caption

Print #1,

Close #1

End Sub

Private Sub Command29_Click() '计算不大于X的最大整数Label3.Caption = "Int(" & Label3.Caption & ")=" & Int(Val(Label3.Caption))

Open App.Path & "\记录" For Append As #1 '保存记录Print #1, "科学型计算器" & " "; Date & " "; Time()

Print #1, Label3.Caption

Print #1,

Close #1

End Sub

Private Sub Command3_Click()

End 'OFF按钮

End Sub

Private Sub Command30_Click()

If Val(Label3.Caption) >= 0 Then '开平方

Label3.Caption = "sqr(" & Label3.Caption & ")=" & Sqr(Val(Label3.Caption))

Open App.Path & "\记录" For Append As #1 '保存记录Print #1, "科学型计算器" & " "; Date & " "; Time()

Print #1, Label3.Caption

Print #1,

Close #1

Else

9

c = MsgBox("被开方数不能为负数!" + Chr(13) + Chr(10) + "请重新输入!", 49, "注意!")

End If

End Sub

Private Sub Command31_Click() '输入X^Y

Label1.Caption = Label3.Caption

Label2.Caption = Command31.Caption

Label3.Caption = ""

End Sub

Private Sub Command32_Click() '求反正切值

Label3.Caption = "tan-1(" & Label3.Caption & ")=" & Atn(Val(Label3.Caption)) * 57.2958

Open App.Path & "\记录" For Append As #1 '保存记录

Print #1, "科学型计算器" & " "; Date & " "; Time()

Print #1, Label3.Caption

Print #1,

Close #1

End Sub

Private Sub Command33_Click()

a = Val(Label3.Caption) '求反余弦值

If a > -1 And a < 1 Then

For i = 0 To 360 Step 0.01

If Abs(Cos(i / 57) - a) <= 0.001 Then

d = i

Label3.Caption = "cos-1(" & Label3.Caption & ")= " & d

Exit For

End If

Next

Open App.Path & "\记录" For Append As #1 '保存记录

Print #1, "科学型计算器" & " "; Date & " "; Time()

Print #1, Label3.Caption

Print #1,

Close #1

Else

c = MsgBox("余弦值范围为(-1,1)," + Chr(13) + Chr(10) + "请重新输入!", 49, "注意!")

End If

End Sub

Private Sub Command34_Click()

a = Val(Label3.Caption) '求反正弦值

If a >= -1 And a <= 1 Then

For i = 0 To 360 Step 0.01

If Abs(Sin(i / 57) - a) <= 0.001 Then

d = i

Label3.Caption = "sin-1(" & Label3.Caption & ")= " & d

Exit For

End If

Next

10

Open App.Path & "\记录" For Append As #1 '保存记录

Print #1, "科学型计算器" & " "; Date & " "; Time()

Print #1, Label3.Caption

Print #1,

Close #1

Else

c = MsgBox("正弦值范围为(-1,1)," + Chr(13) + Chr(10) + "请重新输入!", 49, "注意!")

End If

End Sub

Private Sub Command35_Click() '说明

c = MsgBox("1.若需输入负号,如果是第一个数,请按“-”后按数字再按“=”,如果是第二个数,请按数字后按“-”。" + Chr(13) + Chr(10) + "2.若计算只需一个数据,则输入数据后,按下相应计算符号即可。" + Chr(13) + Chr(10) + "3.如需查询计算过的数据结果,请打开计算器目录下的“记录”文件。", 49, "说明")

End Sub

Private Sub Command4_Click() '输入数字7

Label3.Caption = Label3.Caption + Command4.Caption

End Sub

Private Sub Command5_Click() '输入数字8

Label3.Caption = Label3.Caption + Command5.Caption

End Sub

Private Sub Command6_Click() '输入数字9

Label3.Caption = Label3.Caption + Command6.Caption

End Sub

Private Sub Command7_Click()

If Label3.Caption <> "" Then '输入符号/

Label1.Caption = Label3.Caption

Label2.Caption = Command7.Caption

Label3.Caption = ""

Else

c = MsgBox("请输入数据后输入符号!", 49, "注意!")

End If

End Sub

Private Sub Command8_Click() '输入数字4

Label3.Caption = Label3.Caption + Command8.Caption

End Sub

Private Sub Command9_Click() '输入数字5

Label3.Caption = Label3.Caption + Command9.Caption

End Sub

11

Private Sub Label3_Change() '未输入数字前除数字键其他均不可用If Label3.Caption = "" Then

Command29.Enabled = False

Command28.Enabled = False

Command34.Enabled = False

Command27.Enabled = False

Command25.Enabled = False

Command23.Enabled = False

Command21.Enabled = False

Command26.Enabled = False

Command24.Enabled = False

Command22.Enabled = False

Command20.Enabled = False

Command33.Enabled = False

Command30.Enabled = False

Command31.Enabled = False

Command32.Enabled = False

Command7.Enabled = False

Command11.Enabled = False

Command18.Enabled = False

Command19.Enabled = False

Command1.Enabled = False

Command2.Enabled = False

Else

Command29.Enabled = True

Command28.Enabled = True

Command34.Enabled = True

Command27.Enabled = True

Command25.Enabled = True

Command23.Enabled = True

Command21.Enabled = True

Command26.Enabled = True

Command24.Enabled = True

Command22.Enabled = True

Command20.Enabled = True

Command33.Enabled = True

Command30.Enabled = True

Command31.Enabled = True

Command32.Enabled = True

Command7.Enabled = True

Command11.Enabled = True

Command19.Enabled = True

Command1.Enabled = True

Command2.Enabled = True

Command18.Enabled = True

End If

End Sub

12

简单计算器c++课程设计

简单计算器 1 基本功能描述 简单计算器包括双目运算符和单目运算符。双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦、阶乘、对数、开方、倒数等运算。可对输入任意操作数包含小数和整数及正数和负数进行以上的所有运算并能连续运算。出现错误会给出提示,同时包含清除、退格、退出功能以及有与所有按钮相对应的菜单项。 2 设计思路 如图1,是输入数据子函数的流程图。打开计算器程序,输入数据,判断此次输入之前是否有数字输入,如果有,则在之前输入的数字字符后加上现有的数字字符;如果没有,则直接使编辑框显示所输入的数字字符。判断是否继续键入数字,如果是,则继续进行前面的判断,如果否,则用UpdateData(FALSE)刷新显示。 如图2,是整个计算器的流程图。对于输入的算式,判断运算符是双目运算符还是单目运算符。如果是双目运算符,则把操作数存入数组a[z+2]中,把运算符存入b[z+1]中;如果是单目运算符,则把字符串转化为可计算的数字,再进行计算。下面判断运算符是否合法,如果合法,则将结果存入a[0],不合法,则弹出对话框,提示错误。结束程序。

输入一个数字 在之前输入的数字字符后面加上现在的数字字符。 Eg :m_str+=”9”。 直接使编辑框显示所输入的数字字符。 Eg :m_str=”9”。 pass3=1表示已有数字输入 开始 之前是否有数字输入? pass3==1? 继续键入数字? 用UpdateData(FALSE)刷新显示 图1 输入数据子函数流程图 Y N Y N

输入开始 双目运算符 是否每一个操作数都存入a[]数组? 把操作数存入a[z+2],把运算符存入b[z+1]。 单目运算符 将字符串转换 为可计算的数进行运算 运算是否合法? 将结果存入a[0] 弹出对话框提示错误 结束Y Y N N 图2 简单计算器总流程图

vb科学计算器实验报告

西安科技大学 可视化编程语言实验报告 题目:科学计算器 班级: 学号: 姓名: 2010年11月

复杂型科学计算器的设计与实现实验目的 1.通过本实验,进一步理解Visual Basic的编程方法。 2.提高运用Visual Basic编程的能力。 3.培养对所学知识的综合运用能力。 实验类型 综合型。 实验内容与步骤 一.界面设计。

Command5Caption= 三.程序代码: Dim num1 As Single, num2 As Single Dim fu As Integer Dim sign As Integer Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 To 9 sign = Index + 20 Case 10 sign = Index + 20 fu = 1 Case 11 To 14 sign = Index + 20 End Select = "" End Sub Private Sub Command2_Click(Index As Integer) Select Case Index Case 0 To 9 = & Index If fu = 0 Then num1 = Val Else num2 = Val

Case 10 = & "-" Case 11 = & "." Case 12 To 18 = "" sign = Index fu = 1 End Select End Sub Private Sub Command3_Click() If =”” then else = Left$, Len - 1) End if End Sub Private Sub Command4_Click() = "" End Sub Private Sub Command5_Click() Dim n As Integer, cf As Single fu = 0: cf = 1 Select Case sign Case 12 = num1 & "+" & num2 = num1 + num2 Case 13 = num1 - num2 Case 14 = num1 * num2 Case 15 = num1 / num2 Case 18 For n = 1 To num2 cf = cf * num1 Next n = cf Case 20 = Sin(num1) Case 21

简易计算器的设计与实现

沈阳航空航天大学 课程设计报告 课程设计名称:单片机系统综合课程设计课程设计题目:简易计算器的设计与实现 院(系): 专业: 班级: 学号: 姓名: 指导教师: 完成日期:

沈阳航空航天大学课程设计报告 目录 第1章总体设计方案 (1) 1.1设计内容 (1) 1.2设计原理 (1) 1.3设计思路 (2) 1.4实验环境 (2) 第2章详细设计方案 (3) 2.1硬件电路设计 (3) 2.2主程序设计 (7) 2.2功能模块的设计与实现 (8) 第3章结果测试及分析 (11) 3.1结果测试 (11) 3.2结果分析 (11) 参考文献 (12) 附录1 元件清单 (13) 附录2 总电路图 (14) 附录3 程序代码 (15)

第1章总体设计方案 1.1 设计内容 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除1位无符号数字的简单四则运算,并在6位8段数码管上显示相应的结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的8751单片机,输入采用4×4矩阵键盘。显示采用6位8段共阳极数码管动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,最终选用汇编语言进行编程,并用protel99se涉及硬件电路。 1.2 设计原理 在该课程设计中,主要用到一个8751芯片和串接的共阳数码管,和一组阵列式键盘。作为该设计的主要部分,下面将对它们的原理及功能做详细介绍和说明。 1)提出方案 以8751为核心,和数码管以及键盘用实验箱上已有的器件实现计算器的功能。 2) 总体方案实现 (1)要解决键值得读入。先向键盘的全部列线送低电平,在检测键盘的行线,如果有一行为低电平,说明可能有按键按下,则程序转入抖动检测---就是延时10ms再读键盘的行线,如读得的数据与第一次的相同,说明真的有按键按下,程序转入确认哪一键按下的程序,该程序是依次向键盘的列线送低电平,然后读键盘的行线,如果读的值与第一次相同就停止读,此时就会的到键盘的行码与列码

VB课程设计报告+计算器

目录 ●概要设计说明 (3) ●总体设计分析 (3) ●小组成员及分工方法....................................3 -4 ●功能模块图 (4) ●负责模块的程序设计分析 (5) ●负责模快的程序源代码及流程图.....................5-12 ●公共系统使用说明及截图..............................13-16 ●结束语、心得体会 (17) ●课程设计结评分表…………………………………18-19

一、概要设计说明 本组设计的科学计算器具有科学型和标准型两种类型,适合不同需要。科学型中包含弧度与角度的计算,同时兼具2、8、10、16进制的运算。在标准型中,编辑菜单(edit)包含复制(copy)、粘贴(paste)。查看菜单包含标准型(standar)、科学型(scientific)。帮助菜单中包含关于(about)(内含开发制作者信息) 二、总体设计分析(含功能模块图) 一.小组成员分工 1 科学型角度弧度和进制的调用,由小组成员共同完成 2 科学计算器中,x^2,x^3,x^y,1/x,n!,Log按键,及八进制转二 进制,八进制转十进制,由**负责。 3科学计算器中,BackSpance、CE、C和运算符号+、-、*、/、.、-/+、=以及标准型计算器由***负责 4 科学计算器中,sin,cos,tan,Rnd,Exp,ATn按钮以sin/cos/tan 计算时角度和弧度的转换由**负责。 5 科学行计算器中,Copy,Pst,Not,And,Xor,Int,Or, Abe,Exit按钮;将十进制转化为二进制,制转化为十进制,将二进制转化为八进制由**负责。

单片机简易计算器课程设计

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

目录 一设计目的 本设计是基于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

vb复数计算器

Dim save As String Dim a As Single Dim points, over, b, c, d, e As Boolean Private Sub Command1_Click(Index As Integer) If over = True Then Text1.Text = "" End If If b = True Then Text1.Text = Text1.Text & Trim(Str(Index)) ElseIf c = True Then Text2.Text = Text2.Text & Trim(Str(Index)) ElseIf d = True Then Text4.Text = Text4.Text & Trim(Str(Index)) ElseIf e = True Then Text5.Text = Text5.Text & Trim(Str(Index)) End If over = False End Sub Private Sub Command2_Click() If points = False Then If b = True Then If Text1.Text = "" Then Text1.Text = 0 & "." points = True Else Text1.Text = Text1.Text & "." points = True End If ElseIf c = True Then If Text2.Text = "" Then Text2.Text = 0 & "." points = True Else

简易计算器课程设计

评阅教师评语:课程设计成绩 考勤成绩 实做成绩 报告成绩 总评成绩指导教师签名: 课程设计报告 论文题目基于ARM的简易计算器设计 学院(系):电子信息与自动化学院 班级:测控技术与仪器 学生姓名:同组同学: 学号:学号: 指导教师:杨泽林王先全杨继森鲁进时间:从2013年 6 月10 日到2013年 6 月28 日 1

目录 1、封面—————————————————————P1 2、目录—————————————————————P2 3、前言—————————————————————P3 4、关键字————————————————————P3 5、原理与总体方案————————————————P3 6、硬件设计———————————————————P6 7、调试—————————————————————P10 8、测试与分析——————————————————P11 9、总结—————————————————————P13

10、附件—————————————————————P14 前言 近几年,随着大规模集成电路的发展,各种便携式嵌入式设备,具有十分广阔的市场前景。嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。在嵌入式系统中,数据和命令通过网络接口或串行口经过ARM程序处理后,或显示在LCD上,或传输到远端PC上。 本文通过周立功的LPC2106芯片完成的简易计算器,正是对嵌入式应用的学习和探索。 一、摘要: 计算器一般是指“电子计算器”,是能进行数学运算的手持机器,拥有集成电路芯片。对于嵌入式系统,以其占用资源少、专用性强,在汽车电子、航空和工控领域得到了广泛地应用。本设计就是先通过C语言进行相应程序的编写然后在ADS中进行运行最后导入PROTUES进行仿真。最后利用ARM中的LPC2106芯片来控制液晶显示器和4X4矩阵式键盘,从而实现简单的加、减、乘、除等四则运算功能。 关键字:中断,扫描,仿真,计算 二、原理与总体方案: 主程序在初始化后调用键盘程序,再判断返回的值。若为数字0—9,则根据按键的次数进行保存和显示处理。若为功能键,则先判断上次的功能键,根据代号执行不同功能,并将按键次数清零。程序中键盘部分使用行列式扫描原理,若无键按下则调用动态显示程序,并继续检测键盘;若有键按下则得其键值,并通过查表转换为数字0—9和功能键与清零键的代号。最后将计算结果拆分成个、十、百位,再返回主程序继续检测键盘并显示;若为清零键,则返回主程序的最开始。 电路设计与原理:通过LPC2106芯片进行相应的设置来控制LCD显示器。 而通过对键盘上的值进行扫描,把相应的键值通过MM74C922芯片进行运算从而

vb科学计算器

课程设计指导书 课程vb计算器程序设计 班级 姓名 学号

目录 一功能描述 (3) 二概要设计及设计流程框图 (3) 三详细设计 (3) 四效果及运行界面图 (4) 五心得体会 (4) 六附录 (6) 七参考文献 (6) 八本人在改组中完成的部分 (7) 九进度安排 (7)

一、功能描述: 窗体通过窗体命令按钮或键盘输入数字实现基本的数学运算,使用窗体的功能按钮计算某些特殊函数 二、概要设计及设计流程框图: 使用vb设计科学型计算器,功能介于科学型和简单型之间,要求能进行加、减、乘、除和开方、乘方、对数、三角函数计算,可以存储与调出数据。在这个计算器的程序中,我用到了单行选择语句If … Then …Else…,If语句的嵌套,多条件选择语句Select Case。 三、详细设计: 本系统1个文本框,数个命令按钮,数个数字按钮用文本框显示输入的数字并将结果显示在文本框中,用命令按钮来计算和输入数字。详细内容: command12(0-9)为数字的控件数组,command13(4-11)为功能函数的控件数组,command13(0-3)为运算符的控件数组,command25为小数点按钮,command26为等号按钮,command1为开关按钮,command2为清除按钮。 四、效果及运行界面: 基本能完成所有运算

五、心得体会 为期一周的实训即将结束,通过这次的实训使我们学到了很多,同时也让我们意识到我们要学的更多。本次实训的内容是科学计算器的程序设计,以小组的形式进行分工合作,我组共4个人,从程序的需求分析、可行性分析、设计到编写、调试、修改、完善、到最后的实训报告,每个人都付出了时间和精力去做好自己的任务并努力地去完善它。 实训的第一天接到任务时我们都觉得有点难度,很有挑战性,毕竟计算器是一个比较系统、完善、功能相对较齐全的计算程序,因此程序编写也十分复杂,工作量较大,编写一定要认真。一个小小的失误都可能使程序出现大的漏洞。而我们只是学了点简单的vb程序编写,没有尝试过这种相对来说比较系统完善的系统。所以在做项目的时候我们倍感压力、更加的团结协作,可即使如此我们还是出现了错误,我们的程序在编写上存在一些漏洞,导致调试时不能正常运行,后经过老师的指导、我们的调整,终于可以完美的运行,这里也耽误了我们很多宝贵的时间,直接导致了我们在项目调试上速度不够快。 总的来说,这次实训还是比较成功的。最后出来的系统,大家都很有成就感,这是我们一步步设计、一步步完善、辛苦付出后得到的成果。小组合作、帮助队友,无论是团队合作这方面还是个人动手这方面,我们都得到了很好的锻炼。当然实训不仅使我们学到了知识,也帮助我们缩小了实践和理论的差距,通过这次实训让我们更深一步的对vb这门课程的知识有更进一步的渴望,同时对自己的

VB科学计算器课程设计

湖南医药学院 VB计算器课程设计题目: VB科学计算器 院(系)别临床医学院 专业临床医学 班级本临一班 学号 2015101010121 姓名夏铭锴 指导教师李跃强 二○一六年四月

目录 一、设计内容及要求 二、设计原始资料 三、设计完成后提交的文件和图表设计 四、进程安排 五、主要参考资料 [摘要] 用VB制作这个程序的简单计算器,它包括一个标准的计算器和一个科学计算器。它可以实现简单的加减乘除四则运算,数字的平方、平方根,正弦、余弦、正切,倒数、指数函数、对数函数,角度、弧度、梯度的转换,以及各进制的相互转换。而且它的功能还有退格,清除当前数据,清除所有数据,复制数据,粘贴数据。 在这个计算器的程序中,我用到了单行选择语句If…Then…Else…, 块语句if…then…end if,If语句的嵌套,多条件选择语句Select Case,而且还用到了按钮、文本框、框架、单选按钮控件,菜单的设计。 在此报告中我重点叙述了计算机的各个功能及用法。特别是进制间的转换和数字与运算符之间的联系。。虽然描述的不太完整,但我会尽力使用系统结构图,划分多个模块,让大家明白我设计的运算器的功能的。 [关键词] Visual Basic;计算器;对象;代码 1

2

3

四、进程安排 (1)创建应用程序的界面。 (2)设置属性。 (3)编写代码。 4

附页: 设计原始资料 Private Sub Command1_Click() '删除数字的最后一位If Label3.Caption <> "" Then Label3.Caption = Left(Label3.Caption, Len(Label3.Caption) - 1) Else c = MsgBox("内容已为空!不可删除一位!", 49, "注意!") End If End Sub Private Sub Command10_Click() '输入数字6 Label3.Caption = Label3.Caption + Command10.Caption End Sub Private Sub Command11_Click() If Label3.Caption <> "" Then '输入符号* Label1.Caption = Label3.Caption Label2.Caption = Command11.Caption Label3.Caption = "" Else c = MsgBox("请输入数据后输入符号!", 49, "注意!") End If End Sub 5

简易计算器课程设计

基于单片机的计算器的设计 摘要:本设计是一个实现加减乘除的计算器,它的硬件主要由四部分构成,一个8051单片机芯片,两个八段共阴极数码管,一个4*4键盘,它可以实现一位数的加减乘除运算。 显示部分:采用LED动态显示。 按键部分:采用4*4键盘。采用软件识别键值,并执行相应的操作。 关键词:LED接口;键盘接口;8255A;汇编语言 一、概述 1.1设计要求及任务: (1)设计4*4的键盘,其中10个数字键0~9,其余六个键“+”、“—”、“*”、“/”、“=”、和“C”键; (2)设计两位LED接口电路; (3)实现1位数的简单运算 1.2设计原理 (1)LED显示器接口技术 LED动态显示接口技术 (2)键盘显示技术 逐行(逐列扫描法) 二、系统总体方案和硬件设计 2.1计算器总体思想 显示部分:采用LED动态显示。 按键部分:采用4*4键盘。采用软件识别键值,并执行相应的操作。 执行过程:开机显示零,等待键入数值,当键入数字,经通过数码管显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在数码管上输出运算结果。 图1 系统设计框图

2.2硬件的选择与连接 图二硬件连接总图 2.2.1硬件选择 (1)由于本设计比较简单,因此选用内部含有4KBE2PROM的89C51单片机作为系统的核心。 (2)扩展输入/输出端口 在扩展输入/输出端口时,要求输入口能够缓冲,,输出口能够锁存。常用小规模集成电路芯片74LS244或74LS245等扩展输入端口,用74LS273、74LS373、 74LS377扩展输出端口。这种扩展方法的特点是电路简单,但功能单一、灵活性差。因而常采用中规模的可编程并行接口芯片8255A扩展输入/输出端口。 (3)锁存电路采用74LS373 2.2.2接口设计 (1)单片机与8255A的接口设计 8255A中的数据总线缓冲器为三态双向数据缓冲存储器,用于将8255A的数据线 D0~D7和单片机的数据总线(P0口)连接,实现单片机和接口间的数据传送。 读写控制部件的接口设计 1、/CS为片选信号,接成低电平表示8255A 被选中。/CS与P2.7相连,用P2口的最高位控制8255A是否工作。即将P2.7控制为低电平。 2、RESET-复位信号,高电平有效,接在单片机的RST端。 3、/RD和/WR为读写控制信号,低电平有效。分别将两个端口接单片机的/RD和/WR 4、A1和A0-端口选择信号,分别与单片机的低两位地址线P1.1和P1.0相连。用于选择不同端口。采用74LS373三态锁存器,用于分离P0口第八位地址线,将它的Q0和Q1口接至8255A的地址输入端A0和A1。

最新单片机简易计算器课程设计

单片机简易计算器课 程设计

引言 说起计算器,值得我们骄傲的是,最早的计算工具诞生在中国。中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。这种算筹多用竹子制成,也有用木头,兽骨充当材料的。约二百七十枚一束,放在布袋里可随身携带。直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的"纳皮尔算筹",英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 本任务是个简易的两位数的四则运算,程序都是根据教材内和网络中的程序参考编写而成,在功能上还并不完善,限制也较多。本任务重在设计构思与团队合作,使得我们用专业知识、专业技能分析和解决问题全面系统的锻炼。 随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功能将更强。在单片机家族中,80C51系列是其中的佼佼者,加之Intel公司将其MCS –51系列中的80C51内核使用权以专利互换或出售形式转让给全世界许多著名IC制造厂商,如Philips、 NEC、Atmel、AMD、华邦等,这些公司都在保持与80C51单片机兼容的基础上改善了80C51的许多特性。这样,80C51就变成有众多制造厂商支持的、发展出上百品种的大家族,现统称为80C51系列。80C51单片机已成为单片机发展的主流。专家认为,虽然世界上的MCU品种繁多,功能各异,开发装置也互不兼容,但是客观发展表明,80C51可能最终形成事实上的标准MCU芯片。 事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台

简单科学计算器vb程序

’//本人写的原始程序 '注意没法实现如下功能:10+===然后输入10再=。此程序会结果出错 Dim denghao, fenghao As Boolean 'denghao判断是否按下“=”,fenghao判断是否按下“1/X”Dim xiaoshu, biaoji As Boolean 'xiaoshu判断是否已按“.”,biaoji第一次判断前面是否按过“+”“-”等运算符按钮 Dim fuhao As Byte '运算符类型标号 Dim leixin As Byte '进制转换类型 Dim fistnumber, last As Double 'fistnumber第一个数据,最后一个数据 Dim panduan, jinzhi As Boolean 'panduan判断前面是否连续按“+”“-”等运算符按钮 Dim denglianxu As Boolean 'denglianxu判断前面是否连续安"=" Dim m, n, i, sum As Double Dim pi As Double 'sin,cos Dim kuahao As Boolean '判断是否按下“(” Dim si As String Dim shilu, bajin As Boolean '十六进制下才能输入A-F;八进制下8-9不能输入 Dim h, d, o, b As Integer '进制 Dim se, s As Double Dim ejin As Boolean '判断2-9,在二进制下不能输入 Private Sub baifeng_Click() '1/X的程序 If Not biaoji Then fuhao = 7 If Val(Text1.Text) = "0" Then Text1.Text = "除数不能为零" Else Call jieguo End If Else Call jieguo fuhao = 7 Call jieguo End If fenghao = True xiaoshu = False End Sub Private Sub clear_Click() If clear.Value = 1 Then Text1.Text = "0" xiaoshu = False clear.Value = 0 sum = 1

(完整word版)C语言简易计算器课程设计.doc

C语言课程设计报告书题目:简易计算器 院系: 班级: 学号: 姓名:

摘要 该软件为用户提供在windows 系统上的简易计算器,能进行简单的加、减、 乘、除四则运算与混合运算。目的是为了巩固和加深 C 语言课程的基本知识的理 解和掌握,利用 C语言进行基本的软件设计,掌握 C 语言的编程和程序调试 的基本技能,掌握书写程序设计说明文档的能力,提高运用 C 语言解决实际问 题的能力。 关键词: C; 简易计算器 ; 程序 ; 基本算法;混合运算 SUMMARY the software provides a simple calculator in Windows system for users ,can be a simple add,subtract,multiply,divide.The purpose is to consolidate and deepen the basic knowledge of C language courses to understand and master, The use of C language for software design basic, To master the basic skills of C language programming and program debugging, Master the writing program design documentation ability,improve the ability to use C language to solve practical problems.

VB程序语言设计科学计算器

VB程序语言设计 课程大作业 题目名称:科学计算器设计 班级: 12020742 姓名: 学号: 课程教师:温海骏 学期:2014-2015学年第2学期 完成时间: 2015年5月

一、实验内容 《科学计算器》设计 本科学计算器是一种能实现加、减、乘、除、倒数、乘方、正玄、余玄、正切、In、n!函数、进制、弧度转换等运算功能,并带有存储器、统计框等,基本实现了Windows自带计算器的所有功能。要实现计算器的这些功能就用到我们所学的VB知识编写程序来实现运算功能并解决问题,也是我们实训要达到的目的。 二、实验目的 1、通过本实验,进一步理解Visual Basic的编程方法。 2、提高运用Visual Basic编程的能力。 3、培养对所学知识的综合运用能力。 4、用所学的VB知识编写程序来实现运算功能并解决问题,达到实训的目的 三、实验设备 计算机、VB软件 四、实验过程 1、课题的选材过程(设计思路) 由VB程序设计的科学计算器是一种能实现加、减、乘、除、倒数、乘方、正玄、余玄、正切、In、n!函数、进制、弧度转换等运算功能,并带有存储器、统计框等,基本实现了Windows自带计算器的所有功能。 思路:为实现上述功能,我的基本思路是在窗体上建立4个控件数组,第一个控件数组是标准型,实现简单的四则运算;第二个控件数组是科学型,用来进行正弦余弦、正切余切、正割余割、反正弦反余弦、对数和n!等函数功能;第三个控件数组为程序员,实现进制转换;另外一个按钮实现单位转换。 2、设计的将要达到的目标 实现加、减、乘、除、倒数、乘方、正玄、余玄、正切、In、n!函数、进制、弧度转换等运算功能,并带有存储器、统计框等,基本实现Windows自带计算器的所有功能。 3、总体设计结构与功能 (1)总体设计结构介绍(绘制:结构流程图) 结构流程图如下:

单片机简易计算器课程设计

单片机简易计算器课程设计 课程设计 题目名称________________ 简易计算器设计____________ 课程名称_____________ 单片机原理及应用____________ 学生姓名________________

班级学号________________ 2018年6月20日

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

设计目的 本设计是基于51系列单片机来进行的简单数字计算器设计,可以完成计算器的键盘输入,进行加、减、乘、除六位整数数范围内的基本四则运算,并在LED上显示相应的结果。软件方面使用C语言编程,并用PROTUE仿真。 二总体设计及功能介绍 根据功能和指标要求,本系统选用MCS-51 系列单片机为主控机,实现对计算器的设计。具体设计及功能如下: 由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LED显示数据和结果; 另外键盘包括数字键(0?9)、符号键(+、-、x、十)、清除键和等号键,故只需要16个按键即可,设计中采用集成的计算键盘;

执行过程:开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。 三硬件仿真图 硬件部分比较简单,当键盘按键按下时它的那一行、那一列的端口为低电平。因此,只要扫描行、列端口是否都为低电平就可以确定是哪个键被按下。

VB编写简单计算器程序

Option Explicit Dim LastInput As String * 3 '记录上次按下的按键 Dim Num1 As Double '第一个操作数 Dim Num2 As Double '第二个操作数 Dim OptType As Integer '按下哪一个操作符 Dim Result As Double '表示运算结果 Dim shuzhi As Integer '表示当前采用的shuzhi Dim FirstNum As Boolean '是否是第一个操作数 Sub keyp(keynum As Integer) Dim CHAR As String * 1 CHAR = Chr(keynum) If CHAR = "+" Or keynum = 43 Then Command5(0).Value = True If CHAR = "-" Or keynum = 45 Then Command5(1).Value = True If CHAR = "*" Or keynum = 42 Then Command5(2).Value = True If CHAR = "/" Or keynum = 47 Then Command5(3).Value = True If shuzhi = 2 And CHAR >= "2" And CHAR <= "9" Then keynum = 0 Exit Sub End If If keynum >= 48 And keynum <= 57 Then Command1(keynum - 48).Value = True If keynum = 46 Then Command2.Value = True If UCase(CHAR) = "C" Then Command3.Value = True If keynum = 27 Then Command4.Value = True If keynum = 61 Then Command6.Value = True keynum = 0 End Sub Function angle(ByVal j1 As Integer) As Single angle = j1 If Option1.Value Then angle = j1 * 3.14 / 180 End Function Function ArcSin(ByVal Num As Single) As Single If Num = 1 Then ArcSin = 3.1415926 / 2 ElseIf Num = -1 Then ArcSin = 3.1415926 * 3 / 2 Else ArcSin = Atn(Num / Sqr(-Num * Num + 1)) End If If Option1.Value Then ArcSin = ArcSin * 180 / 3.1415926 End Function Function ArcCos(ByVal Num As Single) As Single If Num = 1 Then ArcCos = 0 ElseIf Num = -1 Then ArcCos = 3.1415926 Else ArcCos = Atn(-Num / Sqr(-Num * Num + 1)) + 2 * Atn(1)

matlab课程设计简单计算器的设计

matlab课程设计报告 题目简易计算器的设计 学院电子信息工程学院 专业电子信息 学生姓名和学号 指导教师

一、选题目的及意义 GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用。人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作,而在matlab有很简单的gui设计工具,我们可以通过这个工具轻松地构建我们想要的程序,从而实现与用户的信息交互。本次课程设计是使用了matlab中的guide生成了简单的计算器程序。 二、源代码 function varargout = Calculator(varargin) %Simple Calculator %@Anhui University % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Calculator_OpeningFcn, ... 'gui_OutputFcn', @Calculator_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []);

if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before Calculator is made visible. function Calculator_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to Calculator (see VARARGIN) % Choose default command line output for Calculator handles.output = hObject; % Update handles structure guidata(hObject, handles);

VB6.0的小程序计算器

的小程序计算器 对于刚入门学习VB6 的朋友来说肯定会做些小程序吧,这里就是给大家演示个简单的计算器程序,仅供参考啦。 界面上加减乘除四个按钮分别是cmdAdd cmdPlus、cmdMultiple、cmdDevide,小数点按钮是cmdDot,负号按钮是cmdMinuse,数字0?9为了偷懒,用了控件数组cmdNumber(O)~ cmdNumber(9),上面txtShow 是显示数字和结果用的,txtOperate 是显示中间步骤的。 思路大致是这样, 点加减乘除这类操作符的时候, 把当前txtShow 的值保存在模块变量mstrParam1 里,同时把操作符保存到mstrOperate 里,按等于号时把先把当前txtShow 的值保存在模块变量mstrParam2 里,然后对mstrParam1 和mstrParam2 进行运算,当然要记得设法把String 转换成数值进行运算。 转换的过程要注意,这里是用的Variant 数据类型, vParam1 和vParam2 都是Variant 类型,保存的是mstrParam1 和mstrParam2 的数值。之所以不用integer 、long 、double 这些标准类型,是因为这些类型都有大小限制,做出来用着不方便,VB最大的整型long才 到47 ,这意味着计算器的计算结果只能限制在9位到10位。而Variant类型可以支持非常 大的数,具体多大不清楚,但起码几十位是能够支持的。另外,最后算完的结果也要做格式化,因为如果数值非常大的话,VB会自动转成科学计数法,所以要用Format函数进行调整。 如果需要源代码的话在我百度空间里留言。Explicit Private Const mstrFORMATDEFAULT As String = "#.##" Private mstrParam1 As String, mstrParam2 As String Private mstrOperate As String Private Sub cmdAdd_Click() mstrParam1 = Trim mstrOperate = "+" ___ nil = & mstrParam1 & vbCrLf = & mstrOperate & vbCrLf End Sub Private Sub cmdPlus_Click() mstrParam1 = Trim mstrOperate = "-" ____ Illi

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

(此文档为word格式,下载后您可任意编辑修改!) 中南林业科技大学 课程设计报告 设计名称:单片机计算器课程设计 姓名:汪琦学号:专业班级:电子信息工程一班 院(系):计算机与信息工程学院 设计时间:2010年12月28日星期二 设计地点:中南林业科技大学电子信息楼

目录 一、题 目…………………………………………………………………………… 二、任务与要求(老师完 成)………………………………………………… 三、课程设计摘要及整体方框 图………………………………………………… 1..总体设计思路简述···················································· 2.硬件设计简述························································ 3.软件设计简述························································ 4.程序主流程图························································

四、课程设计原理分析及相关知识概 述………………………………………… 五、结 论…………………………………………………………………………… 六、体会与收 获…………………………………………………………………… 附件: 1、源程序代码(根据需要选 择)…………………………………………… 2、整体电路原理图(根据需要选择)……………………………………… 2、元件表(根据需要选 择)………………………………………………… 3、PCB板制作(根据需要选 择)…………………………………………… 4、焊接与调试(根据需要选择)………………………………………………… 一、题目 利用单片机芯片STC12C54、四位八段共阴数码管,已制作好的电路板等器件设计制作一个计算器,用LED显示计算数值及结果。 二、任务与要求 要求计算器能实现加减乘除四种运算,具体如下: 1.加法:四位整数加法,计算结果若超过四位则显示计算错误 2.减法:四位整数减法,计算结果若小于零则显示计算错误 3.乘法:多位整数乘法,计算结果若超过四位则显示计算错误 4.除法:整数除法 5.有清除功能 三、课程设计简述及整体方框图 1.总体设计思路简述 按照系统设计的功能的要求,初步确定设计系统由主控模块、显示模块、键扫描接口电路共三个模块组成,电路系统构成框图如图1.1所示。主控芯片使用STC12C54单片机,比 80C51速度更快,功能更强,由先进工艺制造,并带有非易失性Flash程序存储器。它是一种高性能、低功耗的8位COMS微处理芯片,市场应用最多。

相关文档
最新文档