您当前的位置:五五电子网电子知识单片机-工控设备51单片机将AT89C52用作多功能外围器件使用 正文
将AT89C52用作多功能外围器件使用

将AT89C52用作多功能外围器件使用

点击数:7121 次   录入时间:03-04 11:58:09   整理:http://www.55dianzi.com   51单片机

表3

a2  a1  a0 波特率/baud 0   0   0 110 0   0   1 150 0   1   0 300 0   1   1 600 1   0   0 1200 1   0   1 2400 1   1   0 4800 1   1   1 9600

(12)串行接收指令

    指令格式如下:

第1字节

D7 D6 D5 D4 D3 D2 D1 D0 0 0 1 1 1 a2 a1 a0

第2字节

D7 D6 D5 D4 D3 D2 D1 D0 b1 b0 d5 d4 d3 d2 d1 d0

第3字节

D7 D6 D5 D4 D3 D2 D1 D0 d7 d6 d5 d4 d3 d2 d1 d0

第4字节

D7 D6 D5 D4 D3 D2 D1 D0 d7 d6 d5 d4 d3 d2 d1 d0

指令编码与串行发送送似,第3字节之后为接收到的数据。

(13)读状态指令

指令格式如下:

D7 D6 D5 D4 D3 D2 D1 D0 0 1 0 0 0 0 0 0 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 d4 d3 d2 d1 d0

在键盘输入、计数器回等或串行通信中断时,多功能接口将向INTR发出负脉冲,主机在响应后应发读状态指令,查询状态标志,确定是哪个状态标志动作。其中d0为键盘输入标志,d1为计数器0回零动作。d2为计数器1回零标志。d3为串行接收结束标志,d4为串行发送结束标志。

4 多功能接口的软件设计

在主程序中进行显示扫描和键盘扫描,如有键盘输入,则找出键盘矩阵的键号。键号存入键值寄存器,并置位状态标志,同时发出INTR负脉冲,通知主机来取键值。

主机通过指令对多功能接口进行操作。主机首先要将CE置0。该下降沿通过P3.2向多功能接口发出外部中断。在中断服务程序中,多功能接口进行取指和译码操作,并通过散转指令转入相应的处理通道。则中断返回。至此,一条指令的取指-译码-执行的过程才告结束。程序回到主循环继续进行显示扫描和键盘扫描。

所谓取指操作实际上就是多功能接口与主机进行通信的过程。由于采取软件进行通信,t1、t2、t3、t4、t5的宽度有一定的范围。

在接收到主机的操作指令后,多功能接口与外设的串行通信及有关定时器的操作采用中断方式进行。在中断结束时,置位状态标志,并向主机发INTR负脉冲。该负脉冲可供主机查询,也可作为向主机发出的中断请求信号。完成以上工作后,返回主程序。

89C52有三个定时器,其中T2在中串行通信时间来作为串行通信的波特率发生器。这样T0和T1就可以出借给用户作定时器内。T2在波特率发生器方式时,可置位T2CON寄存器中的TCLK位或RCLK位。在TH2、TL2中装入计数初值,使T2从这个初值开始计数,但并不置位FT2。RCAR2H和RCAP2L中的常数由软件设定后,T2的溢出率是严格不变的,因而使串行通信的波特率非常稳定。

5 应用实例

在本刊网络补充版(http://www.dpj.com.cn)中,给出主机为AT89C52时的应用实例。程序的功能为等待键盘输入,然后将所读到的键盘码转换成十进制后送LED数码管显示。



上一页  [1] [2] 


本文关键字:暂无联系方式51单片机单片机-工控设备 - 51单片机

《将AT89C52用作多功能外围器件使用》相关文章>>>