51单片机头文件

发布者:sigma28最新更新时间:2024-04-10 来源: elecfans关键字: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


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


关键字:51单片机  头文件  编程 引用地址:51单片机头文件

上一篇:单片机的存储器
下一篇:51单片机小项目电路TwoLed电路图

推荐阅读最新更新时间:2026-03-11 10:46

1602.c和1602.h头文件,完美版的51单片机1602液晶驱动
本文件可以完美驱动1602液晶屏,调用方法详见: http://www.51hei.com/bbs/dpj-24670-1.html ,有2个文件1602.c和1602.h头文件(在后面). 1602.c文件 //***************************** #include stc12c5a.h #include intrins.h #define uchar unsigned char #define uint unsigned int #define IODATA P0 //这三个引脚参考资料 sbit E=P2^7; //1602使能引脚 sbit RW=P2^6; //1602读写引脚 sbit
[单片机]
51单片机头文件reg51.h学习心得
1)“文件包含”处理概念 所谓“文件包含”是指在一个文件内将另外一个文件的内容全部包含进来。因为被包含的文件中的一些定义和命令使用的频率很高,几乎每个程序中都可能要用到,为了提高编程效率,减少编程人员的重得劳动,将这些定义和命令单独组成一个文件,如reg51.h,然后用#include reg51.h 包含进来就可以了,这个就相当于工业上的标准零件,拿来直接用就可以了。 2)寄存器地址及位地址声明的原因 其实相当于为这些内存地址取个名字。reg51.h里面主要是一些特殊功能寄存器的地址声明,对可以位寻址的,还包括一些位地址的声明,如果如sfr P1=0x80; sfr IE=0xA8;sbit EA=0xAF等。
[单片机]
自制51单片机常用头文件(红外解码)
/*-------------------------------------------------------------------------- IR.H The user function is C51. Copyright (c) 1988-2004 Keil Elektronik GmbH sum zhaojun All rights reserved. --------------------------------------------------------------------------*/ #ifndef __IR_H__ #define __IR_H__ #define uchar unsigne
[单片机]
51单片机keilC中头文件absacc.h作用
当51单片机通过8255和锁存器74LS273来扩展IO时,经常用到头文件absacc.h。 在程序中,用 #include absacc.h 即可使用其中定义的宏来访问绝对地址,包括:CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD 例如: rval=CBYTE ;指向程序存贮器的0002h地址 rval=XWORD ;指向外RAM的0004h地址 KEIL 中ABSACC.H 定义如下: #ifndef __ABSACC_H__ #define __ABSACC_H__ #define CBYTE ((unsigned char volatile code *) 0) #de
[单片机]
51单片机C语言编程》学习
因为公司有一部分设备生产年代久远,用的PLC也是比较古老的,有一款东芝EX20/40的用的单片机是P8051AH,其CPU板的图片如下。 因此想尽可能的的了解一下8051系列单片机,适逢活动中有《51单片机C语言编程》,遂报名参加。 因为以前对51单片机做过了解,拿到书后直接跳到流水灯章节阅读,按照书上的位操作例程弄了一个比较繁琐的控制数码管显示0-9的程序: #include #define unit unsigned int sbit led0=P1^0; sbit led1=P1^1; sbit led2=P1^2; sbit led3=P1^3; sbit led4=P1^4; sbit led5=P1^5; sb
[单片机]
《<font color='red'>51单片机</font>C语言<font color='red'>编程</font>》学习
汇编和C语言相结合的51单片机编程技巧
  本文主要是关于汇编和C语言的相关介绍,并着重对汇编和C语言的不同及其编程技巧进行了详尽的阐述。   汇编和C语言   C语言和汇编语言的区别在于他们之间优缺点几乎是相反的。   C语言和汇编语言的优缺点:以c来举例   优点:   c的运行效率高;   c可以实现硬件的直接访问;   c代码的移植性好;   缺点:   c的代码复用性差;   c的代码维护性差;   c的扩展性差,即如果想增加新功能,需要修改较多的代码;   c语言的可读性差;   C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言;尽管C语言提供
[单片机]
汇编和C语言相结合的<font color='red'>51单片机</font><font color='red'>编程</font>技巧
51单片机编程开发(一)之C语言基础一
C51编译器 51单片机开发编译有很多,现在比较有名的是IAR for 8051编译器和KEIL for C51编译器,但这两个软件都不是免费的,官网提高的免费版是有使用限制的。另外还有一些编译器是免费的,但需要一定基础,初学者就不推荐使用了,等你翅膀硬了之后在自己配置编译环境吧。 简单介绍两个免费编译器:可跨平台使用的开源编译器sdcc,有空可以自己查资料搭建一下,后期如果有时间我再做个教程吧。另外微软公司提供的Visual Studio Code这个免费又强大的代码编辑器配合一些三方插件工具也可以实现各种单片机编译功能,效果也不错,这个也以后再另说吧。IAR for 8051编译器和KEIL for C51编译器在官网都可
[单片机]
<font color='red'>51单片机</font><font color='red'>编程</font>开发(一)之C语言基础一
单片机编程-如何快速零基础到入门51单片机(一)
要学习单片机,首先我们了解一些计算机的基本概念和基础操作,然后了解电路及其元器件的基本理论,为我们学习更高级的单片机入门IT和信息技术行业打下一定的基础。 本次我们先学习普中51单片机开发板,这块开发板能在淘宝上买到,而且这种板子也算是比较便宜的了,大概十几块钱,先声明我们和淘宝卖板子的店家没有任何关系,只是告诉大家购买的地方。 华维单片机编程:免费领!单片机入门到高级开挂学习路径(附教程+工具)37 赞同 · 8 评论文章 然后我们还一台需要Windows电脑,XP win7.8.10都是可以的操作都是大同小异的,但是特别说明下就是苹果的电脑好像不行,因为我们接下来使用的这个keil5软件没有苹果的版本,如果你的电
[单片机]
单片机<font color='red'>编程</font>-如何快速零基础到入门<font color='red'>51单片机</font>(一)
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved