找回密码
 立即注册
查看: 173|回复: 6

#ifdef __A51__宏是哪里定义的

[复制链接]
已绑定手机

5

主题

34

回帖

341

积分

中级会员

积分
341
发表于 2026-10-3 19:41:50 | 显示全部楼层 |阅读模式
请教大家,下面是stc8h单片机 P0.7中断初始化程序,#ifdef __A51__,这个宏是在哪里定义的

  1.         ORG                012BH
  2. PORT0_ISR:
  3.         RETI
  4. PORTINT_INIT:
  5. #ifdef __A51__
  6.         MOV                DPTR,#P0INTE
  7.         MOV                A,#080H                        ;使能P0口中断
  8.         MOVX        @DPTR,A
  9.         MOV                DPTR,#P0IM0
  10.         MOV                A,#000H                        ;设置P0口中断模式 (00:下降沿, 01:上升沿)
  11.         MOVX        @DPTR,A
  12.         MOV                DPTR,#P0IM1
  13.         MOV                A,#000H                        ;设置P0口中断模式 (10:低电平, 11:高电平)
  14.         MOVX        @DPTR,A
  15.         MOV                DPTR,#P0WKUE
  16.         MOV                A,#000H                        ;设置P0口中断唤醒省电模式
  17.         MOVX        @DPTR,A
  18. #else
  19.         MOV                WR6,#WORD0 P0INTE
  20.         MOV                WR4,#WORD2 P0INTE
  21.         MOV                A,#080H                        ;使能P0口中断
  22.         MOV                @DR4,R11
  23.         MOV                WR6,#WORD0 P0IM0
  24.         MOV                WR4,#WORD2 P0IM0
  25.         MOV                A,#000H                        ;设置P0口中断模式 (00:下降沿, 01:上升沿)
  26.         MOV                @DR4,R11
  27.         MOV                WR6,#WORD0 P0IM1
  28.         MOV                WR4,#WORD2 P0IM1
  29.         MOV                A,#000H                        ;设置P0口中断模式 (10:低电平, 11:高电平)
  30.         MOV                @DR4,R11
  31.         MOV                WR6,#WORD0 P0WKUE
  32.         MOV                WR4,#WORD2 P0WKUE
  33.         MOV                A,#000H                        ;设置P0口中断唤醒省电模式
  34.         MOV                @DR4,R11
  35. #endif
  36.         RET
复制代码



回复

使用道具 举报 送花

已绑定手机

19

主题

3564

回帖

7696

积分

论坛元老

积分
7696
发表于 2026-10-3 20:40:39 | 显示全部楼层
编译器定义的不需要手动定义,__定义大都是编译器定义不需要手动定义。
回复

使用道具 举报 送花

已绑定手机

123

主题

5133

回帖

1万

积分

超级版主

无情的代码机器

积分
11463
发表于 2026-10-3 20:49:21 | 显示全部楼层
截图202610032049177018.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

已绑定手机

2

主题

153

回帖

466

积分

中级会员

积分
466
发表于 2026-10-3 20:51:42 | 显示全部楼层
__A51__是编译器内部宏,当a51执行汇编时,就会定义这个宏。不是在头文件里定义,最好不要自己定义。
回复

使用道具 举报 送花

已绑定手机

2

主题

41

回帖

310

积分

中级会员

积分
310
发表于 2026-10-4 20:20:26 | 显示全部楼层
so*** 发表于 2026-10-3 20:40
编译器定义的不需要手动定义,__定义大都是编译器定义不需要手动定义。

学习了一个知识点。
回复

使用道具 举报 送花

已绑定手机

2

主题

41

回帖

310

积分

中级会员

积分
310
发表于 2026-10-4 20:21:33 | 显示全部楼层

在这里能查到啊。
回复

使用道具 举报 送花

已绑定手机

5

主题

34

回帖

341

积分

中级会员

积分
341
 楼主| 发表于 2026-10-8 19:23:41 | 显示全部楼层
谢谢大家
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-11-7 11:00 , Processed in 0.071860 second(s), 73 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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