找回密码
 立即注册

QQ登录

只需一步,快速开始

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

stc15.h单片机头文件下载

[复制链接]
跳转到指定楼层
楼主
ID:325964 发表于 2018-5-9 15:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
stc15f2k60s2等单片机型号可以使用这个头文件

stc15.h的源程序如下:
  1. #ifndef __STC15F2K60S2_H_
  2. #define __STC15F2K60S2_H_

  3. /////////////////////////////////////////////////
  4. //注意: STC15W4K32S4系列的芯片,上电后所有与PWM相关的IO口均为
  5. //      高阻态,需将这些口设置为准双向口或强推挽模式方可正常使用
  6. //相关IO: P0.6/P0.7/P1.6/P1.7/P2.1/P2.2
  7. //        P2.3/P2.7/P3.7/P4.2/P4.4/P4.5
  8. /////////////////////////////////////////////////

  9. /////////////////////////////////////////////////

  10. //包含本头文件后,不用另外再包含"REG51.H"

  11. //内核特殊功能寄存器        // 复位值   描述
  12. sfr ACC         =   0xE0;   //0000,0000 累加器Accumulator
  13. sfr B           =   0xF0;   //0000,0000 B寄存器
  14. sfr PSW         =   0xD0;   //0000,0000 程序状态字
  15. sbit CY         =   PSW^7;
  16. sbit AC         =   PSW^6;
  17. sbit F0         =   PSW^5;
  18. sbit RS1        =   PSW^4;
  19. sbit RS0        =   PSW^3;
  20. sbit OV         =   PSW^2;
  21. sbit P          =   PSW^0;
  22. sfr SP          =   0x81;   //0000,0111 堆栈指针
  23. sfr DPL         =   0x82;   //0000,0000 数据指针低字节
  24. sfr DPH         =   0x83;   //0000,0000 数据指针高字节

  25. //I/O 口特殊功能寄存器
  26. sfr P0          =   0x80;   //1111,1111 端口0
  27. sbit P00        =   P0^0;
  28. sbit P01        =   P0^1;
  29. sbit P02        =   P0^2;
  30. sbit P03        =   P0^3;
  31. sbit P04        =   P0^4;
  32. sbit P05        =   P0^5;
  33. sbit P06        =   P0^6;
  34. sbit P07        =   P0^7;
  35. sfr P1          =   0x90;   //1111,1111 端口1
  36. sbit P10        =   P1^0;
  37. sbit P11        =   P1^1;
  38. sbit P12        =   P1^2;
  39. sbit P13        =   P1^3;
  40. sbit P14        =   P1^4;
  41. sbit P15        =   P1^5;
  42. sbit P16        =   P1^6;
  43. sbit P17        =   P1^7;
  44. sfr P2          =   0xA0;   //1111,1111 端口2
  45. sbit P20        =   P2^0;
  46. sbit P21        =   P2^1;
  47. sbit P22        =   P2^2;
  48. sbit P23        =   P2^3;
  49. sbit P24        =   P2^4;
  50. sbit P25        =   P2^5;
  51. sbit P26        =   P2^6;
  52. sbit P27        =   P2^7;
  53. sfr P3          =   0xB0;   //1111,1111 端口3
  54. sbit P30        =   P3^0;
  55. sbit P31        =   P3^1;
  56. sbit P32        =   P3^2;
  57. sbit P33        =   P3^3;
  58. sbit P34        =   P3^4;
  59. sbit P35        =   P3^5;
  60. sbit P36        =   P3^6;
  61. sbit P37        =   P3^7;
  62. sfr P4          =   0xC0;   //1111,1111 端口4
  63. sbit P40        =   P4^0;
  64. sbit P41        =   P4^1;
  65. sbit P42        =   P4^2;
  66. sbit P43        =   P4^3;
  67. sbit P44        =   P4^4;
  68. sbit P45        =   P4^5;
  69. sbit P46        =   P4^6;
  70. sbit P47        =   P4^7;
  71. sfr P5          =   0xC8;   //xxxx,1111 端口5
  72. sbit P50        =   P5^0;
  73. sbit P51        =   P5^1;
  74. sbit P52        =   P5^2;
  75. sbit P53        =   P5^3;
  76. sbit P54        =   P5^4;
  77. sbit P55        =   P5^5;
  78. sbit P56        =   P5^6;
  79. sbit P57        =   P5^7;
  80. sfr P6          =   0xE8;   //0000,0000 端口6
  81. sbit P60        =   P6^0;
  82. sbit P61        =   P6^1;
  83. sbit P62        =   P6^2;
  84. sbit P63        =   P6^3;
  85. sbit P64        =   P6^4;
  86. sbit P65        =   P6^5;
  87. sbit P66        =   P6^6;
  88. sbit P67        =   P6^7;
  89. sfr P7          =   0xF8;   //0000,0000 端口7
  90. sbit P70        =   P7^0;
  91. sbit P71        =   P7^1;
  92. sbit P72        =   P7^2;
  93. sbit P73        =   P7^3;
  94. sbit P74        =   P7^4;
  95. sbit P75        =   P7^5;
  96. sbit P76        =   P7^6;
  97. sbit P77        =   P7^7;
  98. sfr P0M0        =   0x94;   //0000,0000 端口0模式寄存器0
  99. sfr P0M1        =   0x93;   //0000,0000 端口0模式寄存器1
  100. sfr P1M0        =   0x92;   //0000,0000 端口1模式寄存器0
  101. sfr P1M1        =   0x91;   //0000,0000 端口1模式寄存器1
  102. sfr P2M0        =   0x96;   //0000,0000 端口2模式寄存器0
  103. sfr P2M1        =   0x95;   //0000,0000 端口2模式寄存器1
  104. sfr P3M0        =   0xB2;   //0000,0000 端口3模式寄存器0
  105. sfr P3M1        =   0xB1;   //0000,0000 端口3模式寄存器1
  106. sfr P4M0        =   0xB4;   //0000,0000 端口4模式寄存器0
  107. sfr P4M1        =   0xB3;   //0000,0000 端口4模式寄存器1
  108. sfr P5M0        =   0xCA;   //0000,0000 端口5模式寄存器0
  109. sfr P5M1        =   0xC9;   //0000,0000 端口5模式寄存器1
  110. sfr P6M0        =   0xCC;   //0000,0000 端口6模式寄存器0
  111. sfr P6M1        =   0xCB;   //0000,0000 端口6模式寄存器1
  112. sfr P7M0        =   0xE2;   //0000,0000 端口7模式寄存器0
  113. sfr P7M1        =   0xE1;   //0000,0000 端口7模式寄存器1

  114. //系统管理特殊功能寄存器
  115. sfr PCON        =   0x87;   //0001,0000 电源控制寄存器
  116. sfr AUXR        =   0x8E;   //0000,0000 辅助寄存器
  117. sfr AUXR1       =   0xA2;   //0000,0000 辅助寄存器1
  118. sfr P_SW1       =   0xA2;   //0000,0000 外设端口切换寄存器1
  119. sfr CLK_DIV     =   0x97;   //0000,0000 时钟分频控制寄存器
  120. sfr BUS_SPEED   =   0xA1;   //xx10,x011 总线速度控制寄存器
  121. sfr P1ASF       =   0x9D;   //0000,0000 端口1模拟功能配置寄存器
  122. sfr P_SW2       =   0xBA;   //0xxx,x000 外设端口切换寄存器

  123. //中断特殊功能寄存器
  124. sfr IE          =   0xA8;   //0000,0000 中断控制寄存器
  125. sbit EA         =   IE^7;
  126. sbit ELVD       =   IE^6;
  127. sbit EADC       =   IE^5;
  128. sbit ES         =   IE^4;
  129. sbit ET1        =   IE^3;
  130. sbit EX1        =   IE^2;
  131. sbit ET0        =   IE^1;
  132. sbit EX0        =   IE^0;
  133. sfr IP          =   0xB8;   //0000,0000 中断优先级寄存器
  134. sbit PPCA       =   IP^7;
  135. sbit PLVD       =   IP^6;
  136. sbit PADC       =   IP^5;
  137. sbit PS         =   IP^4;
  138. sbit PT1        =   IP^3;
  139. sbit PX1        =   IP^2;
  140. sbit PT0        =   IP^1;
  141. sbit PX0        =   IP^0;
  142. sfr IE2         =   0xAF;   //0000,0000 中断控制寄存器2
  143. sfr IP2         =   0xB5;   //xxxx,xx00 中断优先级寄存器2
  144. sfr INT_CLKO    =   0x8F;   //0000,0000 外部中断与时钟输出控制寄存器

  145. //定时器特殊功能寄存器
  146. sfr TCON        =   0x88;   //0000,0000 T0/T1控制寄存器
  147. sbit TF1        =   TCON^7;
  148. sbit TR1        =   TCON^6;
  149. sbit TF0        =   TCON^5;
  150. sbit TR0        =   TCON^4;
  151. sbit IE1        =   TCON^3;
  152. sbit IT1        =   TCON^2;
  153. sbit IE0        =   TCON^1;
  154. sbit IT0        =   TCON^0;
  155. sfr TMOD        =   0x89;   //0000,0000 T0/T1模式寄存器
  156. sfr TL0         =   0x8A;   //0000,0000 T0低字节
  157. sfr TL1         =   0x8B;   //0000,0000 T1低字节
  158. sfr TH0         =   0x8C;   //0000,0000 T0高字节
  159. sfr TH1         =   0x8D;   //0000,0000 T1高字节
  160. sfr T4T3M       =   0xD1;   //0000,0000 T3/T4模式寄存器
  161. sfr T3T4M       =   0xD1;   //0000,0000 T3/T4模式寄存器
  162. sfr T4H         =   0xD2;   //0000,0000 T4高字节
  163. sfr T4L         =   0xD3;   //0000,0000 T4低字节
  164. sfr T3H         =   0xD4;   //0000,0000 T3高字节
  165. sfr T3L         =   0xD5;   //0000,0000 T3低字节
  166. sfr T2H         =   0xD6;   //0000,0000 T2高字节
  167. sfr T2L         =   0xD7;   //0000,0000 T2低字节
  168. sfr WKTCL       =   0xAA;   //0000,0000 掉电唤醒定时器低字节
  169. sfr WKTCH       =   0xAB;   //0000,0000 掉电唤醒定时器高字节
  170. sfr WDT_CONTR   =   0xC1;   //0000,0000 看门狗控制寄存器

  171. //串行口特殊功能寄存器
  172. sfr SCON        =   0x98;   //0000,0000 串口1控制寄存器
  173. sbit SM0        =   SCON^7;
  174. sbit SM1        =   SCON^6;
  175. sbit SM2        =   SCON^5;
  176. sbit REN        =   SCON^4;
  177. sbit TB8        =   SCON^3;
  178. sbit RB8        =   SCON^2;
  179. sbit TI         =   SCON^1;
  180. sbit RI         =   SCON^0;
  181. sfr SBUF        =   0x99;   //xxxx,xxxx 串口1数据寄存器
  182. sfr S2CON       =   0x9A;   //0000,0000 串口2控制寄存器
  183. sfr S2BUF       =   0x9B;   //xxxx,xxxx 串口2数据寄存器
  184. sfr S3CON       =   0xAC;   //0000,0000 串口3控制寄存器
  185. sfr S3BUF       =   0xAD;   //xxxx,xxxx 串口3数据寄存器
  186. sfr S4CON       =   0x84;   //0000,0000 串口4控制寄存器
  187. sfr S4BUF       =   0x85;   //xxxx,xxxx 串口4数据寄存器
  188. sfr SADDR       =   0xA9;   //0000,0000 从机地址寄存器
  189. sfr SADEN       =   0xB9;   //0000,0000 从机地址屏蔽寄存器

  190. //ADC 特殊功能寄存器
  191. sfr ADC_CONTR   =   0xBC;   //0000,0000 A/D转换控制寄存器
  192. sfr ADC_RES     =   0xBD;   //0000,0000 A/D转换结果高8位
  193. sfr ADC_RESL    =   0xBE;   //0000,0000 A/D转换结果低2位

  194. //SPI 特殊功能寄存器
  195. sfr SPSTAT      =   0xCD;   //00xx,xxxx SPI状态寄存器
  196. sfr SPCTL       =   0xCE;   //0000,0100 SPI控制寄存器
  197. sfr SPDAT       =   0xCF;   //0000,0000 SPI数据寄存器

  198. //IAP/ISP 特殊功能寄存器
  199. sfr IAP_DATA    =   0xC2;   //0000,0000 EEPROM数据寄存器
  200. sfr IAP_ADDRH   =   0xC3;   //0000,0000 EEPROM地址高字节
  201. sfr IAP_ADDRL   =   0xC4;   //0000,0000 EEPROM地址第字节
  202. sfr IAP_CMD     =   0xC5;   //xxxx,xx00 EEPROM命令寄存器
  203. sfr IAP_TRIG    =   0xC6;   //0000,0000 EEPRPM命令触发寄存器
  204. sfr IAP_CONTR   =   0xC7;   //0000,x000 EEPROM控制寄存器

  205. //PCA/PWM 特殊功能寄存器
  206. sfr CCON        =   0xD8;   //00xx,xx00 PCA控制寄存器
  207. sbit CF         =   CCON^7;
  208. sbit CR         =   CCON^6;
  209. sbit CCF2       =   CCON^2;
  210. sbit CCF1       =   CCON^1;
  211. sbit CCF0       =   CCON^0;
  212. sfr CMOD        =   0xD9;   //0xxx,x000 PCA 工作模式寄存器
  213. sfr CL          =   0xE9;   //0000,0000 PCA计数器低字节
  214. sfr CH          =   0xF9;   //0000,0000 PCA计数器高字节
  215. sfr CCAPM0      =   0xDA;   //0000,0000 PCA模块0的PWM寄存器
  216. sfr CCAPM1      =   0xDB;   //0000,0000 PCA模块1的PWM寄存器
  217. sfr CCAPM2      =   0xDC;   //0000,0000 PCA模块2的PWM 寄存器
  218. sfr CCAP0L      =   0xEA;   //0000,0000 PCA模块0的捕捉/比较寄存器低字节
  219. sfr CCAP1L      =   0xEB;   //0000,0000 PCA模块1的捕捉/比较寄存器低字节
  220. sfr CCAP2L      =   0xEC;   //0000,0000 PCA模块2的捕捉/比较寄存器低字节
  221. sfr PCA_PWM0    =   0xF2;   //xxxx,xx00 PCA模块0的PWM寄存器
  222. sfr PCA_PWM1    =   0xF3;   //xxxx,xx00 PCA模块1的PWM寄存器
  223. sfr PCA_PWM2    =   0xF4;   //xxxx,xx00 PCA模块1的PWM寄存器
  224. sfr CCAP0H      =   0xFA;   //0000,0000 PCA模块0的捕捉/比较寄存器高字节
  225. sfr CCAP1H      =   0xFB;   //0000,0000 PCA模块1的捕捉/比较寄存器高字节
  226. sfr CCAP2H      =   0xFC;   //0000,0000 PCA模块2的捕捉/比较寄存器高字节

  227. //比较器特殊功能寄存器
  228. sfr CMPCR1      =   0xE6;   //0000,0000 比较器控制寄存器1
  229. sfr CMPCR2      =   0xE7;   //0000,0000 比较器控制寄存器2

  230. //增强型PWM波形发生器特殊功能寄存器
  231. sfr PWMCFG      =   0xf1;   //x000,0000 PWM配置寄存器
  232. sfr PWMCR       =   0xf5;   //0000,0000 PWM控制寄存器
  233. sfr PWMIF       =   0xf6;   //x000,0000 PWM中断标志寄存器
  234. sfr PWMFDCR     =   0xf7;   //xx00,0000 PWM外部异常检测控制寄存器

  235. //如下特殊功能寄存器位于扩展RAM区域
  236. //访问这些寄存器,需先将P_SW2的BIT7设置为1,才可正常读写
  237. #define PWMC        (*(unsigned int  volatile xdata *)0xfff0)
  238. #define PWMCH       (*(unsigned char volatile xdata *)0xfff0)
  239. #define PWMCL       (*(unsigned char volatile xdata *)0xfff1)
  240. #define PWMCKS      (*(unsigned char volatile xdata *)0xfff2)
  241. #define PWM2T1      (*(unsigned int  volatile xdata *)0xff00)
  242. #define PWM2T1H     (*(unsigned char volatile xdata *)0xff00)
  243. #define PWM2T1L     (*(unsigned char volatile xdata *)0xff01)
  244. #define PWM2T2      (*(unsigned int  volatile xdata *)0xff02)
  245. #define PWM2T2H     (*(unsigned char volatile xdata *)0xff02)
  246. #define PWM2T2L     (*(unsigned char volatile xdata *)0xff03)
  247. #define PWM2CR      (*(unsigned char volatile xdata *)0xff04)
  248. #define PWM3T1      (*(unsigned int  volatile xdata *)0xff10)
  249. #define PWM3T1H     (*(unsigned char volatile xdata *)0xff10)
  250. #define PWM3T1L     (*(unsigned char volatile xdata *)0xff11)
  251. #define PWM3T2      (*(unsigned int  volatile xdata *)0xff12)
  252. #define PWM3T2H     (*(unsigned char volatile xdata *)0xff12)
  253. #define PWM3T2L     (*(unsigned char volatile xdata *)0xff13)
  254. #define PWM3CR      (*(unsigned char volatile xdata *)0xff14)
  255. #define PWM4T1      (*(unsigned int  volatile xdata *)0xff20)
  256. #define PWM4T1H     (*(unsigned char volatile xdata *)0xff20)
  257. #define PWM4T1L     (*(unsigned char volatile xdata *)0xff21)
  258. #define PWM4T2      (*(unsigned int  volatile xdata *)0xff22)
  259. #define PWM4T2H     (*(unsigned char volatile xdata *)0xff22)
  260. #define PWM4T2L     (*(unsigned char volatile xdata *)0xff23)
  261. #define PWM4CR      (*(unsigned char volatile xdata *)0xff24)
  262. #define PWM5T1      (*(unsigned int  volatile xdata *)0xff30)
  263. #define PWM5T1H     (*(unsigned char volatile xdata *)0xff30)
  264. #define PWM5T1L     (*(unsigned char volatile xdata *)0xff31)
  265. #define PWM5T2      (*(unsigned int  volatile xdata *)0xff32)
  266. #define PWM5T2H     (*(unsigned char volatile xdata *)0xff32)
  267. #define PWM5T2L     (*(unsigned char volatile xdata *)0xff33)
  268. #define PWM5CR      (*(unsigned char volatile xdata *)0xff34)
  269. #define PWM6T1      (*(unsigned int  volatile xdata *)0xff40)
  270. #define PWM6T1H     (*(unsigned char volatile xdata *)0xff40)
  271. #define PWM6T1L     (*(unsigned char volatile xdata *)0xff41)
  272. #define PWM6T2      (*(unsigned int  volatile xdata *)0xff42)
  273. #define PWM6T2H     (*(unsigned char volatile xdata *)0xff42)
  274. #define PWM6T2L     (*(unsigned char volatile xdata *)0xff43)
  275. #define PWM6CR      (*(unsigned char volatile xdata *)0xff44)
  276. #define PWM7T1      (*(unsigned int  volatile xdata *)0xff50)        
  277. #define PWM7T1H     (*(unsigned char volatile xdata *)0xff50)        
  278. #define PWM7T1L     (*(unsigned char volatile xdata *)0xff51)
  279. #define PWM7T2      (*(unsigned int  volatile xdata *)0xff52)
  280. #define PWM7T2H     (*(unsigned char volatile xdata *)0xff52)
  281. #define PWM7T2L     (*(unsigned char volatile xdata *)0xff53)
  282. #define PWM7CR      (*(unsigned char volatile xdata *)0xff54)

  283. /////////////////////////////////////////////////

  284. #endif

复制代码

所有资料51hei提供下载:
stc15.zip (3.01 KB, 下载次数: 218)


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

使用道具 举报

沙发
ID:101395 发表于 2018-5-9 17:17 | 只看该作者
谢谢楼主~~~~~~
回复

使用道具 举报

板凳
ID:479494 发表于 2019-2-22 22:27 | 只看该作者

谢谢楼主分享
回复

使用道具 举报

地板
ID:586577 发表于 2020-4-18 19:10 | 只看该作者
这是个好东西
回复

使用道具 举报

5#
ID:149799 发表于 2023-7-19 13:55 | 只看该作者
这是个好东西,谢谢楼主分享。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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