TLC549 AD转换器实现电压测量与显示.doc

TLC549 AD转换器实现电压测量与显示.doc

ID:61487960

大小:19.50 KB

页数:5页

时间:2021-02-05

TLC549 AD转换器实现电压测量与显示.doc_第1页
TLC549 AD转换器实现电压测量与显示.doc_第2页
TLC549 AD转换器实现电压测量与显示.doc_第3页
TLC549 AD转换器实现电压测量与显示.doc_第4页
TLC549 AD转换器实现电压测量与显示.doc_第5页
资源描述:

《TLC549 AD转换器实现电压测量与显示.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、/*利用TLC549A/D转换器实现电压测量与显示*/#include//包含8051的SFR寄存器定义头文件#include//扩展并行接口所需的绝对地址访问库函数#defineLED_digXBYTE[0x9000]//8位数码管显示器的位选输出控制#defineLED_segXBYTE[0x8000]//8位数码管显示器的段码(字形码)输出控制#defineKEY_INXBYTE[0x8000]#defineLEDXBYTE[0xA000]//定义TLC549操作接口sbitADC_CS=P1^7;sbitADC

2、_DATA=P1^6;sbitADC_CLK=P1^5;codeunsignedchardisp_seg[]=//显示段码{0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7c,0x39,0x5f,0x79,0x71,0x40,0x00,0xff};//0123456789abcdef-blank,全亮unsignedcharDispBuf[8];//定义显示缓冲区(由定时中断程序自动扫描)voidkey_scan(void);voiddelay(intms);//延时大约1msunsign

3、edcharReadAdc(void);//读取A/D转换结果voidAdcInit(void);//初始化ADC接口unsignedcharkey_value,task=1,umiao=0,miao=10,ji=0,miao2=80;voidmain(){unsignedchari=0;unsignedcharvolt,x100,x10,x,key2=0;TMOD&=0xff;TMOD

4、=0x11;TH1=0xFC;TL1=0x66;TR1=1;ET1=1;EA=1;AdcInit();for(i=0;i<8;i++)DispBuf[i]=17;//全部

5、8位显示灭for(;;){volt=ReadAdc();//得到A/D转换结果的数字量(0x00~0xff)volt=volt*250/256;//转换成电压值,其中Vr=2.5Vx100=volt/100;x10=(volt-x100*100)/10;x=(volt-x100*100)%10;DispBuf[7]=x100;DispBuf[6]=x10;DispBuf[5]=x;DispBuf[4]=16;if(volt<=200){if(key2!=key_value){if(key_value==3){if(task==1)task=2;elseta

6、sk=1;ji=0;}if(key_value==1){if(task==1){task=2;LED=256-3;}else{task=1;LED=256-2;}ji=0;}elseif(task==2&&key_value==2)ji=!ji;}key2=key_value;}DispBuf[3]=task;DispBuf[2]=16;if(task==1){DispBuf[1]=1;DispBuf[0]=8;}else{DispBuf[1]=miao2/10;DispBuf[0]=miao2%10;}}}/*函数:T1INTSVC()功能:定时器T1的

7、中断服务函数*/voidT1INTSVC()interrupt3{codeunsignedcharcom[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};staticunsignedcharn=0;TR1=0;TH1=0xFC;TL1=0x66;TR1=1;LED_dig=0xFF;//暂停显示if(n==7

8、

9、(task==2&&n==1))LED_seg=~(disp_seg[DispBuf[n]]

10、0x80);//更新扫描数据,带小数点显示elseLED_seg=~disp_seg[DispBuf[n]];//

11、更新扫描数据LED_dig=~com[n];//重新显示n++;n&=0x07;key_scan();if(ji==1){umiao++;if(umiao>=100){umiao=0;miao++;}if(miao>80)miao=10;miao2=90-miao;}}voiddelay(intms){unsignedinti,j;for(i=0;i

12、rReadAdc(void){unsignedchard;//读取

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。