已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子设计大赛申报书电子称本系统采用单片机为控制核心,实现电子称的基本控制功能。系统的硬件部分包括最小系统板,数据采集,人机交户界面三大部分。最小系统部分主要是扩展了外部数据存储器,数据采集部分由压力传感器,信号的前级处理和A/D转换部分组成。人机界面部分为键盘输入,128 *64点阵式液晶显示,可以直观的显示中文,使用方便。软件部分应用单片机C语言实现了本设计的全部控制功能,包括基本的称重功能,和发挥部分的显示购物清单的功能,可以设置日期和重新设定10 种商品的单价,具有超重报警功能,由于系统资源丰富,还可以方便的扩展其应用。第一部分:材料清单单片机 AT89S52 L-PSII-10型压力传感器 5V电源 仪表放大器INA126 A/D 转换器ICL7135 键盘显示芯片 ZLG7289、128*64型LCD OCM4X8C 电容、电阻、二极管若干。第二部分: 方案论证与比较 一、控制器部分 本系统基于51系列单片机来实现,因为系统需要大量的控制液晶显示和键盘。不宜采用大规模可编程逻辑器件:CPLD、FPGA来实现。(因为大规模可编程逻辑器件一般是使用状态机方式来实现,即所解决的问题都是规则的有限状态转换问题。本系统状态较多,难度较大。)另外系统没有其它高标准的要求,我们最终选择了AT89S52通用的比较普通单片机来实现系统设计。内部带有8KB的程序存储器,在外面扩展了32K数据存储器,以满足系统要求。 二、数据采集部分 ( 1 )、传感器题目要求称重范围 9.999Kg ,重量误差不大于0.005 Kg,考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器,所以传感器量程必须大于额定称重。我们选择的是 L-PSIII 型传感器,量程 20Kg ,精度为,满量程时误差 0.002Kg 。可以满足本系统的精度要求。其原理如下图所示: 称重传感器主要由弹性体、电阻应变片电缆线等组成,内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压可由下式给出: ( 2 )、前级放大器部分 压力传感器输出的电压信号为毫伏级,所以对运算放大器要求很高。 我们考虑可以采用以下几种方案可以采用: 方案 一 、利用普通低温漂运算放大器构成多级放大器。普通低温漂运算放大器构成多级放大器会引入大量噪声。由于 A/D 转换器需要很高的精度,所以几毫伏的干扰信号就会直接影响最后的测量精度。所以,此中方案不宜采用。 方案 二:采用专用仪表放大器,如: INA126,INA121等。 此类芯片内部采用差动输入,共模抑制比高,差模输入阻抗大,增益高,精度也非常好,且外部接口简单。 以 INA126为例,接口如下图所示: 放大器增益,通过改变的大小来改变放大器的增益。 基于以上分析,我们决定采用制作方便而且精度很好的专用仪表放大器 INA126 。3 )、 A/D 转换器 由上面对传感器量程和精度的分析可知: A/D 转换器误差应在 以下 12 位 A/D 精度: 10Kg/4096=2.44g 14 位 A/D 精度: 10Kg/16384=0.61g 考虑到其他部分所带来的干扰 ,12 位 A/D 无法满足系统精度要求。 所以我们需要选择14位或者精度更高的A/D。 方案一、逐次逼近型 A/D转换器,如:ADS7805、ADS7804等。逐次逼近型 A/D转换,一般具有采样/保持功能。采样频率高,功耗比较低,是理想的高速、高精度、省电型 A/D 转换器件。 高精度逐次逼近型 A/D转换器一般都带有内部基准源和内部时钟,基于89C52构成的系统设计时仅需要外接几个电阻、电容。但考虑到所转换的信号为一慢变信号,逐次逼近型 。A/D转换器的快速的优点不能很好的发挥,且根据系统的要求,14位AD足以满足精度要求,太高的精度就反而浪费了系统资源。所以此方案并不是理想的选择。 方案二、双积分型 A/D转换器:如:ICL7135、ICL7109等。 双积分型 A/D转换器精度高,但速度较慢(如:ICL7135),具有精确的差分输入,输入阻抗高(大于),可自动调零,超量程信号,全部输出于TTL电平兼容。双积分型 A/D转换器具有很强的抗干扰能力。对正负对称的工频干扰信号积分为零,所以对50HZ的工频干扰抑制能力较强,对高于工频干扰(例如噪声电压)已有良好的滤波作用。只要干扰电压的平均值为零,对输出就不产生影响。尤其对本系统,缓慢变化的压力信号,很容易受到工频信号的影响。故而采用双积分型A/D转换器可大大降低对滤波电路的要求。 作为电子秤,系统对AD的转换速度要求并不高,精度上14位的AD足以满足要求。另外双积分型A/D转换器较强的抗干扰能力,和精确的差分输入,低廉的价格。综合的分析其优点和缺点,我们最终选择了ICL7135。三、人机交互界面 ( 1 )键盘输入 键盘输入是人机交互界面中最重要的组成部分,它是系统接受用户指令的直接途径。我们采用了专用的键盘显示芯片 ZLG 7289。Intel8279 是一种比较成熟的可编程键盘 / 显示芯片,可以满足小系统的要求。ZLG7289 是周立功单片机公司设计的串行输入输出可编程键盘显示芯片有强大的键盘显示功能,支持 64 键控制。可以比较方便的扩展系统。另外 ZLG7289内部有译码电路,大大简化了程序。我们选择功能更好的 ZLG7289 作为键盘扫描显示芯片 ( 2 )显示输出 虽然 ZLG7289具有控制数码管显示的功能,但考虑到本题目要求中文显示,数码管无法满足,只能考虑用带有中文字库的液晶显示器。由于可以分页显示,无需太大屏幕,我们选择了点阵式128 64 型 LCD OCM4X8C 。第三部分:硬件组成(一)、硬件结构框图如下:( 二)、各部分硬件电路实现 (1)、基于AT89S52的主控电路图 主控电路以 89C52为核心扩展32KRAM;单片机使用6M晶振,P0口外接上拉电阻,增大了带负载能力;A12A15接74LS138译码器,输出作外部片选信号。扩展了几个接口用于其它部分于单片机的通信 ( 2)前端信号处理 INA126构成的放大器及滤波电路:通过调节Rg的阻值来改变放大倍数。微弱信号Vi1和Vi2被分别放大后从INA126的第6脚输出。A/D转换器ICL7135的输入电压变化范围是-2V+2V,传感器的输出电压信号在020mv左右,因此放大器的放大倍数在200300左右,可将 接成 的滑动变阻器.由于ICL7135对高频干扰不敏感,所以滤波电路主要针对工频及其低次谐波引入的干扰。因为压力信号变化十分缓慢,所以滤波电路可以把频率做得很低。 ( 3)A/D转换器 基于 ICL7135的A/D转换器实现电路: 基准源选用芯片 MC1403 2.5V分压得到: 由于ICL7135内部没有振荡器,所以需要外接。但A/D转换器精度与时钟频率的漂移无关。正向积分时间T1和反向积分时间T2按相同比例增加并不影响测量的结果。ICL7135的时钟频率典型值为200kHz最高允许为1200kHz,时钟频率越高,转换速度越快。每输出一位BCD码的时间为200个时钟周期,选通脉冲位于数据脉冲的中部,如果时钟频率太高,则数据的接受程序还没有接受完毕,数据就已经消失了。考虑到此系统频率要求不是太高,且单片机的工作频率也不是很高,因此我们取时钟频率的典型值:200kHz。由于频率比较低,对时钟漂移要求不高,我们采用阻容方式实现了基本的振荡电路。如下: 振荡频率约为 160kHz。此外ICL7135外部还需要外接积分电阻、积分电容,但A/D转换器精度与外接的积分电阻、积分电容的精度无关,故可以降低对元件质量的要求。不过积分电容和积分电容的介质损耗会影响到A/D转换器的精度,所以应采用介质损耗较小的聚丙乙烯电容.ICL7135还需要外接基准电源,这是因为芯片内部的基准源一般容易受到温度的影响,而基准电源的变化会直接影响转换精度。所以当精度要求较高时,应采用外接基准源。一般接其典型值1V。 (4) 人机交互界面 (a) 键盘接口图: 键盘控制芯片 ZLG7289 控制键盘的扫描,当监测到有键按下后 ZLG7289的9脚便产生一个低电平通知单片机,单片机可以采用查询或者中断方式将数据通过 P1.5以串行方式读入。因为查询方式会浪费大量的时间 , 所以本系统采用的是中断方式。 (b)LCD 显示接口电路 LCD 复位信号通过反相器接到单片机的 RESET上,上电或手动复位时将随单片机同时复位。由于复位后并行口输出高电平, LCD 处于选中状态,此时LCD 将输出内部状态字,将会影响数据总线上的数据传输。所以外接一个反相器。第四部分:软件部分(一)、流程图 主程序流程如图所示: 中断服务程序流程图如下: ( 2)、软件说明 由于涉及到大量数据的运算,程序不宜采用汇编语言, C语言大大缩短了开发时间,且程序可读性非常好。 程序中对 AD采入的数据进行了数字滤波,进一步减小AD读入数据的误差。 7289键盘控制采用中断方式,加快了程序的执行效率。电子秤的信号采集、处理、显示的程序 . include include /ad 控制线 #define ad_244 XBYTE0xbfff; sbit ad_stb=P33; sbit ad_start=P11; /lcd 控制线 sbit lcd_di=P17; sbit lcd_rw=P12; sbit lcd_e=P10; /7289 控制线 sbit cs7289=P13; sbit clk7289=P14; sbit dio7289=P15; /sbit key7289=P16; /7289 查询方式 sbit key7289=P32; /7289 中断方式 sbit baoj=P35; /7289 子程序 void ini_7289(void); void send7289(short); short receive(void); void keyin(void); /lcd 子程序 void ini_lcd(void); void lcdd_send(short); void lcdi_send(short); void chk_busy(void); /ad 子程序 void ad(void); void baojing(void); void d_change(long); / 初始化,编号,日期 void ini(); void error1(void); void nop1() void change(s) int dealy; / 全局变量 short sh=0; / 商品号 short dot=0; / 小数点标志 bit list=0; short qb=0; char xdata shuju7=; short xdata bcd5; char xdata s116= 单价 : 元 ; char xdata s216= 重量 : Kg; char xdata s316= 金额 : 元 ; char xdata s416= 累计 : 元 ; char code message0= 信息学院 山东大学 ; char code message1= 输入收银员代号 :; char code message2= 输入日期 :; char code message316= - 山东大学 - ; char code message516=xx公司欢迎您 !; char xdata bianhao16= 收银员: ; char xdata riqi16= - - ; long int xdata zongjia=0,jine=0,jine1=0; int xdata shizhong=0,pizhong=0,zhongliang=0; long int xdata qingdan204; char code shangpin114= 单价 , 苹果 , 梨 , 花生 , 大米 , 桃子 , 塑料 , 瓜子 , 桔子 , 香蕉 , 玉米 ; long int xdata danjia11= 0,2000,3635,5502,6660,3320,5502,660,3210,6600,5600; char xdata jiage6=0x0,0x0,0x0,0xfe,0x0,0x0; / 0.00 short xdata xiuzheng=0,2,5,6,7,8,9,12,13; char s16; s6=shuju0; s7=shuju1; s8=shuju2; s9=shuju3; s10=shuju4; s11=shuju5; s12=shuju6; /* void main() short i,j; long int x,z; int y; int xdata duilie3=0; P1=0xff; ini_lcd(); / 初始化 LCD lcdi_send(0x8a); while(message0i) lcdd_send(message0i+); ini_7289(); / 初始化 7289 pizhong=ad1(); lcdi_send(0x1); / 总清 屏 ini(); / 初始页面 , 收银员编号,日期 lcdi_send(0x1); / 总清 屏 EA=1;EX0=1; / 中断 /EX1=1; /ad_start=1; while(1) if(list)lcdi_send(0x80); / 显示单位名称 for(i=0;i16;i+) lcdd_send(message3i); x=qingdan00; / 商品名 单价 for(i=0;i4;i+) s1i=shangpinxi; x=qingdan01; d_change(x); change(s1); lcdi_send(0x90); for(i=0;i16;i+) lcdd_send(s1i); x=qingdan02; / 显示重量 d_change(x); change(s2); s210=s29;s29=.; if(s28=32) s28=0x30; lcdi_send(0x88); for(i=0;i16;i+) lcdd_send(s2i); x=qingdan03; d_change(x); change(s3); lcdi_send(0x98); for(i=0;i16;i+) lcdd_send(s3i); / 以上为第一页 EA=0;EX0=0; / 关键盘中断 for(j=1;jqb;j+) while(key7289); x=qingdanj2; d_change(x); change(s2); / 显示数据 s210=s29; s29=.; if(s28=32) s28=0x30; lcdi_send(0x90); for(i=0;i16;i+) lcdd_send(s2i); x=qingdanj1; d_change(x); change(s1); x=qingdanj0; for(i=0;i4;i+) s1i=shangpinxi; lcdi_send(0x80); for(i=0;i16;i+) lcdd_send(s1i); x=qingdanj3; d_change(x); change(s3); lcdi_send(0x88); for(i=0;i16;i+) lcdd_send(s3i); lcdi_send(0x98); for(i=0;i16;i+) lcdd_send(0x20); lcdi_send(0x98); while(key7289=0); while(key7289); d_change(zongjia); change(s4); lcdi_send(0x80); for(i=0;i16;i+) lcdd_send(s4i); lcdi_send(0x90); for(i=0;i16;i+) lcdd_send(bianhaoi); lcdi_send(0x88); for(i=0;i16;i+) lcdd_send(message5i); lcdi_send(0x98); for(i=0;i1; x=duilie0; x=x1; x=x+duilie1+duilie2; */ zhongliang=ad1(); shizhong=zhongliang-pizhong; / 数据转换 x=danjiash; jine1=shizhong*x; jine=jine1/1000; d_change(shizhong); change(s2); / 显示数据 s210=s29; s29=.; if(s28=32) s28=0x30; lcdi_send(0x90); for(i=0;i16;i+) lcdd_send(s2i); d_change(danjiash); change(s1); for(i=0;i4;i+) s1i=shangpinshi; lcdi_send(0x80); for(i=0;i16;i+) lcdd_send(s1i); d_change(jine); change(s3); lcdi_send(0x88); for(i=0;i16;i+) lcdd_send(s3i); d_change(zongjia); change(s4); lcdi_send(0x98); for(i=0;i16;i+) lcdd_send(s4i); lcdi_send(0x98); /while(1); void keyin(void) interrupt 0 using 0 / 中断 0 服务程序 char X,i; long int y; send7289(0x15); / 接收数据 X=receive(); cs7289=1; X=X&0x1f; switch(X) case 0xf : zongjia=zongjia+jine; qingdanqb0=sh; qingdanqb1=danjiash; qingdanqb2=shizhong; qingdanqb3=jine; qb+; sh=0;dot=0; danjia0=0; for(i=0;i2) break; / lcdi_send(0x84); y=jiage0; y=y*10+jiage1; y=y*10+jiage2; y=y*10+jiage4; danjiash=y*10+jiage5; while(key7289=0); / 等待键盘松开 /* void ad(void) interrupt 2 using 1 short x,y; x=ad_244; y=x; if(x&0x80) baojing(); else x=x4; y=y&0xf; bcdx=y;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外贸进出口2025年代理报关合同协议
- 2026年安徽邮电职业技术学院高职单招职业适应性测试模拟试题有答案解析
- 2026年阜阳幼儿师范高等专科学校单招综合素质考试备考试题带答案解析
- 2026年邯郸幼儿师范高等专科学校单招职业技能考试模拟试题带答案解析
- 2026年河北科技学院单招综合素质考试模拟试题带答案解析
- 体检结果解读合同(2025年服务条款)
- 2026年湖南理工职业技术学院单招综合素质考试备考题库带答案解析
- 2026年福建农林大学金山学院单招综合素质考试备考题库带答案解析
- 2026年甘肃林业职业技术学院高职单招职业适应性考试备考试题带答案解析
- 2026年广西教育学院高职单招职业适应性测试模拟试题有答案解析
- 英语-浙江省杭州八县市2024学年高二第一学期期末学业水平测试试题和答案
- 公务用车车辆安全培训课件
- 牛津译林版七年级英语上册词组背诵版
- 奥林巴斯微单相机E-PL8说明书
- 中医临床路径18脾胃科
- 零星维修合同模板
- 九三学社申请入社人员简历表
- 聚氨酯门窗研究汇报
- 医院电子病历四级建设需求
- 上海2023届高三二模数学卷汇总(全)
- 《锐角三角函数》复习(公开课)课件
评论
0/150
提交评论