交流电压表c程序

交流电压表c程序

ID:37733149

大小:24.50 KB

页数:4页

时间:2019-05-29

交流电压表c程序_第1页
交流电压表c程序_第2页
交流电压表c程序_第3页
交流电压表c程序_第4页
资源描述:

《交流电压表c程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、/*---------预处理指令--------*/#include#defineuintunsignedint#defineucharunsignedchar#defineREVAL10/*--------位声明部分-----*/sbitST=P3^0;sbitOE=P3^1;sbitEOC=P3^2;sbitclk=P3^3;/*----数码表、数组变量声明---*/ucharcodetemp[]={0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};ucharTime

2、s=0;ucharVoltage=0;ucharVoltage_temp=0;/*--------全局变量声明------------*/ucharAD_Value;/*-----子函数声明----------*/voidInit(void);voidDelay(uintz);voidAD_Start();voidDisplay(uintnum);/*-------------------主函数-------------------*/intmain(){Init();while(1){Display(Voltage);}return0;}

3、/*-------------------子函数-------------------*/voidInit(void)//系统初始化函数{TMOD=0x12;//配置定时器0为八位自动重装模式,为AD转换器提供时钟TH0=(255-REVAL);//初始值装入TL0=(255-REVAL);//重装值装入TH1=(65536-1000);//初始值装入TL1=(65536-1000);//初始值装入PX0=0;//设置外部中断0为低优先级PT0=1;//设置定时器中断0为高优先级//这样可以保证在外部中断期间AD可以有正常的时钟的时钟输入/

4、/不设置也行TR0=1;//启动定时器0ET0=1;//开启定时器0中断TR1=1;//启动定时器1ET1=1;//开启定时器1中断IT0=1;//设置外部中断0为下降沿触发EX0=1;//开外部中断0EA=1;//开启总中断ST=0;//AD控制线初始化OE=0;}voidDelay(uintz)//延时函数{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidAD_Start(){uchartemp=20;ST=0;while(temp-->3);ST=1;//启动AD转换temp=30;wh

5、ile(temp-->3);ST=0;}voidDisplay(uintnum)//显示函数{ucharge=0,shi=0,bai=0;bai=num/100;shi=(num%100)/10;ge=num%10;P2=0x08;P0=temp[ge];Delay(3);P2=0x04;P0=temp[shi];Delay(3);P2=0x02;P0=temp[bai];Delay(3);}/*-------------------中断服务函数-------------------*/voidExternal0()interrupt0//

6、外部0中断服务函数AD转换完成中断处理{OE=1;//开锁存,放数据AD_Value=P1;//AD转换完成数据放入全局变量OE=0;Times++;//转换计数if(AD_Value>Voltage_temp){Voltage_temp=AD_Value;}if(Times>=50)//取样40次计算一次{TR1=0;//关闭定时器,暂停转换Times=0;Voltage=((float)Voltage_temp*88-220);Voltage_temp=0;TR1=1;//开启定时器}}voidTimer0()interrupt1//定

7、时器0中断服务函数为AD转换器提供时钟{clk=~clk;}voidTimer1()interrupt3//定时器1中断服务函数定时进行转换{TH1=(65536-2000);//重装TL1=(65536-2000);//重装AD_Start();}

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

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

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