单片机基础知识
- 格式:doc
- 大小:91.00 KB
- 文档页数:5
第一章单片机入门知识概述1.1 单片机的发展历程单片机的应用在后PC时代得到了前所未有的发展,但对处理器的综合性能要求也越来越高。
综观单片机的发展,以应用需求为目标,市场越来越细化,充分突出以“单片”解决问题,而不像多年前以MCS51/96等处理器为中心,外扩各种接口构成各种应用系统。
单片机系统作为嵌入式系统的一部分,主要集中在中、低端应用领域(嵌入式高端应用主要由DSP、ARM、MIPS等高性能处理器构成),在这些应用中,目前也出现了一些新的需求,主要体现在以下几个方面:(1)以电池供电的应用越来越多,而且由于产品体积的限制,很多是用钮扣电池供电,要求系统功耗尽可能低,如手持式仪表、水表、玩具等。
(2)随着应用的复杂,对处理器的功能和性能要求不断提高。
既要外设丰富、功能灵活,又要有一定的运算能力,能做一些实时算法,而不仅仅做一些简单的控制。
(3)产品更新速度快,开发时间短,希望开发工具简单、廉价、功能完善。
特别是仿真工具要有延续性,能适应多种MCU,以免重复投资,增加开发费用。
(4)产品性能稳定,可靠性高,既能加密保护,又能方便升级。
1. 单片机技术的发展特点自单片机出现至今,单片机技术已走过了近20年的发展路程。
纵观20年来单片机发展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。
(1)单片机寿命长这里所说的长寿命,一方面指用单片机开发的产品可以稳定可靠地工作十年、二十年,另一方面是指与微处理器相比的长寿命。
随着半导体技术的飞速发展,MPU更新换代的速度越来越快,以386、486、586为代表的MPU,很短的时间内就被淘汰出局,而传统的单片机如68HC05、8051等年龄已有20岁以上,产量仍是上升的。
这一方面是由于其对相应应用领域的适应性,另一方面是由于以该类CPU为核心,集成以更多I/O功能模块的新单片机系列层出不穷。
51单片机基础知识单片机作为一种嵌入式微控制器,具有广泛的应用领域和技术需求。
本文将介绍51单片机的基础知识,包括其概述、硬件结构、编程语言和开发环境等内容。
通过本文的学习,读者可以对51单片机有初步了解,并为之后的学习和应用打下基础。
一、概述51单片机,是指Intel公司开发的一种8位微处理器。
它以其简单、稳定和可靠的特点,成为嵌入式系统开发中最常用的单片机之一。
51单片机由存储器、中央处理器、输入输出端口、计时器/计数器和各种外围设备组成。
二、硬件结构51单片机的硬件结构主要包括中央处理器、存储器、输入输出端口和计时器/计数器。
1.中央处理器51单片机的中央处理器是一种基于哈佛架构的8位微处理器,具有高性能和低功耗的特点。
它可以执行指令、进行算术逻辑运算和控制外围设备的工作。
2.存储器51单片机的存储器包括程序存储器和数据存储器。
程序存储器用来存储运行的程序代码,而数据存储器用于存储程序需要的数据。
3.输入输出端口51单片机通过输入输出端口与外部设备进行通信。
输入端口用于接收外部信号,输出端口用于输出控制信号。
4.计时器/计数器51单片机内置了多个计时器/计数器,用于定时和计数应用。
它们可以实现精确的时间控制,并为系统提供准确的时间基准。
三、编程语言51单片机的常用编程语言有汇编语言和C语言。
汇编语言是51单片机最早的编程语言,它直接与硬件进行交互,执行效率高。
而C语言是一种高级编程语言,具有结构化、可移植等特点,编写的程序更加易读易维护。
1.汇编语言汇编语言是一种低级别的编程语言,需要程序员直接处理寄存器和内存地址。
它的语法相对复杂,但可以更直接地控制硬件资源,实现更高效的程序执行。
2.C语言C语言是一种结构化的高级编程语言,具有简洁、易读和可移植等特点。
C语言程序需要通过编译器将源代码转化为机器指令,然后才能在51单片机上运行。
四、开发环境51单片机的开发环境包括硬件开发工具和软件开发工具。
第一章、绪论单片机定义:把CPU、寄存器、RAM/ROM、I/O接口等电路集成在一块集成电路芯片上,构成一个完整的微型计算机。
单片机特点:体积小、功耗低、性价比高;数据大都在片内传送,抗干扰能力强,可靠性高;结构灵活,应用广泛。
单片机发展趋势:数据位长1-->4-->8-->16-->32位;CPU处理能力和速度不断提高;增大片内RAM和ROM容量;增加片内I/O口和功能模块种类和数量;扩大对外部RAM/IO口和程序存储器寻址能力;缩小体积,降低功耗。
单片机应用:控制应用:应用范围广泛,从实时性角度可分为离线应用和在线应用。
软硬件结合:软硬件统筹考虑,不仅要会编程,还要有硬件的理论和实践知识。
应用现场环境恶劣:电磁干扰、电源波动、冲击震动、高低温等环境因素的影响。
要考虑芯片等级选择、接地技术、屏蔽技术、隔离技术、滤波技术、抑制反电势干扰技术等。
应用空间大:工业自动化、仪器仪表、家用电器、信息和通信产品、军事装备、物联网等领域。
第三章:MCS-51单片机结构与原理3.1 MCS-51单片机的物理结构及逻辑结构51单片机的引脚定义:P0、P1、P2、P3(输入输出口);RST(复位)/ VPD(后备电源引入端);EA (读内/外ROM控制)/Vpp(编程电压);ALE(地址低8位锁存)/ PROG(编程脉冲);PSEN (外部ROM读选通信号);XTAL1、XTAL2 (外接晶振端)Vcc (+5v电源);Vss (地)逻辑结构--51单片机的系统结构图(教材P26)51单片机基本组成:一个8位微处理器CPU;数据存储器RAM和特殊功能寄存器SFR;内部程序存储器ROM;两个定时/计数器,用以对外部事件进行计数,也可用作定时器;四个8位可编程的I/O(输入/输出)并行端口;一个串行端口,用于数据的串行通信;中断控制系统;内部时钟电路。
MCS-51单片机的CPU:运算器:由8位算术逻辑运算单元ALU(Arithmetic Logic Unit)、8位累加器ACC(Accumulator)、8位寄存器B、程序状态字寄存器PSW(Program Status Word)、8位暂存寄存器TMP1和TMP2等组成。
1.“与“:“必须都有,否则就没有”。
符号“&”。
如(01010101)&
(10101010)=00000000
2.“或”:“只要其中之一有就有“。
符号”|“。
如(01010101)|
(10101010)=11111111
3.“非“:”求反“。
符号”!“。
单片机中用”~”表示“按外取反”。
如~01010101=10101010.而”!“只对单一位进行运算。
4.“同或“:”必须相同,否则就没有:。
符号“⊙”。
如0⊙0=1,0⊙
1=0, 1⊙0=0,1⊙1=1。
5.“异或”:“必须不同,否则就没有”。
符号“⊕”。
如0⊕0=0,0⊕1=1,
1⊕0=1,1⊕1=0。
C语言中注释的写法
(1)//……..两个斜杠后面跟着的为注释语句.这种写法只能注释一行,当换行时,又必须在新行上重新写两个斜杠.
(2)/*……..*/,斜杠与星号结合使用,这种写法可以注释任意行,即斜杠星号与星号斜杠之间的所有文字都作为注释.
Main( )主函数的写法
格式:void main( ) 注意:后面没有分号。
特点:无返回值,无参数。
电路中,除单片机外,主要原件有三类。
第二章习题参考答案一、填空题:1、当MCS-51引脚ALE有效时,表示从P0口稳定地送出了低8位地址。
2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。
3、当使用8751且EA=1,程序存储器地址小于 1000H 时,访问的是片内ROM。
4、MCS-51系统中,当PSEN信号有效时,表示CPU要从外部程序存储器读取信息。
5、MCS-51有4组工作寄存器,它们的地址范围是 00H~1FH 。
6、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。
7、PSW中RS1 RS0=10时,R2的地址为 12H 。
8、PSW中RS1 RS0=11时,R2的地址为 1AH 。
9、单片机系统复位后,(PSW)=00H,因此片内RAM寄存区的当前寄存器是第 0 组,8个寄存器的单元地址为 00H ~ 07H 。
10、PC复位后为 0000H 。
11、一个机器周期= 12 个振荡周期= 6 个时钟周期。
12、PC的内容为将要执行的的指令地址。
13、在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为 2us 。
14、内部RAM中,位地址为30H的位,该位所在字节的字节地址为 26H 。
15、若A中的内容为63H,那么,P标志位的值为 0 。
16、8051单片机复位后,R4所对应的存储单元的地址为 04H ,因上电时PSW=00H 。
这时当前的工作寄存器区是第 0 工作寄存器区。
17、使用8031芯片时,需将/EA引脚接低电平,因为其片内无程序存储器。
18、片内RAM低128个单元划分为哪3个主要部分:工作寄存器区、位寻址区和用户RAM区。
19、通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保护。
调用返回时,再进行出栈保护,把保护的断点送回到 PC 。
20、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为 64 KB。
第二章习题参考答案一、填空题:1、当MCS-51引脚ALE有效时,表示从P0口稳定地送出了低8位地址。
2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。
3、当使用8751且EA=1,程序存储器地址小于1000H 时,访问的是片内ROM。
4、MCS-51系统中,当PSEN为低电平信号有效时,表示CPU要从外部程序存储器读取信息。
5、MCS-51有4组工作寄存器,它们的地址范围是00H~1FH 。
00~07H 08~0FH 10~17H 18~1FH6、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。
位寻址区7、PSW中RS1 RS0=10时,R2的地址为12H 。
8、PSW中RS1 RS0=11时,R2的地址为1AH 。
9、单片机系统复位后,(PSW)=00H,因此片内RAM寄存区的当前寄存器是第0 组,8个寄存器的单元地址为00H ~ 07H 。
10、PC复位后为0000H 。
11、一个机器周期= 12 个振荡周期= 6 个时钟周期。
12、PC的内容为将要执行的的指令地址。
13、在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为2us 。
14、内部RAM中,位地址为30H的位,该位所在字节的字节地址为26H 。
15、若A中的内容为63H,那么,P标志位的值为0 。
0110001116、8051单片机复位后,R4所对应的存储单元的地址为04H ,因上电时PSW=00H 。
这时当前的工作寄存器区是第0 工作寄存器区。
17、使用8031芯片时,需将/EA引脚接低电平,因为其片内无程序存储器。
18、片内RAM低128个单元划分为哪3个主要部分:工作寄存器区、位寻址区和用户RAM区。
19、通过堆栈操作实现子程序调用,首先就要把PC 的内容入栈,以进行断点保护。
调用返回时,再进行出栈保护,把保护的断点送回到PC 。
20、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为64 KB。
单片机编程全集(含源代码)单片机编程全集(含源代码)引言:单片机编程是一门重要的技术,它在各个行业中都有广泛的应用。
本文将介绍单片机编程所需的基础知识、常用的编程语言和相关的实例代码,以及如何进行单片机的调试和测试。
一、单片机编程基础知识1.1 单片机概述单片机是一种集成电路,它集成了中央处理器、存储器和输入输出设备等功能单元。
它具有体积小、功耗低、成本低等优点,适用于各种嵌入式系统中。
1.2 单片机体系结构单片机的体系结构包括CPU、存储器、输入输出端口、计时/计数器等模块。
理解单片机的体系结构对于编程非常重要。
1.3 常用的单片机常见的单片机有AT89S52、STM32F103C8T6等,它们具有不同的性能和功能特点。
选择适合自己项目需求的单片机是编程的第一步。
二、单片机编程语言2.1 汇编语言汇编语言是一种低级语言,直接操作单片机的寄存器和内存。
虽然难以学习和理解,但它可以精确控制硬件。
2.2 C语言C语言是一种高级语言,易于学习和使用,可以编写出高效的代码。
许多单片机开发板都支持C语言编程,方便开发者进行开发。
2.3 基本编程指令无论是汇编语言还是C语言,都有一些基本的编程指令,如赋值、条件判断、循环等。
掌握这些指令对于编程非常关键。
三、单片机编程实例3.1 LED闪烁通过编程控制单片机的GPIO口,可以实现LED灯的闪烁效果。
代码如下:```c#include <reg52.h>void Delay(unsigned int t){while(t--);}void main()while(1){P1=0xFF; // 点亮LED灯Delay(60000);P1=0x00; // 关闭LED灯Delay(60000);}}```3.2 温度检测通过连接温度传感器到单片机的模拟输入引脚,可以实现对环境温度的检测。
代码如下:```c#include <reg52.h>sbit AD = P2^0; // 温度传感器连接的引脚void Delay(unsigned int t){while(t--);void main(){unsigned int temp;while(1){temp = AD; // 读取温度传感器的值if(temp > 50){P1=0xFF; // 温度超过50度时点亮LED灯 }else{P1=0x00; // 温度低于50度时关闭LED灯 }Delay(60000);}}```四、单片机的调试与测试4.1 调试工具常用的单片机调试工具有Keil、IAR等,它们提供了仿真功能,可以在计算机上模拟单片机的运行。
单片机培训华清远见(一)引言概述:华清远见单片机培训是一门系统性的培训课程,旨在帮助学员快速入门并掌握单片机的基本原理与应用。
通过本培训,学员将学习到单片机的硬件结构、编程语言、电子系统设计以及实际应用案例等方面的知识。
本文将分五个大点详细阐述单片机培训华清远见的内容。
正文:一、单片机基础知识1. 单片机的定义和分类2. 单片机的工作原理和基本架构3. 单片机常用的编程语言和开发工具4. 单片机的输入输出方式和中断处理机制5. 单片机的时钟源和时序控制二、单片机编程技术1. 单片机常用编程语言的基本语法和数据类型2. 单片机的程序结构和调试技巧3. 单片机的位操作和存储器管理4. 单片机的中断编程和定时器计数器应用5. 单片机与外设的通信和控制技术三、单片机硬件设计1. 单片机的外部器件和电路连接2. 单片机的IO口电平转换和电源管理3. 单片机的AD/DA转换和PWM输出4. 单片机的串行通信接口和总线控制5. 单片机的外设扩展和程序存储器扩展四、单片机应用案例1. 单片机在智能家居系统中的应用2. 单片机在工业自动化控制中的应用3. 单片机在汽车电子系统中的应用4. 单片机在医疗设备中的应用5. 单片机在网络通信系统中的应用五、单片机培训总结通过华清远见单片机培训,学员将全面了解单片机的基本原理和应用技术,具备独立设计和开发单片机应用系统的能力。
无论是从理论知识,还是从实践案例,本培训都将为学员提供充分的学习资源和实践机会。
掌握单片机技术将为学员在相关行业的就业和职业发展提供有力的支持。
总结:本文针对华清远见单片机培训进行了详细的阐述。
通过系统的培训内容,学员将全面掌握单片机的基本原理、编程技术、硬件设计和应用案例等方面的知识。
这将为学员提供丰富的学习资源和实践机会,使他们具备独立设计和开发单片机应用系统的能力,为未来的职业发展打下坚实基础。
干货 | 10个单片机MCU常用的基础知识1.MCU有串口外设的话,在加上电平转换芯片,如MAX232、SP3485就是RS232和RS485接口了。
2.RS485采用差分信号负逻辑,+2~+6V表示0,-6~-2表示1。
有两线制和四线制两种接线,四线制是全双工通讯方式,两线制是半双工通讯方式。
在RS485一般采用主从通讯方式,即一个主机带多个从机。
3.Modbus是一种协议标准,可以支持多种电气接口,如RS232,RS485,也可以在各种介质上传输,如双绞线,光纤,无线。
4.很多MCU的串口都开始自带FIFO,收发FIFO主要是为了解决串口收发中断过于频繁而导致CPU的效率不高的问题。
如果没有FIFO,则没收发一个数据都要中断处理一次,有了FIFO,可以在连续收发若干个数据(根据FIFO的深度而定)后才产生一次中断去处理数据,大大提高效率。
5.有些工程师在调试自己的系统时一出现系统跑飞,就马上引入看门狗来解决问题,而没有思想程序为什么会跑飞?程序跑飞可能是程序本身的bug,也可能是硬件电路的问题(本身就是易受干扰或自己就是干扰源)。
通常建议在调试自己的系统时,先不加看门狗,等完全调试稳定了,再补上(危机产品安全,人身安全的除外)。
6.如何区分有源蜂鸣器和无源蜂鸣器?从外观上看,如将两种蜂鸣器的引脚都朝上放置时,可以看出绿色电路板的一种是源蜂鸣器,没有电路板而用黑胶密封的一种是有源蜂鸣器。
有源蜂鸣器直接接上额定电源就可以连续发声,而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路上才能发声。
7.电压比较器的用途主要是波形的产生和变换,模拟电路到数字电路的接口。
8.低功耗唤醒的常用方式:处理器进入低功耗后就停止了很多活动,当出现一个中断时,可以唤醒处理器,使其从低功耗模式返回到正常运行模式。
因此在进入低功耗模式之前,必须配置片内外设的中断,并允许其在低功耗模式下继续工作。
如果不这样,只有复位和重新上电才能结束低功耗模式。
基础知识:51单片机编程基础单片机的外部结构:1. DIP40双列直插;2. PO, P1, P2, P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平)3. 电源VCC (PIN40)和地线GMD (PIN20);4. 高电平复位RESET (PIN9) ;(10uF电容接VCC RESET,即可实现上电复位)5. 内置振荡电路,外部只要接晶体至X1 (PIN18)和XO (PIN19);(频率为主频的12倍)6. 程序配置EA (RN31)接高电平VCC;(运行单片机内部ROM中的程序)7. P3 支持第二功能:RXD、TXD、INTO、INT1、TO、T1单片机内部I/O部件:(所为学习单片机,实际上就是编程控制以下I/O部件,完成指定任务)1.四个8位通用I/O端口,对应引脚PO、P1、P2和P3;2.两个16 位定时计数器;(TMOD, TCON, TLO, THO, TL1, TH1)3.一个串行通信接口;(SCON, SBUF)4.一个中断控制器;(IE, IP)针对AT89C52单片机,头文件AT89x52.h给出了SFR特殊功能寄存器所有端曰的定义。
C语言编程基础:1. 十六进制表示字节0x5a:二进制为0101101 OB; 0x6E为01101110。
2. 如果将一个16位二进数赋给一个8位的字节变量,则自动截断为低8位,而丢掉高8位。
3. + + var表示对变量var先增一;var—表示对变量后减一。
4. x |= OxOf;表示为x = x | OxOf;5. TMOD = (TMOD & OxfO ) | 0x05;表示给变量TMOD的低四位赋仙0x5,而不改变TMOD的高四位。
6. While( 1 );表示无限执行该语句,即死循环。
语句后的分号表示空循环体,也就是(;}在某引脚输出高电平的编程方法:(比如P1.3(PIN4)引脚)代码1.#include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P1.32 . void main ( void ) //void表示没右输入参数,也没有函数返值,这入单片机运行的复位入口3.(4.Pl_3 = 1; //给Pl_3赋值1,引脚P1.3就能输出高电平VCC5.While ( 1 ) ; //死循环,相当LOOP: goto LOOP;6.}注意:P0的每个引脚要输出高电平时,必须外接上拉电阻(如4K7)至V8电源。
P3第二功能各引脚功能定义:
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外部读控制
单片机的组成
1. CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;
2. RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数
据;
3. ROM:用以存放程序、一些原始数据和表格;
4. I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;
5. T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;
6. 五个中断源的中断控制系统;
7. 一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或
单片机与微机之间的串行通信;
8. 片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率取决于
单片机型号及性能。
基本数据类型
C-51的数据类型扩充定义
1. sfr:特殊功能寄存器声明
2. sfr16:sfr的16位数据声明
3. sbit:特殊功能位声明
类型 符号
有
无
(signed) int
16
-32768~32767
(signed) short
16
-32768~32767
(signed) long 32 -2147483648~2147483647
16
unsigned int 0~65535
32
0~4294967295
unsigned long int
unsigned short int
16
0~65535
有 float 32 3.4e-38~3.4e38
有
double 64 1.7e-308~1.7e308
有
char
8
-128~127
无
unsigned char
8
0~255
字
符
型
实
型
整
型
所占位数
数的表示范围
关键字
4. bit:位变量声明
例:sfr SCON = 0X98;
sfr16 T2 = 0xCC;
sbit OV = PSW^2;
C-51的包含的头文件
通常有:reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.h
常用有:reg51.h reg52.h
(定义特殊功能寄存器和位寄存器);
math.h (定义常用数学运算);
C-51的运算符与C语言基本相同:
1. + - * / (加 减 乘 除)
2. >= < <= (大于 大于等于 小于 小于等于)
3. == != (测试等于 测试不等于)
4. && || ! (逻辑与 逻辑或 逻辑非 )
5. >> << (位右移 位左移)
6. & | (按位与 按位或)
7. ^ ~ (按位异或 按位取反)
C-51的基本语句与C语言基本相同:
1. if 选择语言
2. while 循环语言
3. for 循环语言
4. switch/case 多分支选择语言
5. do-while 循环语言
中断服务程序
函数名()interrupt n using m
{
函数内部实现 „.
}
I/O口定义:sbit beep=P2^3;
最小系统能够运行起来的必要条件。
1.电源
2.晶振
3.复位电路
对单片机任意IO口的随意操作
1.输出控制电平高低
2.输出检测电平高低。
定时器:重点掌握最常用的方式2
中断:外部中断、定时器中断、串口中断
串口通信:单片机之间、单片机与计算机间
单片机工作的基本时序
1. 振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期,TX
实验板上为11.0592MHZ。
2. 状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。
3. 机器周期: 一个机器周期包含 6 个状态周期S1~S6, 也就是 12 个时钟周期。 在
一个机器周期内, CPU可以完成一个独立的操作。
4. 指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有
一个或几个机器周期组成。MCS - 51 系统中, 有单周期指令、双周期指令和四周
期指令。
单片机I/O口
1. 当P0作为I/O口使用时,特别是作为输出时,输出级属于开漏电路,必须外接上
拉电阻才会有高电平输出;如果作为输入,必须先向相应的锁存器写“1”,才不会
影响输入电平。
2. 当CPU内部控制信号为“1”时,P0口作为地址/数据总线使用,这时,P0口就无
法再作为I/O口使用了。
3. P1、P2 和P3 口为准双向口, 在内部差别不大, 但使用功能有所不同。
4. P1口是用户专用 8 位准双向I/O口, 具有通用输入/输出功能, 每一位都能独立地
设定为输入或输出。当有输出方式变为输入方式时, 该位的锁存器必须写入“1”, 然
后才能进入输入操作。
5. P2口是 8 位准双向I/O口。外接I/O设备时, 可作为扩展系统的地址总线, 输出高
8位地址, 与P0 口一起组成 16 位地址总线。 对于 8031 而言, P2 口一般只作为
地址总线使用, 而不作为I/O线直接与外部设备相连。
总线型 非总线型
123456789101112131415161718192040393837363534333231302928272625242322211234567891020191817161514131211P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDP3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDXTAL2XTAL1VSSV
CC
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
EA/V
PP
ALE/PROG
PSEN
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
RSTP3.0/RXDP3.1/TXDXTAL2XTAL1P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1GNDV
CC
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1/AIN1
P1.0/AIN0
P3.7
注:类似的还有Philips公司的
87LPC64,20引脚
8XC748/750/(751),24引脚
8X749(752),28引脚
8XC754,28引脚
等等
8
0
C
5
1
/
8
9
C
5
1
8
9
C
2
0
5
1
总线型
非总线型