文档库 最新最全的文档下载
当前位置:文档库 › 第一章 单片机结构与时序

第一章 单片机结构与时序

第一章 单片机结构与时序
第一章 单片机结构与时序

第一章MCS-51单片机结构与时序

总学时8学时

教学目的:通过本章的学习,使学生了解MCS-51系列单片机的结构和工作原理,包括硬件和软件的构成以及相互配合。初步建立采用单片机和中小规模集成电路来构建一个单片机应用(控

制)系统的概念(思路)。

教学重点:1、单片机组成部件及作用

2、引脚功能和工作方式;单片机最小系统。

3、单片机工作时序

教学难点:1、PC.PSC.SP控制作用

2、ALE/PROG RD WR HE PSED的控制作用

教学方法:讲授法

教学过程:第一章MCS-51单片机结构与时序

第一节绪论

单片机(single chip microcomputer )又称单片微型计算机。其实质仍然是计算机,主要用于工业控制而不是像通用计算机主要用于海量数据计算。故在内部结构和功能上,它还与通用计算机有一定的区别。如功能简单,存储容量小,自身不能进行的开发,要借助开发机进行硬件测试和软件修正以及程序的固化。

一、计算机的经典结构

在设计计算机时匈牙利籍数学家冯.诺依曼提出的“程序存储”和“二进制运算”的思想。

1、二进制运算决定了计算机的硬件结构。

二进制运算包括二进制算术运算和逻辑运算(逻辑运算的基础是逻辑代数,又称布尔代数)。逻辑量只表示两种不同的状态,可以对应电子线路中的电阻高低、二极管、三极管的通断等。因此,二进制运算决定了计算机可以由电子元器件,特别是集成电路组成。

2、程序存储决定了软件控制硬件工作。因此,计算机的基本结构包括硬件和软件两部分。

计算机的工作原理:由输入设备将软件送入存储器,然后由控制器逐条取出存储器中的控制软件,并运行,再将运行结果送到输出设备。

3、计算机的经典结构

根据以上思路,计算机由运算器、控制器、存储器和输入设备、输出设备组成。

图1.1.1 计算机经典结构图

对经典结构中各部分有机组合,就构成了微型计算机。由于各部分的具体电路(元器件及元器件的组合方式)不同,又形成了各种应用形态。

二、微型计算机(Microcomputer)组成及应用形态

1、微型计算机组成

将经典结构中的运算器、控制器组合在一起,再增加一些寄存器等,集成为一个芯片,这个芯片称为微处理器(Microcontroller),即CPU(Center Processing Unit )。这样微型计算机就由CPU、存储器、输入/输出(I/O)接口组成。再配以输入/输出(I/O)设备和软件,就构成了微型计算机应用系统,简称微型计算机。

图1.1.2 微型计算机系统结构图

2、应用形态

(1)系统机(多版机)

微处理器CPU、存储器、I/O端口电路和总线接口等组装在一块主板上,再通过系统总线和外设适配卡连接键盘、显示器、打印机等,再配上系统软件就构成了一个完整的计算机系统。

图1.1.3 微型计算机结构图

这就是办公室、家庭使用的PC机的典型形态。由于较大的存储容量(存储器、硬盘、软盘、光盘等),输入、输出设备齐全,而且软件丰富(系统软件和应用软件),能够进行海量计算和应用系统开发。

(2)单板机

将CPU、存储器、I/O接口芯片和简单的I/O设备等装配在一块线路板上,再配上监控程序(固化在ROM中)就构成了单板机。

图1.1.4 单板机结构图

实验开发系统就是单板机的典型形态:由于有硬件和软件,能独立运行,但I/O设备简单,特别是软件资源少(只有监控程序),不能应用于海量计算和大型应用程序的开发,主要用于计算机原理教学和简单的测试(调试)系统。

(3)单片机

将CPU、存储器、I/O接口电路集成到一块芯片上,这个芯片称为单片机。

图1.1.5 单片机结构图

单片机作为一片集成了微型计算机基本部件的集成电路芯片,与通用计算机相比,自身不带软件,不能独立运行;存储容量小,没有输入、输出设备,不能将系统软件和应用软件存储到自身的存储器中并加以运行,它自身没有开发功能。所以,必须借助开发机(一种特殊的计算机系统)来完成开发任务。即相应的软、硬件设计和调试以及将调试好的程序固化到自身的存储器中。

完成单片机的硬件和软件设计、调试,把软件固化(下载)到单片机应用系统中,是《单片机原理与应用》课程的主要学习任务,也是检查这门课程学习效果的基本标准。

三、单片机应用系统开发

1、单片机开发系统和单片机应用系统开发

单片机开发系统又称为开发机或仿真机。

单片机的实质仍然是计算机,其工作的基本条件就是软件配合硬件才能正常工作。但单片机自身没有开发能力。即不能用自身系统检查硬件故障和软件错误;也不能用自身的系统将软件程序写入自己的存储器中。在设计计算机应用系统时,完成软件、硬件设计后,必须使用开发系统(其它设备)完成软件、硬件的测试和程序写入。完成这一目标的过程,称为单片机应用系统的开发。完成开发的设备,称开发系统(仿真器)

2、单片机应用系统开发方式

(1)、仿真:利用开发机的资源(CPU、存储器、I/O设备等)来模拟欲开发的单片机应用系统(即目标机)的CPU、存储器和I/O操作,并跟踪目标机的运行情况。然后再将调试好的程序固化到目标机中。即把开发机上的单片机出借给目标机,因为开发机本身具有开发能力,通过开发机调试目标机,调试完成后,再把程序固化到目标机,目标机就可以独立运行了。

1)、独立型仿真机开发

独立型仿真器采用与单片机应用系统相同类型的单片机做成单板机形式,板上配有LED显示器和简单键盘,,可以进行源程序的编辑、汇编、运行调试。

2)利用非独立型仿真器开发

独立式仿真器还配有串行按口,能与普通微机系统连接,利用普通微机系统配备的组合软件进行源程序的编辑、汇编和联机仿真器,用仿真器进行程序固化。

(2)在系统与在应用仿真

将单片机先安装到印制线路板上,然后通过PC机将程序下载到目标系统,实现在系统和在应用编程功能。具有这种功能的单片机内部必须具有EPROM或FLAS侦测逻辑电路,调试器和烧写器。如:SST公司的SST89E54,89E58;MICROCHIP公司PIC16F87X;A TMEL公司的A T89S5X 等单片机芯片均有此功能。

第二节 MCS—51单片机的结构和引脚功能

概述:MCS—51是美国INTEL公司生产的一个高档8位单片机系统的总称。属于这一系列,即以51为核心的单片机芯片主要有:8031/8051,8751;8032/8052;80C51/87C51/80C31;还有A TMEL公司的A T89S51,A T89S51等品种,它们的工作原理和内部构架相同,引脚和指令系统相互兼容,主要在内部功能单元数量,存储器类型和容量以及应用上有些区别。

一、单片机内部结构

从功能上划分,MCS-51内部结构可以分为5个部分:CPU、存储器、I/O端口、定时/计时器、中断系统。

图1.2.1 MCS-51结构图

1、CPU结构

8051内部CPU是一个字长为8位的中央处理单元(center processing unit)它对数据的处理是按资字节为单位的。

CPU包括三部分:运算器、控制器和专用寄存器。

(1)运算器:由一个算术逻辑单元ALL、一个布尔处理器和两个8位暂存器组成。能给实现数据的

四则运算(加、减、乘、除),逻辑运算(与、或、非、异或等),数据传递,移位,判断,程序转移等功能。

(2)控制器:由指令寄存器IR,指令译码器ID,定时及控制逻辑电路等组成。

指令寄存器IR保存当前正在执行的一条指令。指令的内容含指令操作码和地址码。操作码送往指令译码器ID,经译码后形成相应的微操作信号,地址码送往操作数地址形成电路,以形成实际的操作数地址。定时与控制部件完成取指令、执行指令、存取操作数和运算结果,向其它部件发出各种控制信号,协调各部件的工作。

(3)专用寄存器:主要用来指示当前要执行指令的内存地址,存放操作数和指示指令执行后的状态。

包括程序计数器PC、累加器A、程序状态字PSW寄存器,堆栈指示器SP。数据指针DPTR寄存器和通用寄存器B。

1)程序计数器PC(program counter)

a)定义:程序计数器PC是一个二进制16位的程序地址寄存器,是由16个触发器构成的计数器。

寻址范围216=64K。是MCS-51单片机中唯一一个16位寄存器。

b)功能:用来存放将要执行指令的内存地址,CPU既可以对它并行存取,又可自动加“1”。

迄今为止,世界上的所有电子计算机仍然是冯.诺依曼式的。这就是说,计算机的程序是以二进制形式存放在内存储器中,CPU的任务是自动逐条执行已放入内存中的指令,以完成某项任务。为了确保CPU能自动连续执行程序,芯片设计师专门在CPU中集成了一个程序计数器PC,在程序执行前用来存放程序在内存中的起始地址。CPU根据PC中的地址就可以到内存中取出第一条指令的第一个字节,PC随后加“1”,自动指向第一条指令的第二个字节;CPU再根据PC 就可以取出第一个指令的第二个字节;PC再次自动加“1”指向第一个指令的下一个字节或第二条指令的第一个字节。以此类推。这样,CPU在执行完第一条指令时,PC实际上已得到了第二条指令的起始地址。因此,人们只要在程序执行前预先把要执行的程序的指令码按照顺序放到程序存储器中,并把要执行的程序的起始地址放入程序计数器PC,CPU就能让程序自动执行。PC 的自动加“1”功能确保了存储器中程序的连续执行。

在单片机设计中,在电路结构上设计成单片机复位时PC=0000h,故,程序的首起始地址通常0000h 开始。

2)累加器(accumulator)

a)定义:累加器A又记作ACC,是一个具有特殊用途的二进制8位寄存器。

b)功能:专门用来存放操作数和运算结果。

最初的计算机,其操作数包括四部分地址。

操作码字段用于指示机器执行何种操作。第一操作数用于指示两个操作数中第一个操作数在内存中的地址;第二操作数可以使机器找到参加运算的第二个操作数;结果操作数用于存放操作结果。

下一条指令地址,指示机器按此地址取出下一条要执行指令的指令码。这种指令格式的特点是层次、概念清楚,逻辑关系简单明了。缺点是指令码太长,严重影响了指令的执行速度。

MCS-51单片机采用了地址压缩技术,把四字段地址压缩到一个,故称单地址指令格式。

其中“操作数”相当与四地址中的“第一操作数”。“第二操作数”和“结果操作数”合二为一,由累加器A充任。物理地址为E0H,且在操作码中隐含。在助记符中写有A等,只是为了便于

理解,它的二进制代码是隐含在操作码中的。“下一条指令地址由程序计数器PC充当。PC自动加“1”,就能使MCS-51连续按顺序执行程序。因此在指令执行前,用户通常必须要安排一条传送指令,预先把第二操作数传送到累加器A。

3)通用寄存器B(General Purpose Register)

a)定义:通用寄存器B也是一个8位二进制的寄存器,是专门为乘法和除法设置的寄存器,但也是

可以作为普通寄存器使用。

b)功能:在做乘法和除法之前,用来存放乘数和除数,在乘法和除法完成后,用来存放积的高八位

和除法的余数。

4)程序状态字PSW(program status word)

a)定义:程序状态字PSW也是八位二进制寄存器

b)功能:用来存放指令执行后的状态(程序设计中,可以根据状态来控制程序执行)。PSW中有的

位的值(状态),通常是在执行指令的过程中由硬件电路自动形成的,如:CY,AC,OV,P位,有的也可以根据需要采用位送指令加以改变,如:FO,RSI,RSO位。各位的定义如下:

其中:

CY(carry):进位标志位,用于表示加减运算过程中最高位(累加器A7)有无进位或借位。有进位或借位CY=1,否则CY=0。

AC(auxiliary carry):辅助进位标志位,用于表示加减运算中累加器低四位(A3)有无向高四位(A4)进位或借位,有:AC=1,无:AC=0。

F0(FLAG ZERO):用户标志位。它是用户根据需要通过传送指令确定的,用于决定用户程序的流向。

RS1,RS0:寄存器组选择位,即它控制(选择)了当前使用的寄存器组,也就是它确定了当前使用寄存器组的物理地址。

在MCS-51的片内存储器中,有32个8位寄存器,但这32位寄存器只给出了8个寄存器的地址。

R0-----R7(通常用R n表示)。为了用这8个地址表示32个寄存器(存储空间),只能将这32个寄存器进行分组,即分成4组。这样,用R0-----R7,即R n就可以表示这4组中的任意一组中的一个寄存器(均是8位的)。也就是说通过分组后,从逻辑上能用R n把它们区分开来。如R0-代表(第0组的)第一个寄存器,则R5就表示(第0组的)第六个寄存器。故将R n称为这32个工作寄存器的逻辑地址。“逻辑”概念的实质就是各组之间相互区分与屏蔽,达到方便保护其中数据的目的。但是,用R n只能区分某一组中的8个寄存器,具体使用了哪一组,还要其他条件,即RS1 RS0。既然共有四组,可用22表达。故可以通过改变RS1 和RS0的值决定哪一组的R0-----R7。这对我们进行程序设计是非常有利的。具体地址表见P26表2-2

例:将40H中的数据传送到20H单元中去。

Mov psw,#00H;

Mov r0,#20H

Setb rs0

Mov r0,#40H

Mov a,@r0

Clr rs0

Mov @r0,a

OV(overflow)溢出标志位:提示运算结果是否发生了溢出,即累加器A中运算结果是否超出了其能表示的数的范围,即-128——+127,由机器执行过程中自动形成。溢出OV=1,否则OV=0。人们可以根据OV的状态判断结果是否正确。

计算公式为:OV=CP CS=CP*CS+CP*CS

其中CP为最高进位位,CS是次高进位位。

P(Pority):奇偶标志位。用于指示运算结果中“1”的个数的奇偶行。机器执行中自动形成。若“1”的个数为奇数,则P=1 ,为偶,P=0。

5)堆栈指针SP(STACK POINTER)

a)定义:SP是一个8位寄存器,能自动加“1”或减“1”

b)功能:专门用来寄放堆栈的栈顶地址。

MCS-51中,在片内RAM中设置了一个特殊的存储区。CPU对这个区域的数据存取时必须按照“先进后出”或“后进先出”的原则进行。这样的特殊存储区域称为堆栈。为了实现对堆栈中数据的操作,芯片设计者在CPU中设计了一个堆栈指示器SP,存放堆栈元顶地址。SP具有自动加“1”或减“1”功能,使得SP中的数据始终是栈顶地址。CPU根据SP中的地址对堆栈中的数据进行存取。

在SP中地址的变化方向上,MCS-51采用的是上推堆栈的设计方案,即数据入栈时SP中地址增长,故当堆栈中没有数据时,栈顶与栈底地址必定重合。

8051的片内共有128B的RAM存储单位,地址范围为00H~FFH,原则上,这个区域中的任何子域都可以作为堆栈区。实际应用中,常使用30H-7FH中的部分空间作为堆栈区。堆栈在片内RAM中的具体物理位置,由堆底决定。可以用下列指令定义:mov sp,#data

这样就定义了从data+1~7FH为堆栈区

6)数据指针DPTR(DA TA POINTER)

a)定义:DPTR是一个16位寄存器,由两个8位寄存器DPH和DPL拼接而成。

b)功能:用来存放片内ROM的地址,也可用来存放片内外RAM和ROM的地址。

2、存储器

MCS-51的存储器不仅有ROM和RAM之分,而且有片内和片外之分。MCS-51片内存储器集成在芯片内部,是MCS-51的一个组成部分;片外存储器是外按的专用存储器芯片。MCS-51只提供地址和控制命令,需要通过印刷电路板上三总线才能联机工作。

在物理上设有4个存储空间

片内程序存储器

程序存储空间ROM

片外程序存储器

片内数据存储器

数据存储空间RAM

片外数据存储器

MCS-51对这些空间的存取(访问)是通过不同的控制信号和不同的指令进行的。故这4个物理空间在逻辑上,又可以划分为3个逻辑空间,即:

片内,片外统一编址的64KROM

片内128B数据存储空间,+SFR

片外,64K数据存储空间

MCS-51存储器的地址分配是教材P24,图2.12和图2.13

片内RAM:80C51片内RAM共有128B存储单元,分为工作寄存器区(00H—1FH ),位寻地址

(20H—2FH)和通用寄存器区(30H—7FH)。

工作寄存器用R n(R0-R7)进行RS1,RS0

位寻地址(P27表2.3)的16个单元具有双重功能,它们既可以进行字节存取,又可以进行位存取。进行位存取时,位地址的表示方法有两种,一种就是直接分配给每一位一个特定的地址(16×8=128位)故其地址范围为00H—7FH,见P27表2.3;另一种方法是采用字节地址和位数相结合的方法表示某一位地址,如09H这个位可以表示成21H.1。

在MCS-51单片机中,还设置21个特殊功能寄存器(SFR)。特殊功能寄存器(SPECIAL FUNETIN REGIDTER)是MCS-51的各功能部件的状态及控制寄存器。SFR综合的,实际的反映了整个单片机的基本系统内部的工作状态及工作方式。它们与片内RAM统一编址,它们离散地分布在80H-FFH的地址空间中,字节地址能被8整除的(即十六进制的地址码尾数为0或8的)单元可以进行字节寻址或位寻址。

访问SFR只允许用直接寻址方式,而且地址的表示方法也只能用符号地址或物理地址(即要用寄存器的名称符号,而不是寄存器号。如累加器的名称符号为ACC,它的寄存器号为A)。P28表2.4。

3、I/O端口

I/O端口,也称为I/O接口或I/O通路

功能:是MCS-51与外部实现控制和交换的通道,分为并行端口和串行端口。

(1)并行I/O端口

80C51有4个I/O端口,分别为P0—P3,它们都有双向功能每个端口都有一个8位数据输出锁存器和一个8位的数据输入缓冲器。4个锁存器与端口名称相同,皆为SFR中的一个。

由于4个端口的结构不同,它们的功能和作用也不同,通常P0口作为低8位地址输出口,同

时又可以用作数据输入/输出口,故其后一般跟一个地址锁存器对低位地址锁存。P2口作为高

8位地址输出口,还可以用作译码控制信号。P1口常用作通用I/O口,为CPU传送用户数据。

P3口除作为通用I/O端口外,还具有第二功能。P29表2-5

当4个口作为通用的I/O口是,共有三种操作方式,其含义为:

写端口:即写到端口,就是把CPU中的A或其它寄存器中的数据传送到端口锁存器中,然后由端口自动输出到引脚线上。

读端口:即读出端口,就是把端口锁存器中的数据输送到累加器A中。

读引脚:即读出引脚,就是把引脚上的外部数据输送到内部。

读引脚时一定要先关断端口,即先将端口锁存器置位,这样锁存器的输出使驱动器

T3截止,引脚上的信号就可以通过三态缓冲器输入到内部总线上。故读引脚时,必

须同时有两条指令:ORL P1,#0FFH

MOV A,P1

(2)串行I/O端口

80C51是具有一个全双工可编程串行I/O端口。故可以由TXD串行发出,又可以由RXD 串行接收。它们都利用了P3口的第二功能:RXD(P3.0),TXD(P3.1)。

注:串行通信的三种方式:Array

1)、单工方式:数据只能向一个方向传输。

2)、半双工方式:允许数据向两个方向传输,但不能同时传输,只能交替进行。因此,

可以利用一条传输线进行两个反方向的数据传送。

3)、全双工方式:数据可以同时向两个相反方向传输,因此,需要两条独立的数据通道分别传送两个相反方向数据。

4、定时/计数器:

80C51中有2个16位的定时/计数器T0,T1,它们有定时和计数两种模式。具体内容在第四章中专门讨论。

5、中断系统

80C51可以处理5个中断源发出的中断请求,其中2个外部中断请求INT0,INT1,2个内部定时/计数器中断请求T0,T1,一个内部串行口中断请求、其入口地址见P20.表2-1.具体内容将在第五章中专门讨论。

总的内部结构见P17图2.5

二、80C51引脚及功能

MCS-51系列中,器件引脚的封装有双列直插式和方型封装。

所谓“封装”是指元器件的外型尺寸以及它的引脚和排列。它是设计、制造印刷板电路图的重要参数之一。

80C51有40个引脚,分为端口线,电源线和控制线。

1、端口线(32条)

80C51有4个并行I/O端口(P0~P3),每个端口有8条端口线,用于传送数据和地址。

(1)P0.7~P0.0:为P0口。P1.7为最高位,P0.0为最低位。

使用分两种情况。第一种情况80C51不带片外存储器时,P0口作为通用I/O端口使用,传送数据。此时,输入数据得到缓冲,输出数据得到锁存。不需另接锁存器。另一种情况是80C51外接片外存储器,当CPU访问片外存储器是,P0口先传送片外存储器低8位地址,然后传送CPU对片外存储器的读写数据,此时需带地址锁存器。

(2)P1.7~P1.0:为P1口。用作通用I/O口,主要与除存储器以外的其它设备进行数据交换,如与数据采集卡等连接。

(3)P2.7~P2.0:为P2口。传送片外高8位地址,或作为片选信号端。

(4)P3.7~P3.0:为P3口。除作为通用I/O口外,还有第二功能。

由于各端口的内部结构不同,除上述的用途不同外,其带负载能力也不同,详见P34

2、电源线(2条)

VCC:+5V;VSS:接地。

3、控制线(6条)

(1)ALE/PROG:地址锁存器允许信号输出引脚/编程脉冲输入引脚(只有8751一类的EPROM才会采用ALE/PROG这样的标记,其它类型器件记为ALE)。

在访问片外存储器时,CPU在P0引脚上输出低8位地址的同时,还在ALE/PROG线上输出一个脉冲,其下降沿用于选通片外专用地址锁存器,目的是将低8位地址锁存在专用地址锁存器中,以便空出P0.7~P0.0引脚线去传送随后而来的片外存储器读写数据。在不访问片外存储器时,80C51自动在

ALE/PROG线上输出频率为fosc/6的脉冲序列。该脉冲序列可以用作外部时钟或作为定时脉冲使用。(2)EA/Vpp:内部存储器选择引脚/片内EPROM编程电源输入引脚。控制80C51使用片内ROM还是片外ROM。若EA=1使用片内ROM,若片内ROM已满,自动转到片外ROM。若EA=0,直接

使用片外ROM。

(3)PSEN:片外ROM的选通信号输出引脚。在用MOVC指令访问片外ROM时,80C51自动在PSEN 线上产生一个负脉冲,用于为片外ROM芯片的选通,其它情况下,PSEN线均为高电平封锁状态。

(4)RST/Vpd:复位信号输入脚/备用电源输入脚。

当RST引脚引入2个周期以上高电平时,单片机内部就执行复位操作(即:初始化)。

(5)XTAL1和XTAL2:片内振荡电路接入引脚。

4、80C51片外总线引脚结构见P15图2.4

补充:

RD、WR:片外RAM的读/写控制线。低电平有效。当CPU正在执行MOVX A,@Ri或MOVX A,@DPTR 时,RD上会在某个瞬间变为低电平(WR、PSEN始终为高电平),它与片外RAM的RD相连,控制片外RAM处于读出数据状态;在CPU执行MOVX @Ri, A或MOVX @DPTR, A时,WR上会在某

(补充资料:

1、2764:是紫外线擦洗的EPROM(UVEPROM:ultra violet EPROM)。容量为64/8=8K(213)。它有28条功能引脚,其中13条地址线,8条数据线,3条控制线。

CE:片选输入线,低电平有效(选中)。该输入线用于控制本芯片是否工作。若给CE上加上一个高电平,则本芯片不工作;若给CE上加上一个低电平,则本芯片工作。

OE:允许输出线,控制2764中的数据读出。若给OE上加上一个高电平,则Q7~Q0处于高阻状态;OE=0,Q7~Q0处于读出状态。

PGM:编程输入线,控制2764工作在正常状态,还是编程/效验状态,若给PGM一个50ms的负脉冲,则2764配合VPP可以处于编程状态。

其它引线4条:VCC,VSS,VPP编程电压输入线,NC:空脚。

2、6264:是静态RAM。容量为64/8=8K(213)

它有28条功能引脚。其中13条地址线,8条数据线,4条控制线。

CS1,1

CS:片选输入线。CS1=1,1

CS=0,则本芯片被选中,工作。否则6264不工作。

OE:允许输出线。用于控制从6264中读出的数据是否送到数据线Q7~Q0。若OE=0,则数据可以之间送到数据总线D0~D7,若OE=1,则,读出的数据只能到达6264的内部总线。

WE:写读命令线:WE=0,则6264处于写状态;WE=1,则6264处于读状态。

其它3条:VCC,VSS,NC。)

3、MCS-51对存储器容量的要求

MCS-51所需要的存储容量和存储芯片本身的存储容量不是同一概念。MCS-所需的存储容量由实际单片机应用系统的实时数据和应用程序的数量决定,每个存储单元必须为二进制8位,而且受所选单片机寻址能力所制约;存储器芯片本身的存储容量由所选芯片的型号决定,且每个存储单元的二进制数位不一定是二进制8位。因此,必须从存储器单元的数量和位数两方面同时满足系统要求。例如,系统要求32KRAM,若采用6264则要4块(64/8=8,8×4=32K),若用2116则要16块。

4、MCS-51对存储器地址的分配

在确定外部RAM和ROM的容量以及存储器芯片的型号和数量以后,还必须给每块芯片划定一个地址范围。因为分给存储器的地址范围不同,它和地址译码的联接也不同。例如,1#芯片的地址范围为:

Y。地址分配也与软件编程相联系。

0000H~1FFFH,若要使地址为6000H~7FFFH则CE应接

3

5、地址译码方式

片内地址线:单片机可以直接(或通过外部地址锁存器)和所选存储芯片地址对应联接的那部分地址线。片选地址线:单片机除片内地址线以外的地址线。

片选地址线通常与存储器芯片的CE直接相连或经过地址译码器输出后与它相连,也可以悬空不用。

根据这三种联接方式,单片机地址译码通常分为全译码、部分译码和线选译码。

(1)全译码方式:指所有的片选地址线全部参加译码的工作方式。其特点是存储器每个存储单元只有唯一的一个CPU地址与它一一对应,只要单片机发出这个地址就可以选中存储单元工作,不存在地址重叠现象。但所需地址译码电路较高。

(2)部分译码方式:单片机选线中只有一部分参加了译码,其余部分是悬空的,在这种方式下,无论CPU使悬空的片选地址线上的电平如何变化,都不会影响它对存储单元的选址,故存储器每个存储单元的地址不是唯一的,即地址有重复。

采用这种方式必须把程序和数据放在基本地址范围内(即悬空片选地址线全为低电平时的地址范围)以避免因地址重叠引起程序运行错误。

(3)线选法方式:指片选地址线中的某一条直接与存储芯片(或)相连的工作方式。线选法可能存在地址重叠。

(4)工作速度匹配

访问时间:MCS-51对外部存储器进行读写所需要的时间。是指从它们向外部存储器发出地址码和读写信号到从P0口选通读出数据或保存写入数据所需要的时间。

存储器最大存取时间:是存储器固有的时间(从有关手册查阅或实际测量)。

要求:访问时间要大于存储器最大存取时间。)

2、输入/输出设备扩展

CPU与I/O设备间的数据传送实际上是CPU与I/O接口间的数据传送。

80C51内部有4个并行口和一个串行口,对于简单I/O设备可以直接联接。当系统较为复杂时,往往要借助I/O接口电路完成与I/O设备联接。单片机与I/O设备间的关系如下:

I/O接口电路中能被CPU直接访问的寄存器称为I/O端口。一个I/O接口芯片可以包含几个I/O端口,如数据端口、控制端口等单片机应用系统的设计在某种意义上可以认为是I/O接口芯片的选配和驱动软件的设计。

第三节 MCS-51单片机时序

一、时序:单片机时序是指单片机执行指令时应发出的控制信号的时间序列。这些控制信号在时间

上的相互关系就是CPU的时序。它是一系列具有时间顺序的脉冲信号。

CPU发出的时序有两类:一类用于片内各功能部件的控制,它们是芯片设计师关注的问题,对用户没有什么意义。另一类用于片外存储器或I/O端口的控制,需要通过器件的控制引脚送到片外,这部分时序对分析硬件电路的原理至关重要,也是软件编程遵循的原则,需要认真掌握。

二、时钟周期、机器周期和指令周期

1、时钟周期:又称振荡周期。指为单片机提供定时信号的振荡源周期。是最小的时序单位。

振荡源的频率越高,单片机的工作速度越快。

时钟周期被分成两个节拍P1和P2。每个时钟周期的前半周期P1信号有效,这时CPU通常完成算术逻辑操作;在每个时钟的后半周期P2信号有效,内部寄存器与寄存器之间的数据一般在此状态发生。

2、机器周期:定义为实现特定功能所需要的时间。机器周期按其功能来命名,如取指机器周期等。

MCS-51的机器周期时间是不变的,均为12个晶振周期或6个状态周期。分为S1P1,SIP2;S2P1,S2P2;

3、指令周期:执行一条指令的时间。

按指令执行的时间可分为:单周期、双周期和四周期(只有乘法和除法两条指令)。

时钟周期、机器周期和指令周期均是单片机时序单位。机器周期是单片机计算其它时间值(如波特率、定时器的定时时间等)的基础时序单位。

如MCS -51外接晶振为12MHz ,则: 时钟周期=

f 2=

6

10*121=0.167us ;

机器周期=f

12=610

*1212=1us ;

指令周期=(1~4)

f

12=(1~4)

6

10

*1212=1~4us.

例:若单片机时钟频率为12MHz ,计算定时2ms 所需要的定时器初值。(设定时器工作在方式1,即模为216)

分析:MCS -51有两个8位的计数器,每过来一个机器周期,计数器加1。当计数器从0FFFFH ~0000H 时,定时器自动产生溢出请求。故方式1的最大定时时间为T max =216×T 0,其中T 0为是一个机器周期的时间。由于时钟周期的频率为12MHz ,这里的T 0=f

12=

6

10

*1212=1us 。

T max =216×T 0=65536×1us =65.536ms 。

现在要产生2ms 的定时时间,故必须在计数器中预先放置一定的初值x ,使: (216-x )T 0=2ms 。 解:T 0=

f

12=

6

10

*1212=1us 。

(216

-x )T 0=2ms =2×10-3

s X=216

-6

3

10

10*2--=216-2×103=63536=F830H 。

注:

十进制数与二进制数、十六进制数快速转换方法 1、

若十进制数小于256,则用这个数除16,得到商和余数。若把这个十进制的商写成二进制形式,则就是二进制的高4位。把这个十进制的余数写成二进制的形式,则就是二进制的低4位。合在一起就是转换的8位二进制数。同样,若把这个十进制的商写成十六进制的形式,则就是二进制的高4位的十六进制表示,把这个十进制的余数写成十六进制的形式,则就是二进制的低4位的十六进制表示,合在一起就是转换成的十六进制表示。

2、

若十进制数大于256小于65536,则用这个数除256,得到商和余数,再分别用商和余数除16。商除16后,又得到商和余数,这个商和余数是十进制形式,写成十六进制就是高8位的高4位和高8位的低4位的十六进制形式。余数除16也得到商和余数,这个商和余数也是十进制,写成十六进制,就是低8位的高4位和低8位的低4位的十六进制形式。

例:求出下列十进制数的二进制和十六进制。

(1)212; (2)65365 解:(1)

212/16=13 (4)

若把13写成十六进制,为D ,4写成十六进制,为4,则转换成十六进制为: 212=D4(H )

若把13写成二进制,为1101,4写成二进制,为0100,则转换成二进制为:

212=11010100(B)。

(2)

65365/256=255 (85)

(这个商除16就是高8位,这个余数除16就是低8位)

255/16=15 (15)

(这个商就是高8位的高4位,余数就是高8位的低4位)

把商15写成十六进制为F,把余数15写成十六进制为F,故高8位的十六进制为:FFH;85/16=5 (5)

(这个商就是低8位的高4位,余数就是低8位的低4位)

把商5写成十六进制为5,把余数5写成十六进制为5,故低8位的十六进制为:55F。

高8位和低8位合在一起即为这个十进制数的十六进制形式:

65365=FF55(H)。

化为二进制为:65365=FF55(H)=11111111010101010(B)。

80C51单片机指令的取指、执行时序

80C51单片机指令的取指、执行时序 使用ALE 信号作为低8 位地址的锁存控制信号。ALE 接到外部锁存器时,高电平期间,51 的p0 输出地址,低电平时锁存器将地址锁存,在ALE 低电平时,(PSEN 为低)p0 口可以传输数据(指令),这样就可以地址/数据复用了。 以PSEN 信号作为扩展程序存储器的读选通信号,在读外部ROM 是PSEN 是低电平有效,以实现对ROM 的读操作。 以EA 信号作为内外程序存储器的选择控制信号,当其为低电平时,对ROM 的读操作限定在外部的程序存储器,当其为高电平时, 对ROM 的读操作是从内部存储器开始的,并可延至外部程序存储器. 由RD 和WR 信号作为扩展数据存储器和I/O 口的读选通、写选通信号。EA 信号是表示是当前指令是读内,还是外存储器的控制信号。如:当选用无片内存储器的单片机,或者不打算用片内存储器时,EA 必须接低电平,此外,片外程序存储器的起始地址应该安排在片内存储器之后。 RD 和WR 信号就相对好理解,就是当读数据时(不分内外、RAM、ROM)它就有效。WR 也是这样的。 80C51 单片机指令的取指、执行时序 现按4 类指令介绍CPU 时序。因为CPU 工作的过程就是取指令与执行指令的过程,所以CPU 必须先取出指令,然后才能执行指令。 1.双字节单周期指令 由于双字节单周期指令必须在一个周期内取机器码二次,所以必须在一个机器周期内安排二次读操作码的操作,分别发生在S1P2 与S4P2。在S1P2 读入机器码74 并送入指令寄存器IR,在S4P2 读入数据03 送入累加器A,即读2 取2。在指令的执行过程中,P0 口要分时传送地址与数据,因此当操作码的地

AT89C51单片机的基本结构和工作原理

AT89C51单片机的主要工作特性: ·内含4KB的FLASH存储器,擦写次数1000次; ·内含28字节的RAM; ·具有32根可编程I/O线; ·具有2个16位可编程定时器; ·具有6个中断源、5个中断矢量、2级优先权的中断结构; ·具有1个全双工的可编程串行通信接口; ·具有一个数据指针DPTR; ·两种低功耗工作模式,即空闲模式和掉电模式; ·具有可编程的3级程序锁定定位; AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz. AT89C51各部分的组成及功能: 1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。

(1)运算器 运算器主要用来实现算术、逻辑运算和位操作。其中包括算术和逻辑运算单元ALU、累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。 ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。 暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。 累加器是CPU使用最频繁的一个寄存器。ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。 B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。运算结果存于AB寄存器中。 (2)控制器 控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。AT89C51单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。复位时PC的内容是0000H. (3)存储器 单片机内部的存储器分为程序存储器和数据存储器。AT89C51单片机的程序存储器采用4KB的快速擦写存储器Flash Memory,编程和擦除完全是电器实现。 (4)外围接口电路 AT89C51单片机的外围接口电路主要包括:4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。 AT89C51的工作原理: 1.引脚排列及功能 AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。 (1)I/O口线 ·P0口 8位、漏极开路的双向I/O口。 当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。P0口也可做通用I/O口使用,但需加上拉电阻。作为普通输入时,应输出锁存器配置1。P0口可驱动8个TTL负载。 ·P1口 8位、准双向I/O口,具有内部上拉电阻。 P1口是为用户准备的I/O双向口。在编程和校验时,可用作输入低8位地址。用作输入时,应先将输出锁存器置1。P1口可驱动4个TTL负载。 ·P2 8位、准双向I/O口,具有内部上拉电阻。 当使用外存储器或外扩I/O口时,P2口输出高8位地址。在编程和校验时,P2口接收高字节地址和某些控制信号。 ·P3 8位、准双向I/O口,具有内部上拉电阻。 P3口可作为普通I/O口。用作输入时,应先将输出锁存器置1。在编程/校验时,P3口接收某些控制信号。它可驱动4个TTL负载。 (2)控制信号线

8051单片机的内部结构

8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。 8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器(CPU)是整个单片机的核心 部件,是8位数据宽度的处理器,能处理 8位二进制数据或代码,CPU负责控制、 指挥和调度整个单元系统协调的工作,完 成运算和控制输入输出功能等操作。 ·数据存储器(RAM): 8051内部有128个8位用户数据存储 单元和128个专用寄存器单元,它们是统 一编址的,专用寄存器只能用于存放控制 指令数据,用户只能访问,而不能用于存 放用户数据,所以,用户能使用的的RAM 只有128个,可存放读写的数据,运算的 中间结果或用户定义的字型表。 ·程序存储器(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 单片机需外置振荡电容。

单片机P0~P3口结构与时序

单片机IO口结构及上拉电阻 MCS-51有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线。 一、P0口和P2口 图1和图2为P0口和P2口其中一位的电路图。由图可见,电路中包含一个数据输出锁存器(D触发器)和两个三态数据输入缓冲器,另外还有一个数据输出的驱动(T1和T2)和控制电路。这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能象P1、P3直接用作输出口。它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。 图1 单片机P0口内部一位结构图 图2 单片机P2口内部一位结构图 P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为2^16=64k,所以MCS-51最大可外接64kB的程序存储器和数据存储器。

二、P1口 图3为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。 图3 单片机P2口内部一位结构图 作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。 需要说明的是,作为输入口使用时,有两种情况: 1.首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。 2.读P1口线状态时,打开三态门G2,将外部状态读入CPU。 三、P3口 P3口的电路如图4所示,P3口为准双向口,为适应引脚的第二功能的需要,增加了第二功能控制逻辑,在真正的应用电路中,第二功能显得更为重要。由于第二功能信号有输入输出两种情况,我们分别加以说明。

单片机技术总结

第一章单片机的内部结构 一.单片机的时序 1.时序的由来 单片机执行指令的过程就是顺序地从ROM(程序存储器)中取出指令一条一条的顺序执行,然后进行一系列的微操作控制,来完成各种指定的动作。它在协调内部的各种动作时必须要有一定的顺序,换句话说就是这一系列微操作控制信号在时间上要有一个严格的先后次序,这种次序就是单片机的时序。 2.时序的周期 计算机每访问一次存储器的时间,我们把它称为一个机器周期。它是一个时间基准。就象我们日常生活中使用的秒一样。计算机中一个机器周期包括12个振荡周期。振荡周期就是振荡源的周期,也就是我们使用的晶振的时间周期。一个12M的晶振它的时间周期是T=1/f,也就是1/12微秒。那么使用12M晶振的单片机它的一个机器周期就应该等于12*1/12微秒,也就是1uS 。 在89C51单片机中有些指令只要一个机器周期,而有些指令则需要两个或三个机器周期,另外还有两条指令需要4个机器周期。如何衡量指令执行时间的长短我们就要用到一个新的概念:指令周期—即执行一条指令所需的机器周期.INTEL公司规定了每一条指令执行的机器周期。 振荡周期:指振荡源的周期,若为内部产生方式时,为石英晶体的振荡周期。 时钟周期:(称S周期)为振荡周期的两倍,时钟周期=振荡周期P1十振荡周期P2。 机器周期:一个机器周期含6个时钟周期(S周期)。 指令周期:完成一条指令占用的全部时间。805l的指令周期含1—4个机器周期,其中多数为单周期指令,还有2周期和4周期指令。 若fosc=6MHz,则805l的: 振荡周期=1/6us;时钟周期=1/3us; 机器周期=2us;指令周期=2—8us。 二.单片机的时钟电路 单片机是在一定的时序控制下工作的,时钟是时序的基础。单片机本身就如同一个复杂的同步时序电路,为了保证同步工作方式的实现,电路就要在唯一的时钟信号控制下按时序进行工作。 1 内部时钟电路 在MCS-51单片机的内部有一个高增益的反相放大器,其输入端为引脚XTAL1(19脚),输出端为XTAL2(18脚),我们只要在外部接上两个电容和一个晶振,就能构成一个稳定的自激振荡器,看上面的图,晶振的大小与单片机的振荡频率有关,我们到串行接口时再详细讲解。电容的大小影响着振荡器振荡的稳定性和起振的快速性,通常选择10-30P的瓷片电容或校正电容;另外在设计电路时晶振和电容应尽可能的靠近芯片,以减少PCB板的分布电容保证振荡器工作的稳定性,提高系统的抗干扰能力。 2 外部时钟电路 除了内部时钟方式外,单片机还可以采用引入外部时钟的振荡方式,当我们的系统由多片单片机组成时,为了保证各单片机之间时钟信号的同步,就应当引入唯一的公用的外部脉冲信号作为各单片机的振荡脉冲,此时应将XTAL2悬空不用,外部脉冲信号由XTAL1引入。如下图所示。

51单片机的结构及其组成

51单片机的结构及其组成 在前面的五节课当中,我们讲述的都是一些基础概念的知识,从这节开始,我们就正式的切入到我们所在学习的对象--51单片机。 学习单片机的内部结构之前,我们先了解下我们现在正在使用的计算机的几大组成部份: 计算机的五个组成部份: 运算器:用于实现算术和逻辑运算。计算机的运算和处理都在这里进行; 控制器:是计算机的控制指挥部件,使计算机各部份能自动协调的工作; 存储器:用于存放程序和数据;(又分为内存储器和外存储器,内存储器就如我们电脑的硬盘,外存储器就如我们的U盘) 输入设备:用于将程序和数据输入到计算机(例如我们电脑的键盘、扫描仪); 输出设备:输出设备用于把计算机数据计算或加工的结果以用户需要的形式显示或保存(例如我们的打印机)。 注: 1、通常把运算器和控制器合在一起称为中央处理器(Central Processing Unit),简称CPU。 2、通常把外存储器、输入设备和输出设备合在一起称之为计算机的外部设备。 上面讲的是我们的个人办公计算机,那么51单片机的内部又有些什么部件组成呢? 1、中央处理单元(8位) 数据处理、测试位,置位,复位位操作 2、只读存储器(4KB或8KB) 永久性存储应用程序,掩模ROM、EPROM、EEPROM 3、随机存取内存(128B、128B SFR) 在程序运行时存储工作变量和资料 4、并行输入/输出口(I / O)(32条) 作系统总线、扩展外存、I / O接口芯片 5、串行输入/输出口(2条) 串行通信、扩展I / O接口芯片 6、定时/计数器(16位、加1计数) 计满溢出、中断标志置位、向CPU提出中断请求,与CPU之间独立工作 7、时钟电路 内振、外振。

单片机的时钟、时序及复位

四川工程职业技术学院 单片机应用技术课程电子教案 Copyright ? https://www.wendangku.net/doc/8e7130225.html, 第讲 5 8051及P89V51RD2单片机的时钟、 时序和复位

本讲主要内容 5-1. 标准80C51的时钟电路、时间单位与时序 5-2. P89V51RD2单片机的时钟电路、时间单位与时序5-3. P89V51RD2单片机的复位与复位电路

时钟电路 ——用于产生供单片机各部分同步工作的时钟信号 方法1:用石英晶体振荡器 方法2:从外部输入时钟信号 (80C51) 80C51振荡器 C1 C2 CYS 80C51 悬空 外部时钟信号 XTAL1 XTAL2 XTAL2 XTAL1

单片机内部的时间单位 S1 S2S3S4S5S6 机器周期T CY 分频器 振荡器 晶振周期 时钟周期(S 状态) 80C51 P1 P2 ALE 信号

单片机内部的时间单位 ?振荡频率f osc = 石英晶体频率或外部输入时钟频率 振荡周期= 振荡频率的倒数 ?机器周期 机器周期是单片机应用中衡量时间长短的最主要的单位 在多数51系列单片机中: 1机器周期= 12×1/ fosc ?指令周期——执行一条指令所需要的时间 单位:机器周期 51单片机中:单周期指令、双周期指令、四周期指令

单片机内部的时间单位 课堂练习: 如果某单片机的振荡频率f =12MHz,则: osc 振荡周期=S=mS=uS; 机器周期=uS; 已知乘法指令“MUL AB”是一条4周期指令,则执行这条指令需要uS; 加法指令“ADD A,#01H”是单周期指令,那么1S内该单片机可以进 行次加法运算。

MCS-51单片机的指令时序

MCS-51单片机的指令时序 时序是用定时单位来描述的,MCS-51的时序单位有四个,它们分别是节拍、状态、机器周期和指令周期,接下来我们分别加以说明。 ·节拍与状态: 我们把振荡脉冲的周期定义为节拍(为方便描述,用P表示),振荡脉冲经过二分频后即得到整个单片机工作系统的时钟信号,把时钟信号的周期定义为状态(用S表示),这样一个状态就有两个节拍,前半周期相应的节拍我们定义为1(P1),后半周期对应的节拍定义为2(P2)。 ·机器周期: MCS-51有固定的机器周期,规定一个机器周期有6个状态,分别表示为S1-S6,而一个状态包含两个节拍,那么一个机器周期就有12个节拍,我们可以记着S1P1、S1P2……S6P1、S6P2,一个机器周期共包含12个振荡脉冲,即机器周期就是振荡脉冲的12分频,显然,如果使用6MHz的时钟频率,一个机器周期就是2us,而如使用12MHz的时钟频率,一个机器周期就是1us。 ·指令周期: 执行一条指令所需要的时间称为指令周期,MCS-51的指令有单字节、双字节和三字节的,所以它们的指令周期不尽相同,也就是说它们所需的机器周期不相同,可能包括一到四个不等的机器周期(这些内容,我们将在下面的章节中加以说明)。 ·MCS-51的指令时序: MCS-51指令系统中,按它们的长度可分为单字节指令、双字节指令和三字节指令。执行这些指令需要的时间是不同的,也就是它们所需的机器周期是不同的,有下面几种形式: ·单字节指令单机器周期 ·单字节指令双机器周期 ·双字节指令单机器周期

·三字节指令双机器周期 ·单字节指令四机器周期(如单字节的乘除法指令) 下图是MCS-51系列单片机的指令时序图: 上图是单周期和双周期取指及执行时序,图中的ALE脉冲是为了锁存地址的选通信号,显然, 每出现一次该信号单片机即进行一次读指令操作。从时序图中可看出,该信号是时钟频率6分 频后得到,在一个机器周期中,ALE信号两次有效,第一次在S1P2和S2P1期间,第二次在 S4P2和S5P1期间。 接下来我们分别对几个典型的指令时序加以说明。 ·单字节单周期指令: 单字节单周期指令只进行一次读指令操作,当第二个ALE信号有效时,PC并不加1,那么读出的还是原指令,属于一次无效的读操作。 ·双字节单周期指令: 这类指令两次的ALE信号都是有效的,只是第一个ALE信号有效时读的是操作码,第二个ALE信号有效时读的是操作数。

(完整版)单片机的基本组成

单片机的基本组成 在讲单片机的组成之前我们先来说一下大家都熟知的计算机 一、计算机的经典结构 在设计计算机时匈牙利籍数学家冯.诺依曼提出的“程序存储”和“二进制运算”的思想。 1、二进制运算决定了计算机的硬件结构。 二进制运算包括二进制算术运算和逻辑运算(逻辑运算的基础是逻辑代数,又称布尔代数)。逻辑量只表示两种不同的状态,可以对应电子线路中的电阻高低、二极管、三极管的通断等。因此,二进制运算决定了计算机可以由电子元器件,特别是集成电路组成。 2、程序存储决定了软件控制硬件工作。因此,计算机的基本结构包括硬件和软件两部分。计算机的工作原理:由输入设备将软件送入存储器,然后由控制器逐条取出存储器中的控制软件,并运行,再将运行结果送到输出设备。 3、计算机的经典结构 根据以上思路,计算机由运算器、控制器、存储器和输入设备、输出设备组成。 图1.1.1 计算机经典结构图 对经典结构中各部分有机组合,就构成了微型计算机。由于各部分的具体电路(元器件及元器件的组合方式)不同,又形成了各种应用形态。 二、微型计算机(Microcomputer)组成及应用形态 1、微型计算机组成 将经典结构中的运算器、控制器组合在一起,再增加一些寄存器等,集成为一个芯片,这个芯片称为微处理器(Microcontroller),即CPU(Center Processing Unit )。这样微型计算机就由CPU、存储器、输入/输出(I/O)接口组成。再配以输入/输出(I/O)设备和软件,就构成了微型计算机应用系统,简称微型计算机。 图1.1.2 微型计算机系统结构图

2、应用形态 (1)系统机(多版机) 微处理器CPU、存储器、I/O端口电路和总线接口等组装在一块主板上,再通过系统总线和外设适配卡连接键盘、显示器、打印机等,再配上系统软件就构成了一个完整的计算机系统。 图1.1.3 微型计算机结构图 这就是办公室、家庭使用的PC机的典型形态。由于较大的存储容量(存储器、硬盘、软盘、光盘等),输入、输出设备齐全,而且软件丰富(系统软件和应用软件),能够进行海量计算和应用系统开发。 (2)单板机 将CPU、存储器、I/O接口芯片和简单的I/O设备等装配在一块线路板上,再配上监控程序(固化在ROM中)就构成了单板机。 图1.1.4 单板机结构图 实验开发系统就是单板机的典型形态:由于有硬件和软件,能独立运行,但I/O设备简单,特别是软件资源少(只有监控程序),不能应用于海量计算和大型应用程序的开发,主要用于计算机原理教学和简单的测试(调试)系统。 三单片机 将CPU、存储器、I/O接口电路集成到一块芯片上,这个芯片称为单片机。

单片机串口时序time sequence

串行通信(Serial Communication) 方式0。串行口为同步移位寄存器的输入\输出方式,主要用于扩展并行输入或输出口。对51单片机,数据由RXD(P3.0)引脚输入或输出,同步移位脉冲由TXD(P3.1)引脚输出。发送和接收均为8位数据,低位在先,高位在后,波特率固定为f osc/12. 方式1。方式1是10位数据的异步通信口,其中,1位起始位,8位数据位,1位停止位。TXD(P3.1)为数据发送引脚,RXD(P3.0)为数据接收引脚。其传输波特率是可变的,对于51单片机,波特率由定时器1的溢出率决定。方式1的使用很普遍,需要完全掌握。 方式2,3。方式2,3为11位数据的异步通信口。TXD(P3.1)为数据发送引脚,RXD (P3.0)为数据接收引脚。这两种方式下起始位1位,数据9位(含一位附加的第9位,发送时为SCON的TB8,接收时为RB8),停止位1位,一帧数据为11位。方式2的波特率固定为晶振频率的1/64或1/32。方式3的波特率由定时器T1的溢出率决定。 方式2和方式3的差别仅在于波特率的选取方式不同,在两种方式下,接受到的停止位与SBUF、RB8及RI都无关。 串行口基本结构 SBUF相当于一个8位的寄存器。 SBUF共用一个地址99H,但是在物理上是两个独立的寄存器,由指令操作决定访问哪一个寄存器。接收器具有双缓冲结构,即在从接收寄存器中读出前一个已收到的字节之前,便能接收第二个字节。若果第二个字节已接收完毕,第一个字节还没有读出,则将丢失第一个字节。

串行口方式1的时序(Time Sequence) 串行口方式1传送一帧数据(A frame of data)的格式如下: 一帧数据供10位,1位起始位(0),8位数据位,最低位在前,最高位在后,1位停止位(1),帧与帧之间有空闲,也可以无空闲。 方式1数据输出时序图如下: 方式1数据输出时序图 当数据被写入SBUF寄存器后,单片机自动开始从起始位发送数据,发送到停止位的开始时,由内部硬件将TI置1,向CPU申请中断,接下来可在中断服务程序中作相应处理,也可以选择不进入中断。 方式1数据输入时序图 用软件置REN为1时,接收器以所选择波特率的16倍速率采样RXD引脚电平,检测到RXD引脚输入电平发生负跳变时,则说明起始位有效,将其移入输入移位寄存器,并开始接收这一帧信息的其余位。接收过程中,数据从输入移位寄存器右边移入,起始位移至输

5单片机的内部结构分析(三)时序与时钟

单片机的内外部结构分析(三) 一、延时程序分析 上一次课中,我们已经知道,程序中的符号R7、R6是代表了一个个的RAM单元,是用来放一些数据的,下面我们再来看一下其它符号的含义。 1.MOV:这是一条指令,意思是传递数据。说到传递,我们都很清楚,传东西要从一个人 的手上传到另一个人的手上,也就是说要有一个接受者,一个传递者和一样东西。从指 令MOV R7,#250中来分析,R7是一个接受者,250是被传递的数,传递者在这条指令 中被省略了(注意:并不是每一条传递指令都会省的,事实上大部份数据传递指令都会 有传递者)。它的意义也很明显:将数据250送到R7中去,因此执行完这条指令后, R7单元中的值就应当是250。在250前面有个#号,这又是什么意思呢?这个#就是用来说明250就是一个被传递的东西本身,而不是传递者。 那么MOV R6,#250是什么意思,应当不用分析了吧。 2.DJNZ:这是另一条指令,我们来看一下这条指令后面跟着的两个东西,一个是R6,一个 是D2,R6我们当然已知是什么了,查一下D2是什么。D2在本行的前面,我们已学过,这称之为标号。标号的用途是什么呢?就是给本行起一个名字。DJNZ 指令的执行过程是这样的,它将其后面的第一个参数中的值减1,然后看一下,这个值是否等于0,如果等于0,就往下执行,如果不等于0,就转移,转到什么地方去呢?可能大家已猜到了,转到第二个参数所指定的地方去(请大家用自已的话讲一下这 条语句是怎样执行的)。本条指令的最终执行结果就是,在原地转圈250次。 3.执行完了DJNZ R6,D2之后(也就是R6的值等于0之后),就会去执行下面一行,也 就是DJNZ R7,D1,请大家自行分析一下这句话执行的结果。(转去执行MOV R6,#250,同时R7中的值减1),最终DJNZ R6,D2这句话将被执行250*250=62500次,执行这么多次同一条指令干吗?就是为了延时。 4.一个问题:如果在R6中放入0,会有什么样的结果。

《单片机系统设计》实验报告(DOC)

短学期实验报告 (单片机系统设计) 题目: 专业: 指导教师: 学生姓名: 学号: 完成时间: 成绩:

基于单片机的交流电压表设计 目录 1系统的设计要求 (2) 2系统的硬件要求 (2) 2.1真有效值转换电路的分析 (2) 2.2放大电路的设计 (3) 2.3A/D转换电路的设计 (3) 2.4单片机电路的分析 (4) 2.5显示电路 (4) 3 软件设计 (5) 3.1 软件的总流程图 (5) 3.2 初始化定义与定时器初始化流程图 (5) 3.3 A/D转换流程图 (6) 3.4 数据处理流程图 (6) 3.5 数据显示流程图 (7) 4 调试 (7) 4.1 调试准备 (7) 4.2 关键点调试 (7) 4.3 测试结果 (8) 4.4 误差分析 (8) 5结束语 (8) 5.1 总结 (9) 5.2 展望 (9) 附录1 总原理图 (10) 附录2 程序 (10) 附录3 实物图 (14)

基于单片机的交流电压表设计 ****学院 ****专业 姓名 指导老师:******* 1 设计要求 (1)运用单片机实现真有效值的检测和显示。 (2)数据采集使用中断方式,显示内容为有效值与峰值交替进行。 2 硬件设计 本系统是完成一个真有效值的测量和显示,利用AD737将交流电转换成交流电压的有效值,用ADC0804实现模数转换,再通过单片机用数码管来显示。系统原理框图如图2-1所示。系统框图由真有效值转换电路、放大电路、A/D 转换电路、单片机电路、数码管显示电路五部分。 图2-1 原理框图 2.1 真有效值转换电路 真有效值转换电路主要是利用AD737芯片来实现真有效值直流变换的,即将输入的交流信号转换成直流信号的有效值,其原理图如图2-2所示。 图2-2 真有效值转换电路 由于AD737最大输入电压为200mV, 所以需要接两个二极管来限制输入电压,起到限幅的作用。如图中D1、D2,由IN4148构成,电容C6是耦合电容,电阻R1是限流电阻。 2.2 放大电路设计 放大电路主要是利用运放uA741来进行放大,电路原理图如图2-3所示。 A/D 转换 单片机 电路 显示 电路 转换 电路 交流 信号 放大 电路

单片机指令周期怎么计算

单片机指令周期怎么计算 指令周期:指令周期执行某一条指令所消耗的时间,它等于机器周期的整数倍。传统的80C51单片机的指令周期大多数是单周期指令,也就是指令周期=机器周期,少部分是双周期指令。现在(截至2012)新的单片机已经能做到不分频了,并且尽量单指令周期,就是指令周期=机器周期=时钟周期。 来看这张8051单片机外部数据,这里ALE和$PSEN$的变化频率已经小于一个机器周期,如果使用C语言模拟这个信号是没有办法做到的一一对应的,所以只能尽量和上面的时序相同,周期延长。 指令周期是不确定的,因为她和该条指令所包含的机器周期有关。一个指令周期=1个(或2个或3个或4个)机器周期,像乘法或除法就含有4个机器周期,单指令就只含有1个机器周期。 对于大多说的51单片机来说,1个机器周期=12个时钟周期(或振荡周期) 也有部分单片机时钟周期和振荡周期不相等,例如,1个时钟周期=2个振荡周期。 该定义指的是执行一条指令所需要的时间,通常一个指令周期会由若干个机器周期组成。指令不同,所需的机器周期数也不同。 对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。 PIC单片机指令周期计算PIC单片机的每四个时钟周期为一个内部指令周期 例如:8MHz的晶振,则内部指令周期为1/(8/4)= 0.5 uS 实例一:35us,8MHz的晶振,8位定时器,分频比1/2 ,初值E4 实例二:156.25us ,32768Hz的晶振,8位定时器,分频比1/32 ,初值FC 计算方法一:35 = =(256-初值)*分频*4/晶振+ 14/分频=(256-初值)+14/2

如何读单片机的时序图

https://www.wendangku.net/doc/8e7130225.html,/itangcle CPE/EE 421 Microcomputers WEEK #10 Interpreting the Timing Diagram 如何读懂时序图 The 68000 Read Cycle A H U A H

2 4 U A H An alternative form of the timing diagram General form of the timing diagram Alan Cl ements 3 U A H Actual behavior of a D flip - f lop Timing Diagram of a Simple Flip - F lop Idealized form of the timing diagram Data hold time Data setup time Max time f or output to become v alid af ter clock

8 Address Timing 地址时序 ?We are interested in when the 68000 generates a new address for use in the current memory access 我们感兴趣的是当6800芯片能够生成一个新的地址供当前的内存访问 ?The next slide shows the relationship between the new address and the state of the 68000 ’s clock 下面展示的是新的地址跟6800芯片时钟的 关系 Alan Cl ements

单片机的基本组成

时磊5说- 单片机的基本组成 在讲单片机的组成之前我们先来说一下 大家都熟知的计算机 一、计算机的经典结构 在设计计算机时匈牙利籍数学家冯 ?诺依曼提出的“程序存储”和“二进制运算”的思想。 1、 二进制运算决定了计算机的硬件结构。 二进制运算包括二进制算术运算和逻辑运算 (逻辑运算的基础是逻辑代数,又称布尔代数) 逻辑量只表示两种不同的状态, 可以对应电子线路中的电阻高低、 二极管、三极管的通断等。 因此,二进制运算决定了计算机可以由电子元器件,特别是集成电路组成。 2、 程序存储决定了软件控制硬件工作。因此,计算机的基本结构包括硬件和软件两部分。 计算机的工作原理:由输入设备将软件送入存储器, 然后由控制器逐条取出存储器中的控制 软件,并运行,再将运行结果送到输出设备。 3、 计算机的经典结构 根据以上思路,计算机由运算器、控制器、存储器和输入设备、输出设备组成。 图1.1.1计算机经典结构图 对经典结构中各部分有机组合, 就构成了微型计算机。由于各部分的具体电路(元器件及元 器件的组合方式)不同,又形成了各种应用形态。 二、微型计算机(Microcomputer )组成及应用形态 1、微型计算机组成 将经典结构中的运算器、控制器组合在一起,再增加一些寄存器等,集成为一个芯片, 这个芯片称为微处理器 (Microcontroller ),即CPU (Center Processing Unit )。这样微型计 算机就由CPU 、存储器、输入/输出(I/O )接口组成。再配以输入 /输出(I/O )设备和 软件,就构成了微型计算机应用系统,简称微型计算机。 r CPUS 臂!1 器 ]存储器 晒牛j I I/O 彌 徽 计 设备 机 统 ' 時 图1.1.2 微型计算机系统结构图

单片机时序分析

单片机时序分析 前面我们介绍了延时程序,但这还不完善,因为,我们只知道DJNZ R6,D2这句话会被执行62500次,但是执行这么多次需要多长时间呢?是否满足我们的要求呢?我们还不知道,所以下面要来解决这个问题。 先提一个问题:我们学校里什么是最重要的。(铃声)校长可以出差,老师可以休息,但学校一日无铃声必定大乱。整个学校就是在铃声的统一指挥下,步调一致,统一协调地工作着。这个铃是按一定的时间安排来响的,我们可以称之为时序??时间的顺序。一个由人组成的单位尚且要有一定的时序,计算机当然更要有严格的时序。事实上,计算机更象一个大钟,什么时候分针动,什么时候秒针动,什么时候时针动,都有严格的规定,一点也不能乱。计算机要完成的事更复杂,所以它的时序也更复杂。 我们已知,计算机工作时,是一条一条地从ROM中取指令,然后一步一步地执行,我们规定:计算机访问一次存储器的时间,称之为一个机器周期。这是一个时间基准,好象我们人用秒作为我们的时间基准一样,为什么不干脆用秒,多好,很习惯,学下去我们就会知道用秒反而不习惯。 一个机器周期包括12个时钟周期。下面让我们算一下一个机器周期是多长时间吧。设一个单片机工作于12M晶振,它的时钟周期是1/12(微秒)。它的一个机器周期是12*(1/12)也就是1微秒。(请计算一个工作于6M晶振的单片机,它的机器周期是多少)。 MCS-51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较慢,得要2个机器周期,还有两条指令要4个机器周期才行。这也不难再解,不是吗?我让你扫地的执行要完成总得比要你完成擦黑板的指令时间要长。为了恒量指令执行时间的长短,又引入一个新的概念:指令周期。所谓指令周期就是指执行一条指令的时间。INTEL对每一条指令都给出了它的指令周期数,这些数据,大部份不需要我们去记忆,但是有一些指令是需要记住的,如DJNZ指令是双周期指令。 下面让我们来计算刚才的延时。首先必须要知道晶振的频率,我们设所用晶振为12M,则一个机器周期就是1微秒。而DJNZ指令是双周期指令,所以执行一次要2个微秒。一共

单片机:51单片机的延时及时序分析

计算机工作时,是在统一的时钟脉冲控制下一拍一拍地进行的。这个脉冲是由单片机控制器中的时序电路发出的。 单片机的时序就是CPU在执行指令时所需控制信号的时间顺序,为了保证各部件间的同步工作,单片机内部电路应在唯一的时钟信号下严格地控时序进行工作,在学习51单片机的时序之前,我们先来了解下时序相关的一些概念。 既然计算机是在统一的时钟脉冲控制下工作的,那么,它的时钟脉冲是怎么来的呢?要给我们的计算机CPU提供时序,就需要相关的硬件电路,即振荡器和时钟电路。 我们学习的8051单片机内部有一个高增益反相放大器,这个反相放大器的作用就是用于构成振荡器用的,但要形成时钟,外部还需要加一些附加电路。 8051单片机的时钟产生有以下两种方法: 1. 内部时钟方式:利用单片机内部的振荡器,然后在引脚XTAL1(18脚)和XTAL2(19脚)两端接晶振,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,外接晶振时,晶振两端的电容一般选择为30PF左右;这两个电容对频率有微调的作用,晶振的频率范围可在1.2MHz-12MHz之间选择。为了减少寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。 2. 外部时钟方式:此方式是利用外部振荡脉冲接入XTAL1或XTAL2。HMOS和CHMOS单片机外时钟信号接入方式不同,HMOS型单片机(例如8051)外时钟信号由XTAL2端脚注入后直接送至内部时钟电路,输入端XTAL1应接地。由于XTAL2端的逻辑电平不是TTL的,故建议外接一个上接电阻。对于CHMOS型的单片机(例如80C51),因内部时钟发生器的信号取自反相器的输入端,故采用外部时钟源时,接线方式为外时钟信号接到XTAL1而XTAL2悬空。如下图

时序图(已读)

时序图,LCD1602 前面总算走完了对A VR MEGA16这块单片机的一些基本的应用方式了,这时候大家对A VR的一些内部资源比如定时器,ADC,最主要的IO口的使用方式应该有了一个虽比较粗浅但是却比较形象的认识了。这节我们来看使用单片机的另外一大主题,就是用单片机来实现芯片控制。 在前面的数码管显示一文中,就已经涉及到了用单片机来控制芯片为我们工作,CEPARK A VR开发板,为了达到增强驱动能力和节省IO口的作用,运用了移位寄存器74HC595来驱动两个四位八段数码管,是一个十分有创意的设计。但是前面的内容重心还是集中于对A VR的IO口的控制,所以,我们从这节开始要正式逐渐深入的接触各种芯片了。 先做个引子。单片机是一种微控制器,本身内部集成了数种资源比如CPU、内存、内部和外部总线系统,目前大部分还会具有外存。他的主要任务是利用各种资源实现电平控制,可以以此控制与它相连的下级系统,广泛用于工业自动控制领域。 我们就从这句话出发,首先单片机用来做控制用的,而且是利用的是本身的内部资源。但是,它的功能再强大,资源再丰富也总有一个上限,总有枯竭的一天。所以我们常常利用单片机外接芯片来弥补或者增强单片机的功能来完成我们所需功能的电路。比如程序存储器不足,可以外接外部存储器,比如单片机内部中断级不足,可以外接中断控制器等等。大家可以从这个角度来理解芯片控制的意义罢。 今天我们用A VR单片机来实现对LCD1602液晶显示芯片的控制。 首先从这个名字讲起,LCD:英文全称为Liquid Crystal Display,即为液态晶体显示,也就是我们常说的液晶显示了。(平时老说LCDLCD,可能大家也都不怎么注意过这个全称吧,呵呵,当增加词汇量了)1602则是表示这个液晶一共能显示2行数据,每一行显示16个字符。这个就是LCD1602的全部来由。液晶显示的使用有多广泛我就不多说了,LCD1602好像10元左右就可以拿到了的,不算贵。我们来看看现在市面都有哪些样子的1602,下面从网上搜罗了几个(我手上的这个是蓝色背光白色字体的): 其实显而易,见也就是背光和字体的颜色不一样罢,不过老实说,蓝色背光的1602看上去显得确实比较亮,也许是人眼视觉的关系。 接下来进入LCD1602使用的重点:操作时序。操作时序永远使用是任何一片IC芯片的最主要的内容。一个芯片的所有使用细节都会在它的官方器件手册上包含。所以使用一个器件事情,要充分做好的第一件事就是要把它的器件手册

如何看懂时序图

如何看懂时序图 This model paper was revised by the Standardization Office on December 10, 2020

时序图,LCD1602 前面总算走完了对AVR MEGA16这块单片机的一些基本的应用方式了,这时候大家对AVR的一些内部资源比如定时器,ADC,最主要的IO口的使用方式应该有了一个虽比较粗浅但是却比较形象的认识了。这节我们来看使用单片机的另外一大主题,就是用单片机来实现芯片控制。 在前面的数码管显示一文中,就已经涉及到了用单片机来控制芯片为我们工作,CEPARK AVR开发板,为了达到增强驱动能力和节省IO口的作用,运用了移位寄存器74HC595来驱动两个四位八段数码管,是一个十分有创意的设计。但是前面的内容重心还是集中于对AVR的IO口的控制,所以,我们从这节开始要正式逐渐深入的接触各种芯片了。 先做个引子。单片机是一种微控制器,本身内部集成了数种资源比如CPU、内存、内部和外部总线系统,目前大部分还会具有外存。他的主要任务是利用各种资源实现电平控制,可以以此控制与它相连的下级系统,广泛用于工业自动控制领域。 我们就从这句话出发,首先单片机是用来做控制用的,而且利用的是本身的内部资源。但是,它的功能再强大,资源再丰富也总有一个上限,总有枯竭的一天。所以我们常常利用单片机外接芯片来弥补或者增强单片机的功能来完成我们所需功能的电路。比如程序存储器不足,可以外接外部存储器,比如单片机内部中断级不足,可以外接中断控制器等等。大家可以从这个角度来理解芯片控制的意义罢。 今天我们用AVR单片机来实现对LCD1602液晶显示芯片的控制。 首先从这个名字讲起,LCD:英文全称为Liquid Crystal Display,即为液态晶体显示,也就是我们常说的液晶显示了。(平时老说LCDLCD,可能大家也都不怎么注意过这个全称吧,呵呵,当增加词汇量了)1602则是表示这个液晶一共能显示2行数据,每一行显示16个字符。这个就是LCD1602的全部来由。液晶显示的使用有多广泛我就不多说了,LCD1602好像10元左右就可以拿到了的,不算贵。我们来看看现在市面都有哪些样子的1602,下面从网上搜罗了几个(我手上的这个是蓝色背光白色字体的): 其实显而易,见也就是背光和字体的颜色不一样罢,不过老实说,蓝色背光的1602看上去显得确实比较亮,也许是人眼视觉的关系。 接下来进入LCD1602使用的重点:操作时序。操作时序永远是使用任何一片IC芯片的最主要的内容。一个芯片的所有使用细节都会在它的官方器件手册上包含。所以使用一个器件之前,要充分做好的第一件事就是要把它的器件手册上有用的内容提取,掌握。介于中国目前的芯片设计能力有限,所以大部分的器件都是外国几个IC巨头比如TI、AT、MAXIM这些公司生产的,器件资料自然也是英文的多,所以,英文的基础要在阅读这些数据手册时得到提高哦。即便有中文翻译版本,还是建议看英文原版,看不懂时不妨再参考中文版,这样比较利于提高。 我们首先来看1602的引脚定义,1602的引脚是很整齐的SIP单列直插封装,所以器件手册只给出了引脚的功能数据表: 我们只需要关注以下几个管脚: 3脚:VL,液晶显示偏压信号,用于调整LCD1602的显示对比度,一般会外接电位器用以调整偏压信号,注意此脚电压为0时可以得到最强的对比度。

相关文档