单片机
返回首页

51单片机头文件

2024-04-10 来源:elecfans

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


定义,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 一类的名字,只要下面程序中也随之更改就行了。


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 短波AM发射器电路设计图

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 如何调制IC555振荡器

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章