zoukankan      html  css  js  c++  java
  • 51单片机头文件

    intrins.h

    在C51单片机编程中,头文件INTRINS.H的函数使用起来,就会让你像在用汇编时一样简便.

    内部函数 描述

    _crol_ 字符循环左移

    _cror_ 字符循环右移

    _irol_ 整数循环左移

    _iror_ 整数循环右移

    _lrol_ 长整数循环左移

    _lror_ 长整数循环右移

    _nop_ 空操作8051 NOP 指令

    _testbit_ 测试并清零位8051 JBC 指令

    reg51.h

    at89x51.h文件中对P1.1的操作是写成P1_1

    reg51.h文件中对P1.1的操作是写成P1^1

    表示方法不一样而已。

     1 //Time:2017-2-11
     2 //Project Name:reg51.h
     3 //write by:cyt
     4 /*---------------------------------------------------------
     5 REG51.H
     6 Header file for generic 80C51 and 80C31 microcontroller.
     7 Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
     8 All rights reserved.
     9 ------------------------------------------------------------*/
    10 #ifndef __REG51_H__
    11 #define __REG51_H__
    12 /* BYTE Register */
    13 sfr P0 = 0x80;
    14 sfr P1 = 0x90;
    15 sfr P2 = 0xA0;
    16 sfr P3 = 0xB0;
    17 sfr PSW = 0xD0;
    18 sfr ACC = 0xE0;
    19 sfr B = 0xF0;
    20 sfr SP = 0x81;
    21 sfr DPL = 0x82;
    22 sfr DPH = 0x83;
    23 sfr PCON = 0x87;
    24 sfr TCON = 0x88;
    25 sfr TMOD = 0x89;
    26 sfr TL0 = 0x8A;
    27 sfr TL1 = 0x8B;
    28 sfr TH0 = 0x8C;
    29 sfr TH1 = 0x8D;
    30 sfr IE = 0xA8;
    31 sfr IP = 0xB8;
    32 sfr SCON = 0x98;
    33 sfr SBUF = 0x99;
    34 /* BIT Register */
    35 /* PSW */
    36 sbit CY = 0xD7;
    37 sbit AC = 0xD6;
    38 sbit F0 = 0xD5;
    39 sbit RS1 = 0xD4;
    40 sbit RS0 = 0xD3;
    41 sbit OV = 0xD2;
    42 sbit P = 0xD0;
    43 /* TCON */
    44 sbit TF1 = 0x8F;
    45 sbit TR1 = 0x8E;
    46 sbit TF0 = 0x8D;
    47 sbit TR0 = 0x8C;
    48 sbit IE1 = 0x8B;
    49 sbit IT1 = 0x8A;
    50 sbit IE0 = 0x89;
    51 sbit IT0 = 0x88;
    52 /* IE */
    53 sbit EA = 0xAF;
    54 sbit ES = 0xAC;
    55 sbit ET1 = 0xAB;
    56 sbit EX1 = 0xAA;
    57 sbit ET0 = 0xA9;
    58 sbit EX0 = 0xA8;
    59 /* IP */ 
    60 sbit PS = 0xBC;
    61 sbit PT1 = 0xBB;
    62 sbit PX1 = 0xBA;
    63 sbit PT0 = 0xB9;
    64 sbit PX0 = 0xB8;
    65 /* P3 */
    66 sbit RD = 0xB7;
    67 sbit WR = 0xB6;
    68 sbit T1 = 0xB5;
    69 sbit T0 = 0xB4;
    70 sbit INT1 = 0xB3;
    71 sbit INT0 = 0xB2;
    72 sbit TXD = 0xB1;
    73 sbit RXD = 0xB0;
    74 /* SCON */
    75 sbit SM0 = 0x9F;
    76 sbit SM1 = 0x9E;
    77 sbit SM2 = 0x9D;
    78 sbit REN = 0x9C;
    79 sbit TB8 = 0x9B;
    80 sbit RB8 = 0x9A;
    81 sbit TI = 0x99;
    82 sbit RI = 0x98;
    83 #endif
    reg51.h

     定义,sbit 的用法有三种:

    第一种方法:sbit 位变量名=地址值
    第二种方法:sbit 位变量名=SFR 名称^变量位地址值
    第三种方法:sbit 位变量名=SFR 地址值^变量位地址值
    如定义PSW 中的OV 可以用以下三种方法:
    sbit OV=0xd2 (1)说明:0xd2 是OV 的位地址值
    sbit OV=PSW^2 (2)说明:其中PSW 必须先用sfr 定义好
    sbit OV=0xD0^2 (3)说明:0xD0 就是PSW 的地址值
    因此这里用sfr P1_0=P1^0;就是定义用符号P1_0 来表示P1.0 引脚,如果你愿意也可以起P10 一类的名字,只要下面程序中也随之更改就行了。

  • 相关阅读:
    github设置添加SSH
    windows下使用git管理github项目
    WGS84、Web墨卡托、火星坐标、百度坐标互转
    用IrisSkin2.dll美化你的WinForm
    GDAL读写矢量文件——Python
    GIS矢量数据化简:一种改进的道格拉斯-普克算法以及C++实现
    ArcGIS的地理坐标系与大地坐标系
    ArcGIS Engine生成等值线(C#)
    ArcMap等值面
    MongoDB介绍及安装
  • 原文地址:https://www.cnblogs.com/GrayAngel/p/6388587.html
Copyright © 2011-2022 走看看