第6章模数、数模转挨 /*AD转换s定义,若申明# include<reg5l.h>需要如下定义,若申明 # include sto12C5A.h>内部已包含如下定义,则无需对下列寄存器定义*/ sfr AdC contr=0xBC;∥ADC控制寄存器 sfr adc res Oxid ADC高8位值寄存器 sfr Adc resl=0xBE;∥/ADC低2位值寄存器 sfr plase =0x9D /Pl口第二功能寄存器 sfr auri Oxa2 /辅助功能寄存器 /*位定义*/ sbit p2 0= p20: /千位位码输出 sbit p2 1= p21 /百位位码输出 上一页 页返回
第6章 模数、数模转换 上一页 下一页 返回
第6章模数、数模转挨 sbit p2 2= p2 2 //十位位码输出 sbit p2 3= p2 3 //个位位码输出 sbit pl 7= pl 7 //手动采集按钮判断 /*ADC控制寄存器定义*/ # define adc power0x8//ADC转换器电源打开—0x80关闭—0x0 # define adc speeded0x60/ADC转换率控制90时钟周期 # define adc speedh0x40/ADC转换速率控制180时钟周期 # define adc speedl0x20/ADC转换速率控制360时钟周期 # define adc speeded10x00/ADC转换速率控制540时钟周期 # define adc flag010〃/ADC转换器结束标志位,表示转换结束, 上一页 页返回
第6章 模数、数模转换 上一页 下一页 返回
第6章模数、数模转挨 需软件清0 # define adc start0x08//ADC转换器启动控制位,1表示开始转换 结束后为0 /*函数申明*/ void adccsh() //AD转换初始化 void dtxs() //动杰显示 void vsl ms (WORD n); /延时n*1ms void ddD(): //手动判断、采样单次 上一页 页返回
第6章 模数、数模转换 上一页 下一页 返回
第6章模数、数模转挨 void sdDd100(); /手动判断、采样100次 BYTE GetADCResult( BYTE ch); /*变量申明*/ bYTe ch=0: //采样通道号 WORD cVz; //采样值 Word abs: //千百十个位值 DWORD i,k //采样器启动间隔 WORD CVZS =100 //采样总次数 WORD CVs; //采样数 /*共阳数码管位码定义*/ 上一页 页返回
第6章 模数、数模转换 上一页 下一页 返回
第6章模数、数模转挨 unsigned char smga「101={0xc0,0x9,0xa4,0x60,0x9,092,082,0x8,0x80,0x90}; /*主函数*/ void main() adcesh() while(1 /ddD() //手动判断、采样单次 dod100(); 手平动判断、采样100次 上一页 页返回
第6章 模数、数模转换 上一页 下一页 返回