毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

单片机电压和电流的检测系统设计

更新时间:2010-7-1:  来源:毕业论文

单片机电压和电流的检测系统设计
虽然操作平台上通过MC14433进行A/D转换的结果已经显示出来了,但还要由单片机去测电压或测电流,并且还要将测量结果读到单片机存储器中,以便计算功率参数。
控制选择电压和电流检测的通道由下面两条指令决定的(是基于图S2-3)。
选择电压进行A/D转换:
CLR P3.7;选择电压
选择电流进行A/D转换:
SETB P3.7;选择电流
A/D转换程序:
置定时器T0初值为0FFH,并置定时器T0为外部计数,启动定时器T0,并允许定时器T0中断,则只要MC14433进行一次AD转换,转换结束时其EOC引脚便为由高向低变化,满足定时器T0的计数条件,计时器计这一次就溢出,引起定时器T0进入中断服务程序,可分四次(个、十、百、千位)读取转换结果。这是利用一个定时器/计数器扩展了一个外部中断源的典型实例。
需要注意的是每次进行A/D转换要进行两次定时器T0中断,第一次的中断为由于临时切换电压或电流通道,其切换之前就已经转换一部分时间了,所以第一次定时器T0中断时的转换结果不一定正确。其转换过程如图S4-1所示。       

 
程序如下:
MOV TH0,#0FFH;定时器初值H
MOV TL0,#0FFH;定时器初值L
CLR 01H;标志第二次A/D转换有效
SETB ET0;允许定时器T0中断
CLR P3.7;选择电压通道进行A/D转换
MOV TMOD,#00000110B;定时器T0工作方式2(重装初值),外部计数
SETB TR0;启动定时器
RET;返回等待定时器T0中断
定时器T0中断服务程序
JB 01H,DI_ER;如果=1表示第二次定时器T0中断
;否则如果=0为第一次定时器T0中断
CPL 01H;第二次A/D转换有效标志取反
RETI
DI_ER:第二次定时器T0中断
CPL 01H;第二次A/D转换有效标志取反

读取有效结果,并整合成16进制数,暂存到71H、70H中
JNB P1.4,$;等待个位数有效
MOV A,P1;取A/D转换结果到累加器中
ANL A,#0FH;屏蔽掉高四位
MOV 70H,A;暂存到数据缓冲区

JNB P1.5,$;等待十位数有效
MOV A,P1;取A/D转换结果到累加器中
ANL A,#0FH;屏蔽掉高四位
MOV B,#10;十位数要乘以10
MUL AB
ADD A,70H;加到个位数
MOV 70H,A;在次暂存到数据缓冲区

JNB P1.6,$;等待百位数有效
MOV A,P1;取A/D转换结果到累加器中
ANL A,#0FH;屏蔽掉高四位
MOV 71H,A;暂毕业论文http://www.751com.cn存到数据缓冲区

JNB P1.7,$ ;等待百位数有效
MOV A,P1;取A/D转换结果到累加器中
ANL A,#0FH;屏蔽掉高四位
MOV B,#10;虽然是千位数,暂时先乘以10,后续再乘以100为1000
MUL AB
ADD A,71H;暂存到累加器,不存到数据缓冲区

MOV B,#100; 乘以100
MUL AB

ADD A,70H;再加上个、十位数
MOV 70H,A;保存到数据缓冲区70H
CLR A
ADDC A,B
MOV 71H,A;保存到数据缓冲区71H

CLR TR0
CLR ET0
RETI
读取得结果已经在程序中转换为16进制数并保存在了71H70H中了。
电流通道的测量和电压通道相同,这里省略。不过暂约定为要求将电流参数保存到73H、72H中。这样,71H、70H为电压参数,73H、72H为电流参数。1389

单片机电压和电流的检测系统设计下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。