单片机课程设计(论文)数字电子称设计.doc
目 录第一章、设计方案简介 01设计内容 01设计要求 01实验流程图 01第二章、测量系统的电路分析 04传感器系统 04放大系统04模数转换 06显示系统08第三章、单片机的主控程序 09单片机89C2051芯片 09电子秤工作流程 10第四章、设计结果 15电子秤工作流程 15电子秤原理图 16 第五章、设计评述 17 心得体会 17第六章、参考文献 18参考相关资料 18第七章、元器件清单 18第一章 设计方案简介数字电子称通过传感器将被测物体的重量转换成模拟的电压信号,较小的电压信号通过应用放大系统进行准确、线性的放大,以满足模数转换器对输入信号电平的要求。放大电路采用四运放集成电路LM324中的三个运放组成的仪表用放大电路。仪表用放大器具备足够大的放大倍数、高输入电阻和高共模抑制比的特点。放大后的模拟电压信号经过模数转换电路变成数字量,模数转换电路采用模数转换芯片7107实现。然后把数字信号输送到显示电路中去,最后由显示电路显示出测量结果,显示电路采用四块分立的七段LED显示电路进行显示。本设计中通过改变放大电路的增益,从而达到转换量程的目的。由于被测物体的重量相差较大,根据不同的侧重范围要求,需对量程进行切换。1、 设计内容(1) 制作一个具有数字显示功能的数字电子称;(2) 调试数字电子称的歌单元电路及系统电路;(3) 掌握数字电路的设计、组装与调试方法;(4) 熟悉集成电路7107的使用方法;(5)采用电阻应变式传感器;2、 设计要求(5) (1)测量范围: 019.99kg(6) (2)用数字显示被测重量,小数点位置对应不同的量程显示。3、 实验流程图感器荷传感器放大器A/D转换数码显示器单片机微控制器调零电路 图20 小型电子秤的系统构成(7) 本系统采用了低功能单片机89C2051作为测量仪表的核心,使得整个系统结构简单,功能强大,性价比高。(8) 电子秤测量系统的工作原理:(9) 仪表通电后,在秤重过程中由货物重量经荷重传感器的信号转换,输出相应的毫伏电压,这个微弱信号通过运算放大器放大和标度变换转送A/D转换器。本系统的A/D转换器采用了V/F型积分转换器,它将输入的模拟信号转换成相应的以脉冲序列方式的频率输出。单片机89C2051严格控制每一次采样时间,保持每一次计数的闸门时间间隔的一致性。单片机通过应用程序,把当次的采样频率f进行标度转换形成显示器可使用的串行代码数据。在测量荷重期间,系统可随时接受人机对话请求。人机对话仅通过键盘接受校正值。 校正有两个内容,其一,“零点校正”,按“设置”键,将空负荷下的采样值记录下来存入EEPROM型号为24LC02B;其二,“斜率校正”,将标准重量(砝码)作为秤重对象放入托盘,按“校正”键,单片机将采样值记录下来并通过计算将新的斜率存入EEPROM型号为24LC02B。这两种校正的方法如下: (10) (1)零点校正:电子秤的长期使用,由于传感器,放大器的零点漂移,使得出厂时调整好的零点发生偏移而导致秤重时引起恒定误差,经过“设置”键校正,实际上把零漂值存储起来,以后每次侧重时采样值调整: Xy = Xi - 去除零漂误差。(11) (2)斜率校正:系统除了零点漂移不可避免外,秤重机构的灵敏度,放大器的增益也会受到使用时间的影响而发生变化,斜率校正实际上是满度调整。(12)(13) 关系式: K =f / Xy (14) 其中,可K为斜率, f 为采样频率,Xy荷重。(15) 图21 斜率校正第二章 测量系统的电路分析1、传感器(16) 电子秤传感器的测量电路通常使用电桥测量电路,它将应变阻值的变化转换为电压或电流的变化,这就是可用的输出信号。(17) 电桥电路有四个电阻组成,如下图所示:(18)(19) 电子秤的传感器在不加负荷时,桥路的电阻应平衡,也就是电桥初始平衡状态输出应为零。但实际上桥路各臂阻值不可能绝对相同,接触电阻及导线电阻也有差异,致使输出不为零。因此必须设置调零电路使初始状态达到平衡,即输出为零。2、 放大器(20) 绝大多数的电子秤都采应变式传感器作为荷重变换器。这是因为应变式传感器结构简单,体积小,精度高,非线性误差小,量程调整容易等优点。本系统采用的是平行梁式,这是一种根据弹性材料受到压力后变形产生应变,使粘贴在弹性材料上的应变元件或压缩或拉伸,引起应变元件的电阻相应变化。为了提高灵敏度,一般采用4个性能完全相同应变元件构成全臂差动电桥,电桥的输出关系式: (21) (3-2) (22) 标称值:R = 120 ,E= 6V,额定输出: 1.3mV/V, 实际满度输出7.8mV/6V(23) 显然,由应变元件构成全臂差动电桥的输出信是微弱的,必须通过信号放大才有读数意义。 应变传感器 放大器RDWRQU0U01234567844%55%64%81%32184U1:A145856784U1:B145832184U2:A1458+12R210kR110k-5-5-5+5+5+5+88.8AC Volts48%VIN+6VIN-7VREF/29CLK IN4A GND8RD2WR3INTR5CS1D GND10DB7(MSB)11DB612DB513DB414DB315DB216DB117DB0(LSB)18CLK R19VCC20U3ADC0804A/D转换器图22 一次与二次仪表本系统采用单电源工作的三运算放大器与电桥电路连接成反向放大电路。3、A/D模数转换器设计中A/D转换器用的是ADC08094A/D转换器,它是8路8位逐次逼近式转换器,结果为8位二进制数据,转换时间短(一般在级),满足题目要求的“实时采样”,并且它的转换精度在0.1%上下,比较适中,适用于一般场合。由图2.3.3可见,单片机通过读控制线WR和0804片选线控制启动A/D转换及输入通道地址锁存,写控制线WR与ADC0804片选线控制输出允许。模拟电压由VIN+,VIN_通道输入,A/D采样电压在05v之间变化。所模拟通道VIN+,VIN地址口为0AOOOH,但是ADC0804无内置时钟,所以CLKIN,CLIR由外部时钟信号控制。 图2.3.3 A/D转换器和单片机的接口电路 工作原理: 图23为电压/频率转换器0804的简化功能框图。内能隙基准电路产生1.9V直流电压,送到2脚,外接RS形成基准电流 I= 1.9/RS。(I=50500uA)。 输入电压Vin送比较器,引脚6通常与1脚连接,当K合上后流过恒电流在RL上产生压降VX作为阈值电压。 在单脉冲定时器上设有定时比较器,一个输入端恒接2/3VCC作为参考电压,另一个输入端接引脚5。 V5>2/3VCC单脉冲定时器内部的RS触发器产生复位信号使K断开,又迫使驱动晶体管截止。复位后使引脚5与地短接,电容C1上的电荷释放,电压下降。使V5</3VCC,这个单脉冲定时器的定时周期为:t = 1.1R1C1。 输入电压Vin送比较器与VX进行比较.因为K合之前VcL=0,则Vin>VX, 输入比较器使RS触发器产生启动信号使K闭合, 基准电流向CL充电。使VX上升,直至VX>Vin。 输入比较器翻转, 迫使单脉冲定时器产生复位信号使K断开, CL向RL放电,使VX<Vin。然后输入比较器再次启动定时器,开始下一次循环。4、显示器本设计采用的显示数码管是一个 4 位 8 段 LED 数码管,其由单片机诸位扫描控制其点亮的位和段,在单片机通过P3口把数据送到LED数码管的AG端口,同时在驱动电路的驱动下实现重量值的显示。 第三者 单片机的主控程序如前所述,单片机是系统的核心控制部件。电路各部分都完全按照单片机内含的工作程序,正确有序的运行。为此,有必要对本系统的程序流程作简要介绍。1、单片机89C2051芯片 89C2051为MCS-51系列的一种低功能单片机,其特点是:体积缩小为原来的1/4,引脚少一半,没有P1口,P2口,以及省掉了PSEN,ALE,EA,P3.7(RD)。很显然, 89C2051失去了对外寻址功能, 对外读写数据功能。但是,P1.2P1.7具有很强的驱动功能,可以直接带负载(20Ma).其他保留下来的引脚与原来的功能一致所采用的指令系统与原来的MCS-51系列完全相同。只是某些指令是无效的。 89C2051只有P1,P3口作为I/O口,允许对外传输数据或输入输出控制信号。如图25所示,P1.5P1.7负责输出显示数据; P1.2P1.4负责键盘输入;P3.2,P3.3 负责校正参数存储.整个系统由于功能比较简单,采用89C2051低功能单片机的性能价格比高。 图26 小型电子秤的键盘与显示器接口 2、电子秤软件设计 每个系统程序都具有一个“初始化”程序段,所谓“初始化”就是定义某些特殊寄存器的功能,如定时器T0/T1的含义,中断字的设置,内部RAM的清理和预设等,这些工作是依据系统要求而设定的。如MAIN: CLR A MOV P1,A; P1口清零。 MOV TMOD #51H; T0为定时器,且自动赋初始值。 MOV TH0,#0F8H; 设置定时器初始值。 MOV TL0,#0CH MOV R6,#80h; 将内部RAM清零,范围#20H#7FH。 MOV R0,#20h CLR A MMM: MOV R0,A INC R0 DJNZ R6,MMM MOV SP,#40H; 堆栈入口地址为#40。 SETB EA 打开中断 SETB TR0; 启动定时器计数。 CLR 20H; 控制标志号预置。 键盘管理程序,单片机的键盘设计可以有两种方式来实现。一种是中断法,即在系统运行时任何时刻按下其中任一个按键都会向单片机提出中断申请。单片机立刻响应,停止当前工作转入中断服务程序。完成人机对话后再继续原来的工作。由于中断方式响应及时、优先权高,修改或补充任务不会破坏整个程序结构。但是有时会带来不利的因素,如电子秤处在信号采集时一旦中断,信号采集数据遭到破坏,读数发生明显错误。另外为了随时接收中断,外部中断始终开放着,容易受到电磁干扰的影响,导致误操作。另一种是查询方式,即在规定时刻才主动询问外部是否有按键按下,如果发现有按键信号,接下来根据按键入口位置来决定进行何种管理工作。这种方式受到时间段限制,灵活性不够并且程序编制比较困难。但是它能保证数据采集的完整性,也能防止电磁干扰的影响。本系统采用的是查询方式键盘管理。图28所示,电子秤仪表设有三个键位,分别执行零点校正,斜率校正和任务确定。当开机后发现出现空载条件下读数不为零,就按零点校正键会自动复零。在秤台上放入一个标准砝码,观察仪表读数是否符合砝码重量,如果存在误差,就按斜率校正键会自动调整斜率K值来满足测量范围。任务确定键是切换仪表状态,是处在校正还是秤重。中断服务程序主要是完成定时对显示器各数码位进行刷新,实现动态显示。同时提供了基准时间,给出V/F转换器标准的采样闸门时间(100毫秒)。如下是一段可以支持上述功能的中断服务程序的典型程序。#30H#33HAM为显示缓冲区,#3FH为显示缓冲区指针,P1.7为串行数据线,P1.6为时钟线,#6CH为闸门时间计数器。P1.0P1.3为数码管选通线(这与图28所示的原理图不同)。TOB: PUSHPSW PUSHACC SETB PSW.3 SETB PSW.4 CLR P1.6 ANL P1,#0F0H MOV A,3FH MOV R0,A MOV A,R0 MOV R7,#08H ADD A,#1EH MOVC A,A+PC SSS: CLR C CLR P1.6NOP RLC A JC SST1 NOP CLR P1.7 AJMP SST2SST1: SETB P1.7SST2: SETB P1.6 CLR P1.6 DJNZ R7,SSS AJMP BBB NOP DB 3FH,06H,5DH,4FH,66H,6BH; "0,1,2,3,4,5" 七段码表格。 DB 7BH,0EH,7FH,6FH,7EH,7CH; "6,7,8,9,A,P," DB 39H,76H,79H,78H,0BFH,86H; "C,H,E,F,0.1." BBB: MOV A,3FH CJNE A,#30H,RR1 SETB P1.0 AJMP RR5 RR1: CJNE A,#31H,RR2 SETB P1.1 AJMP RR5 RR2: CJNE A,#32H,RR3 SETB P1.2 AJMP RR5 RR3: CJNE A,#33H,RR4 SETB P1.3 RR4: MOV A,#2FH RR5: INC A MOV 3FH,A MOV A,6CH INC A MOV 6CH,A POPACC POPPSW RETI第四章 设计结果1、电子秤工作流程软件设计主要是程序的编写,包括主程序和ADC0804数据转换程序。其中主程序的主要功能是负责读取并处理ADC0804的测量的当前重量值和重量的实时显示。系统工作流程如下图所示:开始初始化ADC0804启动ADC0804转换从ADC0804读取数据数据进制转换数据显示信号驱动数码管显示重量值结束图27 电子秤主程序流程 2、电子秤原理图第五章 设计评述电子秤课程设计心得: 这侧的任务是在两周的时间设计一个电子称,当接到这个课题时,感觉很简单,不就用应用应变传感器,及就是更据电阻的应变效应,在用一个三级运算放放大器,A/D模数转换器及显示器就OK!两周?说不定两天都要不了!不以为然,弄咯三天不知道该用哪号模数转换器,就在这里卡住了。后来又改用单片机,已不是那么顺利,好的是成功啦! 回顾起此次课程设计,感慨颇多,可以说,这次课程设计比较不容易,因为很多内容还未进行学习,可以这次学到很多很多的以前没学到的东西,同时又巩固了以前所学过的知识。这次设计使自己有机会使用到原来所学知识,并且可以有更深的认识,可见我收获收获不小哟。 在设计的过程中可以说得是困难重重,这毕竟是第一次做数电课程设计,难免会遇到过各种各样的问题,设计的过程中我发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。也提醒自己要更加努力学习来扩充自己的知识。通过这次课程设计,我对于相关软件的使用有了进一步的了解。同时,我们还通过查阅相关资料、请教指导老师和同学讨论等方式,对设计电路进行性能考证。利用protues软件设计好的电路图在计算机上画出来,并对其进行仿真,得到仿真正确结果。同时上机能力也得到了提高。在课程设计中最重要的就是要有耐心,在做这个题目中,会不断的查找资料,使用软件画图等,遇到困难的时候请教老师和同学一起解决办法。这次我真正的知道自己很多的不足和很多需要学习的东西,我相信通过以后的努力,在未来的课程等方面要有着重点,不要盲目的学,这样才能的不断提高自己的能力。第六章 参考文献1、中国集成电路大全编写委员会编,中国集成电路大全CMOS集成电路。北京;国防工业出版社,1985.2、徐恕宏主编,传感器原理及其设计基础。北京;机械工业出版社,19883、阎石.数字电子技术基础.北京:高等教育出版社,19984、毕满清.电子技术实验与课程设计.北京:机械工业出版社,20055、孙余凯.精选实用电子电路260例.北京:电子工业出版社,2007.26、网上资料第七章 元器件清单 符号大小封装POT2(R?*5)1KAXIAL-0.3UA?*31458DIP-8DPY_7-SEG_DPDIP-20R6-R2310KAXIAL-0.3ADC8084DIP-2080C52DIP-40C*40.22UFRAD-0.2CRYSTALXTAL-1RES47KAXIAL-0.3