第一范文网 - 专业文章范例文档资料分享平台

直流电子负载的设计(3)

来源:用户分享 时间:2021-04-06 本文由年華已逝 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

直流电子负载的设计

88常熟理工学院学报(自然科学)

2011年

功率进行控制,同时对电压和电流参数进行显示.程序采用数据环形缓冲技术,当有中断服务程序出现时,程序会把读到的值存放到一个环形缓冲队列中,主程序不停的查询环形缓冲队列中是否有中断服务程序的出现,若有,则按顺序读程序并处理.程序起始段定义了电压采集函数、电流采集函数、显示函数、定时初始化函数、定时器中断函数和采集数据存入的数组,以方便主程序调用,具体代码及其功能如下:

#include<pic.h>__CONFIG(0x1ffe);__IDLOC(0000);

//烧写配置位

constunsignedcharTABLE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,图4功率控制原理图(ATMEG8芯片外设电路)

0X82,0XF8,0X80,0X90};//定义常数0-9的数据表格

voidadinitial_voltage(void);//电压采集函数,可在IDE内将浮点数配置为32位以提高显示精度.系统默认为24位

voidadinitial_current(void);//电流采集函数voiddisplay(unsignedint);voiddelay(unsignedcharx);

bank1unsignedcharmax=0,min=0,i=0,K=15,L=15,M=15,DIS=0x7f;bank1unsignedlongsum=0,timesit=0;bank1unsignedintcurrent=0,voltage=0;

unsignedcharAD_data[70]={0,0,0,0,0,0,0,0,0,0};//AD采集存入数组voidtmint(void);

//定时初始化函数.

//定时器中断函数

//定时初始化函数

voidinitial();//系统初始化voidinterruptclkint(void);voidtmint(void){

asm("clrwdt");T0CS=0;PSA=0;PS2=1;

256分频

PS1=1;PS0=1;T0IF=0;T0IE=1;

}

主程序流程图如图5:

//T0IF是TMR0溢出中断标志位,当其=1//T0IE是TMR0溢出中断允许位当其=1

//显示函数

其中定时初始化函数编程代码及其功能如下:

//T0CS是TMR0的时钟源选择位,当其=1时是用RA4(T0CKI)的外部//PSA是预分频器分配位,当其=1预分频

输入时钟,当其=0时是用内部指令周期时钟(CLKOUT)器分配给WDT,当其=0时预分频器分配给Timer0模块

//PS2:PS1:PS0:预分频比选择位111是

时TMR0寄存器已经溢出(必须用软件清零),当其=0时寄存器尚未发生溢出时允许TMR0溢出中断,当其=0时禁止TMR0溢出中断

图5主程序流程图

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新资格考试认证直流电子负载的设计(3)全文阅读和word下载服务。

直流电子负载的设计(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1184715.html(转载请注明文章来源)

相关推荐:

热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top