51單片機頭文件reg51.h詳解
下面附出頭文件的原文,并把注釋文件一并附后。本文引用地址:http://m.butianyuan.cn/article/201612/324301.htm
/*--------------------------------------------------------------------------
REG51.H
Header file for generic 80C51 and 80C31 microcontroller.
Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/
#ifndef __REG51_H__
#define __REG51_H__
/*BYTE Register*/
sfr P0= 0x80;//三態(tài)雙向IO口P0口 此句話的意思是:特殊功能寄存器?。校啊〉刂窞椋皒80 ,可位尋址,下同
//低8位地址總線/數據總線(一般不用而只作普通I/O口,注意作I/O口用時,硬件上需接上接電阻)
sfr P1= 0x90;//準雙向IO口P1口
sfr P2= 0xA0;//準雙向IO口P2口
//高8位地址總線,一般也作普通I/O用
sfr P3= 0xB0;//雙功能
//1.準雙向IO口P3口
//2.P30RXD串行數據接受
//P31TXD串行數據發(fā)送
//P32外部中斷0信號申請
//P33外部中斷1信號申請
//P34定時/計數器T0外部計數脈沖輸入
//P35定時/計數器T1外部計數脈沖輸入
//P36WR片外RAM寫脈沖信號輸入
//P37 RD片外ram讀脈沖信號輸入
sfr PSW= 0xD0;//可以位尋址(C語言編程時可不考慮此寄存器)
//程序狀態(tài)寄存器Program Status WORD(程序狀態(tài)信息)
//psw.7(CY)進位標志
//psw.6(AC)輔助進位標志位低四位向高四位進位或借位時AC=1
//主要用于十進制調整
//psw.5(F0)用戶可自定義的程序標志位
//psw.4(RS1)
//psw.3(RS0)
//工作寄存器選擇位
//任一時刻只有一組寄存器在工作
//0 00區(qū)00H~07H
//0 11區(qū)08H~0fH
//1 02區(qū)10H~17H
//1 13區(qū)18H~1FH
//psw.2(OV)溢出標志位
//psw.1()保留為,不可使用
//psw.0(P)奇偶校驗位
sfr ACC= 0xE0;//累加器A特殊功能寄存器可位尋址
sfr B= 0xF0;//寄存器B主要用于乘除運算
sfr SP= 0x81;//堆棧指針寄存器SP存放站定棧頂地址、
sfr DPL= 0x82;//
sfr DPH= 0x83;//數據指針寄存器DPTR、//對片外RAM及擴展IO進行存取用的地址指針
sfr PCON = 0x87;//電源控制寄存器、不能位尋址
//管理單片機的電源部分包括上電復位、掉電模式、空閑模式等
//單片機復位時PCON被全部清0,編程時一般是用到SMOD位,其它的一般不用
//D7SMOD該位與串口通信波特率有關
//SMOD=0串口方式1 2 3波特率正常
//SMOD=1串口方式1 2 3波特率加倍
sfr TCON = 0x88;//定時器/計數器控制寄存器可以位尋址
//D7 TF1定時器1溢出標志位
//D6TR1定時器1運行控制位
//D5TF0定時器0溢出標志位
//D4TR0定時器0運行控制位
//D3IE1外部中斷1請求標志
//D2IT1外部中斷1觸發(fā)方式選擇位
//D1IE0外部中斷0請求標志
//D0IT0外部中斷0觸發(fā)方式選擇位
sfr TMOD = 0x89;//定時器/計數器工作方式寄存器不能位尋址
//確定工作方式和功能
//D7GATE門控制位
//GATE=0;定時器/計數器由TRX(x=0,1)來控制
//GATE=1;定時器/計數器由TRX(x=0,1)
//和外部中斷引腳(init0,1)來共同控制
//D6C/T定時器、計數器選擇位
//0選擇定時器模式
//1選擇計數器模式
//D5M1
//D4M0
//M1M0工作方式
//00方式013位定時器/計數器
//01方式116位定時器/計數器
//10方式28位自動重裝定時器/計數器
//11方式3僅適用T0分成兩個8位計數器,T1停止計數
//D3GATE門控制位
//GATE=0;定時器/計數器由TRX(x=0,1)來控制
//GATE=1;定時器/計數器由TRX(x=0,1)
//和外部中斷引腳(init0,1)來共同控制
//D2C/T定時器、計數器選擇位
//0選擇定時器模式
//1選擇計數器模式
//D1M1
//D0M0
//M1M0工作方式
//00方式013位定時器/計數器
//01方式116位定時器/計數器
//10方式28位自動重裝定時器/計數器
//11方式3僅適用T0分成兩個8位計數器,T1停止計數
sfr TL0= 0x8A;//定時器/計數器0高8位容器 加1計數器
sfr TL1= 0x8B;//定時器/計數器1高8位容器
sfr TH0= 0x8C;//定時器/計數器0低8位容器
sfr TH1= 0x8D;//定時器/計數器1低8位容器
評論