单片机原理与应用课程设计说明书——电子秤.doc_第1页
单片机原理与应用课程设计说明书——电子秤.doc_第2页
单片机原理与应用课程设计说明书——电子秤.doc_第3页
单片机原理与应用课程设计说明书——电子秤.doc_第4页
单片机原理与应用课程设计说明书——电子秤.doc_第5页
免费预览已结束,剩余20页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机原理与应用课程设计说明书电子秤目录1 设计任务和性能指标11.1 设计任务11.2 性能指标11.2.1 电子秤的工作原理11.2.2 电子秤的计量性能12 设计方案22.1 需求分析22.2 方案论证22.2.1 控制部分22.2.2 数据采集部分22.2.3显示电路部分的选择42.2.4超量程报警部分选择42.2.5 键盘处理部分43 系统硬件设计53.1 AT89S52的最小系统电路53.2 电源电路设计63.3数据采集部分电路设计63.3.1传感器和其外围以及放大电路设计63.3.2 A/D转换芯片与AT89S52单片机接口电路设计73.4显示电路与AT89S52单片机接口电路设计73.5键盘电路与AT89S52单片机接口电路设计83.6报警电路的设计94 系统软件设计104.1主程序设计104.2 子程序设计104.2.1 A/D转换启动及数据读取程序设计104.2.2数制转换子程序设计114.2.3显示子程序设计124.2.4 键盘扫描子程序的设计134.2.5报警子程序的设计135 系统调试155.1 调试步骤155.2 性能分析156 总结16参考文献16附录1 系统硬件电路图17附录2 程序清单18单片机原理与应用课程设计说明书电子秤1 设计任务和性能指标1.1 设计任务1) 设计一款电子秤,用LCD液晶显示器显示被称物体的质量2) 可以设定该秤所称的上限3) 当物体超重时,能自动报警4) 写出详细的实验报告1.2 性能指标1.2.1 电子秤的工作原理当被称物体放置在秤体的秤台上时,其重量便通过秤体传递到称重传感器,传感器随之产生力电效应,将物体的重量转换成与被称物体重量成一定函数关系(一般成正比关系)的电信号(电压或电流等)。此信号由放大电路进行放大、经滤波后再由模/数(A/D)转换器进行转换,单片机对转换后的数字信号进行必要的判断、分析,再送到显示电路1.2.2 电子秤的计量性能电子秤的计量性能涉及的主要技术指标有:量程、分度值、分度数、准确度等级等。1)量程:电子衡器的最大称量Max,即电子秤在正常工作情况下,所能称量的最大值。2)分度值:电子秤的测量范围被分成若干等份,每份值即为分度值。用e或d来表示。3)分度数:衡器的测量范围被分成若干等份,总份数即为分度数用n表示。电子衡器的最大称量Max可以用总分度数n与分度值d的乘积来表示,即Max = n d2 设计方案2.1 需求分析随着微电子技术的应用,市场上使用的传统称重工具已经满足不了人们的要求。为了改变传统称重工具在使用上存在的问题,在本设计中将智能化、自动化、人性化用在了电子秤重的控制系统中。本系统主要由单片机来控制,测量物体重量部分由称重传感器及A/D转换器组成,加上显示单元,此电子秤俱备了功能多、性能价格比高、功耗低、系统设计简单、使用方便直观、速度快、测量准确、自动化程度高等特点。本系统以AT89S52单片机为主控芯片,外围附以称重电路、显示电路、报警电路、键盘电路等构成智能称重系统电路板,从而实现自动称重系统的各种控制功能。可以说,此设计所完成的电子秤很大程度上满足了应用需求。2.2 方案论证2.2.1 控制部分 本设计由于要求必须使用单片机作为系统的主控制器,而且以单片机为主控制器的设计,在这里我们选用的是AT89S52,它具有以下优势:第一,片内存储器采用闪速存储器,使程序写入更加方便;第二,提供了更小尺寸的芯片,使整个硬件电路体积更小。此外价格低廉、性能比较稳定的MCPU,具有8K8ROM、2568RAM、2个16位定时计数器、4个8位I/O接口。这些配置能够很好地实现本仪器的测量和控制要求。2.2.2 数据采集部分电子秤的数据采集部分主要包括称重传感器、处理电路和A/D转换电路。1) 传感器的选择在设计中,传感器是一个十分重要的元件,因此对传感器的选择也显的特别的重要,不仅要注意其量程和参数,还有考虑到与其相配置的各种电路的设计的难以程度和设计性价比等等。综合考虑,本设计采用SP20C-G501电阻应变式传感器,其最大量程为7.5 Kg.称重传感器由组合式S型梁结构及金属箔式应变计构成,具有过载保护装置。该称重传感器主要由弹性体、电阻应变片电缆线等组成,其工作原理如图2.1所示:图2.1称重传感器原理图2) 放大电路的选择本设计采用的是主要由高精度低漂移运算放大器构成差动放大器,差动放大器具有高输入阻抗,增益高的特点,可以利用普通运放(如OP07)做成一个差动放大器。称重传感器输出电压振幅范围020mV。而A/D转换的输入电压要求为02V,因此放大环节要有100倍左右的增益。其设计电路如图2.2所示:图2.2利用普通运放设计的差动放大器3) A/D转换器的选择 目前,世界上有多种类型的ADC,多种类型的ADC各有其优缺点并能满足不同的具体应用要求。根据设计需求,本设计所选择的是逐次逼近型A/D转换器AD574。这一类型ADC的优点:高速,采样速率可达 1MSPS;与其它ADC相比,功耗相当低;在分辨率低于12位时,价格较低,符合本设计的需求。2.2.3显示电路部分的选择数据显示是电子秤的一项重要功能,是人机交换的主要组成部分,它可以将测量电路测得的数据经过微处理器处理后直观的显示出来。数据显示部分可以有以下两种方案供选择:一是 LED数码管显示,二是LCD液晶显示两种选择。LCD液晶显示器是一种极低功耗显示器,从电子表到计算器,从袖珍时仪表到便携式微型计算机以及一些文字处理机都广泛利用了液晶显示器。2.2.4超量程报警部分选择智能仪器一般都具有报警和通讯功能,报警主要用于系统运行出错、当测量的数据超过仪表量程或者是超过用户设置的上下限时为提醒用户而设置。在本系统中,设置报警的目的就是在超出电子秤测量范围时,发出声光报警信号,提示用户,防止损坏仪器。2.2.5 键盘处理部分由于电子秤需要设置单价(十个数字键),还具有确认、删除等功能,总共需设置17个键(包括一个复位键使用独立式按键实现)。采用矩阵式键盘:其特点是把检测线分成两组,一组为行线,一组列线,按键放在行线和列线的交叉点上。图2.4给出了一个44的矩阵键盘结构的键盘接口电路,图中的每一个按键都通过不同的行线和列线与主机相连这。44矩阵式键盘共可以安装16个键,但只需要8条测试线。当键盘的数量大于8时,一般都采用矩阵式键盘。图2.4 矩阵式键盘3 系统硬件设计根据设计要求与设计思路,此电路由一块AT89S52、按键输入电路、时钟电路、复位电路、LCD显示段码驱动电路、LCD显示位码驱动电路、12位LCD显示器电路、蜂鸣器电路。单片机16个按键输入电路LCD显示器位码驱动电路时钟电路复位电路LCD显示器段码驱动电路10位LCD显示器电路蜂鸣器电路图3.1硬件电路设计框图在本系统中,硬件电路的构成主要有以下几部分: AT89S52的最小系统构成、电源电路、数据采集、人-机交换电路等。3.1 AT89S52的最小系统电路图3.2 AT89S52引脚图3.2 电源电路设计根据设计需要,本系统中需要设计两种不同级别的电源,即传感器需要+12V的电源,而系统其他芯片使用的是5V电源。考虑本次设计的实际要求,使系统稳定工作,提高产品的性价比,电源电路的设计如图3.3所示:图3.3 电源电路图3.3数据采集部分电路设计数据采集部分电路包括传感器输出信号放大电路、A/D转换器与单片机接口电路。3.3.1传感器和其外围以及放大电路设计图3.4传感器和其外围电路图3.3.2 A/D转换芯片与AT89S52单片机接口电路设计AD574是12位单片A/D转换器。AD574采用28脚双列直插标准封装,其引脚图如下:图3.5 AD574管脚图单极性接法,电路接线图如下图3.6所示:图3.6 AD574与AT89S52的接线图3.4显示电路与AT89S52单片机接口电路设计在2.3显示电路论证中,本设计采用是LCD显示。在LCD驱动时,需在段电极和公共电极上施加交流电压。若只在电极上施加DC电压时,液晶本身发生劣化。液晶驱动方式包括静态驱动、动态驱动等驱动方式。如图3.7所示:图3.73.5键盘电路与AT89S52单片机接口电路设计键盘电路与AT89S52单片机接口如图3.8所示:图3.8键盘电路与AT89S52单片机接口电路图3.6报警电路的设计当电路检测到称重的物体超过仪器的测量限制时,将产生一个信号给报警电路。使报警电路报警从而提醒工作人员注意,超限报警电路如图3.9所示:图3.9报警电路图4 系统软件设计4.1主程序设计主程序模块主要完成编程芯片的初始化及按需要调用各模块(子程序),在系统初始化过程中,将系统设置成5Kg量程,并写5Kg量程标志。设计流程图如图4.1所示图4.1 系统主程序流程图4.2 子程序设计 系统子程序主要包括A/D转换启动及数据读取程序设计、键盘输入控制程序设计、显示程序设计、以及中断程序设计等。4.2.1 A/D转换启动及数据读取程序设计A/D转换子程序主要指在系统开始运行时,把称重传感器传递过来的模拟信号转换成数字信号并传递到单片机所涉及到的程序设计。流程图如图4.2所示。4.2 A/D转换启动及数据读取程序流程图4.2.2数制转换子程序设计图4.3 数据处理流程图数制之间的转换:在二进制数制中,每向左移一位表示数乘二倍。以每四位作为一组对数分组,当第四位向第五位进位时,数由8变到16,若按十进制数制规则读数,则丢失6,所以应进行加六调整。DA指令可完成这一调整。可见数制之间的转换可以通过移位的方法实现。其中,移出数据的保存可以通过自乘再加进位的方法实现,因为乘二表示左移一位,左移后,低位进一,则需加一。否则,加零。而通过移位已将要移入的尾数保存在了进位位中,所以能实现。4.2.3显示子程序设计显示子程序主要是来判断是否需要显示,以及如何去显示,也是十分重要的程序之一。而显示子程序是其他程序所需要调用的程序之一,因此,显示子程序的设计就显得举足轻重,设计的时候也要十分的小心和卖力。设计显示子程序的流程图如下图4.4所示:图4.4显示子程序流程图4.2.4 键盘扫描子程序的设计如图2.4所示:键盘电路设计成4X4矩阵式,由键盘编码方式可以得出0,1,2,3,4,5,6,7,8,9,A,B,C,D,E各键对应的键值: 0D8H,0D0H,0D1H,0D2H,0C8H,0C9H,0CAH,0C0H,0C1H, 0C2H, 0C3H,0CBH,0D3H,0DBH,0DAH,0D9H 。在程序中可以先判断按键编码,然后根据编码将键盘代表的数值送到相应的存储单元,再进行功能选择或数据处理。 图4.5键盘扫描子程序流程图4.2.5报警子程序的设计由于要求要键盘设定阈值,所以要求有报警电路,报警电路可以有声报警也可有光报警,将设定的阈值与实时显示的值进行比较,如果设定值小于实时显示的值,则将P1.0置为1,将发光二极管点亮,或使蜂鸣器发出声音。这就需要一段比较程序以及一小段置1清0程序。图4.6 报警子程序框图5 系统调试5.1 调试步骤1)首先在秤体无负载时确保显示器准确显示零。2)然后秤台上放置不同量程内的重物,观察显示器是否准确显示重量,如有偏差,采样十五次求平均值。3)零位稳定是影响电子秤精度非常重要的因素,因受温度或其它因素影响将引起零位不稳定,这种现象称为零漂。由于零漂的影响,零输入信号时,输出可能不为零,为消除这个零位漂移值,采用零位补偿技术,零位补偿就是把这个零位漂移值储存起来,每一数据采集时减去这个数值,得到的数值就是消除零漂的有效信号。5.2 性能分析该设计用于测量物体的质量,当被称物体放置在秤体的秤台上时,其重量便通过秤体传递到称重传感器,再经由放大电路进行放大、滤波后再由模/数(A/D)转换器进行转换,然后通过对数字进行判断、分析,最后通过LCD液晶显示器将物体实重显示出来,各个部分都起到了很好的作用,系统运行性能良好。该设计具有智能化、自动化、人性化等特点,而且功能简单精度较高,是人们生活中不可缺少的一部分,同时给各行各业带来了很多方便。6 总结经过将近两周的忙碌和工作,本次课程设计已经接近尾声,作为一个大三学生的课程设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有老师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的。我们小组所做的课程设计题目是电子秤的设计,每个组员分工均匀,在整个过程中我们都在完成各自任务的基础上,团结配合,最终将整个设计完成。在方案论证、硬件系统设计和软件系统设计部分中,我们竭尽所能将每个模块做到最好,相互帮忙,共同进步。在这次课设中我们了解到,随着集成电路和计算机技术的迅速发展,使电子仪器的整体水平发生巨大变化,传统的仪器逐步的被智能仪器所取代。智能仪器的核心部件是单片机,因其极高的性价比得到广泛的应用与发展,从而加快了智能仪器的发展。而传感器作为测控系统中对象信息的入口,越来越受到人们的关注。因此,只有充分了解有关智能仪器、单片机、传感器以及各部分之间的关系才能达到要求。 希望我以后能在单片机这方面有所成绩,我还要多谢老师的帮助,让我们更快,更好的完成此次设计。参考文献(1) 何桥 单片机原理及应用 北京:中国铁道出版社.2007(2) 张军 AVR单片机C语言程序设计实例精粹 北京:电子工业出版社,2009附录1 系统硬件电路图附录2 程序清单定义 中文C液晶 128X64 的地址W_C_GLCD XDATA0E000HW_D_GLCD XDATA0E001HR_B_GLCD XDATA0E002HR_D_GLCD XDATA0E003H;-TIMER0 DATA 30H ;延时时间的初值TIMER1 DATA 31H ;调用延时子程序的次数DATA1 DATA 32H ;点阵显示的变量1DATA2 DATA 33H ;点阵显示的变量2X DATA 34H ;X方向的位置Y DATA 35H ;Y方向的位置COUNTER DATA 36H ;计数器N DATA 37H ;行数变量D1 DATA 38H ;点变量1D2 DATA 39H ;点变量1ADDR DATA 3AH ;起始的显示位置ADDR1 DATA 3BH ;起始的显示位置临时变量N1 DATA 3CH ;行数的临时变量;*;* 主程序开始;*ORG 0000HAJMP STARTORG 0030HSTART: CLR P1.0SETB P1.1MOV SP,#60HLCALL INITIAL_GLCD ; 调用LCD初始化LCALL KAIJI ; 显示开机画面LCALL DELAY500LCALL DELAY500LCALL DELAY500LCALL TISHI ; 显示主界面LCALL INI_8279-;判断是否继续-KEY-A: MOV DPTR,#8101HMOVX A,DPTRANL A,#07HCJNE A,#00H,LP1SJMP KEY-AMOV DPTR,8100HMOVX A,DPTRCJNE A,0DBH,KEY-AAJMP K1LCALL YUZHILCAL celianjieguoLCALL CELINGJIEGUOAJMP $各界面显示内容DHTABLE1: DB 欢迎使用 DHTABLE2: DB 半桥电子秤DHTABLE3: DB * DHTABLE4: DB * DHTABLE5: DB * DHTABLE6: DB 设置警报上限 DHTABLE7: DB 确定 DHTABLE8: DB 请按D 键 DHTABLE9: DB DHTABLE10: DB 报警上限重量: DHTABLE11: DB . g DHTABLE12: DB 确定(E) CELIANG1: DB 电子秤 CELIANG2: DB 重量是: CELIANG3: DB CELIANG4:DB 返回 (F) ;=键盘扫描子程序;=ORG 0000HAJMP MAINORG 0030HMAIN: MOV DPTR,#TAB ;将表头放入DPTR LCALL KEY ;调用键盘扫描程序 MOVC A,A+DPTR ;查表后将键值送入ACC MOV P0,A ;将Acc值送入P0口 CLR P2.1 ;开显示 LJMP MAIN ;返回反复循环显示KEY: LCALL KS ;调用检测按键子程序 JNZ K1 ;有键按下继续 LCALL DELAY2 ;无键按调用延时去抖 AJMP KEY ;返回继续检测按键K1: LCALL DELAY2 LCALL DELAY2 ;有键按下延时去抖动 LCALL KS ;再调用检测按键程序 JNZ K2 ;确认有按下进行下一步 AJMP KEY ;无键按下返回继续检测K2: MOV R2,#0EFH ;将扫描值送入R2暂存 MOV R4,#00H ;将第一列值送入R4暂存K3: MOV P1,R2 ;将R2的值送入P1口L6: JB P1.0,L1 ;P1.0等于1跳转到L1 MOV A,#00H ;将第一行值送入ACC AJMP LK ;跳转到键值处理程序L1: JB P1.1,L2 ;P1.1等于1跳转到L2 MOV A,#04H ;将第二行的行值送入ACC AJMP LK ;跳转到键值理程序进行键值处理L2: JB P1.2,L3 ;P1.2等于1跳转到L3 MOV A,#08H ;将第三行的行值送入ACC AJMP LK ;跳转到键值处理程L3: JB P1.3,NEXT ;P1.3等于1跳转到NEXT处 MOV A,#0cH ;将第四行的行值送入ACCLK: ADD A,R4 ;行值与列值相加后的键值送入A PUSH ACC ;将A中的值送入堆栈暂存K4: LCALL DELAY2 ;调用延时去抖动程序 LCALL KS ;调用按键检测程序 JNZ K4 ;按键没有松开继续返回检测 POP ACC ;将堆栈的值送入ACC RETNEXT: INC R4 ;将列值加一 MOV A,R2 ;将R2的值送入A JNB ACC.7,KEY ;扫描完至KEY处进行下一扫描 RL A ;扫描未完将A中的值右移一位进行下一列的扫描 MOV R2,A ;将ACC的值送入R2暂存 AJMP K3 ;跳转到K3继续KS: MOV P1,#0FH ;将P1口高四位置0低四位值1 MOV A,P1 ;读P1口 XRL A,#0FH ;将A中的值与A中的值相异或 RET ;子程序返回DELAY2: ;40ms延时去抖动子程序 MOV R5,#08HL7: MOV R6,#0FAHL8: DJNZ R6,L8 DJNZ R5,L7 RETTAB: db 0D8H,0D0H,0D1H,0D2H,0C8H,0C9H,0CAH,0C0H,0C1H,0C2H, 0C3H,0CBH,0D3H,0DBH,0DAH,0D9H 。;=显示子程序;入口参数:A,B,C;使用资源:DPTR,P3,P1 ,R7;=TISHI: LCALL CLEAR_GLCD ; 清除LCD显示屏幕DISPLAY: NOP ;第一位显示 MO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论