51单片机头文件

发布时间:2024-04-10  

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


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>