ANALOG DEVICES公司ADuC812单片机集成了A/D转换器,基本用法(KEIL仿真)如下:
#include<ADUC812.H>
#include<stdio.h>
void main()
{
unsigned char chc;
SCON=0X50;
TMOD|=0X20;
TL1=0XF4;
TH1=0XF4;
TR1=1;
TI=1;
ADCCON1=0X7C;
while(1)
{
unsigned int con_data;
unsigned char channel;
chc++;
chc%=8;
ADCCON2=(ADCCON2&0XF0)|chc;
SCONV=1;
while(ADCCON3&0X80);
channel=ADCDATAH>>4;
con_data=ADCDATAL+((ADCDATAH&0X0F)<<8);
printf("ADC CHANNEL %bu=0x%4.4x/n",channel,con_data);
}
}
另外还有D/A转换器的用法。
现在对各种MCU的主观认识就是,所使用的功能必须是在相应设置正确完成的前提下,由此可以推测,正是这些外部设置在不同情况下,在不同的接口处实现了不同的电平高低,从而使单片机这个精心设计的集成电路在该时刻实现了特定的功能。当然,这些电路结构的精心设计将会是极其复杂而功能强大的。而至于我们编译出来的机器指令是如何变为微指令使硬件得以确定各处的电平高低的,现在感觉不到,这些应该一部分归于烧录器的原理,并且另一部分在一定程度上是芯片公司的商业秘密吧。