emo 单片机基础教程
技术教程 ©2013 emo 电子工作室--宅基地宅友之家
http://xiangyunzone.taobao.com http://www.honeygeek.org/ http://99emo.taobao.com
2. 资源简介
上一节已经提及到 51 单片机内部资源,主要有:并行 I/O 接口、串行 I/O 接口、定时/
计数器以及中断系统。在制作小车的过程中我们将用到所有的这些资源,所以为了让初学者
复习这里再介绍一下。如果这些你都完全熟知那可以跳过。
2.1 并行输入/输出接口
在 51 单片机中有 4 个 8 位并行输入/输出接口:P0、P1、P2、P3。这四个口不仅可以并
行输入输出数据,而且可以按位的方式使用,即每一位均可独立作为输入输出。每个接口电
路具有锁存器和驱动器,输入接口电路具有三态门控制。在实际使用中 P0~P3 接口上电或
复位呈现高电平状态。值得注意的是 P0 接口是高阻态,设计电路时通常将 P0 所有位都上
拉。
2.2 定时/计数器接口
定时/计数器是单片机中重要的功能之一,通常检测、控制(小车 PWM、舵机控制)、
产生时序信号以及智能仪器中用来定时。另外可以用来做外部事件计数。在 51 系列的有两
个 16 位可编程定时/计数器:定时/计数器 T0、定时/计数器 T1;在 52 系列比 51 系列多一个
定时/计数器 T2。可编程是指其功能(工作方式、定时时间、启动方式)可以通过指令来控
制。每个定时/计数器都有多种工作方式:T0 有四种工作方式、T1 有三种工作方式、T2 有
三种工作方式。
事实上定时/计数器的使用是 51 单片机比较复杂的内容,很多初学者在这个方面学习的
比较吃力,然而却是单片机设计中必不可少的部分。在我们的小车制作中也会经常用到。读
者阅读到这里时可以回想一下这部分的知识,如果觉得比较模糊还必须重新翻阅书籍熟悉熟
悉,这里只做简单介绍。
2.3 串行接口
51 单片机具有一个全双工的串行异步通信接口(P3.0、P3.1),可以同时发送数据和接
收数据。发送接收数据可以通过查询和中断的方式进行处理,应用十分灵活,能方便的与其
他计算机或串行传输信息的外部设备实现双机通信或多机通信。
它具有四种工作方式,分别是:方式 0,称为同步移位寄存器方式,一般用于外接移位
寄存器芯片扩展 I/O 接口;方式 1,八位异步通信方式,常用于双机通信。方式 2、3,9 位
异步通信方式,常用于多机通信。不同的工作方式,其波特率是不一样的,方式 0 和方式 2
的波特率直接由系统时钟产生,方式 1 和方式 3 的波特率由定时/计数器 T1 的溢出率决定(这
里就涉及到前面的定时/计数器内容)。
2.4 中断系统
标准的 51 有 5 个硬件中断源(除去复位):2 个外部中断源 INT0、INT1;两个定时/计
数器 T0 和 T1 的溢出中断 TF0 和 TF1;一个串口发送 TI 和接收 RI 中断。52 系列的比 51 系
列多了一个定时/计数器 T2,其功能比 T0、T1 强大多,且 T2 中断标志必须由软件清标志位。
下面介绍各个中断产生的情况:外部中断可以设置成边沿触发和电平触发,边沿触发方
式下 CUP 相应中断后由硬件自动清除标志位,而电平触发需要软件清除标志位;定时/计数
器计数溢出产生的中断,在进入中断程序硬件自动清除标志位。串口发送或接收到数据将触
发中断,由于是两个中断标志共用一个中断向量,故需要在中断程序中判断是发送中断还是
接收中断,并且只能由软件清除标志位。