第1章微型计算机基础_第1页
第1章微型计算机基础_第2页
第1章微型计算机基础_第3页
第1章微型计算机基础_第4页
第1章微型计算机基础_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章微型计算机基础0微型计算机的二进制运算微型计算机的码制和编码微型计算机的数制及其转换微型计算机的组成体系第1章微型计算机基础1第1章微型计算机基础概述微型计算机是一种能对信息加工处理的机器,它具有记忆、判断和运算能力,能仿效人类的思维活动,代替人的部分脑力劳动,并能对生产过程实施某种控制等等。1946年,美国宾夕法尼亚大学制成世界上第一台ENIAC(ElectronicNumericalIntegratorAndComputer)电子计算机以来,电子计算机经历了电子管、晶体管和集成电路三个发展时代,于20世纪70年代初出现了第一台微型计算机。。2第1章微型计算机基础1.1微型计算机基础1.微型化计算机装置以微处理器为核心,配置辅助电路(如RAM、ROM、I/O接口电路)而构成的微型化的计算机装置(简称µC),它是具有完成运行功能的计算机。2.单片微型计算机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器CPU,存储器和I/O接口电路等,只需要与适当的软件和外部设备相结合,便可成为微机控制系统。3第6章人机交互接口1.1.1微型计算机的发展1.微处理器技术的发展第一代,1971年10月,美国Intel公司首先推出Intel4004微处理器。微处理器进入4位微处理器和低档8位微处理器的时期。1972年3月,Intel公司又推出Intel8008微处理器实现了8位并行运算。第二代,1973年开始,以8位微处理为主的时期。典型产品有:1973年Intel8080;1974年3月,Motorola公司的MC6800;1975~1976年,Zilog公司的Z80;1976年,Intel8085等。4第6章人机交互接口第三代,1978年开始,以16位微处理为主的时期。典型产品有:1978年Intel8086;1979年,Zilog公司的Z8000;1979年,Motorola公司的MC68000等。第四代,1981年开始,以32位微处理为主的时期。典型产品有:1983年,Zilog公司的Z80000;1984年,Motorola公司的MC68020;1985年,Intel公司的80386等。这一时期微处理器的集成度达到了空前规模。如80386微处理器集成度为27.5万管/片。自Intel80386芯片推出以来,又出现了许多高性能的32位和64位微处理器,如Motorola的MC68030、MC68040,AMD公司的K6-2、K6-3、K7以及Intel的80486、Pentium、PentiumII、PentiumIII和Pentium4等产品。5第6章人机交互接口2.单片微型计算机的发展单片微型计算机的发展,以Intel公司1976年推出的8位单片机为起点,大体经历了三个历史阶段。1974年,美国仙童(Fairchild)公司研制出世界上第一台单片微型计算机F8,该机由两块集成电路芯片组成,结构独特,具有与众不同的指令系统,深受民用电器和仪器仪表领域的欢迎和重视。第一代单片微型计算机(1976~1978)。始于1976年,以MCS-48系列为代表。第二代单片微型计算机(1978~1982)。以Intel公司的MCS-51系列为代表6图6-2矩阵式键盘结构第6章人机交互接口第三代单片微型计算机(1982~)。技术特点是全速发展单片微机的控制功能。综合特点为:(1)发展非总线型单片微机,并与原有的总线型单片机形成了两大派系。为了满足家电控制器的巨大市场,将单片机的并行扩展总线省去,推出廉价型单片微机,并尽可能将一些外围接口封装在片内;(2)为了满足不使用并行总线而能扩展各种外围器件,推出了串行扩展总线。如philips的I2C总线、Motorola的SPL、NS公司的Microwire/PLUS的串行外围接口等;(3)发展具有良好控制功能的控制网络总线,以实现串行通信总线难以构成的多主强控制功能的网络系统。例如汽车电子系统中采用的CAN总线。7第6章人机交互接口1.1.2微型计算机的分类机主流系列1.单片微机的分类20世纪80年代以来,各大电气及半导体器件厂商纷纷推出自己的产品系列。迄今为止,市场上的单片微机产品已达60多个系列,600余个品种。从不同的角度有不同的分法。从运算位长短分,可分为4位、8位、16位、32位等微机种类;从使用场合的不同,可分为高端单片机和低端单片机;从应用领域分,可分为家电类单片机、工控类单片机、通信类单片机、军工类单片机;按是否通用分,有通用型单片机和专用型单片机。8第6章人机交互接口2.单片微型计算机的主流系列MCS-51系列单片机是Intel公司1980年推出的8位单片机。80C51是MCS-51系列中的一个子系列,是一族高性能兼容型单片机,Siemens、Philips等公司在80C51基础上推出了与80C51兼容的新型单片机统称80C51系列。其中,Philips公司的80C51系列单片机性能卓越,产品最齐全,最具有代表性。Intel公司的单片微机9第6章人机交互接口Freescale是世界上最大的单片机厂商,2004年由Motorola公司半导体部更名为FreescaleSemiconductor,并独立运行。Freescale单片机的特点之一是在同样的速度下所用的时钟频率较Intel类单片机低得多,因而使得高频噪声低,抗干扰能力强,更适合于工控领域及恶劣的环境。Freescale公司的单片微机Atmel公司的单片微机美国Atmel公司是世界上著名的高性能、低功耗、非易失性存储器和数字集成电路的一流半导体制造公司。Atmel公司最令人注目的是E2PROM和闪存(flash)存储器技术,一直处在世界领先地位。该公司把E2PROM和Flash存储器技术巧妙地运用于单片机,并采用多种封装形式和高标准质量检测。10第6章人机交互接口MicroChip单片机的主要产品是PIC16C系列和17C系列8位单片机,CPU采用RISC结构,分别仅有33,58条指令,采用Harvard双总线结构,运行速度快,低工作电压,低功耗,较大的输入输出直接驱动能力,价格低,在办公自动化设备,消费电子产品,电讯通信,智能仪器仪表,汽车电子,金融电子,工业控制等不同领域都有广泛的应用,PIC系列单片机在世界单片机市场份额排名中逐年提高,发展非常迅速。MicroChip公司的单片微机11第6章人机交互接口1.1.3微型计算机系统的组成原理1.以微处理器为中心的微型计算机系统现代微型计算机系统组成结构基本上是以冯·诺依曼模型为基础,即以执行存储器中程序而工作。计算机执行程序是自动按序进行的,不需人工干预,程序和数据由输入设备输入存储器,执行程序所获得的运算结果由输出设备输出。以微处理器为中心的微型计算机系统是在中小型计算机基础上发展起来的,并以大规模集成电路技术为条件的一种新型计算机,和其他计算机相比,其最大特点是采用总线结构,其中三总线结构尤为普遍,目前已成为微型计算机的一种结构。12第6章人机交互接口微处理器MPU是通过AB、DB和CB三总线同外围的大规模集成电路ROM存储器、RAM存储器及I/O接口电路相连进行工作的。13第6章人机交互接口1.1.2微型计算机的分类机主流系列1.单片微机的分类20世纪80年代以来,各大电气及半导体器件厂商纷纷推出自己的产品系列。迄今为止,市场上的单片微机产品已达60多个系列,600余个品种。从不同的角度有不同的分法。从运算位长短分,可分为4位、8位、16位、32位等微机种类;从使用场合的不同,可分为高端单片机和低端单片机;从应用领域分,可分为家电类单片机、工控类单片机、通信类单片机、军工类单片机;按是否通用分,有通用型单片机和专用型单片机。14第6章人机交互接口1.1.2微型计算机的分类机主流系列1.单片微机的分类20世纪80年代以来,各大电气及半导体器件厂商纷纷推出自己的产品系列。迄今为止,市场上的单片微机产品已达60多个系列,600余个品种。从不同的角度有不同的分法。从运算位长短分,可分为4位、8位、16位、32位等微机种类;从使用场合的不同,可分为高端单片机和低端单片机;从应用领域分,可分为家电类单片机、工控类单片机、通信类单片机、军工类单片机;按是否通用分,有通用型单片机和专用型单片机。15第6章人机交互接口1.1.2微型计算机的分类机主流系列1.单片微机的分类20世纪80年代以来,各大电气及半导体器件厂商纷纷推出自己的产品系列。迄今为止,市场上的单片微机产品已达60多个系列,600余个品种。从不同的角度有不同的分法。从运算位长短分,可分为4位、8位、16位、32位等微机种类;从使用场合的不同,可分为高端单片机和低端单片机;从应用领域分,可分为家电类单片机、工控类单片机、通信类单片机、军工类单片机;按是否通用分,有通用型单片机和专用型单片机。16第6章人机交互接口1.1.2微型计算机的分类机主流系列1.单片微机的分类20世纪80年代以来,各大电气及半导体器件厂商纷纷推出自己的产品系列。迄今为止,市场上的单片微机产品已达60多个系列,600余个品种。从不同的角度有不同的分法。从运算位长短分,可分为4位、8位、16位、32位等微机种类;从使用场合的不同,可分为高端单片机和低端单片机;从应用领域分,可分为家电类单片机、工控类单片机、通信类单片机、军工类单片机;按是否通用分,有通用型单片机和专用型单片机。17第6章人机交互接口1.1.2微型计算机的分类机主流系列1.单片微机的分类20世纪80年代以来,各大电气及半导体器件厂商纷纷推出自己的产品系列。迄今为止,市场上的单片微机产品已达60多个系列,600余个品种。从不同的角度有不同的分法。从运算位长短分,可分为4位、8位、16位、32位等微机种类;从使用场合的不同,可分为高端单片机和低端单片机;从应用领域分,可分为家电类单片机、工控类单片机、通信类单片机、军工类单片机;按是否通用分,有通用型单片机和专用型单片机。18第6章人机交互接口1.1.2微型计算机的分类机主流系列1.单片微机的分类20世纪80年代以来,各大电气及半导体器件厂商纷纷推出自己的产品系列。迄今为止,市场上的单片微机产品已达60多个系列,600余个品种。从不同的角度有不同的分法。从运算位长短分,可分为4位、8位、16位、32位等微机种类;从使用场合的不同,可分为高端单片机和低端单片机;从应用领域分,可分为家电类单片机、工控类单片机、通信类单片机、军工类单片机;按是否通用分,有通用型单片机和专用型单片机。19第6章人机交互接口1.1.2微型计算机的分类机主流系列1.单片微机的分类20世纪80年代以来,各大电气及半导体器件厂商纷纷推出自己的产品系列。迄今为止,市场上的单片微机产品已达60多个系列,600余个品种。从不同的角度有不同的分法。从运算位长短分,可分为4位、8位、16位、32位等微机种类;从使用场合的不同,可分为高端单片机和低端单片机;从应用领域分,可分为家电类单片机、工控类单片机、通信类单片机、军工类单片机;按是否通用分,有通用型单片机和专用型单片机。20(2)反转法

扫描法需要逐列的扫描,根据被按键的位置不同,每次扫描的次数也不一样。如果被按键位于最后一列时,则要经过多次扫描查询才能得到该键的位置。反转法则克服了扫描法的不足,无论被按键位于什么位置,都只需要两步就可以判断出键的位置。图6-3线反转法原理图第一步,将列线设置为输出线,行线设置为输入线。并将列线置“0”,则行线中为“0”的行就是被按键所在的行,如果所有的行线都为“1”,则没有键被按下。第二步,将行、列线的输入、输出状态反转一下,即将行线设置为输出线,列线设置为输入线。并将行线置“0”,则列线中为“0”的列就是被按键所在的列。由此便确定了被按键的位置。第6章人机交互接口21采用上述扫描键盘的工作方式,虽然可以及时响应按键信息,但是这种方式不管键盘上有无键按下,CPU总要不断地扫描键盘,占用很多的CPU处理时间。为了进一步提高CPU的工作效率,可采用中断扫描工作方式。即当键盘上有键被按下时才产生中断请求,CPU响应中断请求后,转去执行中断服务程序,对键盘进行扫描,获取按键的相关信息。如图6-4为中断法的原理图。(3)中断法图6-4中断法原理图第6章人机交互接口226.1.3键盘/显示专用接口Intel82798279是Intel公司生产的专用可编程键盘和显示器接口芯片。可实现对键盘/显示器的自动扫描,并识别键盘上闭合键的键号,不仅可以大大节省CPU对键盘/显示器的操作时间,而且显示稳定,接口程序简单。1.Intel8279的引脚及功能介绍Intel8279采用40引脚双列直插封装,其引脚排列及功能分别如图6-5(a)、(b)所示。第6章人机交互接口23(a)(b)图6-5Intel8279引脚及功能图第6章人机交互接口24(1)数据线

DB0~DB7:是双向三态数据总线,在接口电路中与系统数据总线相连,用以传送CPU和8279之间的数据和命令。A0:数据选择输入端,A0=1时,CPU写入数据为命令字,读出状态字为状态字;A0=0时,CPU读、写均为数据。(2)地址线:片选输入端,低电平有效。(3)控制线CLK:8279的时钟输入线。IRQ:中断请求输出线,高电平有效。第6章人机交互接口25:显示熄灭输出线,低电平有效。当=0时将显示全熄灭。、:读、写输入控制线,低电平有效。SL0~SL3:扫描输出线,用来作为扫描键盘和显示的代码输出或直接输出线。RL0~RL7:回复输入线,它们是键盘或传感器矩阵的信号输入线。SHIFT:来自外部键盘或传感器矩阵的输入信号。CNTL/S:控制/选通输入线,高电平有效。OUTA0~OUTA3:通常作为显示信号的高4位输出线。OUTB0~OUTB3:通常作为显示信号的低4位输出线。第6章人机交互接口262.Intel8279的工作方式Intel8279有三种工作方式:键盘方式、显示方式和传感器方式。(1)键盘工作方式8279在键盘工作方式时,可设置为双键互锁方式和N键循回方式。(2)显示方式Intel8279的显示方式又可分为左端入口和右端入口方式。(3)传感器方式传感器方式是把传感器的开关状态送入传感器RAM中。第6章人机交互接口273.Intel8279的命令字及其格式Intel8279的各种工作方式都要通过对命令寄存器的设置来实现。8279共有8种命令,通过这些命令设置工作寄存器,来选择各种工作方式。命令寄存器共8位,格式为如上图,8279的一条命令由两大部分组成,一部分表征命令类型,为命令特征位,由命令寄存器高3位D7~D5决定。D7~D5三位的状态可组合出8种形式,对应8类命令。另一部分为命令的具体内容,由D4~D0决定。D7D6D5D4D3D2D1D0第6章人机交互接口28每种特征所代表的命令如表6.1所示表6.1Intel8279命令特征表D7D6D5代表的命令类型000键盘/显示命令001时钟编程命令010读FIFO/传感器RAM命令011读显示器RAM命令100写显示命令101显示禁止/熄灭命令110清除命令111结束中断/出错方式设置命令第6章人机交互接口29(1)键盘/显示方式设置命令字(2)时钟编程命令(3)读FIFO/传感器RAM命令(4)读显示RAM命令(5)写显示RAM命令(6)显示禁止写入/消隐命令(7)清除命令(8)结束中断/出错方式设置命令第6章人机交互接口304.Intel8279状态格式与状态字Intel8279的FIFO状态字,主要用于键盘和选通工作方式,以指示数据缓冲器FIFO/传感器RAM中的字符数和有错误发生,状态字节的读出地址和命令输入地址相同(/CS=0,A0=1)。状态字节格式如下:D7D6D5D4D3D2D1D0其中:状态字显示出8279的工作状态。状态字和8种命令字共用一个地址口。当A0=1时,从8279命令/状态口地址读出的是状态字。状态字各位意义如下:D7:为显示无效特征位D6:为传感器信号结束/错误特征位D5:为FIFO/传感器RAM溢出标志位D4:为FIFO/传感器RAM空标志位D3:为FIFO/传感器RAM满标志位D2~D0:表示FIFO/传感器RAM中的字符个数,即FIFO/传感器RAM中数据个数。第6章人机交互接口315.Intel8279的数据输入/输出格式对8279输入/输出数据不仅要先确定地址口,而且数据存放也要按一定格式,其格式在键盘和传感器方式有所不同。8279的数据输入/输出口地址由/CS=0、A0=0确定。(1)键盘扫描方式数据输入格式

键盘的行号、列号及控制键位置如下:D7D6D5D4D3D2D1D0CNTLSHIFTSL0~SL2RL0~RL7D7:控制键“CNTL”状态。D6:控制键“SHIFT”状态。D5D4D3:被按键所在列号(由SL0~SL2)状态确定)。D2D1D0:被按键所在行号(由RL0~RL7)状态确定)。第6章人机交互接口32(2)传感器方式及选通方式数据输入格式

此种方式8位输入数据为RL0~RL7的状态。格式如下:D7D6D5D4D3D2D1D0RL7RL6RL5RL4RL3RL2RL1RL06.Intel8279的内部译码与外部译码在键盘、显示器工作方式中SL0SL3为键盘列扫描线和动态显示的位选线。当选择内部译码(键盘显示方式设置命令字的D0=1)时,SL0SL3每一时刻只有一位为低电平输出,此时,8279只能外接4位显示器和4×8键盘。当选择外部译码(键盘显示方式设置命令字的D0=0)时,SL0SL3呈计数分频式波形输出,此时,若外接416译码器,则译码器的16个输出可作为外接16位显示器的位信号;若外接38译码器,则译码器的8个输出与RL0RL7配合可构成8×8键盘(键输入数据格式中只能计入SL0SL2的8中状态)。第6章人机交互接口337.Intel8279与单片机、键盘/显示器的接口应用图6-68051与8279的一般接口框图第6章人机交互接口34图6-78279应用电路第6章人机交互接口356.1.4键盘显示专用串行接口HD7279A1.HD7279A引脚及功能介绍图6-8HD279A的引脚图1.主要特性

(1).串行接口,无需外围元件可直接驱动LED。

(2).各位独立控制译码/不译码及消隐和闪烁属性。

(3).(循环)左移/(循环)右移指令。

(4).具有段寻址指令,方便控制独立LED。

(5).64键键盘控制器,内含去抖动电路。

2.引脚说明:

VDD:正电源VSS:地CS:片选CLK:时钟输入端DATA:串行数据输入/输出端CLK0:振荡输出端KEY:按键有效输出端RES:复位端SG-SA:段g—段a驱动输出

DP:小数点驱动输出DIG0-7:数位0-7驱动输出

RC:RC振荡器连接端第6章人机交互接口362.HD7279A的控制指令与时序HD7279A的控制指令分为二大类——纯指令和带有数

据的指令。(1)纯控制指令

指令格式为:D7D6D5D4D3D2D1D0①复位指令:指令代码为A4H,其功能为清除所有显示②测试指令:指令代码为BFH,其功能为将所有的LED点亮并闪烁,主要用于测试。③左移指令:指令代码为A1H,其功能为将所有的显示左移1位。④右移指令:指令代码为A0H,其功能与将所有的显示右移1位。⑤循环左移指令:指令代码为A3H,其功能为将所有的显示循环左移1位。⑥循环右移指令:指令代码为A2H,其功能与循环左移指令相似,只是方向相反。第6章人机交互接口37(2)带数据指令带数据指令均由双字节组成。①下载数据且按方式0译码D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D010000a2a1a0dp×××d3d2d1d0×:无影响。命令由二个字节组成,前半部分为指令,其中a2,a1,a0表示LED的位地址。命令由二字节组成,前半部分为指令,其中a2,a1,a0为位地址。d0-d3为数据,收到此指令时,按以下规则

进行译码。

0000:显01001:显9

1010:显-1111:显空白

小数点的显示由DP位控制:DP=1时,小数点显示,DP=0时,小数点不显示。第6章人机交互接口38②下载数据且按方式1译码D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D011001a2a1a0dp×××d3d2d1d0此指令与上一条指令其本相同,所不同的是译码方式,该指令的译码为按d0—d3值对应的是0—9,A~F。③下载数据但不译码D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D010010a2a1a0dpABCDEFG其中,a2,a1,a0为位地址,A-G和DP为显示数据,分别对应7段LED数码管的各段。当相应的数据位为‘1’时,该段点亮,否则不亮。此指令灵活,通过造字形表,可以显示用户所需的字符。第6章人机交互接口39④闪烁控制D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D010001000d8d7d6d5d4d3d2d1此命令控制各个数码管的闪烁属性。d1~d8分别对应数码管1~8,0=闪烁,1=不闪烁。开机后,缺省的状态为各位均不闪烁。⑤消隐控制D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D010011000d8d7d6d5d4d3d2d1此命令控制各个数码管的消隐属性。d1-d8分别对应数码管1-8,1=显示,0=消隐。第6章人机交互接口403.HD7279A接口应用图6-13HD7279A与AT89C51的接口电路第6章人机交互接口41接口子程序实例:sbitCS=P1^0;//CS与P1.0相连sbitCLK=P1^1;//CLK与P1.1相连sbitDAT=P1^2;//DAT与P1.2相连sbitKEY=P1^3;//KEY与P1.3相连voidsend_byte(unsignedcharout_byte){//发送一个字节unsignedchari;CS=0;long_delay();for(i=0;i<8;i++){

if(out_byte&0x80){DAT=1;}else{DAT=0;}CLK=1;short_delay();CLK=0;short_delay();out_byte=out_byte*2;}DAT=0;}第6章人机交互接口42in_byte=in_byte*2;if(DAT){in_byte=in_byte|0x01;}CLK=0;short_delay();}DAT=0;return(in_byte);}unsignedcharreceive_byte(void){//接收一个字节unsignedchari,in_byte;DAT=1;//设为输入状态long_delay();for(i=0;i<8;i++){CLK=1;short_delay();

第6章人机交互接口436.2LED显示器接口在单片机应用系统中,常常需要把一些信息显示出来,以便了解系统的状态。最常用的显示器是LED(发光二极管显示器)和LCD(液晶显示器),这两种显示器可显示数字、字符及系统的状态。6.2.1LED显示器的结构与原理1.LED显示器的结构LED(LightEmittingDiode)是发光二极管的缩写。常用的LED显示器有LED状态显示器(俗称发光二极管)LED七段显示器(俗称数码管)LED十六段显示器。第6章人机交互接口44常用的LED显示器,即数码管,是由8个发光二极管(以下简称段)构成,通过不同的组合可用来显示数字09、字符AF、H、L、P、R、U、Y、符号“”及小数点“”。数码管的外型结构如图6-14所示。数码管又分为共阴极和共阳极两种结构,分别如图6-15(a)和图6-15(b)。图6-14数码管的外型结构图图6-15数码管接线方式第6章人机交互接口452.LED显示器工作原理共阳极接法:就是将LED显示器(数码管)的8段发光二极管的阳极(二极管正端)连接在一起。共阴极接法:就是将LED显示器(数码管)的8段发光二极管的阴极(二极管负端)连接在一起3.LED显示器字形编码一个LED显示器(数码管)由7段LED和一个小数点位DP组成,一共是8位,即8个发光二极管。这正好是一个字节的长度。所以,可以直接将一个数码管的8段LED与单片机的8位并行I/O端口相连,使之建立对应关系。通过控制单片机对应I/O端口的输出电平,就可以使数码管显示出相应的字符或数字。第6章人机交互接口46LED显示器(数码管)各段与段码各字节之间的对应关系为:段码位D7D6D5D4D3D2D1D0显示段dpgfedcba6.2.2LED显示方式根据LED数码管数量和控制的需要,LED显示器有静态显示控制和动态显示控制两种控制方式。1.静态显示接口静态显示是指各个LED数码管上能稳定地同时显示各自的字符并维持不变,直到显示下一个字符为止。相应的发光二极管恒定导通或恒定截止。第6章人机交互接口47(1)并行方式扩展LED显示接口图6-16LED显示接口电路第6章人机交互接口48(2)串行方式扩展LED显示接口图6-174位LED显示器静态控制接口电路第6章人机交互接口492.动态显示接口动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常,各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的位选线(公共阴极或阳极)由另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示必须采用扫描方式,虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人同时显示的感觉。第6章人机交互接口50图6-18LED动态扫描电路第6章人机交互接口516.2.3LED显示管理芯片MAX7219MAX7219是MAXIM公司生产的7段共阴极LED数码管的驱动芯片,每一片MAX7219最多可驱动8位LED数码管或64个单独的发光二极管。它集BCD码译码器、多路扫描器、段驱动和位驱动电路于一体,内含8×8位双口静态SRAM,可保存8位LED数据。外围接口电路简单,使用方便,仅需三根I/O口线便可提供串行数据DIN、时钟信号CLK和数据锁存信号LOAD。即可驱动多块LED进行动态显示,并可串联使用。常规的动态显示往往具有亮度不够、闪烁等缺点,而静态显示又有硬件电路复杂,线路板设计成本高等缺陷,若采用MAX7219驱动LED,则可克服上述缺点,大大简化硬件电路和减小软件的工作量。第6章人机交互接口521.MAX7219引脚及功能介绍DIN:串行数据输入端DOUT:串行数据输出端,用于级连扩展LOAD:装载数据输入CLK:串行时钟输入DIG0~DIG7:8位LED位选线,从共阴极LED中吸入电流SEGA~SEGGDP7段驱动和小数点驱动ISET:通过一个10k电阻和Vcc相连,设置段电流第6章人机交互接口53MAX7219数据包格式D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0××××←地址→←数据→其中D15~D12位不用,D11~D8位为内部5个控制寄存器和8个LED显示数据寄存器的地址,D7~D0位为5个控制寄存器和8个LED数码管待显示的数据,因为控制寄存器与显示数据寄存器独立编址,所以可以通过程序对每个寄存器进行操作。一般情况下,程序先送控制命令,后向显示寄存器送数据,每16位为一组,从高位地址字节最高位开始送,直到低位数据字节最后一位。第6章人机交互接口542.MAX7219寄存器功能及使用MAX7219有14个内部寄存器,分别为8个位驱动寄存器和6个状态寄存器,命令寄存器被初始化后,如不重新初始化,则7219保持初始化的那些状态。表6.10寄存器地址分配表第6章人机交互接口553.MAX7219接口应用第6章人机交互接口56//管脚定义数据发送及MAX7219初始化子程序。#defineLOAD=P1^0; //MAX7219片选12脚#defineDIN=P3^1; //MAX7219串行数据1脚#defineCLK=P3^0; //MAX7219串行时钟13脚 //寄存器宏定义#defineDECODE_MODE0x09 //译码控制寄存器#defineINTENSITY0x0A //亮度控制寄存器#defineSCAN_LIMIT0x0B //扫描界限寄存器#defineSHUT_DOWN0x0C //关断模式寄存器#defineDISPLAY_TEST0x0F //测试控制寄存器voidWrite7219(unsignedcharaddress,unsignedchardat);voidInitial(void);第6章人机交互接口57voidWrite7219(unsignedcharaddress,unsignedchardat){unsignedchari;//地址、数据发送子程序LOAD=0;//拉低片选线,选中器件//发送地址for(i=0;i<8;i++)//移位循环8次{CLK=0;//清零时钟总线DIN=(bit)(address&0x80);//每次取高字节address<<=1;//左移一位CLK=1;//时钟上升沿,发送地址}for(i=0;i<8;i++)//发送数据{CLK=0;DIN=(bit)(dat&0x80);dat<<=1;CLK=1;//时钟上升沿,发送数据}LOAD=1;//发送结束,上升沿锁存数据}voidInitial(void)//MAX7219初始化,设置MAX7219内部的控制寄存器{Write7219(SHUT_DOWN,0x01);//开启正常工作模式(0xX1)Write7219(DISPLAY_TEST,0x00); //选择工作模式(0xX0)Write7219(DECODE_MODE,0xff); //选用全译码模式Write7219(SCAN_LIMIT,0x07); //8只LED全用Write7219(INTENSITY,0x04); //设置初始亮度}第6章人机交互接口58

6.3LCD液晶显示接口LCD(liquidcrystaldisplay)液晶显示器是一种功耗极低的显示器件,广泛用于智能仪表、便携式电子产品的显示,能够显示文字、曲线、图形等信息,其显示界面较之数码管有了质的提高。,具有低压、微功耗、无电磁辐射、显示清晰、体积小、抗干扰能力强等特点,在单片机系统中得到了广泛的应用。6.3.1LCD显示器的基本原理1.LCD显示器简介LCD显示器由于类型、用途不同,其性能、结构不可能完全相同,但其基本形态和结构却是大同小异。第6章人机交互接口591)LCD显示器的结构液晶显示器的结构图如图6-21所示。不同类型的液晶显示器件其组成可能会有不同,但是所有液晶显示器件都可以认为是由两片光刻有透明导电电极的基板,夹持一个液晶层,封接成一个偏平盒,有时在外表面还可能贴装上偏振片等构成。图6-21液晶显示器结构图第6章人机交互接口60构成液晶显示器件的三大基本部件(1)电极基板(2)液晶材料(3)偏振片2)LCD显示器的特点液晶显示器有以下显著特点。(1)低压微功耗:工作电压只有3~5V,工作电流只有几个μA/cm2。(2)平板型结构:LCD显示器内由两片平行玻璃组成的夹层盒,面积可大可小,且适合于大批量生产,安装时占用体积小,减小了设备体积。(3)被动显示:液晶本身不发光,而是靠调制外界光进行显示。因此适合人的视觉习惯,不会使人眼睛疲劳。(4)显示信息量大:LCD显示器像素很小,相同面积上可容纳更多信息。(5)易于彩色化(6)没有电磁辐射:使用不会产生电磁辐射,对环境无污染,有利健康。(7)寿命长:LCD器件本身无老化问题,寿命极长。第6章人机交互接口612.LCD显示器分类在实际应用中,一般是直接使用专用的LCD显示驱动器和LCD显示模块LCM。LCM是把LCD显示屏、背景光源、线路板和驱动集成电路等部件构造成一个整体,作为一个独立部件使用。其特点是功能较强、易于控制、接口简单,在单片机系统中应用较多。LCD显示模块LCM按显示功能可分为:LCD段式显示模块、LCD字符型显示模块、LCD点阵图形显示模块三类。第6章人机交互接口626.3.2液晶显示控制器的原理与应用实例1.单片机与笔段型LCD的接口图6-22笔段型接口电路第6章人机交互接口632.单片机与字符型LCD的接口字符型液晶显示模块是一类专用于显示字母,数字,符号等的点阵型液晶显示模块,字符型液晶显示模块是由若干个5×8或5×11点阵块组成的字符块集。每一个字符块是一个字符位,每一位都可以显示一个字符,字符位之间空有一个点距的间隔起着字符间距和行距的作用;这类模块使用的是专用于字符显示控制与驱动的IC芯片。因此,这类模块的应用范围仅局限于字符而显示不了图形,所以称其为字符型液晶显示模块。第6章人机交互接口64(1)字符型液晶显示器HD44780引脚及功能介绍(1)D0~D7:双向的数据总线,LCD数据读写方式可以分为8位及4位两种,以8位数据进行读写则D0~D7皆有效,若以4位方式进行读写,则只用到D7~D4。(2)RS:寄存器选择控制线,当RS=0时,并且做写入的动作时,可以写入指令寄存器;若RS=0,且做读取的动作时,可以读取忙碌标志及地址计数器的内容。如果RS=1则用于读写数据寄存器。(3)R/W:LCD读写控制线,R/W=0时,LCD执行写入的动作,R/W=1时则做读取的动作。(4)EN:使能信号,高电平动作。(5)Vo:亮度调整电压输入控制引脚,当输入0V时字符显示最亮。第6章人机交互接口65(2)HD44780指令集LCD控制器HD44780内有多个寄存器,通过RS和R/W引脚共同决定选择哪一个寄存器,选择情况如表:RSR/W寄存器及操作00指令寄存器写入01忙标志和地址计数器读出10数据寄存器写入11数据寄存器读出总共有11条指令,它们的格式和功能如下:第6章人机交互接口66RSR/WD7D6D5D4D3D2D1D00000000001功能:清除屏幕,将显示缓冲区DDRAM的内容全部写入空格(ASCII20H)。光标复位,回到显示器的左上角。地址计数器AC清零。2.光标复位命令格式:功能:设定当写入一个字节后,光标的移动方向以及后面的内容是否移动。当I/D=1时,光标从左向右移动;I/D=0时,光标从右向左移动。当S=1时,内容移动,S=0时,内容不移动。RSR/WD7D6D5D4D3D2D1D000000000101.清屏命令格式:第6章人机交互接口673.输入方式设置命令格式:RSR/WD7D6D5D4D3D2D1D000000001I/DS功能:设定当写入一个字节后,光标的移动方向以及后面的内容是否移动。当I/D=1时,光标从左向右移动;I/D=0时,光标从右向左移动。当S=1时,内容移动,S=0时,内容不移动。4.显示开关控制命令格式:RSR/WD7D6D5D4D3D2D1D00000001DCB功能:控制显示的开关,当D=1时显示,D=0时不显示。控制光标开关,当C=1时光标显示,C=0时光标不显示。控制字符是否闪烁,当B=1时字符闪烁,B=0时字符不闪烁。第6章人机交互接口685.光标移位置命令格式:RSR/WD7D6D5D4D3D2D1D0000001S/CR/L**功能:移动光标或整个显示字幕移位。当S/C=1时整个显示字幕移位,当S/C=0时只光标移位。当R/L=1时光标右移,R/L=0时光标左移。6.功能设置命令格式:RSR/WD7D6D5D4D3D2D1D000001DLNF**功能:设置数据位数,当DL=1时数据位为8位,DL=0时数据位为4位。设置显示行数,当N=1时双行显示,N=0时单行显示。设置字形大小,当F=1时5×10点阵,F=0时为5×7点阵。第6章人机交互接口697.设置字库CGRAM地址命令格式:RSR/WD7D6D5D4D3D2D1D00001CGRAM的地址功能:设置用户自定义CGRAM的地址,对用户自定义CGRAM访问时,要先设定CGRAM的地址,地址范畴0~63。8.显示缓冲区DDRAM地址设置命令格式:RSR/WD7D6D5D4D3D2D1D0001DDRAM的地址功能:设置当前显示缓冲区DDRAM的地址,对DDRAM访问时,要先设定DDRAM的地址,地址范畴0~127。第6章人机交互接口709.读忙标志及地址计数器AC命令格式:RSR/WD7D6D5D4D3D2D1D001BFAC的值功能:读忙标志及地址计数器AC,当BF=1时则表示忙,这时不能接收命令和数据;BF=0时表示不忙。低7位为读出的AC的地址,值为0~127。10.写DDRAM或CGRAM命令格式:RSR/WD7D6D5D4D3D2D1D010写入的数据功能:向DDRAM或CGRAM当前位置中写入数据。对DDRAM或CGRAM写入数据之前须设定DDRAM或CGRAM的地址。第6章人机交互接口7111.读DDRAM或CGRAM命令格式:RSR/WD7D6D5D4D3D2D1D011读出的数据功能:从DDRAM或CGRAM当前位置中读邮数据。当DDRAM或CGRAM读出数据时,先须设定DDRAM或CGRAM的地址。(3)字符型液晶显示模块HD44780的应用1)直接访问方式直接访问方式是把字符型液晶显示模块作为存储器或I/O接口设备直接连到单片机总线上,采用8位数据传输形式时,数据端DB0~DB7直接与单片机的数据线相连,寄存器选择端RS信号和读写选择端R/W信号利用单片机的地址线控制。使能端E信号则由单片机的RD和WR信号共同控制,以实现HD44780所需的接口时序。第6章人机交互接口722)间接访问方式间接控制方式是计算机把字符型液晶显示模块作为终端与计算机的并行接口连接,计算机通过对该并行接口的操作间接实现对字符型液晶显示模块的控制。3.图形液晶显示接口图形液晶显示器是采用点阵方式来显示汉字及复杂图形,广泛应用于游戏机、笔记本电脑和彩色电视等设备中。图形液晶显示一般都需与专用液晶显示控制器配套使用,属于内置式LCD。常用的图形液晶显示控制器有SED1520,HD61202,LCD12864,T6963C,HD61830A/B,SED1330/1335/1336/E1330,MSM6255,CL-GD6245等。各类液晶显示控制器的结构各异,指令系统也不同,但其控制过程基本相同。第6章人机交互接口7312864液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置国标GB2312码简体中文字库(16×16点阵)、128个字符(8×16点阵)及64×256点阵显示RAM(GDRAM)。可与CPU直接接口,提供两种界面来连接微处理机:8位并行及串行两种连接方式。具有多种功能:光标显示画面移位、睡眠模式等。(1)各引脚序号及其名称如表6.14所示(2)汉字显示坐标如表6.15所示表6.15汉字显示坐标X坐标第一行80H81H82H83H84H85H86H87H第二行90H91H92H93H94H95H96H97H第三行88H89H8AH8BH8CH8DH8EH8FH第四行98H99H9AH9BH9CH9DH9EH9FH第6章人机交互接口74引脚号引脚名称方向功能说明1VSS-模块的电源地2VDD-模块的电源正端3V0-LCD驱动电压输入端4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号5R/W(SID)H/L并行的读写选择信号;串行的数据口6E(CLK)H/L并行的使能信号;串行的同步时钟7DB0H/L数据08DB1H/L数据19DB2H/L数据210DB3H/L数据311DB4H/L数据412DB5H/L数据513DB6H/L数据614DB7H/L数据715PSBH/L并/串行接口选择(H:并行模式,L:串行模式)16NC空脚17/RETH/L复位低电平有效18NC空脚19LED_A-背光源正极(LED+5V)20LED_K-背光源负极(LED-OV)表6.14LCD12864液晶显示器引脚序号及名称(H:高电平,L:低电平)第6章人机交互接口75(3)数据发送模式并行模式时序图,如图6-26。图6-26并行模式时序图第6章人机交互接口76串行模式时序图,如图6-27。图6-27串行模式时序图第6章人机交互接口77(4)指令集

第6章人机交互接口78第6章人机交互接口79第6章人机交互接口80第6章人机交互接口81LCD12864显示实验,硬件设计如图6-28所示。图6-28LCD12864应用硬件接线图第6章人机交互接口82第6章人机交互接口83DelayNus(5);//微秒级延时LCD12864_EN(HIGH);}voidLCD12864WriteCommand(unsignedcharcommand){ //向LCD12864写命令LCD12864_PORT(command);LCD12864_RS(LOW);LCD12864_RW(LOW);LCD12864_EN(LOW);DelayNus(5);//微秒级延时LCD12864_EN(HIGH);}voidLCD12864SetXY(unsignedcharx,unsignedchary)//对LCD12864设置坐标输入:x横坐标y纵坐标{switch(y){case1:{LCD12864WriteCommand(0x80|x);}break;case2:{LCD12864WriteCommand(0x90|x);}break;case3:{LCD12864WriteCommand(0x88|x);}break;case4:{LCD12864WriteCommand(0x98|x);}break;default:break;}}第6章人机交互接口84voidLCD12864PrintfString(unsignedcharx,unsignedchary,unsignedchar*s)//LCD12864打印字符串{LCD12864SetXY(x,y);while(s&&*s){LCD12864WriteByte(*s);s++;}}voidLCD12864ClearScreen(void)//LCD12864清屏{LCD12864WriteCommand(0x01);DelayNus(20);}voidLCD12864Init(void)//LCD12864初始化{LCD12864_MD(HIGH);LCD12864WriteCommand(0x30);//功能设置,一次送8位数据,基本指LCD12864WriteCommand(0x0C);//令集,整体显示,游标off,游标位置offLCD12864WriteCommand(0x01);//清DDRAMLCD12864WriteCommand(0x02);//DDRAM地址归位LCD12864WriteCommand(0x80);//设定DDRAM7位地址000,0000到地址计数器ACLCD12864ClearScreen();}第6章人机交互接口856.4打印机接口在单片机应用系统中,微型打印机多用于各种智能化仪表、仪器的输出设备。用于打印报表,票证等场合。6.4.1GP16微型打印机及接口1.GP16打印机的接口及功能GP16打印机由以8039单片机为主的控制器和Model150Ⅱ型打印机芯二部分组成。GP16-Ⅱ为GP16的改进型,控制器为8031单片机。每一行可打印96个点迹,共可打印16个5×7阵的字符。GP16内部有三态锁存器,能锁存数据总线上的数据,故GP16可以直接与单片机数据总线相连而不须外加锁存器。GP16有12根信息线与主机相连,当采用中断方式控制打印时,其BUSY线可连到主机的INT0或INT1,CS端与主机的地址线相连以确定它的设备地址号。第6章人机交互接口86GP16打印机的接口信号如表所示12345678910111213141516+5V+5VI/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7CSWRRDBUSY地地其中:I/O0~I/O7:是双向三态数据总线,即命令、状态和数据传输线,用于GP16与CPU之间传输信息。CS:设备选择线。WR:写信号线。RD:读信号线。BUSY:打印机状态输出线,高电平表示打印机忙,BUSY线还可供CPU查询或作为中断请求线。第6章人机交互接口872.GP16打印机的打印命令和工作方式(1)打印命令及打印方式GP16的打印命令有两个字节,格式如下:

第一个字节第二个字节D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0操作码点行数n打印行数

NNGP16的命令编码格式。D7D6D5D4功能1000空走纸1001打印字符串1010十六进制数据打印1011图形打印第6章人机交互接口883.GP16与单片机的接口图6-29为GP16与8031数据总线连接的接口电路,图中BUSY接INT1(P3.3),因此,接口电路直接可用于中断方式(INT1)。如要以查询方式工作时,BUSY可以不连接,通过查询状态字来获取BUSY的状态。根据图6-29中的连接方式,GP16打印机的地址为7FFFH,读取GP16状态字时,8031执行如下程序:图6-29GP16与8031数据总线的接口编写打印如下二行字符串的程序。WELCOME2011第6章人机交互接口89#include<reg51.h>#defineCOMGP16XBYTE[0x7FFF]sbitCS_P=P2^7;sbitBUSY_P=P3^3;uncharcodeline[]={0x57,0x45,0x4c,0x43,0x4f,0x4d,0x45};//预定义字符信息“WELCOME”voidprnchar(ucharx)//字符打印函数{P0=x;//输出一个ASCII字符CS_P=0;//产生低电平CS_P=1;//产生上升沿while(BUSY_P);//查询等待打印结束}voidprnline(void)//行打印函数{uchari;for(i=0;i<=6;i++)//打印输出一行预定义信息{P1=line[i];CS_P=0;CS_P=1;while(BUSY_P);}}voidmain(void){COMGP16=0x9A;//置命令字COMGP16=0x02prnline();//打印输出“WELCOME”prnchar(0x0D);//换行prnchar(0x32);//打印输出“2011”prnchar(0x30);prnchar(0x31);prnchar(0x31);}第6章人机交互接口906.4.2TPµP-40A/16A打印机及接口1.TPµP-40A/16A打印机的主要性能、接口要求及时序TPμP-40A/16A是一种超小型的智能点阵式打印机。TPμP-40A与TPμP-16A的接口与时序要求完全相同,操作方式相近,硬件电路及插脚完全兼容,只是指令代码不完全相同。TPμP-16每行可打印16个字符。TPμP-40A每行可打印40个字符,字符点阵码为5×7,内部有一个240种字符的字库,并有绘图功能。它们都具有标准的Centronic并行接口标准,便于与各种单片机和智能化仪器仪表联机使用。TPμP-40A/16

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论