欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOCX文档下载
 

基于51单片机的称重系统设计

  • 资源ID:141547429       资源大小:120.12KB        全文页数:10页
  • 资源格式: DOCX        下载积分:10积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要10积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

基于51单片机的称重系统设计

单片机作业学 院 计算机与控制工程学院专 业自动化 132学 号30姓名王伟基于 51 单片机的称重系统一 动态称重所谓动态称重是指通过分析和测量车胎运动中的力,来计算该运动车辆的总重量、轴重、轮重和部分重量数据的过程。动态称重系统按经过车辆行驶的速度划分,可分为低速动态称重系统与高速动态称重系统。因为我国高速公路的限速最高是 120,所以高速动态称重系统在理论上可对 5 到 120 之间时速通过称量装置的车辆进行动态称重。而低速动态称重系统则一定要限制通过车辆的行驶速度,要想有较高的测量精度,理论要求车辆在5km/h 以下时速匀速通过。在我国,车辆动态称重一般都使用低速动态称重来完成,在很多收费站和车辆检测站都有应用,国家也出台了相关的测量标准。与传统意义上的静态称重相比,动态称重可以在车辆缓慢运动情况下直接进行称重,这样动态称重的高效率、测量时间短、能流畅交通等主要特点就凸显出来了。动态称重的问世,不但使车辆的管理上有了很大的促进作用,而且还对我国的公路管理和维护起到了至关重要的作用。二 系统总体结构及其功能设计总体结构是以 51 单片机为处理器的系统,如图所示。上 位机键盘输入A/D 转换器ADC0832RS232 转换器AT89C51单片机放大器OP07桥式称重传感器WPL110蜂鸣器LED 显示图本设计要求能判断出车辆是否超载,如果车辆超载,本系统能够提供该车辆的超载信息并发出警报。本设计采用 STC89C52 单片机作为系统的处理核心,利用桥式称重传感器采集到车辆重量并转换成电压信号,然后通过放大电路将电压信号进行放大处理后,传送到 A/D 转换器中转换为数字信号,再经过单片机处理、传输到接口电路,最后送到上位机,该数据可以与上位机里用键盘事先输入设定的总重量作比较并判断出该车辆是否超载,如果超载,则可通过显示器、蜂鸣器作显示超载信息并报警,当然,键盘的作用除了输入设定值还可以解除和开启警报。三 动态称重系统的组成动态称重系统主要由车辆重量(含超载、偏载检测)检测子系统、货车长、宽、高三维尺寸超限检测子系统、自动触发摄像拍照子系统、车辆类型自动判别子系统、系统配置及系统维护子系统、行驶车辆速度测量子系统、数据统计、报表处理子系统和单据输出打印子系统这几部分组成。该系统组成完善,部件考虑周全,能很好的完成称重任务。四 动态称重系统的主要功能(1) 动态检测出通过车辆的轴数、轴重、轴距、轮数、车速等;(2) 能自动检测出车辆的高、宽、长等外围尺寸是否超出最大标准,并能给出超出部位的具体位置和具体数据;(3) 拍摄机器在车辆经过时能自行对要被检测的车辆进行拍照,该机器能对车牌号码、车辆种类进行识别,最终作为图像证据;(4) 可以将不合格车辆的处理记录、超限情况进行打印,根据车辆超限的程度来计算罚款数额并打印收据或罚款单;(5) 检测到的数据全部存入数据库中,并对被监测到的数据进行分析、统计。便于汇总上报、日常管理和进行查询。五 单片机的选用本设计采用的是 INTEL 公司研究开发生产的 STC89C52 单片机,其内部置有 256 字节的内部数据存储器、8 位中央处理单元、8K 片内程序存储器、3 个 16 位定时/计数器、32个双向 I/O 口和一个片内时钟振荡电路,全双工串行通信口, 5 个两级中断结构。89C52的引脚图如图所示。图89C52 引脚图本设计使用的是单片机的最小系统,其中电路包括下载口电路、复位电路和晶振电路。复位电路中,电阻在下接地,电容在上接高电平,中间为 RST。复位电路工作原理是:通电时,由于电流很大,从而相当于电容被短路,这样 RST 引脚上处于高电平,这时的单片机为禁止工作状态。如果要使单片机正常工作,就要使 RST 端电压慢慢下降并到一定程度,也就是 RST 端为低电平,这就需要通过电源对电容进行充电。复位电路复位的方式有手动复位、上电复位两种。所谓上电复位,就是通电瞬间,由于电流很大,从而相当于电容被短路,这样 RST 引脚上处于高电平,自动复位;相反,通过对改变电容电流,当电流很小的时候,我们就可以把电容当做开路状态,RST 端就处于低电平,程序就能正常的运行。而手动复位要在上电复位的基础上,按下复位按键,使 VCC直接与 RST 相连,电容处于放电状态,以高电平形成复位;松开复位按键,RST 仍旧是高电平,这时充电电流作用于电阻上,VCC 给电容进行充电,还是复位状态,充电结束后,RST 为低电平,能够正常工作。A/D 转换器A/D 转换器根据输出的信号格式有并行 A/D 和串行 A/D 两种。ADC0832 是一种具有双通道 A/D 转换芯片和 8 位分辨率。它的优点有体积小,兼容性强,性价比高,从而深受个人的欢迎和企业的认可,目前在世界上也已经有了较高的使用率。ADC0832 具有能够进行双通道 A/D 转换,分辨率高达 8 位;当供电电源为 5V 时,输入电压能稳定的保持在 05V 之间;TTL/CMOS 与输出输入电平兼容;功耗很低,只有 15mW;转换工作时间只有 32S,也就是频率仅有 250KHZ 等特点。其引脚功能图如图所示,芯片引脚接口说明如表 4 所示。CSCH0CH1GND1234ADC08328765Vcc/REFCLKDODI接口CSCH1CH0GND图 引脚排列表 4 ADC0832 引脚说明说明片选使能,输入低电平能使芯片工作模拟的输入通道 1,或作为 IN+/-使用模拟的输入通道 0,或作为 IN+/-使用接地DODICLKVcc/REF转换数据输出,数据信号输出选择通道控制,数据信号输入芯片时钟脉冲输入5V 参考电压输入和电源输入通常情况下的单片机和 ADC0832 的接口的数据线应为 4 条,分别是 CS、CLK、DO、DI。由于 ADC0832 的数据信号输入输出口与单片机具有双向接口通信,输入输出口也不同时使用,所以可以将数据信号输入输出口并联后当一条数据线进行使用。它们的硬件接口电路与单片机连接的原理如图所示。最后将以上的惠思登电桥、放大器、ADC0832 转换器和 STC89C52 单片机连接起来,就组成了系统的采集模块。VccADC0832AT89C51U0CSCH0CH1GNDVccCLKDIDO图 ADC0832 与单片机的接口电路报警模块本系统要实现一旦检测到车辆超载超限,就会立刻鸣笛报警,通过操作人员的检查处理后,解除报警。本设计选用蜂鸣器作为发声装置,蜂鸣器可利用三极管来进行放大驱动。该接口电路如图所示:5VR4R3SpeakerVT1图 报警接口电路5. 系统的软件设计主程序设计当系统上电复位后,系统开始初始化,包括端口等;初始化完毕后,调用串口输出提示语,开始准备串口输出电压;准备完毕后,调用串口输出电压值,开始从串口输出电压值;输出完毕后,调用串口输出换行值;最后开始延时 200ms。根据系统方案,设计出本设计的主程序流程,可以用框图表示。开始串口初始化串口输出提示语串口输出电压值串口输出换行值延时 200ms图主程序流程图ADC0832 软件设计首先要将芯片开始使能,即 CS 使能端置于低电平,然后通过 DI 和 DO 的同一数据输入端口,可实现通道功能的选择,再调用通道初始化程序,初始化完毕后,在 8 个时钟边沿获得正序和反序 8 位数据,最后返回数据。根据此方案,设计出本设计中 A/D 转换程序流程,如图所示。当两位数据都为 0 时,CH1 作为负输入端 IN-,而 CH0 就作为正输入端 IN+来进行相关输入。当此两位数据都为 1 时,CH1 进行单通道转换而 CHO 不转换。当两位数据分别为0 和 1 时,CH1 作为正输入端 IN+,CH0 作为负输入端 IN-来进行相关输入。当两位数据为分别为 1 和 0 时,CH0 进行单通道转换而 CH1 不转换。ADC0832 的功能项如表 7 所示。开始芯片使能通道选择通道初始化在 8 个时钟边沿获得正序 8 位数据在 8 个时钟边沿获得反序 8 位数据MUX Address返回数据图  ADC0832 转换流程图表 7 AD0832 功能项Channe#SGL/DIF1100ODD/SIGN01010+_1+_+ADC0832 没有工作时,DO/DI 和 CLK 的电平可高可低,但 CS 的输入端口应必须显示高电平,此时芯片处于禁用状态。当A/D 转换进行时,CS 端口必须处于低电平并且一直将低电平保持到转换全部结束。当芯片转换工作开始,芯片的 CLK 端口会接收到处理器传送来的一时钟脉冲,DO/DI 并联端口将使用数据输入信号的 DI 端口。第一个时钟脉冲的下沉出现之前,DI 端口一定要是高电平,表示启始信号的发出,在第二、三个脉冲的下沉出现之前,DI 端口要输入两位数据来选择通道。第三个脉冲出现下沉之后,DI 端口就不再起任何作用,此后 DO/DI 并联端口则是被 DO 端口占领进行读取转换数据。第四个下沉脉冲出现开始,DO 端口输出最高位的转换数据 DATA7,接下来每个脉冲下沉之后 DO 端口都会输出下一位的转换数据。直到发出最低位数据 DATA0,也就是由第十一个脉冲发出的数据之后,这样一个字节的数据输出就完成了。再从第十一个脉冲下沉开始从 DATD0 开始输出下一个相反数据字节。然后一直到第十九个脉冲完成数据的输出,这样一次 A/D 转换才结束。最后,要想将转换后的数据进行相关处理就必须将芯片禁用,也就是将 CS 端口输入高电平。LCD 显示程序设计首先设置显示模式,设置第(x,y)个字符的 DDRAM 的地址,为 15×2 显示,因为液晶显示为 15 列,所以 x 位置的范围是 0 到 15,同理,因为显示 2 行,所以 y 位置的范围是 0 到 1。显示程序如下:void Lcd_Pos(uchar yPos,uchar xPos)uchar tmp;xPos &= 0x0f;3 个下降沿_nop_();_nop_();CLK=0; PutChar_to_Uart(temp/10 + 0x30);PutChar_to_Uart(temp%10 + 0x30);PutChar_to_Uart('T');PutChar_to_Uart(0x0d);, 0, 11);Write_char(temp/10 + 0x30, 0, 12);Write_char(temp%10 + 0x30, 0, 13);Write_char('T', 0, 14);void main(void)InitUART();/串口初始化Lcd_init();Write_String("Weight: ", 0, 0);Write_String("H=", 1, 0);Write_String("L=", 1, 6);Beep = 1;while(1)Process10ms();DispVal(Wh, 1, 2);DispVal(Wl, 1, 8);CheckProcess();if (flagget10s = 1)flagget10s = 0;Get_temp(sum*100);ET0 = 1;TR0 = 1;Disp_Voltage();/采集电压并发送void Timer0() interrupt 1static uint8 count1ms = 0;TH0 = (65535 - 1000)/256;TL0 = (65535 - 1000)%256;count1ms +;if (count1ms = 10)count1ms = 0;flag10ms = 1;

注意事项

本文(基于51单片机的称重系统设计)为本站会员(马***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!