1、 电子设计应用软件训练电子设计应用软件训练 总结报告总结报告 学生姓名:学生姓名: 专专 业:业: 电子信息工程电子信息工程 班班 级:级: 学学 号:号: 指导教师:指导教师: 训练训练时间:时间:2012 年年 7 月月 16 日至日至 2012 年年 7 月月 20 日日 2 一任务说明一任务说明 利用 AT89C51 单片机、8 位共阳极蓝色数码管和计算器键盘构成一个计算器系 统,可以实现加减乘除功能。按照设计任务在 Proteus 6 Professional 中绘制电路 原理图。根据设计任务的要求编写程序,在 Proteus 下进行仿真,实现相应功能。 此次任务需要完成电路原理图的
2、绘制、单片机 C 语言的编程。目的是通过本次设 计熟悉 Proteus 软件的工作环境, 掌握基本的操作及流程以及对单片机汇编语言的进 一步学习,使之前的学习得到巩固。 二原理图绘制说明二原理图绘制说明 要想实现其原理图的绘制,首先需要安装 Proteus 软件。具体步骤如下: 1.打开此软件,进入 Proteus 界面,会出现查看样例设计对话框,点击取消键。 2 画图之前要新建一个图纸文件, 在界面菜单栏中选择 FileNew Design 选项, 会出现多种图纸类型供选择,在本次课程设计中选择 LandspaceA4 纸张,鼠标左键点 中图纸 LandspaceA4 类型,然后点击 OK
3、即可,操作如图 1 所示: 图 1 纸张选择 然后将文件保存到预先建立的文件夹中。设计窗口便新建完毕,如图 2 所示: 3 图 2 新建的设计窗口 3. 元件的查找及放置。首先点击工具箱左上角的“P”按钮,如图 3 所示: 图 3 按钮“P”所在位置 弹出“Pick Devices”操作界面,如图 4 所示: 图 4 “Pick Devices”操作界面 在关键字窗口输入所需器件名称,如 AT89C51,系统会自动搜索到此元件,如图 5 所 4 示: 图 5 元件搜索界面 将所有元件搜索到以后按相应位置在图纸上放置好。本实验所需的元器件如表 1 所 示: 表 1 元件器件清单 元件 库 件数
4、51 单片机 80C51 1 八位共阳极蓝数码管 7SEG-MPX8-CC-BULE 1 科学矩阵键盘 KEYPAD-SMALLCALC 1 4.布线及调整。将鼠标移至所要连接器件的管脚处,鼠标箭头会变成红色虚线方 框的样式, 此时按住鼠标左键拖至将要连接的器件管脚处, 松开左键即把两器件连接。 如果在连接器件时出现交叉或重叠,可以对连线或元件位置进行适当的调整。布线后 电路图如图 6 所示: 图 6 电路原理图 5 三程序编译说明及流程图三程序编译说明及流程图 1.MAIN1.MAIN 程序说明程序说明 主程序中调用了三个子函数,分别是: 矩阵键盘扫描,数据显示函数,字符输 入及转换。程序流
5、程图如下所示。 图 7 主程序流程图 主 程 序 单字符输入 子程序模块 符号判别子 程序模块 字符输入及 转换模块 加减乘除四 则运算模块 运算结果转 换显示模块 6 2 2. . 加减乘除四则运算模块加减乘除四则运算模块程序说明程序说明 加减乘处四则运算子程序主要是用来识别输入运算符号,并将输入的第一个 数和第二个数进行相应的运算。程序流程图如下所示: 图 8 加减乘除四则运算程序流程图 运算符比较 =/? =*? =-? =+? 进行除法运算 进行乘法运算 进行减法运算 进行加法运算 提示出错信息 7 2 2. . 运算结果转换显示模块运算结果转换显示模块程序说明程序说明 程序主要是用来
6、转化输入输出的数据为 BCD 码,并通过八位数码管动态扫描 显示。程序流程图如下所示: 图 9 运算结果转换显示程序流程图 10000? 结果除 10 结果除 100 结果除 1000 商减去 30H 结果除 10000 十六进制结果DI 10? 100? 1000? 显 示 余 数 余 数 余 数 8 3 3. . 矩阵键盘矩阵键盘模块模块程序说明程序说明 程序主要是用来对 4*4 键盘进行扫描并且编码, 该子程序的流程图如下所示: 图 10 矩阵键盘模块程序流程图 开始 使所有行线为 0 读列线状态 列线全为 1? 延时 10ms 再读列线状态 列线全为 1? 结束 输出行扫描码 读列线状态 列线为 0? 修改行扫描码 各行扫描完? 确 定 闭 合 键 位 置 并 输 出 键 代 码 Y Y Y N Y N N N 9 四四P Proteusroteus 仿真说明仿真说明 将此程序在 Keil 中进行编译生成“.hex”文件,将其导入单片机中,OK 确定