单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。 单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳
单片机输入/输出(I/O)端口的几种类型。
我们都知道,单片机主要是通过输入/输出(I/O)端口来实现对外部设备进行检测和控制。
为了满足单片机系统的实际需要,一般的单片机都提供了数量众多,功能强大、使用灵活的输入/输出端口,简称I/O口。这些端口可以分为以下几种类型:
并行总线输入/输出(I/O)端口。这类端口主要用于外部扩展和扩充并行存储器芯片或并行I/O芯片等使用,包括数据总线、地址总线和读/写控制信号,一般51系列单片机都有这类端口;
通用数字I/O端口。用于外部电路逻辑信号的输入和输出控制,在一般的单片机系统中,这类端口的应用最为广泛。比如我们点亮发光二极管,让数码管显示数字都是用的通用数字I/O口。
片内功能单元的输入/输出端口。例如内部定时/计数器的计数脉冲输入、外部中断事件的输入等。
串行I/O通信口。用于系统之间或与采用专用串行通信协议的外围芯片之间的连接和交换数据。例如USART(RS232)串行接口,I2C串行接口。SPI串行接口,USB串行接口等。
其他专用接口。一些单片机还在片内集成了某些专用的模拟或数字I/O口。如:A/D输入接口。D/A输出接口,PWM接口。有的单片机甚至集成了LCD液晶接口。
由于单片机芯片自身的限制,它的输入/输出(I/O)端口不可能无限扩展,也就是说单片机的输入/输出(I/O)端口的数量是有限的,所以基本上所有的单片机都采用了端口复用技术。所谓的端口复用技术就是指:某一个端口既可以作为通用的数字I/O端口使用,也可以作为完成某项功能的专用接口,用户根据实际需要对这些端口进行配置以完成自己的设计目标。