欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    模拟电子秤仿真实验报告.docx

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

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

    模拟电子秤仿真实验报告.docx

    1、模拟电子秤仿真实验报告阿坝师范高等专科学校电子信息工程系课程设计模拟电子秤仿真设计学生姓名樊益明专业名称计算机控制技术班 级计控班学 号20113079阿坝师范高等专科学校电子信息工程系二一三年四月模拟电子秤设计报告1、设计原理及要求设计原理:电子秤系统设计框图大致如图1所示:图1 系统整体设计框图设计要求:1、要求单价由键盘输入;2、重量的精度能够达到十分之一千克;3、按键有提示音;4、有去皮的功能;2、主要硬件及仿真软件硬件:(1)、ADC0832ADC0832 是一种8 位分辨率、双通道A/D转换芯片。由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢迎。图2.1为ADC0832在

    2、Proteus中的逻辑符号图2.1 ADC0832逻辑符号芯片接口说明:CS片选使能,低电平芯片使能;CH0 模拟输入通道0,或作为IN+/-使用。CH1 模拟输入通道1,或作为IN+/-使用。GND 芯片参考0 电位(地)。DI 数据信号输入,选择通道控制。DO 数据信号输出,转换数据输出。CLK 芯片时钟输入。Vcc/REF 电源输入及参考电压输入(复用)。单片机对 ADC0832 的控制原理: 正常情况下 ADC0832 与单片机的接口应为 4 条数据线,分别是 CS、CLK、DO、DI但由于 DO 端与 DI 端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将 DO

    3、和 DI 并联在一根数据线上使用。(见图 3.6)当 ADC0832 未工作时其 CS 输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行 A/D 转换时,须先将 CS 使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端 CLK 输入时钟脉冲,DO/DI 端则使用 DI 端输入通道功能选择的数据信号。在第 1 个时钟脉冲的下沉之前 DI 端必须是高电平,表示启始信号。在第 2、3 个脉冲下沉之前 DI 端应输入 2 位数据用于选择通道功能,其功能项见表 1。表 1如表 1 所示,当此 2 位数据为“1”、“0”时,只对

    4、CH0 进行单通道转换。当 2 位数据为“1”、“1”时,只对 CH1 进行单通道转换。当 2 位数据为“0”、“0”时,将 CH0 作为正输入端 IN+,CH1 作为负输入端 IN-进行输入。当 2 位数据为“0”、“1”时,将 CH0 作为负输入端 IN-,CH1 作为正输入端 IN+进行输入。所以我们利用前12个脉冲来设置ADC0832的通道选择,到第 3 个脉冲的下沉之后 DI 端的输入电平就失去输入作用,此后 DO/DI端则开始利用数据输出 DO 进行转换数据的读取。从第 4 个脉冲下沉开始由 DO端输出转换数据最高位 DATA7,随后每一个脉冲下沉 DO 端输出下一位数据。直到第

    5、11 个脉冲时发出最低位数据 DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第 11 个字节的下沉输出 DATD0。随后输出 8 位数据,到第 19 个脉冲时数据输出完成,也标志着一次 A/D 转换的结束。最后将 CS 置高电平禁用芯片,直接将转换后的数据进行处理就可以了。更详细的时序说明请见图 2.2(图2.2为ADC0832的时序图)。图2.2 ADC0832时序图(2)、LCD12232图2.3 LCD12232逻辑符号管脚说明:VDD:逻辑电源正GND(VSS): 逻辑电源地VO(VEE):LCD驱动电源RESET:复位端。E1:读写使能。E2:同E

    6、1引脚。/RD:读允许,低电平有效。/WR:写允许,低电平有效。R/W:读写选择A0:数据/指令选择 高电平:数据D0-D7将送入显示RAM;低电平:数据D0-D7将送入指令执行器执行。D0-D7:数据输入输出引脚。图2.4为LCD的时序图图2.4 LCD12232时序图图2.5为显示存储器(DDRAM)与地址的对应关系(显示设定为1/32DUTY,显示起始行为10th)图2.5(3)、AT89C51在Protues中AT89C51的逻辑符号如图2.6所示:图2.6 AT89C51逻辑符号AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and

    7、Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51 提供以下标准功能:4k字节Flash闪速存储器,128

    8、字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。仿真软件:(1)、Proteus它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具,在这里完全能够满足我们对电子秤的仿真需要。(2)、Keil C51Keil C

    9、51是51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,因为我们在此次模拟仿真中使用C语言编程,所以Keil几乎就是我们的不二之选。3、设计步骤(1)、软件设计1、延时函数delay()的编写(Delay.c):在这个C文件中,只有一个函数void delay(uint x),该函数的作用 是,延时100*x(微秒)。2、ADC0832的驱动代码编写(ADC0832.c):在这个C文件中,只有一个函数uchar ReadADC(

    10、),它的返回值为8位2进制数,表示的放大后的电压值。图3.1为uchar ReadADC()的程序设计流程图各种赋值语句,作读取数据时的初始化dat1=(dat11)|ADC_DIO;读取第411,共8个正向数据dat2=dat2|(uchar)ADC_DIO0; i-);LCD12232.c/LCD12232的使用函数sfr DATAport=0x80;/定义LCD12232数据口(0x80表示P0口)sbit lcda0=P20;/写(数据/指令)(1/0)选择sbit lcde1=P21;/LCD左边使能sbit lcde2=P22;/LCD右边使能sbit lcdrw=P23;/(读/

    11、写)(1/0)状态选择sbit lcdbusy=P07;/忙状态检测位(即数据口最高位)void LCDcmd(uchar temp) delay(2); lcde1=0; /禁止控制器 lcde2=0; lcda0=0; /写指令模式 lcdrw=0; /写使能 lcde1=1; /控制器使能 lcde2=1; DATAport=temp; /写指令 lcde1=0; /写完后,禁止控制器 lcde2=0;/*写数据*/void LCDdata(bit lcde,uchar temp) delay(2); lcde1=0; /禁止控制器 lcde2=0; lcda0=1; /写数据模式 lc

    12、drw=0; /写使能 lcde1=lcde; /(lcde=0/1)(左/右)控制器使能 lcde2=lcde; DATAport=temp; /写数据 lcde1=0; /写完后,禁止主控制器 lcde2=0;/*LCD清屏*/void LCDclr(uint Page) unsigned char i; LCDcmd(0xB8|Page); /设置主控制器页地址 LCDcmd(0x00); /设置主控制器列地址 for(i=0;i61;i+) LCDdata(0,0x00); for(i=0;i61;i+) LCDdata(1,0x00); /*LCD初始化*/void LCDrst()

    13、 LCDcmd(0xE2);/复位 LCDcmd(0xAE);/关显示 LCDcmd(0xA4);/正常驱动模式 LCDcmd(0xA9);/占空比为1/32(即32行液晶显示驱动) LCDcmd(0xA1);/设定列驱动与液晶列数据口连接方式 LCDcmd(0xEE);/正常读写模式(读/写数据后列地址+1) LCDclr(0); /擦除0页 LCDclr(1); /擦除1页 LCDclr(2); /擦除2页 LCDclr(3); /擦除3页 LCDcmd(0xAF);/开显示/*写LCD字符串*/*写指令*/ void LCDshow010(uint *a,uint b) uint i,j; for(j=0;j2;j+) LCDcmd(0xB8|j); /第j页显示 LCDcmd(0x00); /设置列开始地址 for(i=0; i16;i+) /写前半部分,显示“P:” LCDdata(0,tem0i*2+j%2); if(a1=0) for(


    注意事项

    本文(模拟电子秤仿真实验报告.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




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

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开