简易电子称设计.docx
- 文档编号:3556895
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:28
- 大小:473.86KB
简易电子称设计.docx
《简易电子称设计.docx》由会员分享,可在线阅读,更多相关《简易电子称设计.docx(28页珍藏版)》请在冰豆网上搜索。
简易电子称设计
一、课程设计题目
《简易电子称设计》
二、课程设计要求
1、采用简易键盘设置单价,对采集到的代表重量的信号能同时显示重量、
金额和单价
2、显示的单位为克,最大称重为102g
3、单价的单位为元,最大金额数值为25.5元
4、能显示购物清单,清单内容包括:
重量,单价、本次购物总金额
三、课程设计具体内容要求
1、根据课程设计题目的要求,进行实施方案的分析,制定相应的总体控制模块方案及框图。
2、根据总体设计控制模块方案,分别设计各独立控制模块方案及绘出该控制模块方框图。
3、根据各独立控制模块方案,设计各独立模块内的电路。
4、根据各模块内的相应单元电路设计结果,查阅资料,选择元件或集成电路型号。
5、将各模块电路进行电气连接,完成硬件控制系统电气原理图的设计。
6、绘出硬件控制系统电气原理图。
7、绘出系统仿真电气原理图。
8、列出电路使用的元器件和集成电路明细表
9、绘出硬件控制系统电气原理图。
10、软件设计需要设计程序流程图和编写程序。
11、写出设计小结和参考文献
四、根据课程设计任务书的要求,写出课程设计报告。
摘要
本文设计的电子秤以单片机为主要部件,用C语言进行软件设计,硬件则以传感器、A/D转换系统、CPU控制系统、LCD显示系统及键盘控制系统七个部分组成。
通过对电路输出电压和标准重量的线性关系,建立具体的数学模型,将电压量纲(V)改为重量纲(g)即成为一台原始电子秤,在此基础上增加了LCD显示、键盘控制,随时可调节单价,显示总价格的功能,使本产品智能化,符合现代社会电子信息化的要求。
关键词:
单片机,传感器,A/D转换,LCD显示
简易电子称设计
1绪论
1.1引言
随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。
常规的测试仪器仪表和控制装置被更先进的智能仪器所取代,使得传统的电子测量仪器在远离、功能、精度及自动化水平定方面发生了巨大变化,并相应的出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得以显著提高[1]。
20世纪90年代以来,随着科学技术的进步,工业生产自动化、智能化水平的提高,各行业对称重计量提出了许多新要求,归纳起来主要是:
称重技术从静态称重向动态称重方向发展;测量方法从模拟测量向数字测量方向发展;测量特点从单参数测量向多参数测量方向发展;电子衡器产品的技术性能向高速率、高准确度、高稳定性、高可靠性方向发展
1.2本设计在国内外的研究现状
近几年,我国的电子称重系统从最初的机电结合型发展到现在的全电子型和数字智能型。
电子称重技术逐渐从静态称重向动态称重发展,从模拟测量向数字测量发展,从单参数测量向多参数测量发展。
电子称重系统制造技术及其应用得到了新发展。
国内电子称重技术基本达到国际上20世纪90年代中期的水平,少数产品的技术已处于国际领先水平。
做为重量测量仪器,智能电子秤在各行各业开始显现其测量准确,测量速度快,易于实时测量和监控的巨大优点,并开始逐渐取代传统型的机械杠杆测量称,成为测量领域的主流产品。
在国际上,一些发达国家在电子称重力一面,从技术水平、品种和规模等方到了较高的水平。
特别是在准确度和可靠性等方面有了很大的提高。
其中梅特勒一托利多公司生产的BBK4系列高精度电子秤精度达到了1mg,速度大约为1次/秒[3]。
目前,电子秤在称量速度方面需要进一步的研究。
在称重传感器方面,国外产品的品种和结构又有创新,技术功能和应用范围不断扩大
1.3本设计的选题及意义
作为重量测量仪器,智能电子秤在各行各业开始显现其测量准确,测量速度快,易于实时测量和监控的巨大优点,并开始逐渐取代传统型的机械杠杆测量称,成为测量领域的主流产品[3]。
随着数字信息时代的到来,在工业过程检测和称重计量与控制系统中,数字化电子称和数字称重系统的应用越来越多。
本设计则是以智能电子测量为设计方向,将传感器的输出信号经过A/D转换系统进行模数转换后将信号发送到CPU控制系统处理并传送给LCD显示系统显示。
2方案选择
2.1设计要求
(1)采用简易键盘设置单价,对采集到的代表重量的信号能同时显示重量、
金额和单价
(2)显示的单位为克,最大称重为102g
(3)单价的单位为元,最大金额数值为25.5元
(4)能显示购物清单,清单内容包括:
重量,单价、本次购物总金额
2.2系统方案框图
(1)方案一
图1.方案一
(2)方案二
图2.方案二
(3)方案三
图3.方案三
2.3分别分析和论证统方案设计
方案一:
本装置由称重传感器、A/D转换和数码显示电路,控制按键四部分组成,采用mpx4250压力传感器作为测试元件,把所测压力转换为电压,压力里变换时转换的电压也随之变换,电压经AD转换将模拟信号变为数字信号并将数字信号传输给控制芯片(AT89C51)并在显示模块显示出来。
按键用来控制单价的的增加和总价的显示
方案二:
采用单片机AT89C51作为我们的控制芯片,主要工作过程是当水在低水位时,水位探测传感器送给单片机一个高电平,然后单片机驱动水泵加水和显示系统使红灯闪烁;当水位在正常范围内时,水泵加水;当水位在高水位时,单片机不能驱动水泵加水,黄灯闪烁。
温度报警及显示模块,设置声光报警系统,将采集到的温度值与设定的上下限进行比较,当设定范围的上下限时,通过单片机控制的报警电路就会发出报警信号。
方案三:
采用透射式红外管光电传感器,随着心脏的搏动,人体组织半透明度随之改变。
当血液送到人体组织时,组织的半透明度减小;当血液流回心脏,组织的半透明度增大。
这种现象在人体组织较薄的手指尖、耳垂等部位最为明显。
因此,本脉率计将红外发光二极管产生的红外线照射到人体的上述部位,并用装在该部位另一侧的红外光电管来检测机体组织的透明程度并把它转换成电信号。
由于此信号的频率与人体每分钟的脉搏次数成正比,故只要把它转换成脉冲并进行整形、计数和显示,就能实现实时检测脉搏次数的目的。
2.4确定系统方案及框图
经过研究决定方案一作为本次设计方案,本方案由称重传感器、A/D转换和数码显示电路,控制按键四部分组成,采用mpx4250压力传感器作为测试元件,把所测压力转换为电压,压力里变换时转换的电压也随之变换,电压经AD转换将模拟信号变为数字信号并将数字信号传输给控制芯片(AT89C51)并在显示模块显示出来。
按键用来控制单价的的增加和总价的显示
图4.系统总方案框图
3功能模块设计
3.1功能模块描述
(1)信号采集及转换模块:
本模块采用mpx4250压力传感器作为测试元件,把所测压力转换为电压,
压力里变换时转换的电压也随之变换,电压经AD转换将模拟信号变为数字信号并将数字信号传输给控制芯片
(2)cpu信号处理模块:
接收外界传来的数字信号及外界按键的信号,经过处理计算并传送给液晶显示器
(3)液晶显示模块:
接收从单片机传来的信号并显示出来
3.2功能模块设计
(1)传感器电路设计
引脚图
图5.传感器引脚图
图6.引脚接法图
连接原理图
图5.传感器连接电路
(2)AD转换电路设计
芯片介绍
ADC0804作为A/D转换器件,它是采样分辨率为8位的、微处理机兼容的控制逻辑的CMOS组件,ADC0804是属于连续渐进式(SuccessiveApproximationMethod)的A/D转换器,这类型的A/D转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上
管脚介绍
D0-D7:
数字量输出端,输出结果为八位二进制结果;
CLK:
为芯片工作提供工作脉冲,时钟电路如图所示,时钟频率计算方式是:
fCK=1/(1.1×R×C)
CS:
片选信号;
WR:
写信号输入端;
RD:
读信号输入端;
INTR:
转换完毕中断提供端;
其他管脚连接如图,是供电和提供参考电压的管脚输入端
连接电路
图6.AD连接电路
(3)CPU控制系统设计
AT89C51芯片简介
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案
芯片管脚说明
图6.单片机引脚
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(计时器0外部输入)
P3.5T1(计时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
单片机控制电路
图8.单片机连接电路
(4)液晶显示电路设计
LCD1602显示器简介
工业字符型液晶,能够同时显示16x02即32个字符。
(16列2行)
注:
为了表示的方便,后文皆以1表示高电平,0表示低电平。
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。
管脚说明
图9.LCD引脚图
1602采用标准的16脚接口,其中:
第1脚:
VSS为电源地
第2脚:
VCC接5V电源正极
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:
RW为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
第6脚:
E(或EN)端为使能(enable)端,高电平
(1)时读取信息,负跳变时执行指令。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极。
显示电路原理图
图10.显示电路原理图
4系统硬件原理图(系统软件流程图)
4.1系统硬件原理图
4.2主程序流程图
4.3AD转换子程序流程图
5系统仿真及仿真图
5.1系统仿真图
6设计小结
此次单片机课程设计,从选题到定稿,从理论到实践,在这二个星期里,学到了很多的东西。
同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。
这次的课程设计还让我学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。
更重要的是,我在这一设计过程中,学会了坚持不懈,不轻言放弃。
要做好一个课程设计,就必须做到:
在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。
通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,创新可以是在原有的基础上进行改进,使之功能不断完善,成为自己的东西。
我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。
这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。
7参考文献
[1]曹巧媛编著。
单片机原理及应用[M]。
北京:
电子工业出版社,1997
[2]房小翠,王金凤主编。
单片机实用系统设计技术[M]。
北京:
国防工业出版社,1999
[3]唐光荣,邓丽曼主编。
微机计算机应用技术[M]。
北京:
清华大学出版社,2000
[4]陈立周,陈宇主编。
单片机原理及应用[M]。
北京:
高等教育出版社,2001
[5]李全利主编。
单片机原理及应用技术[M]。
北京:
高等教育出版社,2001
[6]韩全立,赵德申主编。
微机控制技术及应用[M]。
北京:
机械工业出版社,2002
[7]殷剑宏,吴开亚.图论及其算法[M].合肥:
中国科学技术大学出版社,2004
[8]赵茂泰.智能仪器原理及应用[M].北京:
电子工业出版社,2004.
[9]张毅刚.MCS-51单片机应用设计[M].哈尔滨:
哈尔滨工业大学出版社,2003
[10]贾伯年,俞朴.传感器技术[M].南京:
东南大学出版社,2000
[11]李道华,李玲,朱艳.传感器电路分析与设计[M].武汉大学出版社,2000
[12]单成祥.传感器理论设计基础及其应用[M].北京:
国防工业出版社,1999
[13]张景元李业德.一种基于单片机的多功能电子称[J].微计算机信息,2006,
[14]王华.数.模称重传感器的应用[C].江苏现代计量,2009,4:
35-36
8附录
(1)电路元器件表
器件名称
型号
数值
生产厂家
备注
单片机
AT89C51
1
ATMEL公司
显示器
LCD1602
1
电阻
1K
4
电阻
10K
2
电阻
51K
1
A/D转换器
ADC0804
1
普通电容
30pF
2
普通电容
50pF
1
电解电容
50pF
1
电解电容
10uF
1
电阻
RESPACK-8
1
传感器
MPX4250
1
按键
Button
1
晶振
1
可变电阻
Pot_hg
1
(2)程序清单
#include
#defineucharunsignedchar
#defineuintunsignedint
externvoidADC();
externucharbai,shi,ge;
uchartable[]="P:
000.0";
ucharcodetable1[]="$:
000.00.00";
ucharcodetable2[]="M:
g";
sbitlcden=P3^0;
sbitlcdrs=P3^1;
sbitcs=P3^2;
sbits1=P2^0;
sbits2=P2^1;
sbits3=P2^2;
sbits4=P2^3;
ucharnum,s1num,s2num,ss2num,s3num;
voiddelay(uintz)
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
voidwrite_com(ucharcom)
{
lcdrs=0;//写指令
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
voidwrite_data(uchardate)
{
lcdrs=1;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
voidinit()
{
lcden=0;
write_com(0x38);//显示模式设置
write_com(0x0c);//开显示,不显示光标,光标不闪烁
write_com(0x06);//当读或写一个字符后地址指针加1,且光标加1,整屏显示不移动
write_com(0x01);//清屏
}
voiddisplay(uchara,ucharb)
{
uinttemp;
uchara1,a2,a3,a4,a5;
temp=(uint)a;
temp*=b;
a1=temp/10000;
a2=temp%10000/1000;
a3=temp%10000%1000/100;
a4=temp%10000%1000%100/10;
a5=temp%10000%1000%100%10;
write_com(0xc2);
write_data('0'+a1);
write_com(0xc3);
write_data('0'+a2);
write_com(0xc4);
write_data('0'+a3);
write_com(0xc6);
write_data('0'+a4);
write_com(0xc7);
write_data('0'+a5);
}
voidkeyscan()
{
if(s1==0)//s1按下
{
delay(10);
if(s1==0)//检测确实按下
{
{s1num++;
while(!
s1);
if(s1num==1)
{
write_com(0x86);
write_com(0x0c);
write_com(0x86);
}
elseif(s1num<=10)
{
write_com(0x86);
write_com(0x0c);
write_data(0x30+s1num);
write_com(0x86);
}
elseif(s2num>10)
{
s2num=0;
s2num++;
write_com(0x84);
write_com(0x0c);
write_data(0x30+s2num);
write_com(0x84);
}
}
}
}
if(s2==0)//s1按下
{
delay(10);
if(s2==0)//检测确实按下
{
{s2num++;
while(!
s2);
if(s2num==1)
{
write_com(0x84);
write_com(0x0c);
write_com(0x84);
}
elseif(s2num<=10)
{
write_com(0x84);
write_com(0x0c);
write_data(0x30+s2num);
write_com(0x84);
}
elseif(s2num>10)
{
s2num=0;
s2num++;
write_com(0x84);
write_com(0x0c);
write_da
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 电子称 设计