ImageVerifierCode 换一换
格式:DOC , 页数:26 ,大小:674.50KB ,
资源ID:4611185      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4611185.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(电子秤课程设计模板.doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

电子秤课程设计模板.doc

1、电子秤课程设计262020年4月19日文档仅供参考【设计题目】:基于单片机的电子秤设计【设计要求】:(1)设计一款电子秤,用LCD液晶显示器显示被称物体的质量(2)能够设定该秤所称的上限(3)当物体超重时,能自动报警【设计过程】1. 【方案设计】1.1电子秤的组成1.1.1电子秤的基本结构 电子秤是利用物体的重力作用来确定物体质量(重量)的测量仪器,也可用来确定与质量相关的其它量大小、参数、或特性。不论根据什么原理制成的电了秤均由以下三部分组成:(1) 承重、传力复位系统 它是被称物体与转换元件之间的机械、传力复位系统,又称电子秤的秤体,一般包括接受被称物体载荷的承载器、秤桥结构、吊挂连接部件

2、和限位减振机构等。(2) 称重传感器即由非电量(质量或重量)转换成电量的转换元件,它是把支承力变换成电的或其它形式的适合于计量求值的信号所用的一种辅助手段。 (3) 测量显示和数据输出的载荷测量装置 即处理称重传感器信号的电子线路(包括放人器、模数转换、电流源或电压源、调节器、补尝元件、保护线路等)和指示部件(如显示、打印、数据传输和存贮器件等)。1.1.2电子秤的工作原理当被称物体放置在秤体的秤台上时,其重量便经过秤体传递到称重传感器,传感器随之产生力一电效应,将物体的重量转换成与被称物体重量成一定函数关系(一般成正比关系)的电信号(电压或电流等)。此信号由放大电路进行放大、经滤波后再由模数

3、( A/D)器进行转换,数字信号再送到微处器的CPU处理,CPU不断扫描键盘和各功能开关,根据键盘输入内容和各种功能开关的状态进行必要的判断、分析、由仪表的软件来控制各种运算。运算结果送到内存贮器,需要显示时,CPU发出指令,从内存贮器中读出送到显示器显示,或送打印机打印。1.2本设计思路本设计的主要思路是:利用压力传感器采集因压力变化产生的电压信号,经过电压放大电路放大,然后再经过模数转换器转换为数字信号,最后把数字信号送入单片机。单片机经过相应的处理后,得出当前所称物品的重量,然后显示出来。主要技术指标为:称量范围0600g,分度值1kg,精度等级III级,电源AC220V。2. 【器件选

4、择】按照本设计功能的要求,系统由5个部分组成:控制器部分、测量部分、数据显示部分、键盘部分、语音提示部分和电路电源部分,系统设计总体方案框图如图1所示。 语音提示 A/D转换器 放大电路 压力传感 电源 按键 STC12C5A60S2单片机 LCD显示 图1设计思路框图 测量部分是利用称重传感器检测压力信号,得到微弱的电信号(本设计为电压信号),而后经处理电路(如滤波电路,差动放大电路,)处理后,送单片机中的A/D转换器,将模拟量转化为数字量输出,控制器接受来自A/D转换器输出的数字信号,经过复杂的运算,将数宁信号转换为物体的实际重量信号,并将其送到显示单元中。2.1控制器部分本设计使用单片机

5、作为系统的主控制器。根据总体方案设计的分析,设计这样一个简单的的系统,能够选用带A/D转换器的单片机,由于应用程序不大,应用程序直接存储存片内,不用在外部扩展存储器,这样电路也可简化。在这里选用STC生产的STC12C5A60S2单片机。STC12C5A60S2与MCS-51相比有如下优势:第一, 指令集与MCS-51系列单片机完全兼容。第二, 片内存储器采用闪速存储器,而且支持SPI-ISP在线编程,使程序写入更加方便,提高了调试效率,缩短了开发周期。第三, 提供了更小尺寸的芯片,使整个硬件电路体积更小。第四, 单指令周期,运行速度高。第五, 自带上电复位电路,可减低单片机外围电路的复杂程度

6、。第六, 内置8路10位高速A/D转换,转换速度25万次/秒。 STC12C5A60S2内部带有60KB的程序存储器,而且带有8路10位精度的A/D转换器,基本上已经能够满足我们的需要。STC12C5A60S2单片机的引脚图如图2所示。 图2 STC12C5A60S2单片机的引脚图2.2数据采集部分电子秤的数据采集部分主要包括称重传感器、处理电路电路,因此对于这部分的论证主要分两方面。2.2.1传感器的选择 传感器量程的选择可依据秤的最大称量值、选用传感器的个数、秤体的自重、可能产生的最人偏载及动载等因素综合评价来确定。一般来说,传感器的量程越接近分配到每个传感器的载荷,其称量的准确度就越高。

7、根据设计需要,确定传感器的额定载荷为1Kg,允许过载为150%F.S,精度为0.05%,最大量程时误差0.1kg,能够满足本系统的精度要求。综合考虑,本设计采用SP20C-G501电阻应变式传感器,其最人量程为1Kg.该传感器测量精度高、温度特性好、工作稳定等优点,广泛用于各种结构的动、静态测量及各种电子秆的一次仪表。该称重传感器主要由弹性体、电阻应变片电缆线等组成,其工作原理如图3所示。 图3 称重传感器原理图2.2.2放大电路选择 由称重传感器的称量原理可知,采用转换电路,把应变计的R/R变化转换成电压或电流变化,可是这个电压或电流信号很小,需要增加增益放大电路来把这个电压或电流信号转换成

8、能够被A/D转换器接收的信号。在前级处理电路部分,我们考虑能够采用以下几种方案: 方案一:利用普通低温漂运算放大器构成前级处理电路; 普通低温漂运算放大器构成多级放大器会引入大量噪声。由于A/D转换器需要很高的精度,因此几毫伏的干扰信号就会直接影响最后的测量精度。因此,此种方案不宜采用。方案二:主要由高精度低漂移运算放大器构成差动放大器,而构成的前级处理电路;差动放人器具有高输入阻抗,增益高的特点,能够利用普通运放(如OP07)做成一个差动放大器。一般说来,集成化仪用放大器具有很高的共模抑制比和输入阻抗,因而在传统的电路设计中都是把集成化仪器放人器作为前置放人器。然而,绝人多数的集成化仪器放大

9、器,特别是集成化仪器放大器,它们的共模抑制比与增益相关:增益越高,共模抑制比越大。为了实现信号的放人,其设计电路如图4所示:图4 利用高精度低漂移运放设计的差动放大器前级采用运放Al和A2组成并联型差动放大器,使其输入阻抗为无穷大,共模抑制比也为无穷大。阻容耦合电路放存由并联型差动放大器构成的前级放大器和由仪器放大器构成的后级放大器之间,这样可为后级仪器放大器提高增益,进而提高电路的共模抑制比提供了条件。后级电路采用廉价的仪器放大器,将双端信号转换为单端信号输出。由于阻容耦合电路的隔直作用,后级的仪器放大器能够做到很高的增益,进而得到很高的共模抑制比。3. 【系统电路设计】3.1 主控制器电路

10、主控制器是STC12C5A60S2单片机,其外围电路简单,只需要加上晶振电路和电源就能够工作。主控制器电路如图5所示。 图5 主控制系统3.2 传感器放大电路传感器放大电路由两级组成,前级由两个同相比例运算电路组成,后级是一个差动比例运算电路。传感器信号首先进过前级进行初步放大,接着进入后级。由于前级的对称性直接影响后级的共模抑制比,考虑到元件阻值的误差,R2,R4选用多圈精密可调电阻。为了提高后级对共模信号的抑制,反馈电阻R3也采用精密多圈可调电阻。传感器放大电路如图6所示。图6 传感器放大电路3.3显示电路1602液晶模块的引脚连线如图7。其中,第1、2脚为液晶的驱动电源;第三脚VL为液晶

11、的对比度调节,经过在VCC和GND之间接一个10K多圈可调电阻,中间抽头接VL,可实现液晶对比度的调节;液晶的控制线RS、R/W、E分别接单片机的P0.5、P0.6、P0.7;数据口接在单片机的P2口;BL+、BL-为液晶背光电源。图7 1602液晶模块的接线图3.4报警电路的设计当电路检测到称重的物体超过仪器的测量限制时,将产生一个信号给报警电路。使报警电路报警从而提醒工作人员注意,超限报警电路如图8所示。图8 报警电路图它是由89S52的P2.6口来控制的,当超过设置的重量时(5Kg),经过程序使P2.6口值为高电平,从而使三极管导通,接通报警电路,使蜂鸣器SPEAKER发出警报声,同时使

12、报警灯LED发光。4. 【软件设计】程序设计是一个复杂的工作,为了把复杂的工作条理化,就要有相应的步骤和方法。其步骤 可概括为以下三点:(1) 分析系统控制要求,确定算法:对复杂的问题进行具体的分析,找出合理的计算方法及适当的数据结构,从而确定编写程序的步骤。(2) 根据算法画流程图:画流程图能够把算法和解题步骤逐步具体化,以减少出错的可能性。(3) 编写程序:根据程序图所表示的算法和步骤,选用适当的指令排列起来,构成一个有机的整体,即程序。4.1主程序的设计 主程序的功能是系统初始化,管理和调用各个子程序。本设计的程序流程图如图9所示。 开始 初始化置零键按下 调零程序启动A/D转换 数据处

13、理 显示 图9主程序流程4.2子程序设计4.2.1A/D转换启动及数据读取程序A/D转换子程序主要是指在系统开始运行时,把称重传感器传递过来的模拟信号转换成数字信号并传递到单片机的程序设计。设计流程图如图10所示。 开始 A/D574初始化 启动 A/D转换 A/D转换完成NY 数据存储 数据显示图10 A/D转换启动及数据读取程序流程图4.2.2显示子程序设计 显示子程序主要是来判断是否需要显示,以及如何去显示。设计显示子程序的流程图如图11所示: 开始 显示欢迎界面 有无按键 显示功能选择按键 有无按键输入键盘界面 是否为D显示测量界面 是否为E 是否为F 返回 图11显示子程序流程图4.

14、2.3报警子程序的设计 由于要求有报警电路,能够将设定的阀值与实时显示的值进行比较,如果设定值小于实时显示的值,则将P1.0置为1,就报警。程序流程图如图12所示。 开始 A/D高位大?Y 与阀值相等?NNY A/D低位大?Y 与阀值相等?NNYY 报警 返回图12 报警子程序框图5. 【结果分析】 实验中在称重物时,电子秤能够测量出物体的重量,当物体重量大于600克时,会发出警报。综上所述,设计出的电子秤能够正常的进行工作。6.【设计总结】(1)设计中出现的问题及解决方案始用C语言编写代码时,出现很多小错误。比如变量还没定义就直接使用了;书写不规范,不该用分号的地方用了,括号不配对等;没有注

15、意大小写的区别。这些都是根据提示找到出错的语句直接改正就能够。在重量调整子程序中,设置了一个上限量程,在重量超过了上限时直接使用beep()函数,可是这时并不报警,才发现还没定义这个函数,接下来在下面定义了报警函数,还是不行,原来必行在调用之前定义或是先声明了才能在调用之后定义这个函数。(2)个人体会 经过本次课程设计,加深了对单片机的理解,而且更加熟悉了单片机的整个设计流程。经过对电子称的设计,加深了对传感器的理解以及更加了解到日常生活中传感器与我们实际生活的联系。在设计过程中出现了许多错误,导致一些程序无法运行,但经过不断的努力,终于克服了困难,完成了设计的任务及要求。由于设计时间有限,只

16、能在以后的学习过程中做更进一步的改进和提高。7.【参考文献】1赵茂泰 智能仪器原理及应用M.北京:电子工业出版社 .42马忠梅 单片机的C语言应用程序设计M.北京:北京航空航天大学出版社. .83刘瑞新 单片机原理及应用教程M.机械工业出版社. .74王东峰 单片机C语言应用100例M北京:电子工业出版社. .55李平等 单片机入门与开发M北京:机械工业出版社. .16张毅刚 MCS-51单片机应用设计M哈尔滨:哈尔滨工业大学出版社. .9附录:#include config.h/- / SPEED1 SPEED0 A/D转换所需时间#define AD_SPEED 0x60 / 0110,0

17、000 1 1 90 个时钟周期转换一次, / CPU工作频率21MHz时 A/D转换速度约 300KHz/#define AD_SPEED 0x40 /0100,0000 1 0 140 个时钟周期转换一次/#define AD_SPEED 0x20 /0010,0000 0 1 280 个时钟周期转换一次/#define AD_SPEED 0x00 /0000,0000 0 0 420 个时钟周期转换一次/-unsigned int get_AD_result(unsigned char channel) unsigned char AD_finished=0; /存储 A/D 转换标志

18、ADC_RES = 0; /A/D 转换结果高8位 ADC_RESL = 0; /A/D 转换结果低2位 channel &= 0x07; /0000,0111 清0高5位 ADC_CONTR = AD_SPEED; _nop_();ADC_CONTR|=0xE0;/1110,0000清ADC_FLAG,ADC_START位和低三位 ADC_CONTR |= channel; /选择 A/D 当前通道 _nop_(); ADC_CONTR |= 0x80; /启动 A/D 电源 delay(1); /使输入电压达到稳定 ADC_CONTR |= 0x08; /0000,1000 令 ADCS

19、= 1, 启动A/D转换 AD_finished = 0; while (AD_finished = 0 ) /等待A/D转换结束 AD_finished = (ADC_CONTR & 0x10); /0001,0000 测试A/D转换结束否 ADC_CONTR &= 0xE7; /1111,0111 清 ADC_FLAG 位, 关闭A/D转换 return (ADC_RES2|ADC_RESL);/返回转换后的结果void WriteDataLCD(unsigned char WDLCD)ReadStatusLCD(); /检测忙LCD_Data = WDLCD;LCD_RS = 1;LCD

20、_RW = 0;LCD_E = 0; /若晶振速度太高能够在这后加小的延时LCD_E = 0;LCD_E = 0; /延时LCD_E = 1;void WriteCommandLCD(unsigned char WCLCD,BuysC) /BuysC为0时忽略忙检测if (BuysC) ReadStatusLCD(); /根据需要检测忙LCD_Data = WCLCD;LCD_RS = 0;LCD_RW = 0; LCD_E = 0;LCD_E = 0;LCD_E = 0;LCD_E = 1; unsigned char ReadDataLCD(void)LCD_RS = 1; LCD_RW

21、= 1;LCD_E = 0;LCD_E = 0;LCD_E = 0;LCD_E = 1;return(LCD_Data);unsigned char ReadStatusLCD(void)LCD_Data = 0xFF; LCD_RS = 0;LCD_RW = 1;LCD_E = 0;LCD_E = 0;LCD_E = 0;LCD_E = 1;delay_18B20(200); /Delay5Ms(); /检测忙信号 proteus仿真时,延迟5MS,关闭while循环while (LCD_Data&Busy) /硬件使用时,不延迟,打开while循环return(LCD_Data);void

22、 LCDInit(void)LCD_Data = 0;WriteCommandLCD(0x38,0); /三次显示模式设置,不检测忙信号Delay5Ms(); WriteCommandLCD(0x38,0);Delay5Ms(); WriteCommandLCD(0x38,0);Delay5Ms(); WriteCommandLCD(0x38,1); /显示模式设置,开始要求每次检测忙信号WriteCommandLCD(0x08,1); /关闭显示WriteCommandLCD(0x01,1); /显示清屏WriteCommandLCD(0x06,1); / 显示光标移动设置WriteComm

23、andLCD(0x0C,1); / 显示开及光标设置void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)Y &= 0x1;X &= 0xF; /限制X不能大于15,Y不能大于1if (Y) X |= 0x40; /当要显示第二行时地址码+0x40;X |= 0x80; /算出指令码WriteCommandLCD(X, 0); /这里不检测忙信号,发送地址码WriteDataLCD(DData);void DisplayListChar(unsigned char X, unsigned char Y

24、, unsigned char code *DData)unsigned char ListLength;ListLength = 0;Y &= 0x1;X &= 0xF; /限制X不能大于15,Y不能大于1while (DDataListLength!=0) /若到达字串尾则退出if (X = 0xF) /X坐标应小于0xFDisplayOneChar(X, Y, DDataListLength); /显示单个字符ListLength+;X+;void Delay5Ms(void)unsigned int TempCyc = 5552;while(TempCyc-);void Delay400Ms(void)unsigned char TempCycA = 5;unsigned int TempCycB;while(TempCycA-)TempCycB=7269;while(TempCycB-);

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服