第二章 硬件设计与原理 STC12C5A60S2单片机作为核心,控制整个电路系统以及价格的计算。电路包括STC12C5A60S2最小系统电路、LCD1602显示电路、键盘输入电路、过载报警电路、A/D转换电路、放大电路、传感器电路。 2.1 总设计框图 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD350.tmp.jpg 图2-1 2.2硬件设计分析 2.2.1 核心-单片机的选择 核心控制器主要用于对质量测量、价格计算、超载报警、键盘输入、以及显示单元进行控制,涉及输入、计算、输出等方面,功能相对复杂,所以核心控制器的选择非常重要,其选择方案有以下两种: 方案一:采用FPGA(现场可编程门列阵)作为系统的控制器。FPGA可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,减小了体积,提高了稳定性。但由于本设计对数据处理的速度要求不高,FPGA的高速处理的优势得不到充分体现,并且由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊接的工作。 方案二:采用单片机作为系统控制器的作为其核心的方案。单片机算术运算功能强、软件编程灵活、自由度大,可以用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。 基于以上分析,本次设计采用了方案二。 2.2.2 键盘的选择 键盘是单片机不可缺少的输入设备,是实现人机对话的纽带。键盘按结构形式可以分为非编码键盘和编码键盘,前者用软件方法产生键码,而后者则用硬件方法来产生键码。在单片机中使用的都是非编码键盘,因为非编码键盘结构简单,成本低廉,非编码键盘的类型很多,常用的有独立式键盘,行列式键盘等 方案一:独立式键盘 独立式键盘接口中使用几根I/O线,就有几个按键,这种类型的键盘,其按键比较少,且键盘中各按键的工作互不干扰。因此可以根据实际需要对键盘中的按键灵活编码。独立式键盘的缺点是需要占用比较多的I/O口线,当单片机应用系统键盘中需要的按键比较少或I/O口线比较富余时,可以采用这样类型的键盘。 方案二:行列式键盘 行列式键盘是用N条I/O线作为行线,M条I/O线作为列线组成的键盘,按键在行线和列线的每个交叉点上。这种形式的键盘结构,能够有效地提高单片机系统中I/O的利用率。 CPU对键盘的扫描可以采用取程序控制的随机方式,即只有在CPU空闲是时才去扫描键盘,响应操作人员的键盘输入,即利用单片机内部定时器每隔一定时间对键盘扫描一次,这样控制方式,不管键盘上有无键闭合,CPU总是定时的关心键盘状态。在大多数情况下,CPU对键盘可能进行空扫描。 根据以上的论述,本设计采用方案一。 2.2.3 显示器的选择 单片机设计中有数码管显示和液晶屏显示两种,本设计中需要显示单价信息、重量信息、总价信息、以及文字信息,显示信息较多,且包含汉字,不能使用数码管显示,故本设计使用液晶屏显示。 2.2.4 放大电路的选择 由于应变式电阻传感器发生形变时,产生的电流变化非常小,在传输过程中,容易受到影响导致失真,所以需要及时将电流放大,本设计中选择了集成了HX711芯片的模块,便于电路简化以及A/D采集。 2.2.5 A/D转换电路的选择 应变式电阻传感器发生形变时,产生的电流变化是模拟信号,而单片机处理数字信号更加可靠、方便,也便于后面的程序编写,本设计中选择了HX711芯片进行模拟信号采集以及A/D转换处理。 2.2.6 质量测量电路的选择 质量测量是本设计中另一个重要的模块,而能够测量质量的传感器有应变式电阻传感器、电容传感器等多种传感器,所以本设计准备了以下三种方案: 方案一:电容传感器。它利用电容器振荡电路的振荡频率f与极板间距d 的正比例关系工作(图6 )。极板有两块,一块固定不动,另一块可移动。在承重台加载被测物时,板簧挠曲,两极板之间的距离发生变化,电路的振荡频率也随之变化。测出频率的变化即可求出承重台上被测物的质量。电容式传感器耗电量少,造价低,准确度为1/200~1/500。但它有以下缺点: 缺点一:输出阻抗高,负载能力差 缺点二:输出特性非线性 缺点三:寄生电容影响大。 方案二:应变式电阻传感器。电阻应变式称重传感器是基于这样一个原理:弹性体(弹性元件,敏感梁)在外力作用下产生弹性变形,使粘贴在它表面的电阻应变片(转换元件)也随同产生变形,电阻应变片变形后,它的阻值将发生变化(增大或减小),再经相应的测量电路把这一电阻变化转换为电信号(电压或电流),从而完成了将外力变换为电信号的过程它的缺点是对于大应变有较大的非线性、输出信号较弱,但可采取一定的补偿措施。 根据以上所诉,本设计采用了应变式电阻传感器。 2.3 单片机最小系统 51单片机是对目前所有兼容intel 8031指令系统的单片机的统称。该系列单片机的始祖是intel的8031单片机,后来随着技术的发展,成为目前广泛应用的八位单片机之一。单片机是在一块芯片内集成了CPU、RAM、ROM、定时器/计数器和多功能I/O口等计算机所需要的基本功能部件的大规模集成电路,又称为MCU。51系列单片机内包含以下几个部件: 一个8位CPU;一个片内振荡器及时钟电路; 8KB的ROM程序存储器; 一个256B的RAM数据存储器; 寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路; 32条可编程的I/O口线; 两个16位定时/计数器; 一个可编程全双工串行口; 5个中断源、两个优先级嵌套中断结构。 如图2-2所示为单片机基本构造,其基本性能介绍如下: file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD351.tmp.png 图2-2 本设计采用的STC12C5A60S2单片机基本特点介绍如下: STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。 1.增强型8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051; 2.工作电压:STC12C5A60S2系列工作电压:5.5V-3.3V(5V单片机)STC12LE5A60S2系列工作电压:3.6V-2.2V(3V单片机); 3.工作频率范围:0 - 35MHz,相当于普通8051的 0~420MHz; 4.用户应用程序空间8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字节; 5.片上集成1280字节RAM; 6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口),可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏,每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA; 7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器 可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片; 8.有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM); 9.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地); 10.外部掉电检测电路:在P4.6口有一个低压门槛比较器,5V单片机为1.32V,误差为±5%,3.3V单片机为1.30V,误差为±3%; 11.时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为±5%到±10%以内) 1用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟,常温下内部R/C振荡器频率为:5.0V单片机为:11MHz~15.5MHz,3.3V单片机为:8MHz~12MHz,精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准; 12.共4个16位定时器 两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器 做串行通讯的波特率发生器 再加上2路PCA模块可再实现2个16位定时器; 13. 2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟; 14.外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块, Power Down模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4, T1/P3.5, RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2 ), CCP1/P1.4 (也可通过寄存器设置到P4.3); 15. PWM(2路)/PCA(可编程计数器阵列,2路): ——也可用来当2路D/A使用 ——也可用来再实现2个定时器 ——也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持); 16.A/D转换, 10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次),通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口; 17. STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3); 18.工作温度范围:-40 - +85℃(工业级) / 0 - 75℃(商业级)21.封装:PDIP-40,LQFP-44,LQFP-48 I/O口不够时,可用2到3根普通I/O口线外接 74HC164/165/595(均可级联)来扩展I/O口, 还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。 STC12C5A60S2是8051系列单片机,与普通51单片机相比有以下特点: 1、同样晶振的情况下,速度是普通51的8~12倍 2、有8路10位AD 3、多了两个定时器,带PWM功能 4、有SPI接口 5、有EEPROM 6、有1K内部扩展RAM 7、有WATCH_DOG 8、多一个串口 9、IO口可以定义,有四种状态 10、中断优先级有四种状态可定义 [1] 引脚功能: 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口作为第八位地址接收; 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.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,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效; PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期PSEN两次有效。但在访问内部部数据存储器时,这两次有效的PSEN信号将不出现; EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP); XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入; XTAL2:来自反向振荡器的输出; 2.4 按键输入电路 按键是由一组按压式或触摸式开关构成的阵列,是一种常用的输入设备。键盘可分为编 码式键盘和非编码式键盘两种。 1.编码键盘通过硬件电路产生被按按键的键码,这种键盘所需程序简单,但硬件电路复 杂、价格昂贵通常不被单片机系统采用。 2.非编码键盘常用一些按键排列成行列矩阵,其硬件逻辑与按键编码不存在严格的对应 关系,而要由所用的程序来决定。非编码键盘的硬件接口简单,但是要占用较多的 CPU 时间,通常采用可编程键盘管理芯片来克服这个缺点。 在接线时由于有四个引脚,连接时需要用万用表进行测量,然后接通两个引脚,原理图如下。 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD352.tmp.jpg 图2.4-1 按键电路 要进行数据的计算就必须先进行数据的输入,也就必须确定按键输入的数值是什么,这 就需要对键盘进行扫描,从而确定究竟是哪个键按下。 这些常开开关组成了调节按键,硬件电路简单,在程序设计上也不复杂,只要在程序中 消除在按键过程中产生的“毛刺”现象就可以了。这里采用最常用的方法即延时法,其的原 理为:因为“毛刺”脉冲一般持续时间短,约为几 ms,而按键的时间一般远远大于这个时 间,所以当单片机检测到有按键动静后再延时一段时间(这里取 10ms)后再判断此电平是否 保持原状态,如果是则为有效按键,否则无效。 这些常开开关组成了调节按键,硬件电路简单,在程序设计上也不复杂,只要在程序中 消除在按键过程中产生的“毛刺”现象就可以了。这里采用最常用的方法即延时法,其的原 理为:因为“毛刺”脉冲一般持续时间短,约为几 ms,而按键的时间一般远远大于这个时 间,所以当单片机检测到有按键动静后再延时一段时间(这里取 10ms)后再判断此电平是否 保持原状态,如果是则为有效按键,否则无效。 2.5 显示电路 1、液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8192 个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。可与CPU直接接口,提供两种界面来连接微处理机:8-位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。 2、 基本特性: (1)、低电源电压(VDD:+3.0--+5.5V)(2)、显示分辨率:128×64点 (3)、内置汉字字库,提供8192个16×16点阵汉字(简繁体可选) (4)、内置 128个16×8点阵字符 (5)、2MHZ时钟频率 (6)、显示方式:STN、半透、正显 (7)、驱动方式:1/32DUTY,1/5BIAS (8)、视角方向:6点 (9)、背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10 (10)、通讯方式:串行、并口可选 (11)、内置DC-DC转换电路,无需外加负压 (12)、无需片选信号,简化软件设计(13)、工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃ 3、 外观尺寸:93×70×12.5mm 4、 视域尺寸:73×39mm 5、外观尺寸图 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD363.tmp.jpg 图2.5-1 6、引脚说明 管脚号 | | | | | | | | | | | | | | | | | | | RS=“H”,表示DB7——DB0为显示数据 RS=“L”,表示DB7——DB0为显示指令数据 | | | | R/W=“H”,E=“H”,数据被读到DB7——DB0 R/W=“L”,E=“H→L”, DB7——DB0的数据被写到IR或DR | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
模块接口说明: *注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。 *注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。 *注释*注释3如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。 7、控制器接口信号说明: I、RS,R/W的配合选择决定控制界面的4种模式: II、E信号 ● 忙标志:BF BF标志提供内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据.利用STATUS RD 指令,可以将BF读到DB7总线,从而检验模块之工作状态. ● 字型产生ROM(CGROM) 字型产生ROM(CGROM)提供8192个此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAY ON),DDRAM 的内容就显示在屏幕上,DFF=0为关显示(DISPLAY OFF)。DFF 的状态是指令DISPLAY ON/OFF和RST信号控制的。 ● 显示数据RAM(DDRAM)模块内部显示数据RAM提供64×2个位元组的空间,最多可控制4行16字(64个字)的中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;此模块可显示三种字型,分别是半角英数字型(16*8)、CGRAM字型及CGROM的中文字型,三种字型的选择,由在DDRAM中写入的编码选择,在0000H—0006H的编码中(其代码分别是0000、0002、0004、0006共4个)将选择CGRAM的自定义字型,02H—7FH的编码中将选择半角英数字的字型,至于A1以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5(A140—D75F),GB(A1A0-F7FFH)。 ● 字型产生RAM(CGRAM) 字型产生RAM提供图象定义(造字)功能, 可以提供四组16×16点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中。 ● 地址计数器AC地址计数器是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器的值会被读取到DB6——DB0中。 光标/闪烁控制电路 此模块提供硬体光标及闪烁控制电路,由地址计数器的值来指定DDRAM中的光标或闪烁位置。 8、指令说明 模块控制芯片提供两套控制命令,基本指令和扩充指令如下: 指令表1:(RE=0:基本指令) | | | | | | | | | | | | | | | | | | | | | | | | | | 将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H" | | | | | | | | | | | | 设定DDRAM的地址计数器(AC)到"00H",并且将游标移到开头原点位置;这个指令不改变DDRAM 的内容 | | | | | | | | | | | | D=1: 整体显示 ON C=1: 游标ON B=1:游标位置反白允许 | | | | | | | | | | | | 指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位 | | | | | | | | | | | | 设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容 | | | | | | | | | | | | DL=0/1:4/8位数据 RE=1: 扩充指令操作 RE=0: 基本指令操作 | | | | | | | | | | | | | | | | | | | | | | | | 设定DDRAM 地址(显示位址) 第一行:80H-87H 第二行:90H-97H | | | | | | | | | | | | 读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值 | | | | | 将数据D7——D0写入到内部的RAM (DDRAM/CGRAM/IRAM/GRAM) | | | | | 从内部RAM读取数据D7——D0 (DDRAM/CGRAM/IRAM/GRAM) | | | | | | | | | | | | | | | | | | | | | | | | | | | 将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H" | | | | | | | | | | | | 设定DDRAM的地址计数器(AC)到"00H",并且将游标移到开头原点位置;这个指令不改变DDRAM 的内容 | | | | | | | | | | | | D=1: 整体显示 ON C=1: 游标ON B=1:游标位置反白允许 | | | | | | | | | | | | 指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位 | | | | | | | | | | | | 设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容 | | | | | | | | | | | | DL=0/1:4/8位数据 RE=1: 扩充指令操作 RE=0: 基本指令操作 | | | | | | | | | | | | | | | | | | | | | | | | 设定DDRAM 地址(显示位址) 第一行:80H-87H 第二行:90H-97H | | | | | | | | | | | | 读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值 | | | | | 将数据D7——D0写入到内部的RAM (DDRAM/CGRAM/IRAM/GRAM) | | | | | 从内部RAM读取数据D7——D0 (DDRAM/CGRAM/IRAM/GRAM) |
指令表2:(RE=1:扩充指令) 指 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SR=1:允许输入垂直卷动地址 SR=0:允许输入IRAM和CGRAM地址 | | | | | | | | | | | | 选择2行中的任一行作反白显示,并可决定反白与否。初始值R1R0=00,第一次设定为反白显示,再次设定变回正常 | | | | | | | | | | | | | | | | | | | | | | | | CL=0/1:4/8位数据 RE=1: 扩充指令操作 RE=0: 基本指令操作 G=1/0:绘图开关 | | | | | | | | | | | | 设定绘图RAM 先设定垂直(列)地址AC6AC5…AC0 再设定水平(行)地址AC3AC2AC1AC0 将以上16位地址连续写入即可 |
备注:当IC1在接受指令前,微处理器必须先确认其内部处于非忙碌状态,即读取BF标志时,BF需为零,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延长一段较长的时间,即是等待前一个指令确实执行完成。 应用举例: 1、使用前的准备:先给模块加上工作电压,再按照下图的连接方法调节LCD的对比度,使其显示出黑色的底影。此过程亦可以初步检测LCD有无缺段现象。 2、字符显示:带中文字库的128X64-0402B每屏可显示4行8列共32个16×16点阵的汉字,每个显示RAM可显示1个中文字符或2个16×8点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。带中文字库的128X64-0402B内部提供128×2字节的字符显示RAM缓冲区(DDRAM)。字符显示是通过将字符显示编码写入该字符显示RAM实现的。根据写入内容的不同,可分别在液晶屏上显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)的内容。三种不同字符/字型的选择编码范围为:0000~0006H(其代码分别是0000、0002、0004、0006共4个)显示自定义字型,02H~7FH显示半宽ASCII码字符,A1A0H~F7FFH显示8192种GB2312中文字库字形。字符显示RAM在液晶模块中的地址80H~9FH。字符显示的RAM的地址与32个字符显示区域有着一一对应的关系,其对应关系如下表所示。 3 、图形显示 先设垂直地址再设水平地址(连续写入两个字节的资料来完成垂直与水平的坐标地址) 垂直地址范围 AC5...AC0 水平地址范围 AC3…AC0 绘图RAM 的地址计数器(AC)只会对水平地址(X 轴)自动加一,当水平地址=0FH 时会重新设为00H 但并不会对垂直地址做进位自动加一,故当连续写入多笔资料时,程序需自行判断垂直地址是否需重新设定。GDRAM的坐标地址与资料排列顺序如下图: 4、应用说明 用带中文字库的128X64显示模块时应注意以下几点: ①欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。 ②显示ASCII字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。 ③当字符编码为2字节时,应先写入高位字节,再写入低位字节。 ④模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的指令。如果在送出一个指令前不检查BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。指令执行的时间请参考指令表中的指令执行时间说明。⑤“RE”为基本指令集与扩充指令集的选择控制位。当变更“RE”后,以后的指令集将维持在最后的状态,除非再次变更“RE”位,否则使用相同指令集时,无需每次均重设“RE”位。 2.7 A/D转换电路 AD转换就是模数转换。顾名思义,就是把模拟信号转换成数字信号。主要包括积分型、逐次逼近型、并行比较型/串并行型、Σ-Δ调制型、电容阵列逐次比较型及压频变换型。 A/D转换器是用来通过一定的电路将模拟量转变为数字量。模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。 I、分类 1)积分型(如TLC7135) 积分型AD工作原理是将输入电压转换成时间(脉冲宽度信号)或频率(脉冲频率),然后由 定时器/计数器获得数字值。其优点是用简单电路就能获得高分辨率, 但缺点是由于转换精度依赖于积分时间,因此转换速率极低。初期的单片AD转换器大多采用积分型,现在逐次比较型已逐步成为主流。 2)逐次比较型(如TLC0831) 逐次比较型AD由一个比较器和DA转换器通过逐次比较逻辑构成,从MSB开始,顺序地对每一位将输入电压与内置DA转换器输出进行比较,经n次比较而输出 数字值。其电路规模属于中等。其优点是速度较高、功耗低,在低分辩率(<12位)时价格便宜,但高精度(>12位)时价格很高。 3)并行比较型/串并行比较型(如TLC5510) 并行比较型AD采用多个比较器,仅作一次比较而实行转换,又称FLash(快速)型。由于转换速率极高,n位的转换需要2n-1个比较器,因此电路规模也极大,价格也高,只适用于视频AD转换器等速度特别高的领域。 串并行比较型AD结构上介于并行型和逐次比较型之间,最典型的是由2个n/2位的并行型AD转换器配合DA转换器组成,用两次比较实行转换,所以称为 Half flash(半快速)型。还有分成三步或多步实现AD转换的叫做分级(Multistep/Subrangling)型AD,而从转换时序角度 又可称为流水线(Pipelined)型AD,现代的分级型AD中还加入了对多次转换结果作数字运算而修正特性等功能。这类AD速度比逐次比较型高,电路 规模比并行型小。 4)Σ-Δ(Sigma?/FONT>delta)调制型(如AD7705) Σ-Δ型AD由积分器、比较器、1位DA转换器和数字滤波器等组成。原理上近似于积分型,将输入电压转换成时间( 脉冲宽度)信号,用数字滤波器处理后得到数字值。电路的数字部分基本上容易单片化,因此容易做到高分辨率。主要用于音频和测量。 5)电容阵列逐次比较型 电容阵列逐次比较型AD在内置DA转换器中采用电容 矩阵方式,也可称为电荷再分配型。一般的电阻阵列DA转换器中多数电阻的值必须一致,在单芯片上生成高 精度的电阻并不容易。如果用电容阵列取代电阻阵列,可以用低廉成本制成高精度单片AD转换器。最近的逐次比较型AD转换器大多为电容阵列式的。 6)压频变换型(如AD650) 压频变换型(Voltage-Frequency Converter)是通过间接转换方式实现模数转换的。其原理是首先将输入的模拟信号转换成频率,然后用计数器将频率转换成 数字量。从理论上讲这种AD的分辨率几乎可以无限增加,只要采样的时间能够满足输出频率分辨率要求的累积脉冲个数的宽度。其优点是分辩率高、功耗低、价格低,但是需要外部计数电路共同完成AD转换。 II、HX711 1)、简介。HX711是一款专为高精度称重传感器而设计的24位A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。该芯片与后端MCU芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。输入选择开关可任意选取通道A或通道B,与其内部的低噪声可编程放大器相连。通道A的可编程增益为128或64,对应的满额度差分输入信号幅值分别为±20mV或±40mV。通道B则为固定的32增益,用于系统参数检测。芯片内提供的稳压电源可以直接向外部传感器和芯片内的A/D转换器提供电源,系统板上无需另外的模拟电源。芯片内的时钟振荡器不需要任何外接器件。上电自动复位功能简化了开机的初始化过程。 2)、特点。 A、两路可选择差分输入; B、片内低噪声可编程放大器,可选增益为64 和128; C、片内稳压电路可直接向外部传感器和芯片内A/D 转换器提供电源; D、片内时钟振荡器无需任何外接器件,必要时也可使用外接晶振或时钟上电自动复位电路; E、简单的数字控制和串口通讯:所有控制由管脚输入,芯片内寄存器无需编程; F、可选择10Hz 或80Hz 的输出数据速率; G、同步抑制50Hz 和60Hz 的电源干扰; H、耗电量(含稳压电源电路):典型工作电流:<1.7mA, 断电电流:<1μA; I、工作电压范围:2.6 ~ 5.5V; J、工作温度范围:-20 ~ +85℃; L、16 管脚的SOP-16 封装; file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD383.tmp.jpg 图2.7-1 HX711内部方框图 3)、管脚说明 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD384.tmp.jpg 图2.7-2管脚图 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD385.tmp.jpg 图2.7-3管脚说明 模拟输入 通道A模拟差分输入可直接与桥式传感器的差分输出相接。由于桥式传感器输出的信号较小,为了充分利用A/D转换器的输入动态范围,该通道的可编程增益较大,为128或64。这些增益所对应的满量程差分输入电压分别±20mV或±40mV。通道B为固定的32增益,所对应的满量程差分输入电压为±80mV。通道B应用于包括电池在内的系统参数检测。 供电电源 数字电源(DVDD)应使用与MCU芯片相同的的数字供电电源。HX711芯片内的稳压电路可同时向A/D转换器和外部传感器提供模拟电源。稳压电源的供电电压(VSUP)可与数字电源(DVDD)相同。稳压电源的输出电压值(VAVDD)由外部分压电阻R1、R2 和芯片的输出参考电压VBG决定(图1),VAVDD=VBG(R1+R2)/R2。应选择该输出电压比稳压电源的输入电压(VSUP)低至少100mV。如果不使用芯片内的稳压电路,管脚VSUP和管脚AVDD应相连,并接到电压为2.6~5.5V的低噪声模拟电源。管脚VBG上不需要外接电容,管脚VFB应接地,管脚BASE 为无连接。 时钟选择 如果将管脚XI接地,HX711将自动选择使用内部时钟振荡器,并自动关闭外部时钟输入和晶振的相关电路。这种情况下,典型输出数据速率为10Hz或80Hz。如果需要准确的输出数据速率,可将外部输入时钟通过一个20pF的隔直电容连接到XI管脚上,或将晶振连接到XI和XO管脚上。这种情况下,芯片内的时钟振荡器电路会自动关闭,晶振时钟或外部输入时钟电路被采用。此时,若晶振频率为11.0592MHz,输出数据速率为准确的10Hz或80Hz。输出数据速率与晶振频率以上述关系按比例增加或减少。使用外部输入时钟时,外部时钟信号不一定需要为方波。可将MCU芯片的晶振输出管脚上的时钟信号通过20pF的隔直电容连接到XI管脚上,作为外部时钟输入。外部时钟输入信号的幅值可低至150mV。 串口通讯 串口通讯线由管脚PD_SCK和DOUT组成,用来输出数据,选择输入通道和增益。当数据输出管脚DOUT为高电平时,表明A/D转换器还未准备好输出数据,此时串口时钟输入信号PD_SCK应为低电平。当DOUT从高电平变低电平后,PD_SCK应输入25至27个不等的时钟脉冲(图二)。其中第一个时钟脉冲的上升沿将读出输出24位数据的最高位(MSB),直至第24个时钟脉冲完成,24位输出数据从最高位至最低位逐位输出完成。第25至27个时钟脉冲用来选择下一次A/D转换的输入通道和增益,参见图2.7-4。 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD386.tmp.jpg 图2.7-4输入通道和增益选择 PD_SCK的输入时钟脉冲数不应少于25或多于27,否则会造成串口通讯错误。当A/D转换器的输入通道或增益改变时,A/D转换器需要4个数据输出周期才能稳定。DOUT在4个数据输出周期后才会从高电平变低电平,输出有效数据。 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD387.tmp.jpg 图2.7-5数据输出,输入通道和增益选择时序图 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD388.tmp.jpg 复位和断电 当芯片上电时,芯片内的上电自动复位电路会使芯片自动复位。管脚PD_SCK输入用来控制HX711的断电。当PD_SCK为低电平时,芯片处于正常工作状态。 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD389.tmp.jpg 图2.7-6断电控制 如果PD_SCK从低电平变高电平并保持在高电平超过60μs,HX711 即进入断电状态(图三)。如使用片内稳压电源电路,断电时,外部传感器和片内A/D 转换器会被同时断电。当PD_SCK 重新回到低电平时,芯片会自动复位后进入正常工作状态。芯片从复位或断电状态进入正常工作状态后,通道A和增益128会被自动选择作为第一次A/D转换的输入通道和增益。随后的输入通道和增益选择由PD_SCK的脉冲数决定,参见串口通讯一节。芯片从复位或断电状态进入正常工作状态后,A/D 转换器需要4个数据输出周期才能稳定。DOUT在4个数据输出周期后才会从高电平变低电平,输出有效数据。 2.8 放大电路 放大电路亦称为放大器,它是使用最为广泛的电子电路之一、也是构成其他电子电路的基础单元电路。所谓放大,就是将输入的微弱信号(简称信号,指变化的电压、电流等)放大到所需要的幅度值且与原输入信号变化规律一致的信号,即进行不失真的放大。只有在不失真的情况下放大才有意义。放大电路的本质是能量的控制和转换,根据输入回路和输出回路的公共端不同,放大电路有三种基本形式:共射放大电路、共集放大电路和共基放大电路 实际的放大电路通常是由信号源、晶体三极管构成的放大器及负载组成。增加电信号幅度或功率的电子电路。 应用放大电路实现放大的装置称为放大器。它的核心是电子有源器件,如电子管、晶体管等。为了实现放大,必须给放大器提供能量。常用的能源是直流电源,但有的放大器也利用高频电源作为泵浦源。放大作用的实质是把电源的能量转移给输出信号。输入信号的作用是控制这种转移,使放大器输出信号的变化重复或反映输入信号的变化。现代电子系统中,电信号的产生、发送、接收、变换和处理,几乎都以放大电路为基础。20世纪初,真空三极管的发明和电信号放大的实现,标志着电子学发展到一个新的阶段。20世纪40年代末晶体管的问世,特别是60年代集成电路的问世,加速了电子放大器以至电子系统小型化和微型化的进程。 现代使用最广的是以晶体管(双极型晶体管或场效应晶体管)放大电路为基础的集成放大器。大功率放大以及高频、微波的低噪声放大,常用分立晶体管放大器。高频和微波的大功率放大主要靠特殊类型的真空管,如功率三极管或四极管、磁控管、速调管、行波管以及正交场放大管等。 放大电路的前置部分或集成电路元件变质引起高频振荡产生"咝咝"声,检查各部分元件,若元件无损坏,再在磁头信号线与地间并接一个1000PF~0.047F的电容,"咝咝"声若不消失,则需要更换集成块。 放大电路本身的特点: 一、有静态和动态两种工作状态,所以有时往往要画出它的直流通路和交流通路才能进行分析; 二、电路往往加有负反馈,这种反馈有时在本级内,有时是从后级反馈到前级,所以在分析这一级时还要能“瞻前顾后”。在弄通每一级的原理之后就可以把整个电路串通起来进行全面综合。 电压放大倍数、输入电阻和输出电阻是放大电路的三个主要性能指标,分析这三个指标最常用的方法是微变等效电路法,这是一种在小信号放大条件下,将非线性的三极管放大电路等效为线性放大电路。 [2] 放大倍数 放大倍数又称增益,它是衡量放大电路放大能力的指标。根据需要处理的输入和输出量的不同,放大倍数有电压、电流、互阻、互导和功率放大倍数等,其中电压放大倍数应用最多。 输入电阻 放大电路的输入电阻是从输入端向放大电路内看进去的等效电阻,它等于放大电路输出端接实际负载电阻后,输入电压与输入电流之比,即Ri=Ui/Ii。对于信号源来说,输入电阻就是它的等效负载。 输入电阻的大小反映了放大电路对信号源的影响程度。输入电阻越大,放大电路从信号源汲取的电流(即输入电流)就越小,信号源内阻上的压降就越小,其实际输入电压就越接近于信号源电压,常称为恒压输入。反之,当要求恒流输入时,则必须使Ri<<Rs;若要求获得最大功率输入,则要求Ri=Rs,常称为阻抗匹配。 输出电阻 对负载而言,放大电路的输出端可等效为一个信号源。输出电阻越小,输出电压受负载的影响就越小,若Ro=0,则输出电压的大小将不受RL的大小影响,称为恒压输出。当RL<<Ro时即可得到恒流输出。因此,输出电阻的大小反映了放大电路带负载能力的大小。 根据放大电路的作用可以将其分为:电压放大电路、电流放大电路和功率放大电路。根据放大电路的组成元件可以分为晶体管放大电路和场效应管放大电路。 晶体管放大电路的基本形式有三种:共射放大电路,共基放大电路和共集放大电路;场效应管放大电路基本形式有两种:共源放大电路,共漏放大电路。在构成多级放大器时,这几种电路常常需要相互组合使用。 [2] 一、共发射极放大电路 共发射极放大电路简称共射电路,输入端AA′外接需要放大的信号源;输出端BB′外接负载。发射极为输入信号ui和输出信号uo的公共端。公共端通常称为“地”(实际上并非真正接到大地),其电位为零,是电路中其他各点电位的参考点,用“⊥”表示。 1.电路的组成及各元件的作用 (1)三极管VNPN管,具有放大功能,是放大电路的核心。 (2)直流电源VCC使三极管工作在放大状态,VCC一般为几伏到几十伏。 (3)基极偏置电阻Rb它使发射结正向偏置,并向基极提供合适的基极电流(。Rb一般为几十千欧至几百千欧。 (4)集电极负载电阻Rc它将集电极电流的变化转换成集-射极之间电压的变化,以实现电压放大。Rc的值一般为几千欧至几十千欧。 (5)耦合电容C1、C2又称隔直电容,起通交流隔直流的作用。C1、C2一般为几微法至几十微法的电解电容器,在联结电路时,应注意电容器的极性,不能接错。 2.放大电路的静态分析:静态是指放大电路没有交流输入信号(ui=0)时的直流工作状态。静态时,电路中只有直流电源VCC作用,三极管各极电流和极间电压都是直流值,电容C1、C2相当于开路,其等效电路如图6-22所示,该电路称为直流通路。 对放大电路进行静态分析的目的是为了合理设置电路的静态工作点(用Q表示),即静态时电路中的基极电流IBQ、集电极电流ICQ和集-射间电压UCEQ的值,防止放大电路在放大交流输入信号时产生的非线性失真。 三极管工作于放大状态时,发射结正偏,这时UBEQ基本不变,对于硅管约为0.7V,锗管约为0.3V。 三、功率放大电路 1.功率放大电路的基本概念功率放大电路的任务是输出足够的功率,推动负载工作。例如扬声器发声、继电器动作、电动机旋转等。功率放大电路和电压放大电路都是利用三极管的放大作用将信号放大,不同的是功率放大电路以输出足够的功率为目的,工作在大信号状态;而电压放大电路的目的是输出足够大的电压,工作在小信号状态。 功率放大电路应满足以下要求: (1)输出功率足够大为了获得较大的输出信号电压和电流,往往要求三极管工作在极限状态。实际应用时,应考虑到三极管的极限参数PCM、ICM和U(BR)CEO。 2)动态工作分析设输入信号为正弦电压ui,如图6-30a所示。在正半周时,V1管发射结正偏导通,V2管发射结反偏截止,由+VCC提供的电流ic1经V1管流向负载,在负载RL上获得正半周输出电压uo。同理,在负半周时,V1管发射结反偏截止,V2管发射结正偏导通,由-VCC提供的电流ic2从-VCC端经负载流向V2管,在RL上获得负半周输出电压uo。可见,在ui的整个周期内,V1管和V2管轮流导通,相互补充,从而在RL上得到完整的输出电压uo,故称为补对称功率放大电路。 3.集成功率放大电路简介 集成功率放大电路是将功率放大电路中的各个元件及其联线制作在一块半导体芯片上的整体。它具有体积小、重量轻、可靠性高、使用方便等优点,因此在收录机、电视机及伺服放大电路中获得广泛应用。 四、多级放大电路简介 实际应用中,放大电路的输入信号都是很微弱的,一般为毫伏级或微伏级。为获得推动负载工作的足够大的电压和功率,需将输入信号放大成千上万倍。由于前述单级放大电路的电压放大倍数通常只有几十倍,所以需要将多个单级放大电路联结起来,组成多级放大电路对输入信号进行连续放大。 多级放大电路中,输入级用于接受输入信号。为使输入信号尽量不受信号源内阻的影响,输入级应具有较高的输入电阻,因而常采用高输入电阻的放大电路,例如射极输出器等。中间电压放大级用于小信号电压放大,要求有较高的电压放大倍数。输出级是大信号功率放大级,用以输出负载需要的功率。 2.多级放大电路的级间耦合方式及特点在多级放大电路中,级与级之间的联结方式称为耦合。级间耦合时应满足以下要求:各级要有合适的静态工作点;信号能从前级顺利传送到后级;各级技术指标能满足要求。 2.9传感器电路 电阻应变式传感器(straingauge type transducer )是以电阻应变计为转换元件的电阻式传感器。电阻应变式传感器由弹性敏感元件、电阻应变计、补偿电阻和外壳组成,可根据具体测量要求设计成多种结构形式。弹性敏感元件受到所测量的力而产生变形,并使附着其上的电阻应变计一起变形。电阻应变计再将变形转换为电阻值的变化,从而可以测量力、压力、扭矩、位移、加速度和温度等多种物理量。 常用的电阻应变式传感器有应变式测力传感器、应变式压力传感器、应变式扭矩传感器(见转矩传感器)、应变式位移传感器(见位移传感器)、应变式加速度传感器(见加速度计)和测温应变计等。电阻应变式传感器的优点是精度高,测量范围广寿命长,结构简单,频响特性好,能在恶劣条件下工作,易于实现小型化、整体化和品种多样化等。 常用的电阻应变式传感器有应变式测力传感器、应变式压力传感器、应变式扭矩传感器(见转矩传感器)、应变式位移传感器(见位移传感器)、应变式加速度传感器(见加速度计)和测温应变计等。电阻应变式传感器的优点是精度高,测量范围广寿命长,结构简单,频响特性好,能在恶劣条件下工作,易于实现小型化、整体化和品种多样化等。
|