基于STC12C2052AD单片机的电子秤控制设计完成版

发布时间:2011-07-12 22:13:26   来源:文档文库   
字号:

1 前言 1

2 系统方案设计 2

2.1 电子秤的设计要求 2

2.2 实验原理 2

3 硬件设计 3

3.1控制器部分 3

3.2 数据采集部分 4

3.2.1 传感器 4

3.2.2 前级放大器部分 5

3.2.3 A/D 转换器 7

3.3 人机交互界面 7

3.4总体工作电路原理图 8

4 具体实现方案 9

4.1 A/D转换程序的设计 9

4.2 显示程序的设计 10

5 设计体会 11

参考文献 12

附录 13

1 前言

电子称重技术从静态称重向动态称重发展:计量方法从模拟测量向数字测量发展;测量特点从单参数测量向多参数测量发展,特别是对快速称重和动态称重的研究与应用。电子称重技术基本达到国际上20世纪90年代中期的水平,少数产品的技术已处于国际领先水平。国内的电子秤市场中,1009左右量程的电子秤精度一般为0.01910mg。在研究方法上,电子称重系统的工作原理一般是将作用在承载器上的质量或力的大小,通过压力传感器转换为电信号,并通过控制电路来处理该电信号。但就总体而言,我国电子衡器产品的数量和质量与工业发达国家相比还有较大差距,其主要差距是技术与工艺不够先进、工艺装备与测试仪表老化、开发能力不足、产品的品种规格较少、功能不全、稳定性和可靠性较差等。

称量是市场交易中很基本的活动,是商业领域最基本的衡具。传统的量具是杆称或盘称,20世纪70年代开始出现了电子称。早期的电子称多通过模拟电路实现,随着电子技术的不断发展,数字芯片的价格逐渐下降,模拟控制已逐步被数字控制所替代,电子称的设计模式也大都以微处理器为核心,使精度和可靠性都有了明显得提高。因为小型商用电子称对适时性要求不高,运算也不太复杂,所以用8位微处理器足可满足要求。本系统采用单片机STC12C2052AD为控制核心,实现电子秤的基本控制功能。系统的硬件部分包括最小系统板,数据采集、人机交互界面三大部分。最小系统部分主要是扩展了外部数据存储器,数据采集部分由压力传感器、信号的前级处理和 A/D 转换部分组成。人机界面部分为数码管显示,可以直观的显示重量值,使用方便。软件部分应用单片机汇编语言实现了本设计的全部控制功能,包括基本的称重功能和重量显示功能。在以上的设计方法中,都采用了LED显示方式,优点是成本低,但缺点是无法显示汉字。

2 系统方案设计

2.1 电子秤的设计要求

1、重量显示:单位为千克;电子秤称重范围:05Kg

2、电路由压力传感器,放大电路,A/D转换电路,显示电路组成

2.2 实验原理

首先利用由压力传感器组成的测量电路测出物质的重量信号,以模拟信号的方式传送到A/D转换器。其次,由A/D转换电路把由差动放大器电路把传感器输出的微弱信号进行一定倍数的放大,然后送A/D转换电路中。再由A/D转换电路把接收到的模拟信号转换成数字信号,传送到显示电路,最后由显示电路显示数据。

具体方案如下图1所示:

1 具体方案设计框图

3 硬件设计

3.1控制器部分

本系统基于STC12C2052AD单片机来实现,系统要求有模数转换,我们最终选择了STC12C2052AD自身有AD转换单元的单片机来实现系统设计。内部带有8KB的程序存储器,在外面扩展了32K数据存储器,以满足系统要求。STC12C2052AD 单片机是宏晶科技推出的STC12 系列增强型8051 单片机中一种 . STC12C2052AD单片机有1 个时钟 机器周期的增强型8051 内核 ,而普通8051单片机为12个时钟机器周期。因此STC12系列单片机速 度是普通8051单片机的8-12 倍。STC12C2052AD单片机有2KB片内flash 256Byte片内RAM,集成有高(可达100Ksps)8通道8A/D转换器,引脚与AT9C2051兼容,价格仅略高于AT9C2051STC12C2052AD单片机的管脚图如图2所示。STC12C2052AD系列带A/D转换的单片机的A/D转换口在P1(P1.7-P1.0),有810位高速A/D转换器,STC12C2052AD系列是8位精度的A/D, 速度均可达到100KHz(10万次/ )8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等。上电复位后P1口为弱上拉型I/O口,可以通过软件设置将8 路中的任何一路设置为A/D转换,不需作为A/D使用的口可继续作为I/O口使用。ADC_CONTR 特殊功能寄存器:A/D转换控制特殊功能寄存器。

ADC_DATA/ADC_LOW2特殊功能寄存器:A/D转换结果特殊功能寄存器

模拟/数字转换结果计算公式如下:

ADC_DATA[7:0]=256×Vin/Vcc

Vin为模拟输入通道输入电压,Vcc为单片机实际工作电压,用单片机工作电压作为模拟参考电压。取ADC_DATA8位为ADC转换的高8,ADC_LOW2的低2位为ADC转换的低2,则为10位精度。如果舍弃ADC_LOW2的低2,只用ADC_DATA寄存器的8,A/D转换结果为8位精度。引脚图见图2所示。

2 STC12C2052AD引脚图

引脚说明:

1. RST:复位。

2. RxD/P3.0:串口数据输入端I/O口接口。

3. TxD/P3.1: 串口数据输出端I/O口接口。

4. XLAT1,XLAT2:内部时钟电路反向放大电路输入端。

5. INTO/P3.2:外部中断0I/O口。

6. INT1/P3.3: 外部中断1I/O口。

7. ECI/T0/P3.4: PCA计数器外部时钟输入脚/定时器和计数器0外部时钟输 I/O口。

8. PWMI/PCAI/TI/P3.5: 脉冲调制输出1/可编程门阵列输出脚/定时器和计 数器1外部时钟输入I/O口。

9. GND:地。

10. VCC:高电平。

11. P1.7/SCLK/ADC7: 标准I/O/同步串行接口的时钟信号/AD转换通道7

12. P1.6/MISO/ADC6: 标准I/O/SPI同步串行接口的主出从入/AD转换通道6

13. P1.5/MOSI/ADC5

14. 标准I/O/ SPI同步串行接口的主入从出/AD转换通道5

15. P1.4/SS/ADC4: 标准I/O/SPI同步串行接口的从机选择信号/AD转换通道4

16. P1.3/ADC3: 标准I/O/AD转换通道3

17. P1.2/ADC2: 标准I/O/AD转换通道2

18. P1.1/ADC1/CLKOUT1: 标准I/O/AD转换通道1/定时器,计数器时钟输出口。

19. P1.0/ADC0/CLKOUT0:标准I/O/AD转换通道0/定时器,计数器时钟输出口。

20. P3.7/PCAO/PWMO:I/O/可编程门阵列输出脚/脉冲调制输出1

3.2 数据采集部分

3.2.1 传感器

我们选用电阻应变式传感器

电阻应变式传感器是一种利用电阻应变效应,将各种力学量转换为电信号的结构型传感器。电阻应变片式电阻应变式传感器的核心元件,其工作原理是基于材料的电阻应变效应,电阻应变片即可单独作为传感器使用,又能作为敏感元件结合弹性元件构成力学量传感器。

电阻应变式传感器就是将被测物理量的变化转换成电阻值的变化 , 再经相应的测量电路而最后显示或记录被测量值的变化。在这里,我们用电阻应变式传感器作为测量电路的核心。

原理图如图3所示。

3 传感器原理图

称重传感器主要由弹性体、电阻应变片电缆线等组成,内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压可由下式给出:

3.2.2 前级放大器部分

(1)差动放大电路:

原理:本次设计中,要求用一个放大电路,即差动放大电路,主要的元件就是差动放大器。在许多需要用A/D转换和数字采集的单片机系统中,多数情况下,传感器输出的模拟信号都很微弱,必须通过一个模拟放大器对其进行一定倍数的放大,才能满足A/D转换器对输入信号电平的要求,在此情况下,就必须选择一种符合要求的放大器。仪表仪器放大器的选型很多,我们这里介绍一种用途非常广泛的仪表放大器,就是典型的差动放大器。它只需高精度LM324N和几只电阻器,即可构成性能优越的仪表用放大器。广泛应用于工业自动控制、仪器仪表、电气测量等数字采集的系统中。本设计中差动放大电路结构图如下图4所示:

4 差动放大电路

推导过程:

根据虚断:i+=I-=0

根据虚短:u+=u-=

I1=

I2=

i-=i+=0 = I1=I2 = =

=

放大电路与压力传感器的连线示意图如下图5所示:

5 放大器与压力传感器连接

2)放大芯片

LM324系列器件为价格便宜的带有真差动输入的四运算放大器。与单电源应用场合的标准运算放大器相比,它们有一些显著优点。该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电流的五分之一。共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。每一组运算放大器有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi--)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;Vi++)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。引脚图如图6所示。

6 LM324N引脚图

3.2.3 A/D 转换器

STC12C2052AD单片机是宏晶科技推出的STC12系列增强型8051单片机中的一种。STC12C2052AD 系列单片机有1个时钟/机器周期的增强型8051内核 :而普通8051单片机为12个时钟/机器周期。因此STC12系列单片机速度是普通8051单片机的8—12倍。STC12C2052AD单片机有2KB片内程序存储和256Byte片内RAM,集成有高速(可达lOOkSps)8通道8A/D转换器,引脚与AT89C2051 兼容,价格仅略高于AT89C2051STC12C2052AD单片机的管脚图如图3所示。

由于STC12C2052AD单片机内部集成有高速A/D转换器,用于智能传感器设计时,可使用内部A/D转换器直接输入模拟信号 。从而简化了电路设计。虽然STC12C2052AD单片机内部A/D转换器精度稍低(8)但对于精度要求不高的场合是很适宜的。

3.3 人机交互界面

显示输出采用LED数码管显示输出。由HEF4511芯片控制数码管显示,管脚图如图7所示。

HEF4511的工作原理:HEF4511是一个用于驱动共阴极 LED(数码管)显示器的BCD——七段码译码器,特点:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。可直接驱动LED显示器。

HEF4511 是一片 CMOS BCD——锁存/7 段译码/驱动器,引脚排列如图7 所示。其中a b c d BCD 码输入,a为最低位。LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障。BI为消隐功能端,低电平时使所有笔段均消隐,正常显示时, B1端应加高电平。另外 HEF4511有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。LE是锁存控制端,高电平时锁存,低电平时传输数据。ag 7 段输出,可驱动共阴LED数码管。另外,HEF4511显示数“6”时,a段消隐;显示数“9”时,d段消隐,所以显示69这两个数时,字形不太美观,所谓共阴 LED 数码管是指 7 LED 的阴极是连在一起的,在应用中应接地。限流电阻要根据电源电压来选取,电源电压5V时可使用300Ω的限流电阻。

7 HEF4511B引脚图

其功能介绍如下:

BI4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。

LT3脚是测试输入端,当BI=1LT=0 时,译码输出全为1,不管输入 DCBA 状态如何,七段均发亮,显示“8”。它主要用来检测数码管是否损坏。

LE:锁定控制端,当LE=0时,允许译码输出。 LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。

:为8421BCD码输入端。:为译码输出端,输出为高电平1有效。

3.4总体工作电路原理图

数显电子秤具有准确度高,易于制作,成本低廉,体积小巧,实用等特点。总体电路原理图如下图8所示:

8 总体电路原理图

4 具体实现方案

4.1 A/D转换程序的设计

在软件设计中将单片机的P1.0口设为A/D转换的模拟量输入端,流程图如下图9所示:

9 A/D转换流程图

4.2 显示程序的设计

A/D转换完后P1口将作为普通I/O口,将转换后的结果送给P1口,显示程序的流程图如图10所示:

10 显示程序流程图

5 设计体会

单片机课程设计结束了,在设计之初并没想象的那么简单,因为平时总是学的理论,而这次是亲手的动手操作,虽然说很累,但感觉收获却特别大。

我现在很欣慰,因为我们付出了汗水,并且我们也成功了。同时我也学会了很多芯片的原理,虽然我们只用上几个芯片,但是我们要使用它们就必须知道它的性能指标以及使用方法。像STC12C2052AD等芯片在平常学习时并不清楚它的具体功能,也没想到他们会与我们的生活联系那么密切,通过我们这几天的课程设计,我们查资料,仔细研究它们的逻辑功能,用途,要求等,终于基本完成了我们的秒表设计。这激发了我们学习专业知识的兴趣,也增强了我们的动手能力。但同时,由于掌握的知识有限,在设计过程中我们遇到一些问题我们暂时还没有能力去解决。我们的压力显示部分与理想中比较实际的电子称数字秒表还有很大的差距。例如,不能使它精确到很高的精度。因此,我们会在以后的学习中,尽可能地扩大自己的知识面,不能仅仅只局限课本,要更加刻苦地努力地去学习专业知识,充分利用图书馆和网络资源,多查多学多练,打好扎实功底,为以后的更好的发展奠定一个坚实的基础。

此次课程设计,我们还发现,理论上的理解,实践中不一定能够完全正确应用,自己的动手能力还有待一步的锻炼提高。同时经过这次课程设计我们也更懂得了知识的重要性,大科学家培根说的一点都不错知识就是力量,通过对知识的灵活运用,再加上恒心、毅力、团队协作、能够做到许多平时连想都不敢想的东西。

通过此次课程设计也更加坚定了我们学好后续课程和温习学过的知识还有利用课余时间拓展自己知识面的决心!相信在系里各位老师的指导下,再加上自己不懈努力,我们一定不会辜负社会,老师,家长的期望,成为一名真真正正学有专长而又兼有广博知识的现代化的高素质人才!争取早日为祖国,为社会,为人民献上我们的一腔热血,实现我们的人生价值!

我觉得这不仅仅是一个设计,更重要的是一个人生的锻炼,相信我会从中走向成熟,走向自己新的目标,并为此努力!

参考文献

[1]张毅刚,彭喜元.单片机原理与应用设计.电子工业出版社,2010.8

[2]李道华,李玲,朱艳.传感器电路分析与设计[M].武汉大学出版社,2000

[3]胡汉才.单片机原理及系统设计[M].清华大学出版社,2002

[4]王素珍,郑淑芬,周梅.称重配料系统传感器电源及放大电路[J].传感器技术,2006

附录

ADC_CONTR EQU 0C5H

ADC_DATA EQU 0C6H

P1M0 EQU 91H

P1M1 EQU 92H

AD_channel_1_result EQU 30H

main: ACALL set_P1_ADC_channels

MOV A, #00H

ACALL get_AD_result_and_send_it

main_1: ACALL set_P1_IO_port

ACALL display

SJMP main

get_AD_result_and_send_it:

ACALL get_AD_result

MOV A,#1

ACALL DELAY

RET

get_AD_result:

ANL ADC_CONTR, #0E0H

ANL A, #07H

ORL ADC_CONTR,A

MOV A ,#1

ACALL DELAY

CLR A

MOV ADC_DATA, A

ORL ADC_CONTR, #08H

wait_AD_finishe:

MOV A, #10H

ANL A, ADC_CONTR

JZ wait_AD_finishe

ANL ADC_CONTR, #0E7H

MOV A, #AD_channel_1_result

MOV R0, A

MOV A, ADC_DATA

MOV R1,#256

MOV R2,A

JP0: ADD A,R2

DJNZ R1,JP0

MOV R3,#8

JP1: RR A

DJNZ R3,JP1

MOV @R0, A

RET

display: MOV A, #AD_channel_1_result

MOV R0, A

MOV A, @R0

MOV R1,A

ANL A,#0FH

SUBB A,#09H

RL A

RL A

MOV P1,A

SETB P1.7

CLR P1.6

MOV A,#0

ACALL DELAY

MOV A,R1

SWAP A

ANL A,#0FH

SUBB A,#05H

RL A

RL A

MOV P1,A

SETB P1.6

CLR P1.7

MOV A,#0

ACALL DELAY

RET

set_P1_ADC_channels:

MOV P1, #0FFH

ORL ADC_CONTR, #80H

MOV P1M0, #01H

MOV P1M0, #01H

MOV A,#20

ACALL DELAY

RET

set_P1_IO_port: MOV P1M0, #00H

MOV P1M0, #00H

ANL ADC_CONTR, #7FH

RET

DELAY: MOV R5,A

JP2: MOV R4,#10

DJNZ R4,JP2

DJNZ R5,$

RET

END

本文来源:https://www.2haoxitong.net/k/doc/fdc5fefec8d376eeaeaa31f6.html

《基于STC12C2052AD单片机的电子秤控制设计完成版.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式