OC8051软件编程说明

1、复位

  复位通过复位引脚RST输入,复位必须达到两个周期的高电平才能将系统复位。复位后,PC指针为0000H,因此0000H即为复位向量入口,复位后从此处开始运行程序。复位后P口(P0,P1,P2,P3)被设置为FFH,堆栈指针值为07H,其他特殊功能寄存器的初值均为00H,内部RAM的值不受复位影响,复位后,其值不确定。

2、寄存器列表

  图1为OC8051的寄存器列表:

 

图1 OC8051寄存器列表

  下面依次说明几个特殊功能寄存器功能。

  PSW(程序状态字)

  CY PSW.7  :  进位标志

  AC PSW.6  :  辅助进位标志

  F0 PSW.5  :  用户可用作通用标志

  RS1 RS0 (PSW.4 PSW.3)  :  寄存器组选择

        00  :寄存器组0  地址范围00-07H

        01  :寄存器组1  08-0FH

        10  :寄存器组2  10-17H  

        11  :寄存器组3  18-1FH

  OV  PSW.2  :  溢出标志

  -   PSW.1  :  用户定义标志

  P   PSW.0  :  奇偶标志

  

  IE(中断使能)

  

  EA  :   总中断使能,EA=0;所有的中断都不会被响应,EA=1,中断由各中断的独立使能位控制。

  ET1  :  定时器1中断使能

  EX1  :  外部中断1使能  

  ET0  :  定时器0中断使能

  EX0  :  外部中断0使能

  IP(中断优先级)

  

  前面提到过,OC8051支持两级中断优先级,设为0:对应的中断为低优先级,设为1:对应的中断为高优先级。

  PT1  :  定时器1中断优先级设置

  PX1  :  外部中断1中断优先级设置

  PT0  :  定时器0中断优先级设置

  PX0  :  外部中断优先级设置

  

  TCON(定时/计数器控制寄存器)

  

  TF1  :  定时器1溢出标志,硬件置位,软件清0

  TR1  :  定时器1运行控制,1:启动定时/计数器

  TF0  :  定时器0溢出标志,硬件置位,软件清0

  TR0  :  定时器0运行控制,1:启动定时/计数器

  IE1  :  外部中断1沿标志,检测到外部中断沿,硬件置1,中断响应后,由硬件清0

  IT1  :  外部中断1类型控制,1:下降沿触发;0:低电平触发

  IE0  :  外部中断0沿标志,检测到外部中断沿,硬件置1,中断响应后,由硬件清0

  IT0  :  外部中断0类型控制,1:下降沿触发;0:低电平触发

 

  TMOD(定时/计数器模式控制寄存器)

  高4bit控制定时器1,低4bit控制定时器0.

  GATE  :  GATE=0,定时器的运行由TRx位(TCON寄存器)控制,GATE=1,由外部引脚INTx控制,INTx为1时,才能运行。

  C/T  :  定时/计数模式选择,计数模式下,对Tx输入引脚进行计数。

  M1 MO  :  模式选择

    00  :13bit定时器模式

    01  :16bit定时计数模式

    10  :8bit自动重载定时计数模式

    11  :两个独立的8bit定时计数模式,TL0占用Timer0控制线和中断线,TH0占用Timer1控制线和中断线;(此时原定时器1不能被使用,因为其控制线和中断线被占用)

 

3、P口的第二功能说明

  下图显示了P3口的第二功能说明:

  

  第2部分多次提到的INTx和Tx即此次的INT0,INT1,T0,T1引脚。另外P0和P2口还用作访问外部程序存储器,P0表示低8位地址,P2表示高8位地址,如果地址线小于8根,P2也可以不用做寻址;P0口还用作外部程序存储器返回的数据输入口。

 

posted @ 2014-09-18 20:27  柯西不是我  阅读(800)  评论(0编辑  收藏  举报