智能仪器设计讲解.docx

上传人:b****9 文档编号:25278009 上传时间:2023-06-06 格式:DOCX 页数:25 大小:523.06KB
下载 相关 举报
智能仪器设计讲解.docx_第1页
第1页 / 共25页
智能仪器设计讲解.docx_第2页
第2页 / 共25页
智能仪器设计讲解.docx_第3页
第3页 / 共25页
智能仪器设计讲解.docx_第4页
第4页 / 共25页
智能仪器设计讲解.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

智能仪器设计讲解.docx

《智能仪器设计讲解.docx》由会员分享,可在线阅读,更多相关《智能仪器设计讲解.docx(25页珍藏版)》请在冰豆网上搜索。

智能仪器设计讲解.docx

智能仪器设计讲解

单片机技术课程设计说明书

智能仪器人机接口电路设计

专业

电气工程及自动化

学生姓名

班级

BMZ电气081

学号

指导教师

周云龙

完成日期

2011年6月9日

 

摘要

随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。

电子产品的更新速度快就不足惊奇了。

计算器在人们的日常中是比较的常见的电子产品之一。

如何使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器,使其更好的为各个行业服务,成了如今电子领域重要的研究课题。

科技的进步需要技术不断的提升。

一块大而复杂的模拟电路花费了您巨大的精力,繁多的元器件增加了您的成本。

而现在,只需要一块几厘米平方的单片机,写入简单的程序,就可以使您以前的电路简单很多。

相信您在使用并掌握了单片机技术后,不管在您今后开发或是工作上,一定会带来意想不到的惊喜。

现在应用较广泛的是科学计算器,所谓科学计算器,与我们日常所用的简单计算器有较大差别:

只能进行正数加、减、乘、除四则运算的计算器叫做简单计算器;科学计算器是指能兼容正数的四则运算和乘方、开方运算,具有指数、对数、三角函数、反三角函数及存储等计算功能的计算器。

计算器的未来是小型化和轻便化,如使用太阳能提供电池的计算器,使用ASIC设计的计算器,如使用纯软件实现的计算器等,随着社会的发展,知识的更新,各行各业的需要带动了电子产品的发展,未来的智能化计算器将是我们的发展方向,更希望成为现代社会应用广泛的计算工具。

 

关键词:

MCS-518051单片机;人机接口扩展4X4按键;计算器;加减乘除;LCD128X64;

 

 

第一章绪论

1.1本课题的研究意义

随着时代的进步和发展,单片机技术已经普及到我们的生活、工作、科研,各个领域,已经成为一种比较成熟的技术。

目前,大部分的计算器是基于单片机系统开发的。

在单片机系统中,除了需要完成特定功能的算法器件外,还需要输入、输出装置。

在计算器中,输入装置是——键盘,而输出装置是——液晶显示模块。

本次设计是用单片机来设计的七位数计算器。

该设计系统是以AT89C52为单片机,P1口作为输入端,外接4×4的键盘,通过键盘扫描来对输入数的控制,在P0口,P2口接了驱动电路,用来保证液晶模块的工作正常。

计算器将完成的功能有加,减,乘,除等功能。

该系统还设了功能键ON/C,开始显示0,按了键后就进入计算状态。

当然还有一些不足之处,本次设计还不能进行小数计算。

本设计还加如了阅读器的功能,使此次的设计弥补一点计算器这个领域的一点空缺。

1.2设计目的

通过本次工程实践,运用《智能化测量控制仪表原理与设计》、《MCS-51系列单片微型计算机及其应用》所学知识及查阅相关资料,完成简易计算器的设计,达到理论知识与实践更好结合、提高综合运用所学知识和设计能力的目的。

通过本次设计训练,可以使我们在基本思路和基本方法上对基于MCS-51单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。

掌握8051系统中,扩展输入(键盘)及显示接口的方法

设计任务

在本次工程实践中,主要完成如下方面的设计任务:

1)简要综述单片机技术发展的国内外现状及数码管动态显示和矩阵键盘基本原理;

2)了解单片机数据转换功能及工作过程;

3)人机接口的设计,扩展16个键,按下数字键,LCD128X64显示数字,按下功能键,LCD128X64显示相应功能并转向相应的程序(转入口就行,不要具体代码)。

4)对字符液晶显示模块的工作原理,如初始化、清屏、显示、调用及外特性有较清楚的认识,并会使用LCD(液晶显示模块)实现计算结果的显示;掌握液晶显示模块的驱动和编程,设计LCD和单片机的接口电路,以及利用单片机对液晶模块的驱动和操作;

5)掌握矩阵式键盘的扫描等工作过程。

行列键盘是本设计中单片机系统的输入通道,主要是如何使用行列键盘,确定数字键和功能键的区别,以及键盘抖动的消除。

6)在充分分析内部逻辑的概念,进行软件和调试,学会使用,并能够以其为平台设计出具有四则运算能力简易计算器的硬件电路和软件程序。

7)用protues软件完成原理电路的绘制;

8)完成系统设计说明书。

第二章计算器系统简介

2.1单片机发展现状

单片机的发展趋势:

低功耗CMOS化;微型单片化;主流与多品种共存;单片机从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。

纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:

1)低功耗CMOS化

MCS-51系列的8051推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。

象80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。

CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于在要求低功耗象电池供电的应用场合。

所以这种工艺将是今后一段时期单片机发展的主要途径。

2)微型单片化

现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。

甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。

此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。

现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。

3)主流与多品种共存

现在虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的Winbond系列单片机。

所以C8051为核心的单片机占据了半壁江山。

而Microchip公司的PIC精简指令集(RISC)也有着强劲的发展势头,中国台湾的HOLTEK公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场分额。

此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。

在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。

2.2计算器系统现状

计算器一般由运算器、控制器、存储器、键盘、显示器、电源和一些可选外围设备及电子配件通过人工或机器设备组成。

低档计算器的运算器、控制器由数字逻辑电路实现简单的串行运算,其随机存储器只有一、二个单元,供累加存储用。

高档计算器由微处理器和只读存储器实现各种复杂的运算程序,有较多的随机存储单元以存放输入程序和数据。

键盘是计算器的输入部件,一般采用接触式或传感式。

为减小计算器的尺寸,一键常常有多种功能。

显示器是计算器的输出部件,有发光二极管显示器或液晶显示器等。

除显示计算结果外,还常有溢出指示、错误指示等。

计算器电源采用交流转换器或电池,电池可用交流转换器或太阳能转换器再充电。

为节省电能,计算器都采用CMOS工艺制作的大规模集成电路(见互补金属-氧化物-半导体集成电路),并在内部装有定时不操作自动断电电路。

计算器可选用的外围设备有微型打印机、盒式磁带机和磁卡机等。

第三章主要器件简介

3.1MCS-51系列单片机简介

8051是MCS-51系列单片机的典型产品,以这一代表性的机型进行系统的讲解。

 8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:

·中央处理器:

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

·数据存储器(RAM)

8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

图3-18051内部结构图

·程序存储器(ROM):

8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。

·定时/计数器(ROM):

8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

·并行输入输出(I/O)口:

8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。

·全双工串行口:

8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

·中断系统:

8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。

·时钟电路:

8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。

单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。

INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。

下图是MCS-51系列单片机的内部结构示意图3-2。

 

 

图3-2MCS-51结构图

MCS-51的引脚说明:

MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。

现在我们对这些引脚的功能加以说明:

MCS-51的引脚说明:

MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。

现在我们对这些引脚的功能加以说明:

如图3-3

 

 

图3-3双列直插式封装引脚图

Pin9:

RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。

初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。

RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。

然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。

8051的复位方式可以是自动复位,也可以是手动复位。

此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。

见下图3-4为两种复位方式和两种时钟方式:

图3-4复位方式图与时钟方式图

·Pin30:

ALE/

当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。

而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。

更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。

如果单片机是EPROM,在编程其间,

将用于输入编程脉冲。

·Pin29:

当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。

·Pin31:

EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。

如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。

显然,对内部无程序存储器的8031,EA端必须接地。

在编程时,EA/Vpp脚还需加上21V的编程电压。

3.2键盘电路的设计

键盘可分为两类:

编码键盘和非编码键盘。

编码键盘是较多按键(20个以上)和专用驱动芯片的组合,当按下某个按键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。

通用计算机使用的标准键盘就是编码键盘。

在智能仪器中,使用并行接口芯片8279或串行接口芯片HD7279均可以组成编码键盘,同时还可以兼顾数码管的显示驱动,其相关的接口电路和接口软件均可在芯片资料中得到。

当系统功能比较复杂,按键数量很多时,采用编码键盘可以简化软件设计。

但大多数智能仪器和电子产品的按键数目都不太多(20个以内),为了降低成本和简化电路通常采用非编码键盘。

非编码键盘的接口电路有设计者根据需要自行决定,按键信息通过接口软件来获取。

本课题需要的是16个按键,故选择用非编码键盘,为了减少所占用的端口,由P1口采用矩阵式键盘。

如下图:

3.3LCD12864模块介绍

LCD12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。

可完成图形显示,也可以8×4个(16×16点阵)汉字。

(1)LCD12864芯片的性能与参数

·电源:

VDD:

+2.7~+5V;模块内自带-10V负压,用于LCD的驱动电压。

·显示内容:

128(列)×64(行)点

·全屏幕点阵

·七种指令

·与CPU接口采用8位数据总线并行输入输出和8条控制线

·占空比1/64

·工作温度:

-10℃~+60℃,储存温度:

-20℃~+70℃,可选择宽温:

-20℃~+70℃

(2)外形尺寸图

(3)模块主要硬件构成说明

IC3为行驱动器,IC1,IC为列驱动器。

IC1,IC2,IC3含有如下主要功能器件。

了解如下器件有利于对LCD模块之编程。

①指令寄存器(IR)

IR是用来寄存指令码,与数据寄存器寄存数据相对应。

当D/I=1时,在E信号下降沿的作用下,指令码写入IR。

②数据寄存器

DR是用来寄存数据的,与指令寄存器寄存指令相对应。

当D/I=1时,在E信号的下降沿的作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7~DB0数据总线。

DR和DDRAM之间的数据传输是模块内部自动执行的。

③忙标志:

BF

BF标志提供内部工作情况。

BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据。

BF=0时,模块为准备状态,随时可接受外部指令和数据。

利用STATUSREAD指令,可以将BF读到DB7总线,从而检验模块之工作状态。

④显示控制触发器DFF

此触发器是用于模块屏幕显示开和关的控制。

DFF=1为开显示(DISPLAYON),DDRAM的内容就显示在屏幕上,DDF=0为关显示(DISPLAYOFF)。

DDF的状态是指令DISPLAYON/OFF和RST信号控制的。

⑤XY地址计数器

XY地址计数器是一个9位数计数器。

高三位是X地址计数器,低6位为Y地址计数器,XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。

X地址计数器是没有记数功能的,只能用指令设置。

Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0到63。

⑥显示数据RAM(DDRAM)

DDRAM是储存图形显示数据的。

数据为1表示显示选择,数据为0表示显示非选择。

DDRAM

与地址和显示位置的关系见DDRAM地址表(见第页)。

⑦Z地址计数器

Z地址计数器是一个6位计数器,此计数器具有循环记数功能,它是用于显示行扫描同步。

一行扫描完成,此地址计数器自动加1,指向下一行扫描数据,RST复位后Z地址计数器为0

Z地址计数器可以用指令DISPLAYSTARTLINE预置。

因此,显示屏幕的起始行就由此指令

控制,即DDTAM的数据从哪一行开始显示在屏幕的第一行。

此模块的DDRAM共64行,屏幕

可以循环滚动显示64行。

(4)模块的外部接口

外部接口信号如下表2所示

(5)指令说明

①显示开关控制(DISPLAYON/OFF)

代码R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0

形式000011111D

D=1:

开显示(DISPLAYON)意即显示器可以进行各种显示操作

D=0:

关显示(DISPLAYOFF)意即不能对显示器进行各种显示操作

②设置显示起始行(DISPLAYSTARTLINE)

代码R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0

形式0011A5A4A3A2A1A0

前面在Z地址计数器一节已经描述了显示起始行是由Z地址计数器控制的.A5-A06位地址自

动送入Z地址计数器.起始行的地址可以是0-63的任意一行.

例如:

选择A5-A0是62,则起始行与DDRAM行的对应关系如下:

DDRAM行:

62630123┉┉┉┉┉┉┉┉┉┉┉2829

屏幕显示行:

123456┉┉┉┉┉┉┉┉┉┉┉3132

③设置页地址(SETPAGE“XADDRESS”)

代码R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0

形式0010111A2A1A0

所谓页地址就是DDRAM的行地址,8行为一页,模块共64行即8页,A2~A0表示0~7页.读写地址对数据没有影响,页地址由本指令或RST信号改变复位后页地址为0.页地址与DDRAM的对应关系见DDRAM地址表.

④设置Y地址(SETYADDRESS)

代码R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0

形式0001A5A4A3A2A1A0

此指令的作用是将A5~A0送入Y地址计数器,作为DDRAM的Y地址指针.在对DDRAM进行读写操作后,Y地址指针自动加1,指向下一个DDRAM单元.

DDRAM地址表:

⑤读状态(STATUSREAD)

代码R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0

形式01BUSY0ON/OFFRET0000

当R/W=1D/I=0时,在E信号为“H”的作用下,状态分别输出到数据总线(DB7~DB0)的相应位.

BF:

前面已叙述过(见BF标志位一节).

ON/OFF:

表示DFF触发器的状态(见DFF触发器一节).

RST:

RST=1表示内部正在初始化,此时组件不接受任何指令和数据.

⑥写显示数据(WRITEDISPLAYDATE)

代码R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0

形式01D7D6D5D4D3D2D1D0

D7~D0为显示数据,此指令把D7~D0写入相应的DDRAM单元,Y地址指针自动加1.

⑦读显示数据(READISPLAYDATA)

代码R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0

形式11D7D6D5D4D3D2D1D0

此指令把DDRAM的内容D7~D0读到数据总线DB7~DB0,Y地址指针自动加1.

(3)读写操作时序

①写操作时序

(2)读写时序参数表

(3)读操作时序

(4)显示电路的设计最终电路如图

第四章计算器系统设计

4.1简易计算器的程序主要包括以下功能模块:

(1)定时查键模块,分为读键程序、判键程序段、运算操作子程序等部分;

(2)基于液晶显示器的显示模块;

(3)主模块,为系统的初始化。

软件系统流程图如图6.1

图6.1

4.2键盘扫描的程序设计

键盘扫描子程序,首先读出P1的低四位,然后读出P1口的高四位。

然后键值并显示缓存。

然后将键如的值转换为ASCII码然后就可以软件来设置硬件按键各个键代表的内容。

读键程序使用的是反转法读键,不管键盘矩阵的规模大小,均进行两次读键。

第一次所有行线均输出低电平,从所有读入键盘信息(列信息);第二次所有列线均输出低电平,从所有行线读入键盘信息(行信息)。

数字键按下则将相应的数字送入缓存区,功能键按下则执行相应的程序。

4.3显示模块的程序设计

显示模块程序首先要对显示模块进行初始化;然后控制光标的位置;定义液晶显示的控制端口,用SBIT指令完成;然后设置清屏、关闭显示、归位、开显示、显示位置的首地址等等。

显示模块的流程图如图6.3所示:

图6.3

4.4主程序的设计

主程序主要是用来对LCD12864液晶显示器进行初始化的,用来控制LCD12864液晶显示光标的位置和显示的位置

4.5系统调试

首先,必须要将程序调试成功,这是关键的一步,没有内核的调用无法实现系统功能,单纯的硬件无法实现电路的录放。

因此,程序的编译就变的特别重要,设计中注重软件的编译仿真,其中采用KeilC51软件编辑、编译、仿真。

KeilC51软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编、PLM语言和C语言的程序设计。

程序编译、调试的基本过程如下:

(1)建立一个新的工程文件NewProject。

(2)保存文件,选择保存路径,输入工程文件的名字。

(3)选择设计使用的单片机的型号。

(4)建立一个新的源程序文件。

(5)在弹出的程序文本框中输入设计的程序,然后以后缀扩展名为.C保存。

(6)回到编辑界面后,用右键单击SoureceGroup1,在弹出的快捷菜单中选择AddFilestoGroup’SoureceGroup1’选项,选择设计汇编文件。

(7)然后对目标进行一些设置,在OptionsforTarget’Target1’中进行相应参数的设置。

(8)编译程序,选择【Project】/【Rebuildalltargetfiles】选项,开始编译程序。

(9)编译完毕后,选择【Debug】/【St

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 远程网络教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1