接口技术 C51课程设计 电子称

更新时间:2024-05-11 17:17:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

安徽工程大学课程设计(论文)

引 言

在我们生活中经常都需要测量物体的重量,于是就用到秤,在新中国成立以后很长一段时间里,我国市场上称量用的称都是有秤砣秤杆的。这种称很容易通过改变秤砣的大小来影响称量的真实性,俗称八两称、九两称。这种称被不诚信的商贩利用影响了行业秩序,也降低了商业和社会的诚信度,严重损害了消费者的利益。但是随着我国改革开放不断深入,社会的进步、以及科学技术的发展,人们和社会对称量的工具要求操作方便、易于识别。随着计量技术和电子技术的不断发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,尤其是杆秤早就被淘汰,而磅秤在一些地方还会继续存在相当的一段时间。

电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐迅速替代了杆秤在社会经济生活中的地位。电子秤向提高精度和降低成本方向发展的趋势引起了对低成本、高性能模拟信号处理器件需求的增加。通过分析近年来电子衡器产品的发展情况及国内外市场的需求,电子衡器总的发展趋势是小型化、模块化、集成化、智能化;其技术性能趋向是速率高、准确度高、稳定性高、可靠性高;其功能趋向是称重计量的控制信息和非控制信息并重的“智能化”功能让人工尽量少操作;其应用性能趋向于综合性和组合性。

- 1 -

GSD:微型电子秤

目录

目录................................................................................................................... - 2 - 本科课程设计任务书....................................................................................... - 4 -

Ⅰ 课程设计题目:............................................................................... - 4 - Ⅱ 原始资料........................................................................................... - 4 -

1.设计参考........................................................................................ - 4 - Ⅲ 课程设计任务内容........................................................................... - 4 -

3.1.课程设计的目的意义:............................................................. - 4 - 3.2.本课题研究的主要内容:......................................................... - 4 - 3.3、提交的成果:.......................................................................... - 5 -

第1章 系统设计方案与论证....................................................................... - 6 -

1.1、需求分析.......................................................................................... - 6 - 1.2、电子称的基本原理.......................................................................... - 6 - 1.3 方案选定............................................................................................ - 6 -

1.3.1 CPU .......................................................................................... - 6 - 1.3.2传感器...................................................................................... - 7 - 1.3.3 数模转换................................................................................. - 7 - 1.3.4 显示器..................................................................................... - 8 - 1.3.5 8279键盘.............................................................................. - 8 -

第2章 硬件模块........................................................................................... - 9 -

2.1 总体原理框图.................................................................................... - 9 - 2.2 AT89C51简介 ................................................................................. - 9 -

2.2.1 引脚说明............................................................................. - 10 - 2.2.2 AT89C51 最小系统电路图 .................................................. - 11 - 2.3 信号放大电路................................................................................ - 12 - 2.4 压力模块(C4+D2) .................................................................. - 13 - 2.5 信号转换ADC0809芯片 ............................................................... - 13 -

2.5.1 ADC0809的内部逻辑结构与芯片引脚: ....................... - 14 - 2.6 数码管显示模块.............................................................................. - 15 - 2.7 键盘输入.......................................................................................... - 16 - 2.8 电源模块.......................................................................................... - 17 - 第3章 芯片接口分析与设计....................................................................... - 18 -

3.1 ADC0809与51单片机的接口方法 ............................................ - 18 - 3.2 键盘接口........................................................................................ - 19 - 第4章 软件分析与设计............................................................................... - 20 -

4.1 ADC0809芯片A/D转换的程序设计 ......................................... - 20 -

4.1.1启动转换................................................................................ - 20 - 4.1.2 读取转换结果....................................................................... - 20 - 4.1.3 ADC0809转换接口程序流程图 ....................................... - 20 - 4.2 8279接口程序............................................................................... - 21 -

4.2.1 8279程序初始化................................................................ - 21 -

- 2 -

安徽工程大学课程设计(论文)

4.2.2 8279的FIFO RAM程序 ................................................... - 21 - 4.2.3 显示字段............................................................................... - 21 - 4.3 主程序流程.................................................................................... - 22 - 结论与展望..................................................................................................... - 23 - 参考文献......................................................................................................... - 24 - 附 录E ......................................................................................................... - 25 - - 3 -

GSD:微型电子秤

安徽工程大学

本科课程设计任务书

2008 届 XXXX 系

计算机科学与技术 专业

Ⅰ 课程设计题目:

微型电子秤 Ⅱ 原始资料 1.设计参考

压力传感器表面金属片在外力的作用下发生变形,导致电阻应变片电阻值的变化,用力越大,电阻变化越大,图二为应变片电桥测量电路,由应变片电阻Rl和另外三个电阻R2、R3、R4构成桥路,当电桥平衡时(电阻应变片未受力作用时),R1=R2=R3=R4=R,此时电桥的输出U。≈0,当应变片受力后,R1发生变化,使Rl、R3≠R2、R4,电桥输出U。≠0,并有:

Uo=±1/4·△R/R·u≈Koε/4·U

该微弱的电压信号经LM324运算放大器放大到0~5v,0~5v对应0~l020g,RW2为调零电位器,当电桥平衡时,VP输出应调到0V,由VP端输出,作为ADC0809的模拟量输入信号。(即VP输出作为A/D 0809实验的输入端,接IN0)模拟量到数字量转换实验请参见有关A/D转换实验.当压力变化时,数码管上显示的电压值作相应变化,根据上述工作原理,当被测压力是0~1020g时,先将压力分度值制成分度值表,由电压值的变化通过软件查表法查出对应力值,显示在数码管上.假设0~5v电压近似正比于0~l020g。(调整R12的大小可改变VP输出增益的大小)。

Ⅲ 课程设计任务内容 3.1.课程设计的目的意义:

通过课程设计培养同学们的系统设计能力,使同学们达到以下能力训练: ⑴、调查研究、分析问题的能力; ⑵、使用设计手册、技术规范的能力; ⑶、查阅中外文献的能力; ⑷、制定设计方案的能力; ⑸、计算机应用的能力;

⑹、设计计算和绘图的能力; ⑺、技术经济指标的分析能力; ⑻、语言文字表达的能力。 3.2.本课题研究的主要内容:

设计的主要内容

利用实验仪实验板上的组合型压力传感器设计一个微型电子秤,通过数码管

- 4 -

安徽工程大学课程设计(论文)

来实时显示所测得的重量值。

基本要求:

⑴、设计实验电路(要求利用实验仪的硬件资源) ⑵、分析实验原理 ⑶、列出实验接线表

⑷、采用汇编语言编写实验程序 ⑸、通过实验验证功能的实现 ⑹、编写课程设计说明书 3.3、提交的成果:

一份符合毕业设计论文规范的课程设计说明书

课程设计统一使用学校印制的课程设计封面及课程设计袋。课程设计袋按要求认真填写,字体要工整,卷面要整洁,手写一律用碳素墨水书写。

课程设计除课程设计袋的其它资料鼓励用计算机打印。 课程设计按统一顺序装订: 封面 前言 目录

课程设计任务书(须有指导教师签名及日期) 正文(分章、层次等,每一章从新的一页开始) 小结

参考文献

课程设计图纸

装订好后放入填写好的资料袋内由各教学单位存档。相关要求可酌情参照“安徽工程科技学院本科毕业设计(论文)管理办法”执行。

指导教师: (签字)

完成日期: 2011年06月12日

接受任务书学生: (签字)

- 5 -

GSD:微型电子秤

第1章 系统设计方案与论证

1.1、需求分析

电子称开机时置零,要求\快速、准确、连续、自动\称量要求。用户将允许重量的重物放在压力传感器上,电子称在其显示器上显示相应的数字。同时有效地消除人为误差,使之更符合法制计量管理和工业生产过程控制的应用要求。

电子称的合格产品是有检定分度值e和细分值D的标准,是受国家计量法保护的产品。其准确度影响国家的计量和经济的建设。 1.2、电子称的基本原理

当被称物体放置在秤体的秤台上时,压力施给传感器,该传感器发生形变,传感器随之产生力-电效应,将物体的重量转换成与被称物体重量成一定函数关系(一般成正比关系)的变化的模拟信号(电桥电路),此信号由放大电路进行放大、经滤波后再由模/数(A/D)器进行转换,该信号经放大电路放大输出到模数转换器。转换成便于处理的数字信号输出到CPU运算控制。CPU不断扫描键盘和各种功能开关,根据键盘输入内容和各种功能开关的状态进行必要的判断、分析来控制各种运算。运算结果送到内存贮器,需要显示时,CPU发出指令,从内存贮器中读出送到显示器显示。

电子秤的工作原理以电子元件,称重传感器,放大电路,AD转换电路,单片机电路,显示电路,键盘电路,通讯接口电路,稳压电源电路等电路组成。

重物 传感器

图1-1 原理图

放大电路 A/D转换器 CPU 按键 8279芯片 显示器 1.3 方案选定 1.3.1 CPU

在众多的51系列单片机中,要算 ATMEL 公司的AT89C51、AT89S51更实用,因他不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,一般专为

- 6 -

安徽工程大学课程设计(论文)

ATMEL AT89xx 做的编程器均带有这些功能。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。再着,AT89C51、AT89S51目前的售价比8031还低,市场供应也很充足。

8051系列单片机的内部结构是各种逻辑单元及其之间的互连构成的。其主要由中央处理器(CPU)、程序存储器(ROM)、数据存储器(RAM)、串行接口、并行I/0接口、定时/计数器、中断系统等几大单元,以及数据总线、地址总线和控制总线组成。

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

AT89C51单片机特点能与MCS-51 兼容,有 4K字节可编程闪烁存储器,寿命能够达到1000写/擦循环,数据可以保留时间长达10年,全静态工作:0Hz-24MHz,三级程序存储器锁定,128×8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。所以AT89C51符合本次设计的主控芯片。 1.3.2传感器

称重传感器 按转换方法分为光电式、液压式、电磁力式、电容式、磁极变形式、振动式、陀螺仪式、电阴应变式等8类,以电阻应变式使用最广。

传感器量程的选择是依据秤的最大秤量值、选用传感器的个数、秤体的自重、可能产生的最大偏载及动载等因素综合评价来确定传感器的量程。一般来说,传感器的量程越接近分配到每个传感的载荷,其称量的准确度就越高,但在实际使用时,由于加在传感器上的载荷除被称物体外,还存在秤体自重、皮重、偏载及振动冲击等载荷的存在,因此在选用传感器量程的时候,要考虑诸如多方面的因素,保证传感器的安全和寿命。

电阻应变式称重传感器:是把电阻应变计粘贴在弹性敏感元件上,然后以适当方式组成电桥的一种将力(重量)转换成电信号的转换元件。 1.3.3 数模转换

ADC0809芯片介绍

ADC0809是逐次逼近比较型转换器,包括一个高阻抗斩波比较器。一个带有256个电阻分压器的树状开关网络;一个控制逻辑环节和八位逐次逼近数码寄存器;最后输出级有一个八位三态输出锁存器。

ADC0809具有8路模拟量输入,八个输入模拟量受多路开关地址寄存器控制,当选中某路时,该路模拟信号Vx进入比较器与D/A输出的Vr比较,直至Vr与Vx相等或达允许误差止,然后将对应Vx的数码寄存器值送三态锁存器。当OE有效时,便可输出对应Vx的八位数码。

- 7 -

GSD:微型电子秤

转换结果的读取可采用无条件传送方式、程序查询方式和程序中断方式。 1.3.4 显示器

在单片机应用系统中使用LED显示块构成N位LED显示器。N位LED显示器有N根位选线和8*N根段选线。根据显示方式不同,位选线与段选线的连接方法不同。段选线控制字符选择,位选线控制显示位的亮,暗。

LED显示器有静态显示与动态显示两种方式。我们使用的为动态显示 LED动态显示方式。

在多位LED显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个8位I/O口控制,而共阴极点或共阳极点分别由响应的I/O口线控制。

1.3.5 8279键盘

8279是Intel公司生产的通用可编程键盘和显示器I/O接口器件。由于它本身可提供扫描信号,因而可代替微处理器完成键盘和显示器的控制,单个芯片就能完成键盘输入和LED显示控制两种功能。

8279芯片的主要特征

·可兼容MCS-85,MCS-48,MCS-51等微处理器。 ·能同时执行键盘与显示器操作。 ·扫描式键盘工作方式

·有8个键盘FIFO(先入先出)存储器

·带触点去抖动的二键锁定或N键巡回功能。 ·两个8位或16位的数字显示器。

·可左/右输入的16 字节显示用RAM。 ·由键盘输入产生中断信号。 ·扫描式传感器工作方式。 ·用选通方式送入输入信号。 ·单个16字符显示器。

·工作方式可由CPU 编程。 ·可编程扫描定时。

- 8 -

安徽工程大学课程设计(论文)

第2章 硬件模块

2.1 总体原理框图

数字电子秤采用AT89C51单片机作为微处理器,接口电路由晶振、LM4229显示电路、4*4按键电路、ADC0809电路、存储器等组成。硬件模块可以使用市场上已经成熟的技术和芯片、电路。稳定、方便、快捷、容易得到并且有稳定成熟程序没必要从新设计开发。

图2-1 总体大致框图

2.2 AT89C51简介

芯片功能介绍及设计:AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

- 9 -

GSD:微型电子秤

2.2.1 引脚说明

AT89C51芯片图如下:

图2-1 AT89C51芯片

VCC:供电电压。 GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写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)这是由于上拉的缘故。

- 10 -

安徽工程大学课程设计(论文)

P3口也可作为AT89C51的一些特殊功能口,如下表所示: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器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:来自反向振荡器的输出。 2.2.2 AT89C51 最小系统电路图

图2-2 AT89C51 最小系统电路图

- 11 -

GSD:微型电子秤

2.3 信号放大电路

经由传感器或敏感元件转换后输出的信号一般电平较低;经由电桥等电路变换后的信号亦难以直接用来显示、记录、控制或进行信号转换。为此,测量电路中常设有模拟放大环节。这一环节目前主要依靠由集成运算放大器的基本元件构成具有各种特性的放大器来完成。

放大器的输入信号一般是由传感器输出的。传感器的输出信号不仅电平低,内阻高,还常伴有较高的共模电压。因此,一般对放大器有如下一些要求:

1、输入阻抗应远大于信号源内阻。否则,放大器的负载效应会使所测电压造成偏差。

2、抗共模电压干扰能力强。

3、在预定的频带宽度内有稳定准确的增益、良好的线性,输入漂移和噪声应足够小以保证要求的信噪比。从而保证放大器输出性能稳定。

4、能附加一些适应特定要求的电路。如放大器增益的外接电阻调整、方便准确的量程切换、极性自动变换等。

由高精度低漂移运算放大器构成差动放大器。

差动放大器具有高输入阻抗,增益高的特点,可以利用普通运放(如OP07)做成一个差动放大器,如下图所示:

图2-3 利用普通运放构成的放大器

电阻R1、R2和电容C1、C2、C3、C4用于滤除前级的噪声,C1、C2为普通小电容,可以滤除高频干扰,C3、C4为大的电解电容,主要用于滤除低频噪声。

优点:输入级加入射随放大器,增大了输入阻抗,中间级为差动放大电路,滑动变阻器R6可以调节输出零点,最后一级可以用于微调放大倍数,使输出满足满量程要求。输出级为反向放大器,所以输出电阻不是很大,比较符合应用要求。

缺点:此电路要求R3、R4相等,误差将会影响输出精度,难度较大。实际测量,每一级运放都会引入较大噪声,对精度影响较大。

- 12 -

安徽工程大学课程设计(论文)

2.4 压力模块(C4+D2)

该实验模块集成了放大器:

图2-4 实验压力传感器

图2-5 实验集成电路芯片

图2-6 压力传感器实验模块电路图

2.5 信号转换ADC0809芯片

ADC0809是逐次逼近比较型转换器。有八路模拟量输入,受多路开关地址寄存器控制,当选中某路时,该路模拟信号被转换为八位数字量,输出锁存器具有三态结构。

ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。

- 13 -

GSD:微型电子秤

图2-7 ADC0809实验芯片

连接插孔:

CS4__0809的片选信号 EOC__转换结束信号; IN0__通道0模拟量输入端; IN1__通道1模拟量输入端 IN2__通道0模拟量输入端; IN3__通道1模拟量输入端 IN4__通道0模拟量输入端; IN5__通道1模拟量输入端 IN6__通道0模拟量输入端; IN7__通道1模拟量输入端 2.5.1 ADC0809的内部逻辑结构与芯片引脚:

图2-8 ADC0809内部逻辑结构与芯片引脚

ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

IN0-IN7:8条模拟量输入通道

ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。

地址输入和控制线:4条

- 14 -

安徽工程大学课程设计(论文)

ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。

数字量输出及控制线:11条

ST为转换启动信号:当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。

CLK为时钟输入信号线:因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,

VREF(+),VREF(-)为参考电压输入。 2.6 数码管显示模块

图2-9实验显示器

图2-10 显示器实验电路

数据插座:JS__LED位选扫描线; JLED__LED段选码

在单片机应用系统中使用LED显示块构成N位LED显示器。N位LED显示器有N根位选线和8*N根段选线。根据显示方式不同,位选线与段选线的连接方法不同。段选线控制字符选择,位选线控制显示位的亮,暗。

LED显示器有静态显示与动态显示两种方式。我们使用的为动态显示 LED动态显示方式。

在多位LED显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个8位I/O口控制,而共阴极点或共阳极点分别由响应的I/O口线控制。

- 15 -

GSD:微型电子秤

图2-11 一般情况的LED显示电路

2.7 键盘输入

键盘输入是人机交互界面中重要的组成部分,它是系统接受用户指令的直接途径。操作者通过键盘向系统发送各种指令或置入必要的数据信息。因此键盘模块设计的好坏,直接关系到系统的可靠性和稳定性。键盘是由若干个按键开关组成,键的多少根据单片机应用系统的用途而定。键盘由许多键组成,每一个键相当于一个机械开关触点,当键按下时,触点闭合,当键松开时,触点断开。单片机接收到按键的触点信号后作相应的功能处理。因此,相对于单片机系统来说键盘接口信号是输入信号。

矩阵式键盘又叫行列式键盘。用I/O口线组成行、列结构,按键设置在行列的交点上。例如,用2×2的行列结构可构成4个键的键盘,4×4行列结构可构成16个键的键盘。因此,在按键数量较多时,可以节省I/O口线。相对于专用芯片式可以节省成本,且更为灵活。缺点就是需要用软件处理消抖、重键等问题。

图2-12 实验电路

- 16 -

安徽工程大学课程设计(论文)

2.8 电源模块

系统需要多种电源,单片机需要+5V电源,运放需要±5V,V/F转换器需要±12V,传感器需要+5V以上的线性电源。可以勇已经成熟的技术。 稳压电源的设计,是根据稳压电源的输出电压Uo、输出电流Io、输出纹波电压ΔUop-p等性能指标要求,正确地确定出变压器、集成稳压器、整流二极管和滤波电路中所用元器件的性能参数,从而合理的选择这些器件。

稳压电源的技术指标分为两种:一种是特性指标,包括允许的输入电压、输出电压、输出电流及输出电压调节范围等;另一种是质量指标,用来衡量输出直流电压的稳定程度,包括稳压系数、输出电阻、温度系数及纹波电压等。

图2-13 稳压电源组成

- 17 -

GSD:微型电子秤

第3章 芯片接口分析与设计

3.1 ADC0809与51单片机的接口方法

ADC0809带有三态输出锁存器,可以直接与51单片机总线连接。由于A/D转换需要时间,必须确定转换完毕才能够读取转换结果,所以不可以采用无条件传送方式。只能采用程序查询方式或程序中断查询方式,ADC0809的转换结束信号EOC需要经反相后连接到单片机的一个外部中断引脚。

图3-1 ADC0809与51单片机的接口电路

在p2.5=0时,选中ADC0809,允许启动各通道转换以及读取相应的转换结果。转换结束信号EOC经反相后接单片机,由外部中断1的中断服务程序来读取转换结果。

- 18 -

安徽工程大学课程设计(论文)

3.2 键盘接口

矩阵式键盘就是将众多的按键排成矩阵式,每一个按键连接相应的行线与列线,在按键数目较多时,课节约I/O口线。51单片机的内部没有矩阵式键盘接口,要使用矩阵式按键,有两种基本方式:直接通过IO口线连接和专用的键盘接口芯片连接。

键盘接口芯片连接矩阵式键盘,键盘的管理不需要由处理器来完成,而是由键盘接口芯片来完成,但是处理器需要对接口芯片进行初始化操作。

图3-2 8279芯片连接矩阵式键盘显示接口

- 19 -

GSD:微型电子秤

第4章 软件分析与设计

4.1 ADC0809芯片A/D转换的程序设计

A/D转换的程序设计包括两部分内容:其一是启动转换;其二是读取转换结果。

4.1.1启动转换

启动个通道转换的程序可以如下: CLR P2.5 ;允许ADC0809启动 MOV A,#N ;N为通道号 MOVX @R0,A ;启动N通道 4.1.2 读取转换结果

若采用程序查询方式,需要首先读取连接转换结束信号EOC的IO口,判别A/D转换是否结束,若已结束,就读取转换结果;否则,返回读取,持续不断的查询,直到转换结束,在读取转换结果。

若采用程序中断方式,需要在中断服务程序中读取转换结果。 接口的读取转换结果程序可以如下: CLR P2.5 MOVX A,@R0 4.1.3 ADC0809转换接口程序流程图

图4-1 ADC0809转换接口程序流程图

- 20 -

安徽工程大学课程设计(论文)

4.2 8279接口程序

图4-2 8279程序流程图

4.2.1 8279程序初始化

设定键盘和显示器的工作方式;设定时钟分频率,以使8279的内部时钟为100KHz。按照硬件电路选定的中断口,设置中断控制字。

INIT: MOV A , #00000000B ;设定为:8字符显示、左入、编码键盘、2键封锁

MOV DPTR , #0FEEEH ;假定命令状态字的选通地址为0FEFFH MOVX @DPTR , A MOV A , #00101010B ;设CPU时钟为6MHz,ALE输出为6Mhz/6=1MHz,10分频,即可得100KHz。

MOVX @DPTR , A SETB IT1 ; INT1设置为边沿触发方式 SETB EX1 ;打开中断 SETB EA 4.2.2 8279的FIFO RAM程序

在键盘方式下,8279的读出总是按先入先出的顺序,所以不需设置FIFO RAM首地址。

KEY: MOV DPTR , #0FCFFH ;假定8279数据字的选通地址为0FCFFFH

MOVX A , @DPTR 4.2.3 显示字段

设:段选码(字库)的首地址为SEGPT。下列程序可将显示缓冲区中待显示的数据(8位)转换为相应的段选码,再写入8279的显示RAM。

DISP:MOV A , #10010000B ;写RAM,从0000B地址开始,自动

- 21 -

GSD:微型电子秤

加1。

MOV DPTR , #0FEFFH MOVX @DPTR , A MOV R0 , #79H ;设置显示缓冲区指针 MOV R2 , #8H ;设置显示位数

DISUO1:MOV A , @R0 ;按待显示的数据从字库中取出段选码 MOV DPTR , #SEGPT MOVC A , @A+DPTR MOV DPTR , #0FCFFH ;写入显示RAM MOVX @DPTR , A INC R0

DJNZ R2 , DISUP1 RET 4.3 主程序流程

开始 初始化LED,ADC0809、8279 开中断

清除 N 载物台是否有物体

Y 显示 读AD转换器数据

计算

- 22 -

安徽工程大学课程设计(论文)

结论与展望

单片机课程设计结束了,在做课程设计之初想象的是应该是不难的,因为平时总是学的理论有做过相应的实验课,而且还有比较成熟的实验代码,而这次是亲手的动手操作,虽然说很累,很难,但感觉收获却特别大。

我现在可以轻松些了,因为毕竟付出了汗水,虽然不一定能真正的运用。因为能力有限,加上学艺不精,对有些现实应用的东西,理解应用的就不多,对接口的掌握程度还是很不够的,与真正的要求相差甚远。

但是通过自己查找资料,思考比较,做出课程设计,并按照毕业设计的要求,制作电子文档,得到了很多单恋。同时我也了解了学会了很多芯片的原理,虽然只是用上几个芯片,可是从很多很多芯片中筛选出来了,因此对很多芯片都有了初步的了解。像89C51等芯片在平常学习时并不清楚它的具体功能,也没想到他们会与我们的生活联系那么密切,通过这几天的课程设计,查资料,仔细研究了解了它们的逻辑功能,用途,要求等,终于基本完成了一些简单的基本的要求。由于掌握的知识有限,在设计过程中遇到一些问题暂时还没有能力去解决。因此,我会在以后的学习中,尽可能地扩大自己的知识面,不能仅仅只局限课本,要更加刻苦地努力地去学习专业知识,充分利用图书馆和网络资源,多查多学多练,打好扎实功底,为以后的更好的发展奠定一个坚实的基础。

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

这次课程设计完全是用电脑完成的,按照毕业设计的格式要求完成的。做好一个合格的文档也是很不容易的,需要画图,排版,设计样式,自动生成目录等以前用Word文档编辑软件中没有用过的设置以及方法。通过这次课程设计了解了,毕业设计的格式要求,并且学会了文档编辑的一些高级用法,对现代办公常用软件有了全新全面的掌握为以后参加社会工作积累了经验同时也为以后的毕业设计的准备工作与要求有了一定的了解与帮助。

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

我觉得这不仅仅是一个设计,更重要的是一个人生的锻炼,让我看到自己很多地方的不足与欠缺,谚语说:“能认识到自己不足,就进步了一步”。相信我会从中走向成熟,走出不足之处,走向自己新的目标,并为此努力!

同时要感谢谢永宁老师对我们一年的教导,是唯一连续带我们两学期课的老师,谢老师对我们的要求都是以实际应用为出发点的,交给我们很多实际应用的到的知识,并且给了我们很多实际应用和工作生活中的建议以及在工作和生活中的学习方法,随时提高自己的能力。

作者:GSD 2011年06月12日

- 23 -

GSD:微型电子秤

参考文献

[1] 李朝青. 单片机原理及接口技术(第三版)[M].北京:北京航空航天大学出版社,2006.12

[2] 李建忠.单片机原理及应用[M].西安:西安电子科技大学出版, 2002:63-80.

[3] 张俊谟.单片机中级教程[M].北京:北京航空航天大学出版,2000:36-44. [4] 陈东云,杜敬仓.单片机原理与开发指导[M].北京:机械工业出版社, 2006:122-156.

- 24 -

安徽工程大学课程设计(论文)

附 录E

ML8155 EQU 0DF00H K8155A EQU 0DF01H K8155B EQU 0DF02H K8155C EQU 0DF03H DTIMER0 EQU 30H DTIMER1 EQU 31H SET_VH EQU 50H SET_VL EQU 51H SET_VL1 EQU 52H SET_VL2 EQU 53H ADVAL EQU 3FH TEMP EQU 32H TEMP1 EQU 33H TEMP2 EQU 34H ORG 0000H LJMP MAIN ORG 1000H

MAIN:MOV SP,#60H SETB P1.0 CLR P1.1

MOV SET_VH,#05H MOV SET_VL,#00H MOV SET_VL1,#00H MOV SET_VL2,#00H LCALL INIT_8155

START1:LCALL AD_LED LCALL SET_KEY LCALL ARM SJMP START1

AD_LED:LCALL ADC0809 LCALL ZHH MOV A,40H

CALL HEX_LEDD MOV 5FH,TEMP MOV A,41H

CALL HEX_LED MOV 5EH,TEMP1 MOV 5DH,TEMP2

MOV 5CH,#6FH LCALL WRITE_LED

- 25 -

GSD:微型电子秤

RET

ADC0809:PUSH DPL PUSH DPH PUSH ACC MOV P2,#7FH MOV R1,#78H L1: MOVX @R1,A MOV R2,#10H L4: DJNZ R2,L4 L2: JNB P3.3,L2 MOVX A,@R1 MOV ADVAL,A POP ACC POP DPH POP DPL RET ZHH:PUSH PSW PUSH ACC SETB RS0 MOV A,#0C4H MOV B,ADVAL MUL AB MOV R6,B MOV R7,A HB2:CLR A MOV R3,A MOV R4,A MOV R5,A MOV R2,#10H HB3:MOV A,R7 RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A MOV A,R5 ADDC A,R5 DA A

MOV R5,A MOV A,R4 ADDC A,R4 DA A

- 26 -

安徽工程大学课程设计(论文)

MOV R4,A MOV A,R3 ADDC A,R3 MOV R3,A DJNZ R2,HB3 MOV 40H,R3 MOV 41H,R4 POP ACC POP PSW RET

HEX_LEDD:PUSH DPH PUSH DPL PUSH ACC ANL A,#0FH

MOV DPTR,#BCD_CODED MOVC A,@A+DPTR MOV TEMP,A POP ACC POP DPL POP DPH RET

BCD_CODED:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH

DB 77H,7CH,39H,5EH,79H,71H,73H,00H,40H HEX_LED:PUSH DPH PUSH DPL PUSH ACC PUSH ACC

SWAP A ANL A,#0FH

MOV DPTR,#BCD_CODE MOVC A,@A+DPTR MOV TEMP1,A POP ACC ANL A,#0FH

MOV DPTR,#BCD_CODE MOVC A,@A+DPTR MOV TEMP2,A POP ACC POP DPL POP DPH RET

- 27 -

GSD:微型电子秤

BCD_CODE:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH

DB 77H,7CH,39H,5EH,79H,71H,73H,00H,40H WRITE_LED:PUSH DPH PUSH DPL PUSH ACC MOV R0,#5CH MOV R3,#0F7H MOV A,R3

AGAIN:MOV DPTR,#K8155A MOVX @DPTR,A MOV A,@R0

MOV DPTR,#K8155B MOVX @DPTR,A LCALL DELAY01 INC R0 MOV A,R3

JNB ACC.0,OUT RR A

MOV R3,A AJMP AGAIN OUT:POP ACC POP DPL POP DPH RET

SET_KEY:MOV R7,#00H MOV R6,#00H MOV R5,#00H

LCALL READ_KEY1 MOV A,B

CJNE A,#04H,END_ST MOV 5FH,#76H MOV 5EH,#00H MOV 5DH,#00H MOV 5CH,#00H

LCALL WRITE_LED

SETH:LCALL READ_KEY1 MOV A,B

CJNE A,#0FFH,GGG LCALL WRITE_LED LJMP SETH

GGG:CJNE A,#05H,SET_L

- 28 -

安徽工程大学课程设计(论文)

MOV A,R7

CJNE A,#06H,SET_H MOV A,#00H MOV R7,A

SET_H:MOV SET_VH,R7

MOV DPTR,#BCD_CODED MOVC A,@A+DPTR MOV 5EH,A

LCALL WRITE_LED INC R7 LJMP SETH

SET_L:CJNE A,#06H,SET_LL MOV A,R6

CJNE A,#0AH,SET_L1 MOV A,#00H MOV R6,A

SET_L1:MOV SET_VL1,R6

MOV DPTR,#BCD_CODE MOVC A,@A+DPTR MOV 5DH,A

LCALL WRITE_LED INC R6

LJMP SETH SET_LL:CJNE A,#07H,KEYJS MOV A,R5

CJNE A,#0AH,SET_LL1 MOV A,#00H MOV R5,A

SET_LL1:MOV SET_VL2,R5

MOV DPTR,#BCD_CODE MOVC A,@A+DPTR MOV 5CH,A

LCALL WRITE_LED INC R5

LJMP SETH

KEYJS:MOV A,SET_VL1 SWAP A

ORL A,SET_VL2 MOV SET_VL,A END_ST:RET

READ_KEY1:LCALL READ_KEY JNZ INK1

- 29 -

GSD:微型电子秤

MOV B,#0FFH RET

INK1:LCALL DELAY10 LCALL DELAY10 LCALL READ_KEY JNZ INK2

MOV B,#0FFH RET

INK2:LCALL GETVAL LCALL KEYSF RET

READ_KEY:MOV DPTR,#K8155A MOV A,#00H

MOVX @DPTR,A INC DPTR INC DPTR

MOVX A,@DPTR CPL A

ANL A,#03H

LCALL WRITE_LED RET

GETVAL:MOV R2,#0FEH MOV R4,#00H

COLUM: MOV DPTR,#K8155A MOV A,R2

MOVX @DPTR,A INC DPTR INC DPTR

MOVX A,@DPTR JB ACC.0,LONE MOV A,#00H AJMP KCODE LONE:JB ACC.1,NEXT MOV A,#04H KCODE:ADD A,R4 MOV B,A

LCALL WRITE_LED RET NEXT:INC R4 MOV A,R2

JNB ACC.3,KERR

- 30 -

安徽工程大学课程设计(论文)

RL A

MOV R2,A AJMP COLUM KERR:MOV B,#0FFH

LCALL WRITE_LED RET

KEYSF:LCALL WRITE_LED MOV DPTR,#K8155A MOV A,#00H

MOVX @DPTR,A INC DPTR INC DPTR

MOVX A,@DPTR CPL A

ANL A,#03H

CJNE A,#00H,KEYSF RET ARM:CLR C

MOV R0,#40H MOV A,@R0 SUBB A,SET_VH JC END_CON_T INC R0

MOV A,@R0 SUBB A,SET_VL JC END_CON_T BAIDOWN_T:CLR P1.0 SETB P1.1

LCALL DELAY10 END_CON_T:SETB P1.0 CLR P1.1 RET

OFF_LED: MOV 5FH,#00H MOV 5EH,#00H MOV 5DH,#00H MOV 5CH,#00H

LCALL WRITE_LED RET

INIT_8155: PUSH DPL

- 31 -

安徽工程大学课程设计(论文)

RL A

MOV R2,A AJMP COLUM KERR:MOV B,#0FFH

LCALL WRITE_LED RET

KEYSF:LCALL WRITE_LED MOV DPTR,#K8155A MOV A,#00H

MOVX @DPTR,A INC DPTR INC DPTR

MOVX A,@DPTR CPL A

ANL A,#03H

CJNE A,#00H,KEYSF RET ARM:CLR C

MOV R0,#40H MOV A,@R0 SUBB A,SET_VH JC END_CON_T INC R0

MOV A,@R0 SUBB A,SET_VL JC END_CON_T BAIDOWN_T:CLR P1.0 SETB P1.1

LCALL DELAY10 END_CON_T:SETB P1.0 CLR P1.1 RET

OFF_LED: MOV 5FH,#00H MOV 5EH,#00H MOV 5DH,#00H MOV 5CH,#00H

LCALL WRITE_LED RET

INIT_8155: PUSH DPL

- 31 -

本文来源:https://www.bwwdw.com/article/x57g.html

Top