找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2395|回复: 2
打印 上一主题 下一主题
收起左侧

分享一个STC89C52的头文件

[复制链接]
跳转到指定楼层
楼主
ID:748096 发表于 2020-9-7 16:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
里面宏定义了uchar和uint分别叫u8和u16,写程序添加头文件后省了这两个宏定义,可以直接引用。
  1.    /*--------------------------------------------------------------------------
  2. REG52.H

  3. Header file for generic 80C52 and 80C32 microcontroller.
  4. Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
  5. All rights reserved.
  6. --------------------------------------------------------------------------*/

  7. #ifndef __STC89C52_H__
  8. #define __STC89C52_H__

  9. typedef unsigned char u8;
  10. typedef unsigned int u16;

  11. /*  BYTE Registers  */
  12. sfr P0    = 0x80;
  13. sfr P1    = 0x90;
  14. sfr P2    = 0xA0;
  15. sfr P3    = 0xB0;
  16. sfr PSW   = 0xD0;
  17. sfr ACC   = 0xE0;
  18. sfr B     = 0xF0;
  19. sfr SP    = 0x81;
  20. sfr DPL   = 0x82;
  21. sfr DPH   = 0x83;
  22. sfr PCON  = 0x87;
  23. sfr TCON  = 0x88;
  24. sfr TMOD  = 0x89;
  25. sfr TL0   = 0x8A;
  26. sfr TL1   = 0x8B;
  27. sfr TH0   = 0x8C;
  28. sfr TH1   = 0x8D;
  29. sfr IE    = 0xA8;
  30. sfr IP    = 0xB8;
  31. sfr SCON  = 0x98;
  32. sfr SBUF  = 0x99;

  33. /*  8052 Extensions  */
  34. sfr T2CON  = 0xC8;
  35. sfr RCAP2L = 0xCA;
  36. sfr RCAP2H = 0xCB;
  37. sfr TL2    = 0xCC;
  38. sfr TH2    = 0xCD;


  39. /*  BIT Registers  */
  40. /*  PSW  */
  41. sbit CY    = PSW^7;
  42. sbit AC    = PSW^6;
  43. sbit F0    = PSW^5;
  44. sbit RS1   = PSW^4;
  45. sbit RS0   = PSW^3;
  46. sbit OV    = PSW^2;
  47. sbit P     = PSW^0; //8052 only

  48. /*  TCON  */
  49. sbit TF1   = TCON^7;
  50. sbit TR1   = TCON^6;
  51. sbit TF0   = TCON^5;
  52. sbit TR0   = TCON^4;
  53. sbit IE1   = TCON^3;
  54. sbit IT1   = TCON^2;
  55. sbit IE0   = TCON^1;
  56. sbit IT0   = TCON^0;

  57. /*  IE  */
  58. sbit EA    = IE^7;
  59. sbit ET2   = IE^5; //8052 only
  60. sbit ES    = IE^4;
  61. sbit ET1   = IE^3;
  62. sbit EX1   = IE^2;
  63. sbit ET0   = IE^1;
  64. sbit EX0   = IE^0;

  65. /*  IP  */
  66. sbit PT2   = IP^5;
  67. sbit PS    = IP^4;
  68. sbit PT1   = IP^3;
  69. sbit PX1   = IP^2;
  70. sbit PT0   = IP^1;
  71. sbit PX0   = IP^0;

  72. /*  P3  */
  73. sbit RD    = P3^7;
  74. sbit WR    = P3^6;
  75. sbit T1    = P3^5;
  76. sbit T0    = P3^4;
  77. sbit INT1  = P3^3;
  78. sbit INT0  = P3^2;
  79. sbit TXD   = P3^1;
  80. sbit RXD   = P3^0;

  81. /*  SCON  */
  82. sbit SM0   = SCON^7;
  83. sbit SM1   = SCON^6;
  84. sbit SM2   = SCON^5;
  85. sbit REN   = SCON^4;
  86. sbit TB8   = SCON^3;
  87. sbit RB8   = SCON^2;
  88. sbit TI    = SCON^1;
  89. sbit RI    = SCON^0;

  90. /*  P1  */
  91. sbit T2EX  = P1^1; // 8052 only
  92. sbit T2    = P1^0; // 8052 only
  93.             
  94. /*  T2CON  */
  95. sbit TF2    = T2CON^7;
  96. sbit EXF2   = T2CON^6;
  97. sbit RCLK   = T2CON^5;
  98. sbit TCLK   = T2CON^4;
  99. sbit EXEN2  = T2CON^3;
  100. sbit TR2    = T2CON^2;
  101. sbit C_T2   = T2CON^1;
  102. sbit CP_RL2 = T2CON^0;

  103. sfr ISP_DATA  = 0xe2;
  104. sfr ISP_ADDRH = 0xe3;
  105. sfr ISP_ADDRL = 0xe4;
  106. sfr ISP_CMD   = 0xe5;
  107. sfr ISP_TRIG  = 0xe6;
  108. sfr ISP_CONTR = 0xe7;

  109. #endif
复制代码

全部资料51hei下载地址:
复件 STC89C52.zip (948 Bytes, 下载次数: 13)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:97023 发表于 2020-9-8 23:01 | 只看该作者
谢谢分享,其实还可以加入下面这行:
sfr T2MOD  = 0xC9;
回复

使用道具 举报

板凳
ID:748096 发表于 2020-9-9 05:50 | 只看该作者
ztzp 发表于 2020-9-8 23:01
谢谢分享,其实还可以加入下面这行:
sfr T2MOD  = 0xC9;

需要什么就增加什么,更好理解利用头文件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表