打印
[技术问答]

新唐例程中大量使用“clr_xxx,set_xxx"指令,在哪里定义的?

[复制链接]
1436|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ztb|  楼主 | 2018-7-14 19:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ztb 于 2018-7-14 19:25 编辑

例如:
/******************************************************************************
The main C function.  Program execution starts
here after stack initialization.
******************************************************************************/
void main (void)
{
  P12_Quasi_Mode;               //For GPIO1 output, Find in "Function_define.h" - "GPIO INIT"
  InitialUART0_Timer1(115200);
  Enable_ADC_BandGap;             //Find in "Function_define.h" - "ADC INIT"
  while(1)
    {
   clr_ADCF;
   set_ADCS;                 // Each time ADC start trig signal
      while(ADCF == 0);
   printf ("\n Value = 0x%bx",ADCRH);
   printf ("\n Value = 0x%bx",ADCRL);
   clr_GPIO1;
//   Timer0_Delay1ms(100);
   set_GPIO1;
    }
}
我在C51库中也找不类似的写法,一般都是写成:
ADCF = 0;
ADCS = 1;
请问 clr_xxx, 是在哪里定义的呢?还是C51默认的写法。如果是,类似的写法还有哪些呢?

沙发
tianxj01| | 2018-7-14 21:54 | 只看该作者
//**** ADCCON0        EAH ****
#define set_ADCF    ADCF     = 1
#define set_ADCS    ADCS     = 1
#define set_ETGSEL1 ETGSEL1  = 1
#define set_ETGSEL0 ETGSEL0  = 1
#define set_ADCHS3  ADCHS3   = 1
#define set_ADCHS2  ADCHS2   = 1
#define set_ADCHS1  ADCHS1   = 1
#define set_ADCHS0  ADCHS0   = 1

宏定义在:SFR_Macro.h

使用特权

评论回复
板凳
ztb|  楼主 | 2018-7-15 09:20 | 只看该作者
本帖最后由 ztb 于 2018-7-15 11:10 编辑

谢谢!找到了。新唐大量的定义了常用设置,用起来很方便。

使用特权

评论回复
地板
dongnanxibei| | 2018-7-15 19:18 | 只看该作者
在头文件里,你那几个头文件都看看。

使用特权

评论回复
5
wahahaheihei| | 2018-7-15 22:12 | 只看该作者
楼主不关注头文件?

使用特权

评论回复
6
wahahaheihei| | 2018-7-15 22:12 | 只看该作者
你看到的例子,不是引用了好几个头文件,就在里面

使用特权

评论回复
7
ztb|  楼主 | 2018-7-18 13:55 | 只看该作者
wahahaheihei 发表于 2018-7-15 22:12
楼主不关注头文件?

惭愧,老朽正在从ASM转型到C中.

使用特权

评论回复
8
jiekou001| | 2018-7-18 19:54 | 只看该作者
用汇编的都是国宝。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

ztb

139

主题

660

帖子

9

粉丝