首页资源分类嵌入式处理器51内核 > 基于51单片机的多功能电子秤

基于51单片机的多功能电子秤

已有 445117个资源

下载专区

上传者其他资源

    文档信息举报收藏

    标    签:Protues源程序

    分    享:

    文档简介

    以AT98C52为主控制中心、LCd1602为显示单元、电阻应变式传感器为采集单元以及矩阵式键盘为价格设定

    文档预览

    摘要 随着电子技术、信息化的发展,电子秤的发展也越来也快速,传统的称量装置已经被淘汰。电子秤的应用也越来越广泛,其以使用方便、便捷、精度高、人机交换简单等优点越来越受人们的青睐。 本次课程设计我们组的题目就是电子秤的设计。我们是以AT98C52为主控制中心、LCd1602为显示单元、电阻应变式传感器为采集单元以及矩阵式键盘为价格设定单元来完成本次的课程设计,最后还设计了超标重量的报警系统。整个设计过程我们小组作出了详细的方案,主要分为三大块:方案的选择(包括了单片机的选择、传感器的选择、显示的选择等)、硬件的设计(包括硬件连接和Protues硬件仿真)、软件的编写和调试。 通过整个的设计主要完成的功能有:能正常称重及显示、通过矩阵键盘实现人工设定商品的单价、设置常用商品单价及计算的快捷键、设置超标重量报警系统。 关键字:AT89C52、电子秤、LCD、Proteus。 目录 1 引言………………………………………………………………1 1.1课程设计任务………………………………………………1 1.2 技术指标和解决的问题……………………………………1 2 方案选择与论证…………………………………………………2 2.1 单片机的选择………………………………………………2 2.2 传感器的选择………………………………………………2 2.3 显示器的选择………………………………………………3 2.4 放大电路的选择……………………………………………3 2.5 系统总体方案设计…………………………………………4 2.6具体实施方案………………………………………………4 3 硬件电路实现…………………………………………………5 3.1单片机的简介及最小系统…………………………………5 3.2电阻应变式传感器…………………………………………6 3.3 ADC0808……………………………………………………7 3.4 4 x 4矩阵键盘……………………………………………9 3.5 LCD1602……………………………………………………10 3.6报警系统……………………………………………………11 4 软件设计………………………………………………………12 4.1设计思路……………………………………………………12 4.2 流程图………………………………………………………12 5 调试与结论……………………………………………………14 5.1程序调试……………………………………………………14 5.2结论…………………………………………………………15 6 课设心得 ………………………………………………………15 7 参考文献…………………………………………………17 1、引言 多功能电子秤是现代最常见的称重装置之一,作为一种计量手段,被广泛用于工农业、内外贸易、工业控制、商场等各个领域,与现代生活紧密联系在一起。称重装置不仅是提供重量数据的单体仪表,而且作为工业控制系统和商业管理系统的一个组成部分,推进了工业生产自动化和管理的现代化。随着称量装置电子秤、电子电平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。电子秤向提高精度和降低成本的方向发展的趋势引起了对低成本、高性能模拟信号处理器件需求的增加。在平时生活中,我们最常见的称重装置就是电子秤,其最常见的功能就是称量物体重量,在此基础上实现对商品的单价的设定、对商品总价的计算、对重量超标设置报警系统。本次课程设计的课题就是这种常见电子秤的设计,完成其基本功能。 1.1 课程设计任务 (1):设计一个量程为0 ~ 5.0Kg的多功能电子秤。传感器采用传感器采用悬臂梁式的称重传感器(悬臂梁上贴有应变片),显示电路采用lcd1602液晶显示,AD转换采用8位AD转换电路。 (2):可以实现对称重传感器进行采集,并通过AD转换通过单片机显示重量。 (3):设计报警系统,当物体重量大于某个值时,蜂鸣器报警。 (4):设置常用按键,直接计算物体的总价。 (5): 设计矩阵键盘,实现人为输入单价。 (6) :安装、调试电路。首先对电路进行调零、定标,然后再对电路进行稳定性、漂移(零漂、温漂)、重复性、线性等参数的测试和分析。 1.2 技术指标和解决的问题 随着电子 技术的快速发展,在称量中,人们需要的称量精度越来越高,在电子秤的设计过程中,检测、转换、显示的精度是我们必须要完成的技术指标之一,也是最重要的技术指标。本次课程设计我们组设计了一个低精度的电子秤,只要求显示到小数点后一位。实现用键盘输入商品单价,要求输入单价可以到小数点后一位。 在设计过程中我们所要解决的问题主要分为三大模块: (1):前端经过传感器采集、放大处理后能得到一个量程为0 ~ 5.0v的电压,采集的电压值相对较为稳定。 (2):采用8为的AD转换电路,实现把采集来的模拟电压转换成数字电压。 (3):单片机控制,主要是数据的显示和按键的控制以及报警系统的设计。 2、方案选择与论证 2.1 单片机选择 方案一:采用经典8位单片机AT89C52作为控制中心。AT89C52与51的功能一样,价格便宜、使用简单,其有运算速度低、RAM、ROM空间小等缺点。内部集成有8为的ADC0804转换器,lcd1602液晶显示器。51系列的单片机编程简单,适合简单课设的需求。 方案二:采用STC12C5A60S2单片机作为控制中心。是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。其内部集成有10位的AD转换器、2路PWM、MAX810专用复位电路。精度比51单片机高。但其价格比51贵。 总上所述,结合本次设计任务,8位的AD就已经够用,从价格等方便考虑,选择方案一,采用AT89C52单片机。 2.2 传感器选择 方案一: 选用压电传感器。压电传感器是一种典型的有源传感器,又称自发电式传感器。其工作原理是基于某些材料受力后在其相应的特定表面产生电荷的压电效应。压电传感器体积小、重量轻、结构简单、工作可靠,适用于动态力学量的测量,不适合测频率太低的被测量,更不能测静态量。目前多用于加速度和动态力或压力的测量。压电器件的弱点:高内阻、小功率。功率小,输出的能量微弱,电缆的分布电容及噪声干扰影响输出特性,这对外接电路要求很高。 方案二:选用电阻应变式传感器。电阻应变式传感器是一种利用电阻应变效应,将各种力学量转换为电信号的结构型传感器。电阻应变片式电阻应变式传感器的核心元件,其工作原理是基于材料的电阻应变效应,电阻应变片即可单独作为传感器使用,又能作为敏感元件结合弹性元件构成力学量传感器。导体的电阻随着机械变形而发生变化的现象叫做电阻应变效应。电阻应变片把机械应变信号转换为△R/R后,由于应变量及相应电阻变化一般都很微小,难以直接精确测量,且不便处理。因此,要采用转换电路把应变片的△R/R变化转换成电压或电流变化。其转换电路常用测量电桥。直流电桥的特点是信号不会受各元件和导线的分布电感及电容的影响,抗干扰能力强,但因机械应变的输出信号小,要求用高增益和高稳定性的放大器放大。 综上所述,本次电子秤的设计采用电阻应变式传感器。 2.3 显示器的选择 方案一:选用单片机上的6个数码管作为显示器。其主要的是优点是显示方便,便于实现。但其显示太局限,不能很直观的反应重量、价格等。 方案二:字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,1602LCD主要技术参数:显示容量:16×2个字符,芯片工作电压:4.5—5.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸2.95×4.35(W×H)mm,其优点有液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,因此液晶显示器画质高且不会闪烁。 综上所述,为了直观反映重量和价格等,选用方案二,用lcd1602作为显示器。 2.4 放大电路选择 方案一:选用三运放高共模抑制比放大电路。此运算放大电路最主要的优点有较高的共模抑制比,输入阻抗高,增益调整方便。 方案二:采用一个运算放大器构成的放大电路。结构简单,便于实现。其缺点有共模抑制比小,电路增益调整不方便。抗干扰能力差。 经过Proteus仿真的调试,由于三运放高共模抑制比放大电路在仿真过程中没有实现,最后选定用方案二。 2.5 系统总体方案设计 整个系统主要分为:信号采集放大模块、AD转换模块、中心控制模块、显示模块、键盘模块和报警模块等六个模块组成。 图2.1 系统总体框图 总体思路是:由前端利用称重传感器检测压力信号,得到一个微弱的电压信号,经过运算放大器放大电压信号,再经过AD转换电路,将模拟量转换为数字量后,由89C52经过计算将数值信号转换为实际的重量,在控制LCD显示出采集结果(即商品重量)。对键盘进行扫描得到键值,由89C52计算并控制显示输入的键值(即输入的商品单价)。最后软件实现对总价格的计算并输出由LCD显示。报警系统是当采集的电压信号大于设定值(即商品重量超标)后由89C52控制蜂鸣器发出声音,实现报警系统。 2.6 具体实施方案 根据以上设计方案,硬件部分采用51系列单片机AT89C52为控制核心部件,传感器选用电阻应变式传感器,显示采用LCD1602,实现电子秤的基本控制功能。AT89C52是一款8位的内带4K程序存储器的微控制器,考虑到用软件实现电子秤系统的各项功能时,所需的软件量并不是很大,不需要太大的程序存储空间,因此在对AT89C52实际设计时不需要在片外再扩展程序存储器,这样不仅节省了硬件资源,也优化了电路的设计。系统的硬件部分不仅包括以单片机AT89C52为核心的最小系统部分,而且还包括数据采集、人机接口界面、系统电源部分。数据采集部分由电阻应变式传感器、信号放大处理部分组成。在具体选择传感器时,考虑到在称量物品时必要的精度、准确性要求,所称物品的重量误差必须要控制在一定的范围之内。另外由于秤台的自身重量、振动和冲击分量,以及还要避免物体超重时对传感器的损坏,所以在 选择传感器时要保证有一定的承重裕量,所选的传感器量程应该比系统设计要求的要大。一般选择满量程时候的误差不能大于规定量。由于传感器输出的电信号比较微弱,一般为毫伏级,必须采用适当的电路进行信号放大处理,这样才能保证整个系统的精度和稳定性能。这时需要共模抑制比高,差模输入阻抗大,增益高,精度好的放大电路,但由于仿真时出现各种因素,最后选择了单运算放大电路。人机交互部分的键盘在系统中,可以输入数字和已经固定的控制命令等。在这次设计中我们采用了4×4键盘控制。显示用的LCD我们根据要求选用了字符点阵式液晶显示器LCD1602,可以一次满屏幕显示多个个中文字符或英文字符,满足电子秤在称物时的购物清单显示要求。 3 硬件电路实现 3.1 单片机的简介及最小系统 随着大规模集成电路技术的发展.可以将中央处理器(CPU)、存储器(ROM、RAM)、I/O接口电路、定时器/计数器等,制作在一块集成电路芯片中,这样所组成的芯片级的微型计算机称为单片微型计算机(Single Chip Mirco-computer),直译为单片微机或单片机。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。AT89C52的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,外接12MHz石英晶体及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,电容使用30pF±10pF。 图3.1 AT89C52最小系统 3.2电阻应变式传感器 传感器的定义:能感受规定的被测量,并按照一定规律转换成可用输出信号的器件或装置。通常传感器由敏感元件和转换元件组成。其中敏感元件指传感器中能直接感受被测量的部分,转换部分指传感器中能将敏感元件输出量转换为适于传输和测量的电信号部分。现代科技的快速发展使人类社会进入了信息时代,在信息时代人们的社会活动将主要依靠对信息资源的开发和获取、传输和处理,而传感器处于自动检测与控制系统之首,是感知获取与检测信息的窗口;传感器处于研究对象与测控系统的接口位置,一切科学研究和生产过程要获取的信息,都要通过它转换为易传输与处理的电信号。 称重传感器是力传感器当中一个重要的品种,实际应用及其广泛.称重传感器中最多的是电阻应变式称重,应变片是称重传感器的核心单元,弹性体是基础组成部分。称重传感器按结构类型分主要有S行双连孔式传感器,柱式传感器,轮辐式与桥式传感,柱环式传感器,剪切梁式传感器和单S梁式传感器。 电阻应变式传感器是一种利用电阻应变效应,将各种力学量转换为电信号的结构型传感器。电阻应变片式电阻应变式传感器的核心元件,其工作原理是基于材料的电阻应变效应,电阻应 变片即可单独作为传感器使用,又能作为敏感元件结合弹性元件构成力学量传感器。导体的电阻随着机械变形而发生变化的现象叫做电阻应变效应。电阻应变片把机械应变信号转换为△R/R后,由于 应变量及相应电阻变化一般都很微小,难以直接精确测量,且不便处理。因此,要采用转换电路把应变片的△R/R变化转换成电压或电流变化。其转换电路常用测量电桥。直流电桥的特点是信号不会受各元件和导线的分布电感及电容的影响,抗干扰能力强,但因机械应变的输出信号小,要求用高增益和高稳定性的放大器放大。 如图3.2所示:其输入电压与输出电压的关系如下: 图3.2 应变式传感器 3.3 ADC0808 ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0808是ADC0809的简化版本,功能基本相同。一般在硬件仿真时采用ADC0808进行A/D转换,实际我们使用时采用的是ADC0804进行A/D转换。 ADC0808芯片有28条引脚,如图3.3所示。各引脚功能如下: (1):1~5和26~28(IN0~IN7):8路模拟量输入端。 (2);8、14、15和17~21:8位数字量输出端。 (3):22(ALE):地址锁存允许信号,输入,高电平有效。 (4):6(START): A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 (5):7(EOC): A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 (6):9(OE):数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 (7):10(CLK):时钟脉冲输入端。要求时钟频率不高于640KHZ。 (8):12(VREF(+))和16(VREF(-)):参考电压输入端 (9):11(Vcc):主电源输入端。 (10):13(GND):地。 (11):23~25(ADDA、ADDB、ADDC):3位地址输入线,用于选通8路模拟输入中的一路 图3.3 ADC0808 3.4 4 x 4矩阵键盘 目前,微机系统中最常用的是触电式开关按键。在编写单片机程序时,键盘作为一种人机接口的方式实现,是很常用的。而一般的实现方法如下: 如果按键数较少,那么可以直接将按键接到单片机的I/O口,然后各按键取逻辑或送到单片机的中断管脚(对于51体系),单片机响应中断后再去读取I/O口的数据。本次设计中,我们可以采用扫描式的方法来判断按键事件。扫描方法即CPU在一定的节奏下,去扫描按键数据线上的信号,然后分析并确定按键事件。由于本设计的电子秤需要设置单价(十个数字键),还具有设定、计算、返回、常用快捷键等功能,总共需设置16个键。采用键盘的扩展使用方案:即采用矩阵式键盘。矩阵式键盘的特点是把检测线分成两组,一组为行线,一组列线,按键放在行线和列线的交叉点上。图3.4给出了一个4×4的矩阵键盘结构的键盘接口电路,图中的每一个按键都通过不同的行线和列线与主机相连这。4×4矩阵式键盘共可以安装16个键,但只需要8条测试线。当键盘的数量大于8时,一般都采用矩阵式键盘。结合本设计的实际要求,16个按键使用4×4矩阵式键盘,其与单片机接口如图中网络标号所示: 图3.4 矩阵键盘 3.5 LCD1602 1602LCD 分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别。 1602LCD 主要技术参数: 显示容量:16×2 个字符 芯片工作电压:4.5—5.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.95×4.35(W×H)mm 引脚功能如下: 第1 脚:VSS 为地电源。 第2 脚:VDD接5V正电源。 第3 脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K 的电位器调整对比度。 第4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W 共同为低电平时可以写入指令或者显示地址,当RS 为低电平R/W 为高电平时可以读忙信号,当RS 为高电平R/W为低电平时可以写入数据。 第6 脚:E端为使能端,当E 端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8 位双向数据线。 图3.5 LCD1602 3.6 报警系统 生活中,很多时候在称量时,商品的重量会达到电子秤的重量,超过其额定重量太多会造成电子秤内部应变式传感器发生畸变,不能正常恢复,以至于损坏电子秤。本次课程设计中,设计的报警系统如图3.6所示。按照图中所示连接蜂鸣器,网络标号FM连接单片机的P2.3口,当重量超过设定值时,给P2.3口一个高电平,延时一会,在给一个低电平,在延时一会,在给一个高电平,此时蜂鸣器就会发出响声,实现报警系统。 图3.6 报警系统 4 软件设计 4.1 设计思路 软件设计在整个课程设计中也是至关重要的。本次课程设计的思路主要还是按照模块化编程的思路来进行的。通常在一些小程序中,我们都没有植入模块化编程的方法。但对于程序代码有上百行的编程中,模块化思想是很重要的。那是因为随着代码量的增加,将所有的代码都放在同一个.C文件中的做法越发使得程序结构混乱,虽然可以运行,但是可读性、可移植性变差。即使是自己写的程序,时间长以后对程序的阅读和修改也要花一些时间。模块化编程使得程序的组织结构更加富有层次感,立体感和降低程序的耦合度。 在模块化编程中,往往会有多个C文件,而且每个C文件的作用不尽相同。在我们的C文件中,由于需要对外提供接口,因此还必须有一些函数或者是变量提供给外部其它文件进行调用。对于每一个模块都有相应的.c文件和.h文件,为了阅读调试方便,原则上.c文件和.h文件同名,如delay.c和delay.h。本次课程设计中我们只是用了模块化编程的思想,把显示、键盘扫描、AD转换三块以子程序的形式写作出,最后在main()主函数中调用,这样提高了程序的可读性,在调试过程中也便于调试。 4.2 流程图 否 否 否 否 是 是 是 是 是 是 是 是 否 图4.1 主程序流程图 5 调试与结论 5.1 程序调试 本次课程设计我们小组是通过一边写程序代码一边调试程序,主要分为:LCD1602显示程序的编写和调试、键盘的扫描、信号采集与转换、报警系统。 整个过程有分成如下几步: (1):编写ADC转换程序,并将前端由应变式传感器采集、经过放大处理后的模拟电压输入ADC0808的输入通道。在仿真中,将ADC转换的数据经过编程转换通过一个数码管显示出来,看ADC0808转换的结果是否正确,通过调试使得ADC能正确将模拟电压转换成为数字信号。 (2):LCD1602显示程序的编写,首先是对LCD初始化、写命令、写数据程序的编写,然后在通过定义数组的形式,将数组中的字符串写入LCD中,调试程序,是LCD能正常显示字符串。 (3):将上面两个程序写成子程序,然后在main()主函数中调用,通过设置断点等方式调试程序,使由前端传感器采集的数据,经AD转换后,能正确通过LCD显示出来。 (4):编写键盘扫描程序,对4 X 4矩阵键盘扫描,得到一个键值,也是通过定义数码管显示(0-9,A-F)段码数组,验证矩阵键盘扫描程序是否正确。 (5):把AD、LCD、键盘三块通过调用,实现重量称重显示,键盘输入价格,常用快捷按键的设置等功能。 (6):编写报警系统程序,软件设置额定重量,当超过额定重量,通过给与蜂鸣器高低电平实现报警。 这次的课程设计不是按照先写完程序,然后在调试。而是通过一边编写程序,一边调试完成的。整个编写调试过程是严格按照上述步骤来完成。前三步实现的最基本的称重功能。这是最基本的,只有在这基础上才能进行功能的扩展,这三步也是最重要的。第四、五、六主要是对设定单价、常用商品快捷键、报警系统的扩展。 在整个编写调试过程中遇到的问题及解决方案: (1):前端由传感器采集信号,放大电路处理后电信号,没有得到预期的电信号范围(0-5.0V)。通过传感器输出端和放大电路输出加一个电压探针模式,能直观的看到电压值,通过调节放大电路反馈电阻,得到合适的增益,解决了不能得到0-5.0V电压信号这个问题。 (2):通过AD转换后的数字信号怎样通过LCD显示出来。在单独LCd调试的时候,我们是通过定义一个数组来验证的,所需要的显示数字(字符串)都放在数组里。现在需要解决的是,怎样把AD转换的得到的不确定的数字信号显示出来,通过查资料,上网查阅,最后是通过定义一个空白数组,给一个数组指针,最总实现称重重量的现实。 (3):单价设定中,当按下设定键时,由于单片机运行速度很快,来不及按下单价键。通过不断的调试,我们的解决方案是:按下设定键后,给出一个标志key13=0;通过while(key13==0){ }语句实现单价的输入。但单价输入完成后,在给key13=1;使其跳出while循环,如果单价没有设定完成,就一直在while中循环,等待单价设定完成。 5.2 结论 (1):前端电阻应变式传感器采集的信号,经放大电路处理后,能达到0-5.0V的电压范围。 (2):ADC0802能正确将模拟电压信号转换成数字信号,范围是0-255。 (3):设计的电子秤可以实现基本的称重功能。 (4):可以通过矩阵键盘由人工设定单价,通过LCD显示出来。还设定了常用的快捷按键,实现常用商品的单价自设定和计算。 (5):实现了商品重量超过额定重量时的报警系统。 6 课设心得 本次课程设计,我们小组的题目是:多功能电子秤的设计。电子秤也是我们生活中常见的称重装置,是现代生活中,很多领域不可缺少的装置。通过一周多的时间我们小组也成功的完成了电子秤的设计。在整个的设计中,用到的知识很多,例如:传感器原理及应用、单片机原理及应用、测控电路、模拟电路等,是我们专业第一次综合性的课程设计,这和以前的课程设计有很大的区别。 整个课程设计,我们小组主要是分成三大块来完成。首先是方案的选择,其中包括传感器、AD、显示的选择:其次是硬件电路的设计和仿真。最后是软件的编写和调试。通过这种综合性的课程设计的锻炼,我学到了很多。 (1):通过课程设计,了解到了面对一个完整的设计题目时,我们的整个设计应该分为几大块来解决,先做什么,再干什么,有个合一理的方案,才能有效的完成设计。 (2):这次课程设计中,通过软件的编写和调试,增强了我单片机编程的能力,本次课程设计程序代码也不是以前的十几行代码,亦或者几十行代码,整个程序的编写下来总共两百多行代码,算是一次大的工程,在调试过程中也遇到了很多的问题,但由于这次我们的思路是一边编写一边调试,用到了模块化编程的思想,这也使得调试便捷了很多。 (3): 一周多的设计中,小组中的三个人分工明确。拿到题目后就有一个好的分工,对接下来的查阅资料、方案的选择、硬件的设计、软件的编写和调试都有很大的帮助,明白了小组合作中,分工和团队协作的重要性。 (4):在调试过程中,遇到了很多问题,最后都是用过不断调试,不断找出问题的所在,不断查资料,找解决方法,整个过程增强自己调试程序的能力。 (5):本次硬件的仿真我们用的是Proteus。这是一个以前没有用过的仿真软件,通过硬件的仿真,初步学会了这个软件的应用。 总之,在整个课程设计中,我收获很多,相信这些收获在以后的专业知识学习和大四的毕业设计中会起到很大的作用。从开始选择设计题目、查阅资料、选择方案到硬件、软件的设计,一整个的流程下来,让我们提前了解到了毕业设计的不易,这对大四毕业设计会有很大的帮助。在一周多的课程设计中,遇到很多问题,也感谢常老师对我们的悉心指导,让我们学到了很多。 7 参考文献 【1】郁有文,常健,程继红.传感器原理及工程应用[M].西安:西安电子科技大学出版社,2011 【2】杨学昭,王东云.单片机原理、接口技术及应用[M].西安:西安电子科技大学出版社,2009 【3】陈忠平,李成群.基于Proteus的51系列单片机设计与仿真[M].北京:电子工业出版社,2008 【4】郑峰等.51单片机应用系统典型模块开发大全[M].北京:中国铁道出版社,2011 【5】郑荣焕等.Proteus电子电路设计及仿真[M].北京:电子工业出版社,2014 【6】童诗白,华成英.模拟电子技术基础[M].北京:高等教育出版社,2006 【7】 谢汉龙,莫衍.Proteus电子电路设计及仿真[M].北京:电子工业出版社,2012 【8】刘同法,陈忠平.单片机基础与最小系统实践[M].北京:北京航空航天大学出版社,2007 【9】林志奇,郎建军等.基于Proteus的单片机可视化软硬件仿真[M].北京:北京航空航天大学出版社,2006 【10】沈庆阳等.8051单片机实践与应用[M].北京:清华大学出版社,2002 /********************** 多功能电子秤的设计 时间:2015、7、2——7、10 组员:闫笑洪、岳冰燕、刘伟康 ***********************/ #include #define uchar unsigned char #define uint unsigned int uchar num,disnum,temp,key,T,k,i,j; sbit rs=P2^1; sbit wr=P2^2; sbit lcden=P2^0; uchar dat; sbit START=P2^5; sbit EOC=P2^6; sbit OE=P2^7; sbit CLK=P2^4; sbit fm=P2^3; unsigned char code str1[]={"weight:(kg)"}; unsigned char code str2[]={" "}; unsigned char code str4[]={"univalence: ($)"}; unsigned char code str3[]={"total:($)"}; unsigned char code str5[]={"watermelon:(1.5$)"}; unsigned char code str6[]={"apple :(2.2$)"}; unsigned char code str7[]={"banana :(3$)"}; uchar data disdata[5]; /********************** 延时子程序 ***********************/ void delay(uchar x)//yanshi { for(i=x;i>0;i--) { for(j=120;j>0;j--); } } void delay1ms(unsigned int ms)//延时1毫秒(不够精确的) {unsigned int i,j; for(i=0;i45) { fm=1; delay(10); fm=0; delay(10); fm=1;delay(10); fm=0; delay(10); fm=1; } disp(); k=keyscan(); if(k==12) { init_playyyy1(); dat=dat*(2.2); disp(); while(k!=15) k=keyscan(); init_play(); } if(k==10) { init_playyyy2(); dat=dat*(3); disp(); while(k!=15) k=keyscan(); init_play(); } if(k==11) { init_playyyy(); dat=dat*(1.5); disp(); while(k!=15) k=keyscan(); init_play(); } if(k==13) { uchar l; int key13=0; while(key13==0) { k=keyscan(); if(k!=0) { if(k<10) { l=k; init_playyy(); dispp(); } } while(k==14) { key13=1; init_playy(); dat=dat*l; disp(); while(k!=15) k=keyscan(); init_play(); } } } } }

    Top_arrow
    回到顶部
    EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。