基于单片机的简易电子称毕业论文(编辑修改稿)内容摘要:

器或用 16位地址读取外部数据存储器(例如执行 MOVX @DPTR)时, P2 口送出高八位地址。 在这种应用中, P2 口使用很强的内部上拉发送 1。 在使用 8位地址(如 MOVX @RI)访问外部数据存储器时, P2口输出 P2锁存器的内容。 在 flash编 程和校验时, P2口也接收高 8位地址字节和一些控制信号。 P3口: P3 口是一个有内 部上拉电阻的 8 位双向 I/O 口, p2 输出缓冲器能驱动 4 个 TTL 逻辑电平。 对 P3 端口写 “1” 时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 P3口亦作为 AT89S52特殊功能(第二功能)使用,如下表所示。 在 flash编程和校验时, P3口也接收一些 控制信号。 表 2: 引脚号 第二功能 RXD(串行输入) TXD(串行输出 ) INT0 (外部中断 0) INT1 (外部中断 1) T0(定时器 0外部输入) T1定时器 1外部输入) WR (外部数据存储器写选通 ) RD (外部数据存储器写选通 ) RST: 复位输入。 晶振工作时, RST脚持续 2 个机器周期高电平将使单片机复位。 看门狗计时完成后, RST 脚输出 96 个晶振周期的高电平。 特殊寄存器 AUXR(地址 8EH)上的 DISRTO位可以使此功能无效。 DISRTO默认状态下,复位高电平有效。 ALE/PROG : 地址锁存控制信号( ALE)是访问外部程序存储器时,锁存低第 3 章 系统硬件电路设计 16 8 位地址的输出脉冲。 在 flash编程时,此引脚 (PROG )也用作编程输入脉冲。 在一般情况下, ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。 然而,特别强调,在每次访问外部数据存储器时, ALE脉冲将会跳过。 如果需要,通过将地址为 8EH的 SFR的第 0位置 “1” , ALE操作将无效。 这一位置 “1” , ALE 仅在执行 MOVX 或 MOVC指令时有效。 否则, ALE 将被微弱拉高。 这个 ALE 使能标志位(地址为 8EH的 SFR的第 0位)的设置对微控制器处于外部执行模式下无效。 PSEN : 外部程序存储器选通信号 (PSEN )是外部程序存储器选通信号。 当AT89S52从外部 程序存储器执行外部代码时, PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时, PSEN 将不被激活。 EA /VPP: 访问外部程序存储器控制信号。 为使能从 0000H 到 FFFFH的外部程序存储器读取指令, EA 必须接 GND。 为了执行内部程序指令, EA 应该接 VCC。 在 flash编程期间, EA 也接收 12伏 VPP电压。 XTAL1: 振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2: 振荡 器反相放大器的输出端。  AT89S52的最小系统电路 AT89S52的最小系统电路 AT89S52单片机的最小系统由时钟电路、复位电路等与单片机构成。 单片机的时钟信号用来提供单片机片内各种操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。 本次设计使用 AT89S52单片机的时钟振荡功能,因为时钟电 路为单片机提供时钟周期,如果没有时钟电路,单片机就没有时钟周期,就无法执行程序代码,单片机就无法工作。 AT89S52中有一个用于构成内部震荡器的高增益反相放大器,引脚 XTAL1和 XTAL2分别是该放大器的输入和输出端。 这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自激振荡器 [3]。 如图 2所示,外接石英晶体或者陶瓷谐振器以及电容 C1, C2接在放大器的反馈电路中构成并联谐振电路。 谐振器本身对外接电容 C C2虽然没有十分严格的要求,但电容容量的大小第 3 章 系统硬件电路设计 17 会轻微影响振荡频率的高低、振荡器工作的稳定性、起振 的难易程度以及温度的稳定性,所以本设计使用石英晶体,每个电容大小为 30pF。 晶振的振荡频率是— 12MHZ之间,本设计选择 12MHZ,因为晶振的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。 图 2 时钟振荡电路 因为很多用户设计完单片机系统,并在调试的过程中,可能会出现 “ 死机 ”或 “ 程序走飞 ” 等现象,所以本设计需要采用复位电路来使单片机复位,来防止这一现象的发生,复位电路设计的好坏,将直接影响系统的可靠性。 复位电路通常采用上电自动复位和按钮 复位两种方式,复位是单片机的初始化操作,除进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,可以按复位键以重新启动,也可以通过监视定时器来强迫复位。 只需给单片机的复位引脚 RST加上大于 2个机器周期的高电平就可使单片机复位[3],本设计采用的是上电复位电路,其主要特点是简单,适用于简单的电路,做起来还是比较方便的。 本设计采用的上电复位电路如图 3所示,上电复位电路是通过外部复位电路的电容充电来实现的。 当电源接通时只要 VCC的上升时间不超过 1ms。 就可以实现自动上电复位。 本 设计采用时钟频率为 6MHz,电容取 22μf, 电阻取 1KΩ。 第 3 章 系统硬件电路设计 18 图 3 上电复位电路 在本设计中,当电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。 单片机的复位操作使单片机进入初始化状态。 系统复位对于本系统是执行的第一步,使整个控制芯片回到默认的硬件状态下。 单片机的复位是由 RESET引脚来控制的,此引脚与高电平相接超过 24个振荡周期后, 51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,再检查 EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。 A/D 转换器 ADC0832与 AT89S52单片机的接口电路 ADC0832 的介绍 ADC0832是美国国家半导体公司生产的一种 8位分辨率、双通道 A/D转换芯片。 由于它体积小,兼容性强,性价比高而深受 单片机 爱好者及企业欢迎,其目前已经有很高的普及率。 ADC0832具有以下特点: ● 8 位分辨率; ● 双通道 A/D转换; ● 输入输出电平与 TTL/CMOS相兼容; 第 3 章 系统硬件电路设计 19 ● 5V 电源 供电时输入电压在 0~5V之间; ● 工作频率为 250KHZ,转换时间为 32μS ; ● 一般功耗仅为 15mW; ● 8P 、 14P— DIP(双列直插)、 PICC多种封装; ● 商用级芯片温宽为 0176。 C to +70176。 C? ,工业级芯片温宽为 40℃ to +85℃ 下面 介绍 0832的引脚功能:  CS 片选使能,低电平芯片使能  CH0 模拟输入通道 0,或作为 IN+/使用  CH1 模拟输入通道 1,或作为 IN+/使用  GND 芯片参考 0电位(接地)  DO 数据信号输出,转换数据输出  DI 数据信号输入,选择通道控制  CLK 芯片时钟输入  Vcc/REF 电源输入及参考电压输入( 复用) 图 5 ADC0832芯片 ADC0832 为 8 位分辨率 A/D 转换芯片,其最高分辨可达 256 级,可以适应一般的模拟量转换要求。 其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在 0~5V 之间。 芯片转换时间仅为 32μS ,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。 独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。 通过 DI 数据输入端,可以轻易的实现通道功能 的选择。 这是我选择 ADC0832 的主要原因。 第 3 章 系统硬件电路设计 20 ADC0832 与单片机接口电路设计 ADC0832 的 CS 作为选通信号,在时序图中可以看到,以 CS 置为低电平开始,一直到置为高电平结束。 CLK 提供时钟信号,我们要注意看 CLK 的信号的箭头指向,向上为上升沿有效,向下为下降沿有效。 DI、 DO作为数据端口。 当ADC0832 未工作时其 CS 输入端应为高电平,此时芯片禁用, CLK 和 DO/DI 的电平可任意。 当要进行 A/D 转换时,须先将 CS 使能端置于低电平并且保持低电平直到转换完全结束。 此时芯片开始转换工作,同时 由处理器向芯片时钟输入端 CLK 输入时钟脉冲, DO/DI 端则使用 DI 端输入通道功能选择的数据信号。 在第 1个时钟脉冲的下沉之前 DI 端必须是高电平,表示启始信号。 在第 3 个脉冲下沉之前 DI端应输入 2位数据( SGL、 Odd)用于选择通道功能,当此 2位数据为 “1” 、 “0” 时,只对 CH0 进行单通道转换。 当 2位数据为 “1” 、“1” 时,只对 CH1 进行单通道转换。 当 2位数据为 “0” 、 “0” 时,将 CH0作为正输入端 IN+, CH1 作为负输入端 IN进行输入。 当 2 位数据为 “0” 、 “1”时,将 CH0 作为负输入端 IN, CH1 作为正 输入端 IN+进行输入。 在完成输入启动位、通道选择之后,就可以开始读出数据,转换得到的数据会被送出二次,一次高位在前传送,一次低位在前传送,连续送出。 在 程序读取二个数据后,我们可以加上检验来看看数据是否被正确读取。 ADC0832 与单片机的接口应为 4条数据线,分别是 CS、 CLK、 DO、 DI。 但由于 DO 端与 DI端在通信时并未同时有效并与单片机的接口是双向的,所以 电路设计 时可以将DO 和 DI 并联在一根数据线上使用。 第 3 章 系统硬件电路设计 21 图 6 ADC0832与 AT89S52的接口电路 显示模块 的设计 显示模块 的选择与介绍 本设计所设计的电子秤系统需要显示一些数据,例如商品的重量,单价及其总价等等,所以本设计得采用显示模块达到其功能指标,数据显示部分可以有以下两种方案供选择。 的组成有以下两种方案可供选择:一是 LED 数码管显示 ,二是采用可以设置显示重量,单价,金额等的 LCD,它具有低功耗、可视面大及抗干扰能力强等功能,其显示技术已得到广泛应用。 所以本设计采用 LCD1602,LCD1602 的主要技术参数:显示容量 :162 个字符,芯片工作电压 :— ,电流 :(),模块最佳工作电压 :,字符尺寸 :(WH)mm。 其引脚图如图 6 所示。 图 7 LCD1602 引脚图 LCD 显示器的工作原理:液晶显示器的主要材料是液态晶体。 它在特定的温度范围内,既具有液体的流动性,又具有晶体的某些光学特性,其透明度和颜色随电场、磁场、光照度等外界条件变化而变化。 因此,用液晶做成显示器件,就可以把上诉外界条件的变化反映出来从而形成现实的效果。 液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在字符型液晶显示模块已经第 3 章 系统硬件电路设计 22 是单片机应用设计中最常用的信息显示器件。 LCD1602 与 AT89S52 单片机接口电路的设计 本设计中的 LCD 液晶显示模块采用 LCD1602 型号,具有很低的功耗,正常工作时电流仅。 通过编程实现自动关闭屏幕能够更有效的降低功耗。 LCD1602 分两行显示,每行可显示多达 16 个字符。 LCD1602 液晶模块内部的字符发生存储器( CGROM)已经存储了 160 个不同的点阵字符图形,通过内部指令可实现对其显示多样的控制,并且还能利用空余的空间自定义字符。 这些都比较符合本系统的要求。 本设计中 AT89S52 的 ~ 口分别与 LCD1602 的DB0~ DB7 口相接作为数据线,每个口接上拉电阻后接 +5V 电源,要求从电源高电平引出的电阻接到输出。 上拉电阻同时也起稳定信号的作用,如果太小那么功耗比较大,太大的话就起不到上拉的作用了,所以本设计选择上拉电阻阻值为 1K。 系统中的 VSS 和 E1 接地电源, VDD 和 E2接 +5V 电源, E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令, RS 为寄存器选择, RW为读写信号线,高电平时进行读操作,低电平时进行写操作。 当 RS 和 RW 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 RW 为高电平时可 以读忙信号,当 RS 为高电平 RW 为低电平时可以写入数据。 LCD1602 与 AT89S52 的接线图如图 7所示。 图 8 LCD1602 与 AT89S52 的接线图 第 3 章 系统硬件电路设计 23 键盘电路与 AT89S52单片机接口电路的设计 键盘与单片机的连接方式选择 通常,键盘有编码和非编码两种。 编码键盘通过硬件电路产生被按按键的键码和一个选通脉冲。 选通脉冲可作为 CPU 的中断请求信号。 这种键盘使用方便,所需程序简单,但硬件电路复杂,常不被单片机采用。 非编。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。