at89s52单片机计算器设计内容摘要:

图 N Y N 是否显示完 返回 LCD 初始化 显示汉或ACSII 码 显示开始 显示图形 相应功能设置 送地址 送数据 N N 相应功能设置 送行地址和列地址 送数据 是否 显示完 Y Y 15 算术运算程序设计 算术运算程序的过程为:先判断输入的运算符是 +、 、 *、 / 中的哪一个,若是 +或 ,则 要判断运算结果是否溢出,溢出则显示错误信息,没溢出就显示运算结果,若是 /,则要先判断除数是否为零,为零就显示错误信息,不为零则显示运算结果,若是 ,则直接显示运算结果。 其流程图如图 所示。 图 算术运算程序设计流程图 开始 运算符是。 加 乘 减 除 运算结溢出。 除数为0。 错误信息送显示 数值送显示缓冲 Y Y N N 16 软件的可靠性设计 提高本仪器其可靠性措施主要有: 为防止程序跑飞,软件中设置了软件陷阱。 为防止程序死循环,软件中使用了看门狗技术。 计算器的程序主要包括以下功能模块: 扫描键模块,分为读键程 序、判键程序段、运算操作子程序等部分; 基于 LCD 液晶显示屏的显示模块; 主模块,为系统的初始化。 计算器 C 语言程序主要有以下,详见附录 1。 开发软件介绍 在本系统设计过程中,所用的编程和仿真软件有 : KEIL uVision 与 porteus仿真软件。 keil 软件的介绍 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。 机器汇编是通过汇编软件将源程序变为机器码,用 于 51 单片机的汇编软件有早期的 A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展, Keil 软件是目前最流行开发 51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。 Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境( uVision)将这些部份组合在一起。 运行 Keil 软件需要 Pentium或以上的 CPU, 16MB 或更多 RAM、 20M 以上空闲的硬盘空间、 WIN9 NT、WIN20 WINXP 等操作系统。 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统,与汇编相比, C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。 用过汇编语言后再使用 C 来开发,体会更加深刻。 Keil 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows界面。 另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 Keil生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。 在开发大型软件时更能体现 高级语言的优势。 下面详细介绍 Keil 开发系统各部分 17 功能和使用。 Keil 51 单片机软件开发系统的整体结构 C51 工具包的整体结构中,其中 uVision 与 Ishell 分别是 51 for Windows 和for Dos 的集成开发环境 (IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。 开发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源文件。 然后分别由 C51 及 A51 编译器编译生成目标文件 (.OBJ)。 目标文件可由 LIB51 创建生成库文件,也可以与库文件一起经 L51 连接定位生成绝对目标文件 (.ABS)。 ABS文件由 OH51 转换成标准的 Hex 文件,以供调试器 dScope51 或 tScope51 使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如 EPROM 中。 3. 采用 KEIL 开发的 89S52 单片机应用程序一般需要以下步骤 (1)在 uVision 集成开发环境中创建新项目( Project),扩展文件名为 .UV2,并为该项目选定合适的单片机 CPU 器件(本设计采用 ATMEL 公司下的AT89S52) (2)用 uVision 的文本编辑器编写源文件,可以是汇编文件( .ASM) ,也 可以使 C 语言文件(扩展名 .C),并将该文件添加到项目中去。 一个项目文件可以包含多个文件,除了源程序文件外,还可以是库文件、头文件或文本说明文件。 (3)通过 uVision 2 的相关选择项,配置编译环境、连接定位器以及 Debug调试器的功能。 (4)对项目中的源文件进行编译连接,生成绝对目标代码和可选的 HEX文件,如果出现编译连接错误则返回到第 2 步,修改源文件中的错误后重构整个项目。 (5)对没有语法错误的程序进行仿真调试,调试成功后将 HEX 文件写入到单片机应用系统的 ROM 中。 根据上述操 作可得图。 编译调试程序后,从 Build 一栏可以看到 “ creating hex file from „jsq‟…” “„jsq‟0 Error(s),0 Warning(s).” 下一步就可以在 Proteus 软件了调用 hex 文件及烧入单片机。 18 图 kill调试 界面 、 proteus 介绍 Proteus 的 ISIS 是一款 Labcenter 出品的电路分析实物仿真系统,可仿真各种电路和 IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。 该软件的特点: ( 1) 全部满足提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。 ( 2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、 RS 一 232 动态仿真、 1 C 调试器、 SPI 调试器、键盘和 LCD 系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 ③ 目前支持的单片机类型有: 68000 系列、 51 系列、 AVR 系列、 PIC12 系列、 PIC16 系列、PIC18 系列、 Z80 系列、 HC11 系列以及各种外围芯片。 ④ 支持大量的存储器和外围芯片。 总之该软件是一款集 单片机和 SPICE 分析于一身的仿真软件,功能极其强大 ,可仿真 5 AVR、 PIC。 Proteus 对于本设计的仿真 19 操作步骤如下: ( 1)进入 proteus ISIS 集成环境,在工作前,在 systerm 菜单下设置界面的颜色、图形界面大小等项目,本设计 采用了系统默认值。 ( 2)通过工具栏中的(从库中选择元件命令)命令,在 pick devices 窗口中选择电路所需的元件,放置元件到编辑区并调整其相对位置,进行元件参数设置,元器件间连线。 器件库如表 所示。 表 器件库及所选器 件 器件库 器件名称 Microprocessor ICs AT89X52 Switchesamp。 Relays BUTTON Optoelectronics LM016L Resistors RESPACK8 ( 3)连线并加上需要的说明,并完成仿真原理图,如图 所示。 操作说明: (1) 本计算器实现数的加、减、乘、除运算。 (2)按下数值键,显示按下的 “数字 ”按运算符,再,按第 2 个操作数,显示,按 “=”键,得到运算结果。 (3)按 “清零 ”键清除运算结果,可重新开始。 ( 4)加载程序。 将编译调试完成的简易计算器机器码程序( hex 文件)加载到 AT89S52 单片机中。 ( 5)单击仿真 运行 键,观察仿真结果。 可以按暂停、继续、单步、等按钮,查看效果。 运行 单步运行 暂停 停止 图 仿真工具栏 20 图 Proteus 仿真 21 第四章 计算器系统 的 调试 硬件调试 检查焊点,有没有短路; 检查原件,有没有失效或者因为焊接过程中过热而损坏; 通电试验。 硬件调试中易出现的问题: 逻辑错误:它是由设计错误或焊接过程中的工艺性错误(假焊,漏焊,短路,开路,线接错等)所造成的。 元器件失效:有两方面的原因:一是器件本身已损坏或性能不符合要求;二是组装错误造成元件失效,如电解电容、集成电路安装方向错误等。 可靠性差:因其可靠性差的原因很多,如金属化孔、接插件接触不良会造成系统时好时坏,经不起振动;走线和布局不合理也会 引起系统可靠性差。 电源故障:若样机由电源故障,则加电后很容易造成器件损坏。 电源故障包括电压值不符合设计要求,电源引线和插座不对,功率不足,负载能力差等。 调试方法:包括仿真,多级调试和联机调试等。 在调试过程中要针对可能出现的故障认真分析,直至检查出原因并排除。 软 件调试 软件调试一般分为以下四个阶段: 编写程序并查错; 在 C 语言的编译系统中编译源程序 对程序进行编译连接,并及时发现程序中存在的错误; 改正错误。 软件调试常见故障: 在程序中有的函数名未定义; 在烧录程序 时, 尽量 少录入一些字符,如: “; ”、 “{”、 “”等符号,而出现错误; 22 有一些函数名录入时少写一个字母或顺序颠倒; 没有注意函数名的调用及定义; 芯片引脚定义出错而导致没有实验现象。 23 总 结 本系统采用 AT89S52 芯片,实现了利用单片机进行了计算器设计。 允许对输入数进行加减乘除运算及 LCD 显示。 如果设计对象是更复杂的计算器系统,其实际原理和方法与本设计相同。 另外,实例所设计的计算器是用 LCD1602 液晶显示器显示的,当然也可以用其他显示器显示,如 LED 数码管显示等。 键盘是用 44 非编码矩阵 键盘来实现数据输入的,也可以使用编码键盘。 设计的关键所在,必须非常熟悉单片机原理与结构和对整个设计流程有很好的把握,同时还要有相当的焊接基础,焊接电路板,将单片机和其他模块完整的衔接,以实现软件和硬件计算功能。 24 参考文献 [1]徐爱钧 .智能化测量控制仪表原理与设计(第二版).北京航天航空大学出版社 , [2]孙育才等 .MCS51 系列单片微型计算机及其应用(第 4 版).东南大学出版社, [3]李萍等 .智能仪器实验指导书.大连交通大学, [4]单片机应用技术( C 语言) .中国劳 动社会保障出版社, [5]武庆生 ,仇梅等著 .单片机原理与应用 .电子科技大学出版 , [6]朱定华著 .单片机原理与接口技术 .电子工业出版社 , [7]王宜怀 ,刘晓升等著 .嵌入式应用技术基础教程 .北京清华大学出版社 , [8]王威著 .HCS12 微控制器原理及应用 .北京航空航天大学出版社 , [9]龚运新著 .单片机 C 语言开发技术 .北京清华大学出版社 , [10]周立功 .单片机实验与实践 .北京航空航天大学出版社, [11]。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。