![[工学]基于单片机的简易计算器设计.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-1/10/93d31e14-3806-4c00-ae3b-cd69e1cf6349/93d31e14-3806-4c00-ae3b-cd69e1cf63491.gif)
![[工学]基于单片机的简易计算器设计.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-1/10/93d31e14-3806-4c00-ae3b-cd69e1cf6349/93d31e14-3806-4c00-ae3b-cd69e1cf63492.gif)
![[工学]基于单片机的简易计算器设计.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-1/10/93d31e14-3806-4c00-ae3b-cd69e1cf6349/93d31e14-3806-4c00-ae3b-cd69e1cf63493.gif)
![[工学]基于单片机的简易计算器设计.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-1/10/93d31e14-3806-4c00-ae3b-cd69e1cf6349/93d31e14-3806-4c00-ae3b-cd69e1cf63494.gif)
![[工学]基于单片机的简易计算器设计.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-1/10/93d31e14-3806-4c00-ae3b-cd69e1cf6349/93d31e14-3806-4c00-ae3b-cd69e1cf63495.gif)
已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 近些年以单片机为核心的技术发展很快,现在它被广泛的应用于与我们生活相 关的各个领域中,如电子、通信、科技、工业等,其中电子产品的更新速度更为迅 猛。计算器是日常生活中比较常见的电子产品之一,怎样才能使计算器技术更加的 成熟、简单,充分利用已有的硬件和软件条件,设计出更简易的计算器。 本设计是以 AT89C51 单片机为核心的简易计算器设计,输入采用 4*4 矩阵键盘, 可以进行加、减、乘、除带符号数字运算(八位整数) ,并在液晶显示屏 LCD1602 上 静态显示操作的过程及结果。软件用 C 语言编程、Keil uVision2 和 pretues 仿真。 关键词:关键词:单片机;计算器;液晶显示屏;矩阵键盘 内蒙古工业大学本科毕业设计说明书 Abstract In recent years, the microcontroller as the core technology is developing very fast, now it is widely used in various fields related with our life, such as electronics, communications, science and technology, industry and so on, and the update speed of electronic product is more rapid. The calculator is the one of common electronic products in our daily life, how to make the computer technology more mature and simple and to make full use of the existing hardware and software conditions to design a simple calculator. The design is based on the AT89C51single-chip microcomputer as the core of a simple calculator design, using 4*4matrix keyboard input, you can add, subtract, multiplication, except the symbol digit operation ( eight integers ), and static display operation process and result in the LCD1602 screen LCD. The Software programming use C language, Keil uVision2 and pretues simulation. KeyKey words:words: single chip microcomputer; calculator; LCD screen; keyboard matrix 内蒙古工业大学本科毕业设计说明书 目录 引言1 第一章 设计原理及要求.2 1.1 设计方案的确定2 1.2 系统的设计方案2 1.3 系统的设计要求2 第二章 硬件模块设计.4 2.1 单片机 AT89C51 4 2.1.1 AT89C51 芯片的特点 5 2.1.2 管脚说明5 2.1.3 振荡器特性7 2.1.4 芯片擦除7 2.2 键盘控制模块7 2.2.1 矩阵键盘的工作原理8 2.2.2 键盘电路主要器件介绍8 2.3 LCD 显示模块 .10 2.3.1 显示电路.11 2.3.2 LCD1602 主要技术参数 .11 2.3.3 引脚功能说明.11 2.4 运算模块(单片机控制).12 第三章 软件设计14 3.1 功能介绍.14 3.2 系统流程图 .14 3.3 程序.16 第四章 系统调试17 4.1 软件介绍 .17 4.1.1 Keil uVision2 仿真软件简介 .17 4.1.2 protues 简介 .17 内蒙古工业大学本科毕业设计说明书 4.2 软件调试.18 4.2.1 软件分析及常见故障.19 4.2.2 仿真结果演示.20 4.3 硬件调试.21 结束语.23 参考文献.24 附录.25 致谢.36 内蒙古工业大学本科毕业设计说明书 1 引言 计算工具最早诞生于中国,中国古代最早采用的一种计算工具叫筹策,也被叫 做算筹。这种算筹多用竹子制成,也有用木头,兽骨充当材料的,约二百七十枚一 束,放在布袋里可随身携带。另外直到今天仍在使用的珠算盘,是中国古代计算工 具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。 17 世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的 “纳皮尔算筹” ,英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加、 减、乘、除、乘方和开方运算,甚至可以计算三角函数、指数函数和对数函数。这 些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成 为现代社会应用广泛的计算工具。1642 年,年仅 19 岁的法国伟大科学家帕斯卡引 用算盘的原理,发明了第一部机械式计算器,在他的计算器中有一些互相联锁的齿 轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样, 把数字拨进去,计算结果就会出现在另一个窗口中,但是它只能做加减运算。1694 年,莱布尼兹在德国将其改进成可以进行乘除的计算。此后,一直到 20 世纪 50 年 代末才有电子计算器的出现。 内蒙古工业大学本科毕业设计说明书 2 第一章 设计原理及要求 1.1 设计方案的确定 本设计是以单片机 AT89C51 为核心的简易计算器设计,要通过芯片 AT89C51 实 现计算器程序运行来完成加、减、乘和除的简单计算功能。 本设计运算模块由 AT89C51 实现,数据输入模块由 4*4 矩阵键盘电路实现,输 出数据模块由 LCD 显示电路实现,再外加一个时钟电路和一个复位电路完成整个简 易计算器的设计。 1.2 系统的设计方案 本设计由以下几部分组成:AT89C51 单片机系统(运算模块) 、键盘电路、显示 电路、时钟电路和复位电路构成,计算器系统框图如图 1-1 所示。 图 1-1 计算器系统框图 1.3 系统的设计要求 为了更好地实现系统的功能,硬件电路的设计应该遵循以下原则: 1、优化硬件电路 采用软件设计与硬件设计相结合的方法。尽管采用软件来实现硬件系统的功能 内蒙古工业大学本科毕业设计说明书 3 时,也许响应的时间会比单纯使用硬件时长,而且还要占用微处理器(MCU)的时间; 但是,用软件实现硬件的功能可以简化硬件结构,提高电路的可靠性。所以,在设 计本系统的时候,在满足可靠性和实时性的前提下,尽可能地通过软件来实现硬件 功能。 2、可靠性及抗干扰设计 根据可靠性设计理论,系统所用芯片数量越少,系统的平均无故障时间越长。 而且,所用芯片数量越少,地址和数据总线在电路板上受干扰的可能性也就越小。 因此,系统的设计思想是在满足功能的情况下争取较少数量的芯片。 3、灵活的功能扩展 功能扩展是否灵活是衡量一个系统优劣的重要指标之一。一次设计往往不能完 全考虑到系统的各个方面,系统需要不断完善以及进行功能升级。进行功能扩展时, 应该在原有设计的基础上,通过修改软件程序和少量硬件完成。对于本系统而言, 就是要求在系统硬件不变的情况下,能够通过修改软件程序,完成功能的升级和扩 展。 根据提出的系统设计方案,结合以上三条原则,确定了系统硬件的设计。计算 器主要由以下一些功能模块组成:非编码键盘模块、运算模块(单片机内部)和 LCD 液晶显示模块等。 该系统的硬件设计采用了模块化的设计方法。AT89C51 单片机、LCD 液晶显示屏 显示电路和键盘电路是整个电路的核心,它们能实现系统的功能要求。 简易计算器主要包括:键盘电路、运算电路和输出显示电路。 内蒙古工业大学本科毕业设计说明书 4 第二章 硬件模块设计 在本设计中主要用到的硬件:单片机 AT89C51、液晶显示屏 LCD1602 、4*4 矩 阵键盘。 单片机 AT89C51 的硬件资源分配: (1)P3 口:作为输入口,与键盘连接,实现数据的输入; (2)P0、P2 口:作为输出口(P2 口为高位,P0 口为低位) ,控制 LCD 液晶显示 屏显示数据的结果; (3)P1 口和部分 P3 口:作为液晶显示屏 LCD1602 显示输出。 2.1 单片机 AT89C51 本设计所用单片机采用 AT89C51 单片机,它兼容于 MCS51 系列单片机,而且 具有 1000 次可擦写的 FLASHMEMORY,方便于系统的开发以及参数的修改。尽管它是 8 位机,但它的处理精度完全满足系统的设计要求。该种单片机的最高频率可达到 24MHz。在 12MHz 时,其处理速度完全达到设计要求,AT89C51 的实物图及引脚图如 图 2-1 所示。 图 2-1 单片机 AT89C51 实物图及引脚图 内蒙古工业大学本科毕业设计说明书 5 2.1.1 AT89C51 芯片的特点 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处 理器,俗称单片机,他的特点如下: 1、与 MCS-51 兼容 2、1000 写/擦循环 3、4K 字节可编程闪烁存储器 4、数据保留时间:10 年 5、全静态工作:0Hz-24Hz 6、三级程序存储器锁定 7、128*8 位内部 RAM 8、32 可编程 I/O 线 9、两个 16 位定时器/计数器 10、5 个中断源 11、可编程串行通道 12、低功耗的闲置和掉电模式 13、片内振荡器和时钟电路 2.1.2 管脚说明 VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P0 口的管脚第一次写“1”时,被定义为高阻输入。P0 口能够用于外部程序数据存储 器,它可以被定义为数据/地址的第八位。在 FLASH 编程时,P0 口作为原码输入口, 当 FLASH 进行校验时,P0 口输出原码,此时 P0 口外部必须被拉高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收 输出 4TTL 门电流。P1 口管脚写入“1”后,被内部上拉为高,可用作输入,P1 口被 外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校 验时,P1 口作为第八位地址接收。 内蒙古工业大学本科毕业设计说明书 6 P2 口:P2 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收 和输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作 为输入。当作为输出时,P2 口的管脚被外部拉低,将输出电流,这是由于内部上拉 的缘故。当 P2 口用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地 址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程 和校验时接收高八位地址信号和控制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收和输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入, 由于外部下拉为低电平,P3 口将输出电流(ILL) ,这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口。 P3 口管脚备选功能如下: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0(记时器 0 外部输入) P3.5 T1(记时器 1 外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时 间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低 位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的 频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出 的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一 个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时,ALE 只有在执行 MOVX 时 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取值期间,每个机器 内蒙古工业大学本科毕业设计说明书 7 周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出 现。 /EA/VPP:当/EA 保持低电平时,则在此期间只管外部程序存储器(0000H- FFFFH) ,不管是否有内部程序存储器,注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此时只管内部程序存储器。在 FLASH 编程期间,此 引脚也用于施加 12V 编程电源(VPP) 。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 2.1.3 振荡器特性 XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片 内振荡器。晶体振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应 不接。输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽 无任何要求,但必须保证脉冲的高低电平要求的宽度。 2.1.4 芯片擦除 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任 何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下表示静态逻辑,支 持两种软件可选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM、定时器、计数 器、串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器, 禁止所用其他芯片功能,直到下一个硬件复位为止。 2.2 键盘控制模块 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式, 在这种情况下,编程会很简单,但是会占用大量的 I/O 口资源,因此在很多情况下 都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条 I/O 线作为行线, 四条 I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样 内蒙古工业大学本科毕业设计说明书 8 键盘上按键的个数就为 44 个。这种行列式键盘结构能有效地提高单片机系统中 I/O 口的利用率。 2.2.1 矩阵键盘的工作原理 键盘可分为两类:编码键盘和非编码键盘。编码键盘是较多按键(20 个以上) 和专用驱动芯片的组合;当按下某个按键时,它能够处理按键抖动、连击等问题, 直接输出按键的编码,无需系统软件干预。 通用计算机使用的键盘就是编码键盘。在智能仪器中,使用并行接口芯片 8279 或串行接口 HD7279 均可以组成编码键盘,同时还可以兼顾数码管的显示驱动,其相 关的接口电路和接口软件均可在芯片资料中得到。当系统功能比较复杂,按键数量 很多时,采用编码键盘可以简化软件设计。 而非编码键盘成本低廉。从简易和成本角度出发,本设计选用的是非编码键盘。 如图 2-2 所示。一般由 16 个键组成,在单片机中正好可以用一个 P 口实现 16 个按 键功能,这种形式在单片机系统中也最常用。其矩阵图所对应的仿真图如图 2-3 所 示。 图 2-2 矩阵键盘内部电路图 图 2-3 矩阵键盘布局图 2.2.2 键盘电路主要器件介绍 为了进一步节省单片机 I/O 口资源,我们在设计中使用了 MM74C922 芯片。 MM74C922 是一款 4*4 键盘扫描 IC,它可检测到与之相连的 4*4 键盘的按键输入,并 内蒙古工业大学本科毕业设计说明书 9 通过数据输出口将按键相应的编码输出。其引脚图如图 2-4 所示。 图 2-4 MM74C922 芯片引脚图 MM74C922 引脚说明: (1) Y1-Y4(脚 1-脚 4):4*4 键盘第一列至第四列。 (2) X1-X4(脚 11、10、8、7):4*4 键盘第一行至第四行。 (3) DOA- DOD(Dataout A-D,脚 14-17):按键之 BCD 码输出,其中 DOA 为 LSB,DOD 为 MSB。 (4) VCC(脚 18):电源脚,+3V 至+15V (5) GND(脚 9):接地管脚 (6) OSC(Oscillator,脚 5):键盘扫描电路之频率所需外加电容的引脚。 (7) KBM(Keyboard Mask,脚 6):内部消除开关弹跳电路所外加电容的引脚。 (8) OE(Output Enable,脚 13):芯片使能脚,接低电位可使芯片使能。 (9) DA(Data Available,脚 12):数据有效输出脚。任一按键按下时,此脚 位会输出高电位,按键释放后此脚又会恢复为低电位。 如图 2-5 所示,在本设计中,计算器输入键盘的 4 条行线、4 条列线分别连接 到 MM74C922 的 X1-X4、Y1-Y4 引脚,MM74C922 的数据输出口与单片机的 P2 口相连, MM74C922 的 DA 引脚经过一个非门连接到单片机的/INT0 脚,当 MM74C922 检测到键 盘输入时,DA 产生高电平,与之相连的/INT0 检测到低电平,给单片机一个中断, 单片机从 P2 口的低四位读入键盘上按下的按键值。 内蒙古工业大学本科毕业设计说明书 10 图 2-5 键盘接口电路图 2.3 LCD 显示模块 本设计采用 LCD 液晶显示器来显示输入输出数据。通过 D0-D7 引脚向 LCD 写指 令字或写数据以使 LCD 实现不同的功能或显示相应数据。LCD 引脚图如图 2-6 所示。 图 2-6 LCD1602 引脚图 LCD 分为带背光和不带背光两种,基控制器大部分为 HD44780,带背光的比不带 背光的厚,在实际使用中是否带背光并无多大差别,两者尺寸差别如图 2-7 所示。 图 2-7 LCD 背光和不带背光的尺寸对比图 内蒙古工业大学本科毕业设计说明书 11 2.3.1 显示电路 当系统需要显示少量数据时,采用 LCD 液晶显示屏进行显示是一种经济实用的 方法。P1 口作为液晶显示的数据端口,P3.4-P3.6 口作为其控制端口,控制 LCD 液 晶显示屏显示输出数据。 显示电路图如图 2-8 所示。 图 2-8 LCD 液晶显示电路 2.3.2 LCD1602 主要技术参数 显示容量:162 个字符 芯片工作电压:4.55.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.954.35(WH)mm 2.3.3 引脚功能说明 LCD 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接口说明如 表 2-1 所示。 内蒙古工业大学本科毕业设计说明书 12 表 2-1 引脚接口说明表 编号符号引脚说明编号符号引脚说明 1VSS 电源地 9D2 数据 2VDD 电源正极 10D3 数据 3VL 液晶显示偏压 11D4 数据 4RS 数据/命令选择 12D5 数据 5R/W 读/写选择 13D6 数据 6E 使能信号 14D7 数据 7D0 数据 15BLA 背光源正极 8D1 数据 16BLK 背光源负极 第 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 端由高电平跳变成低电平时,液晶模块执行命令。 第 714 脚:D0D7 为 8 位双向数据线。 第 15 脚:背光源正极。 第 16 脚:背光源负极。 2.4 运算模块(单片机控制) AT89C51 单片机是在一块芯片中集成了 CPU、RAM、ROM、定时器/计数器和多功 能 I/O 等一台计算机所需要的基本功能部件。如果按功能划分,它由如下功能部件 组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行 内蒙古工业大学本科毕业设计说明书 13 I/O 口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。单片机是 靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是一些特殊 的功能,通过使用单片机编写的程序可以实现高智能、高效率以及高可靠性!因此 我们采用单片机作为计算器的主要功能部件,可以很快地实现运算功能。 另外系统还包括时钟电路和复位电路。 内蒙古工业大学本科毕业设计说明书 14 第三章 软件设计 3.1 功能介绍 实际运用中人们熟悉的计算器,其功能主要如下: 1、键盘输入; 2、显示数值; 3、加、减、乘、除四则运算; 4、对错误输入和输出的控制及提示。 3.2 系统流程图 在软件设计中程序分别要完成键盘输入检测、LCD 初始化及显示、算术运算和 错误处理及输出等功能。对主程序进行初始化,其他的程序选择模块式的方式。首 先对每个模块进行调试,当模块调试成功后,逐一地加入主程序中,最后完成整个 软件部分的设计。系统流程图如图 3-1 所示。 内蒙古工业大学本科毕业设计说明书 15 开始 初始化参数 初始化 LCD 显示 有键输入? 读取键码 LCD 显示 数字键清零键功能键 状态清零 输入数值 数值送显示缓冲 Y N 根据上次功能键和输 入的数据计算结果 结果送显示缓冲 本次功能键 图 3-1 系统流程图 内蒙古工业大学本科毕业设计说明书 16 3.3 程序 本设计程序采用 C 语言编程,程序分为多个模块,由主程序、键值转换和 LCD 系列程序等模块组成。具体程序见附录。 内蒙古工业大学本科毕业设计说明书 17 第四章 系统调试 4.1 软件介绍 4.1.1 Keil uVision2 仿真软件简介 Keil uVision2 是德国 Keil 公司开发的基于 Windows 平台的单片机集成开发环 境,它包含一个高效的编译器、一个项目管理器和一个 MAKE 工具。其中 Keil C51 是一种专门为单片机设计的高效率 C 语言编译器,符合 ANSI 标准,生成的程序代码 运行速度极高,所需要的存储器空间极小,完全可以与汇编语言媲美。Keil uVision2 的界面如图 4-1 所示,Keil uVision2 允许同时打开、浏览多个源文件。 图 4-1 Keil uVision2 的界面 4.1.2 protues 简介 protues 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件。它不 仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好 的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好 内蒙古工业大学本科毕业设计说明书 18 者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus 是世界上著名的 EDA 工具(仿真软件),从原理图布图、代码调试到单片机与外围电 路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。它是目 前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平 台,其处理器模型支持 8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等, 2010 年已经增加了 Cortex 和 DSP 系列处理器,并持续增加其他系列处理器模型。 在编译方面,它也支持 IAR、Keil 和 MPLAB 等多种编译器,界面图如图 4-2 所示。 图 4-2 protues 界面图 4.2 软件调试 4.2.1 软件分析及常见故障 在此次设计中使用 Keil uVision2 和 Proteus 软件仿真,其中使用 Keil uVision2 软件汇编源程序,使用 Proteus 软件对硬件电路进行模拟。正确连接电路 图,使其能按照题目要求及设计初衷正常工作。 从库里正确拾取元器件,认真合理地连线,做到不缺件,不缺线,选取合适的 内蒙古工业大学本科毕业设计说明书 19 元件参考值,使其能正常工作。通过编译,连接程序。使其生成.hex 文件,并连入 连好的 Proteus 图中。测试该计算器是否能正常工作。若不能,首先要检查有没有 漏掉元器件,元器件是否都连接好。其次,要看元件各引脚是否都连接正确,有无 接反的。最后要看元件的参考值是否选择合理,电源电压是否能带动元器件正常工 作。 常见故障: 1、逻辑错误:它是由设计错误或加工过程中的工艺性错误所造成的。这类错误 包括错线、开路、短路等。 2、元器件失效:有两方面的原因:一是器件本身已损坏或性能不符合要求;二 是组装错误造成元件失效,如电解电容、集成电路安装方向错误等。 3、可靠性差:因其可靠性差的原因很多,如金属化孔、接插件接触不良会造成 系统时好时坏,经不起振动;走线和布局不合理也会引起系统可靠性差。 4、电源故障:若样机有电源故障,则加电后很容易造成器件损坏。电源故障包 括电压值不符合设计要求,电源引线和插座不对,功率不足,负载能力差等。 调试方法:包括多级调试和联机调试。在调试过程中要针对可能出现的故障认 真分析,直至检查出原因并排除。 本次硬件调试过程中,对所出现的问题进行了认真的分析和改正,最后能够很 好的达到设计要求的效果。 系统仿真图如图 4-3 所示。 内蒙古工业大学本科毕业设计说明书 20 图 4-3 系统仿真图 4.2.2 仿真结果演示 下面以加、减、乘和除分别做仿真演示: (1)加法:以 258 和 825 作为加数和被加数运算,结果为 1083。加法仿真结果图 如图 4-4 所示。 图 4-4 加法仿真结果图 (2)减法:以 7654321 和 1234567 作为被减数和减数运算,结果为 6419754。减法 仿真结果图如图 4-5 所示。 图 4-5 减法仿真结果图 (3)乘法:以 694 和 123 作为乘数和被乘数运算,结果为 85362。乘法结果仿真图 内蒙古工业大学本科毕业设计说明书 21 如图 4-6 所示。 图 4-6 乘法结果仿真图 (4)除法:以 1250 和 5 作为被除数和除数运算,结果为 250。除法结果仿真图如 图 4-7 所示。 图 4-7 除法结果仿真图 由以上四种运算结果可知软件仿真均正确,没有显示错误。 4.3 硬件调试 在 protues 里面把硬件图画好,把所有元器件的参数都设置好,程序在 keil 里 面生成.hex 文件,然后在 protues 里单片机芯片中导入此文件,运行一切正常后开 始准备焊接硬件。在焊接硬件过程中首先得准备好所有必备的东西,比如所需元器 件和焊接所用工具等。在焊接前应先在面包板上把硬件插好调试,接通电源看能否 显示出结果,如果元器件都是好的并且结果可以显示出,就可以焊接了。如果显示 不出来再检查各个器件是否有损坏,并用万用表挨个检查,直至一切显示正常再焊 接。 在焊接时要注意相邻焊点不能粘在一起,连接线不能太长,并且注意焊点的虚 焊、假焊。在使用电烙铁时温度不能太高也不能太低,一般在 350 度左右,温度太 低容易形成冷焊点,太高则会烧坏电路板。 电路板焊接好以后首先测试一下各个元器件是否正常,焊点有无虚焊、连焊、 假焊等现象,检查没有问题以后接通电源查看 LCD 显示是否正常,如果一切显示没 有问题把硬件妥善保管,防止不小心损坏。硬件电路实物图如图 4-8 所示。 内蒙古工业大学本科毕业设计说明书 22 图 4-8 硬件电路实物图 内蒙古工业大学本科毕业设计说明书 23 结束语 通过这次简易计算器的设计,很大程度的提高了我的理解力和动手能力,也拓 宽了知识面。在图书馆和网上查阅资料使我了解了更多的资料,也方便了我们以后 的使用。在查询的资料中让我对单片机有了更深入的了解,能把学到的知识用活, 而不只局限于理论方面。 在硬件制作过程中,当我把硬件都焊好以后接通电源 LCD 怎么都不显示数字并 且在很短的时间内就会发热,我查了焊接点和仿真图都没有问题,接着仔细查找了 LCD 显示器各个管脚,发现两个电压管脚接反了,但在仿真时没出现问题,而在实 物中出现了问题,是由于仿真元件都是理想化的,各个问题在实物中根据实际情况 就会出现。 编程时,充分使用了结构化的思想。这样一来,因为语句较少,程序调试也比 较方便,功能模块可以逐一地调试,充分体现了结构化编程的优势。当每个模块都 完成时,将其功能互相整合就完成了整体的设计。经历了从最初的不了解设计内容 到最后做出仿真结果的过程使我从根本上提高了对专业的认识及兴趣,对于我们工 科学生来说,学习了这些对我们以后工作有重大的影响。很感谢学校和老师给我们 提供了这样的平台,能使我们的动手能力增强。感谢老师对我们提供的帮助。 内蒙古工业大学本科毕业设计说明书 24 参考文献 1 裴岩、刘利民单片机系统综合设计与实践J.内蒙古大学出版.2003.1 2 杨国林.C 语言程序设计J.内蒙古大学出版社.2001.9 3 郭天祥.新概念 51 单片机 C 语言程序J.电子工业出版社.2009.1 4 LED 与 LCD 显示器的区别. /view/57ea20eb172ded630b1cb62b.html 5基于单片机简易计算器的设计. /view/06c710ff910ef12d2af9e742.html 6 基于单片机的简易计算器设计./phtml 7 计算器模拟系统设计. /p-90657023744.html 8 计算器设计报告./p-24968072285.html 9 基于单片机的计算器. /p-48737185877.html 10 AT89C51 单片机简介 /xxyd/103.htm 11 Keil uVision2 仿真软件的使用说明 Vision2 集成开发环境 /view/75ad363e5727a5e9856a61e7.html 12 44 矩阵键盘计算器设计 /view/b1ac2d92daef5ef7ba0d3c65.html 13 Henderson D. Calibration of fast sampling o scilloscopes. Meas SciTechnol.1990.1 14 Barry Ross. Hands-On Guide to Oscilloscopes, McGraw-Hill.1994,6 15 13 V. A. Krukov, R. V. Udovichenko.Debugging DVM ProgramsJ. Programming and Computing Software,May.2001 内蒙古工业大学本科毕业设计说明书 25 附录 #include #include #define uchar unsigned char #define uint unsigned int char translate(int keycode); void arithmetic(); void init_LCM(); void write_data(char ddata); void write_com(char command); void check_BF(); void clearLCD(); void display(long a); void dealerror(); void dataoverflow(); long x=0,y=0,num=0; int operators,input,iny=0; char key; char error5=“error“; char overflow8=“overflow“; sbit EN=P34; sbit R_W=P35; sbit RS=P36; main() EA=1; EX0=1; IT0=1; 内蒙古工业大学本科毕业设计说明书 26 P2=0xff; display(0); init_LCM(); write_data(0x30); while(1) /*键值转化为键盘上按键值函数*/ char translate(int keycode) switch(keycode) case 0: return 7; break; case 1: return 4; break; case 2: return 1; break; case 3: return c; break; case 4: return 8; break; case 5: return 5; break; 内蒙古工业大学本科毕业设计说明书 27 case 6: return 2; break; case 7: return 0; break; case 8: return 9; break; case 9: return 6; break; case 10: return 3; break; case 11: return =; break; case 12: return /; break; case 13: return *; break; case 14: return -; break; case 15: return +; break; 内蒙古工业大学本科毕业设计说明书 28 /*外部中断 0 处理函数*/ void INT_0(void) interrupt 0 using 0 key=translate(P2 if(key=0) /判断按下的键是否为数值 num=num*10+(key-0); if (operators0) y=num; iny=1; else x=num; if(num-1000000000) /当前数值是否超出限定 范围 display(num); else dataoverflow(); else switch(key) case c: x=0; y=0; 内蒙古工业大学本科毕业设计说明书 29 num=0; iny=0; operators=0; display(num); break; case =: arithmetic(); iny=0; operators=0; num=0; break; case +: if (operators) arithmetic(); operators=1; num=0; break; case -: if (operators) arithmetic(); operators=2; num=0; break; case *: if (operators) arithmetic(); operators=3; num=0; break; case /: if (operators
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工会知识培训
- 腹腔镜子宫切除护理配合
- 九年级化学上册 第五单元 定量研究化学反应 第二节 化学反应的表示教学设计 鲁教版
- 餐巾折花培训方案
- 2024中国航天科工集团有限公司档案馆招聘3人笔试参考题库附带答案详解
- 六年级上册心理健康教育教案-5插上创造的翅膀|辽大版
- 船舶预防火灾培训
- 动火作业安全培训课件
- 人教版历史与社会八年级上册第二单元第一课《西欧封建国家与基督教文明》 教学设计1
- 双重预防体系练习试卷附答案(一)
- 2024年广东公需课《百县千镇万村高质量发展工程与城乡区域协调发展》试题及答案
- 工商企业管理毕业论文19904
- 防极端天气安全教育主题班会
- 2025湖北随州国资本投资运营集团限公司人员招聘27人易考易错模拟试题(共500题)试卷后附参考答案
- 2024年四川烟草商业系统招聘考试真题
- 2025年许昌电气职业学院单招职业技能测试题库附答案
- 工厂能源知识培训课件
- 患者隐私保护培训课件
- 2025年洛阳科技职业学院单招职业倾向性测试题库及答案(历年真题)
- (一模)2025年深圳市高三年级第一次调研考试 政治试卷(含答案)
- 2025年成都港汇人力资源管理限公司面向社会公开招聘国企业工作人员高频重点模拟试卷提升(共500题附带答案详解)
评论
0/150
提交评论