0f240的c语言中也有一个头文件c240.h定义各个寄存器的名称,这里摘录几条语句进行介绍。比如: #define imr((port)0x0004) #define xinti_cr((port) 0x07070) imr、xint1_cr就对应两个寄存器,实际是寄存器的地址,用高级语言的说法是指针。我们也在程序的开始部分用#include“c240.h”语句将该文件包含进来。这样,在dsp的c语言中使用它们只需在前面加一个星号(*),例如, *imr=0x1010;/*将十六进制数1010h赋给imr寄存器*/ *xint1_cr=0x0a0b0;/*将十六进制数a0b0h赋给xint1_cr寄存器*/ 开发者最好将c240.h这个文件打印出来,弄清楚各个寄存器的定义名称。至于不涉及硬件的语法和ansi语法一样。需要注意的是,有些ansi标准中的函数在dsp的编译器中不提供,读者可以参考dsp编译器的c语言手册。搞清楚了这些特殊性,由汇编语言转到c语言开发是很容易的事。当然,没有汇编语言编程基础的人同样可以用c语言开发dsp应用系统。 有关嵌入式系统的c语言编程可参考《单片机
引脚的功能简要分类说明如下。 i/oclock:控制输入输出的时钟,由外部输入。 datainput:控制字输入端,用于选择转换及输出数据格式。 dataout:a/d转换结果的输出端。 2 tlc2543的使用方法 2.1 控制字的格式 控制字为从datainput端串行输入的8位数据,它规定了tlc2543要转换的模拟量通道、转换后的输出数据长度、输出数据的格式。其中高4位(d7~d4)决定通道号,对于0通道至10通道,该4位分别为0000~1010h,当为1011~1101时,用于对tlc2543的自检,分别测试(vref++vref-)/2、vref-、vref+的值,当为1110时,tlc2543进入休眠状态。低4位决定输出数据长度及格式,其中d3、d2决定输出数据长度,01表示输出数据长度为8位,11表示输出数据长度为16位,其他为12位。d1决定输出数据是高位先送出,还是低位先送出,为0表示高位先送出。d0决定输出数据是单极性(二进制)还是双极性(2的补码),若为单极性,该位为0,反之为1。 2.2 转换过程 上电后,片选c