zoukankan      html  css  js  c++  java
  • 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口还用作外部程序存储器返回的数据输入口。

  • 相关阅读:
    POJ1182
    poj3225 线段树区间操作 (见鬼)
    斜率优化dp(POJ1180 Uva1451)
    POJ2528 线段树的区间操作
    POI2001 Gold mine(二叉排序树 黑书经典)
    POJ3921
    博弈论之威佐夫博弈(转载)
    poj3468(线段树 边覆盖)
    hdu 1166(树状数组 或 线段树)
    压缩软件的改进--- (续先前霍夫曼编码)
  • 原文地址:https://www.cnblogs.com/lkiller/p/3979999.html
Copyright © 2011-2022 走看看