数字万用表的电压测量程序

数字万用表的电压测量程序,第1张

电压的测量

1、直流电压的测量,如电池、随身听电源等。首先将黑表笔插进“com”孔,红表笔插进“V

Ω

”。把旋钮选到比估计值大的量程(注意:表盘上的数值均为最大量程,“V-”表示直流电压档,“V~”表示交流电压档,“A”是电流档),接着把表笔接电源或电池两端;保持接触稳定。数值可以直接从显示屏上读取,若显示为“1.”,则表明量程太小,那么就要加大量程后再测量。如果在数值左边出现“-”,则表明表笔极性与实际电源极性相反,此时红表笔接的是负极。

2、交流电压的测量。表笔插孔与直流电压的测量一样,不过应该将旋钮打到交流档“V~”处所需的量程即可。交流电压无正负之分,测量方法跟前面相同。无论测交流还是直流电压,都要注意人身安全,不要随便用手触摸表笔的金属部分。

看到你的问题,感觉很好玩,就试着做了一个程序

不过你的问题中要求3秒,时间太长了,不是很理想

我设计的是,8个LED,一个按键,按键的间隔不超过半秒即可,半秒后进行处理

每次按下按键,都重新开始计时,不论按几次按键,经过硬件实测

半秒的时间刚刚好,基本上没有空等待的时间,就是按完按键后,等待程序输出效果的时间

按键以及LED的端口你可以随意修改,如果感觉不错,记得采纳哦!

/***************************************************************************/

#include <reg51.h> //51单片机通用头文件

sbit k=P3^7//定义按键

int t,n,s,fe=0

/***************************************************************************/

void YS(int hs){int hkfor(hs>0hs--){for(hk=200hk>0hk--)}}//延时函数

/***************************************************************************/

void main(void)//主函数

{

TMOD=0x01EA=1ET0=1//定时器初始化

TH0=(65536-921)/256TL0=(65536-921)%256//定时器初值

while(1)

{

     if(k==0)//如果按键被按下

     {

         YS(10)//延时去抖动

         if(k==0)//如果是有效按键

         {

             TR0=1//启动定时器,开始计时

             n=0//每次按键都清空定时计数

             t++//按键值累加一次

             while(!k)//等待按键松开

         }

     }

     if(fe==1)//如果没按键输入

{

switch(t)//则对已有的按键值进行处理

{

case 1:P2=0xfebreakcase 2:P2=0xfdbreak

case 3:P2=0xfbbreakcase 4:P2=0xf7break

case 5:P2=0xefbreakcase 6:P2=0xdfbreak

case 7:P2=0xbfbreakcase 8:P2=0x7fbreak

default:P2=0xffbreak//如果不在范围内,则关闭所有LED

}

YS(500)fe=0t=0P2=0xff//延时点亮一会,并清空按键计数值和设置标识符

}

}

}

/***************************************************************************/

void int1() interrupt 1 //定时器中断

{

TH0=(65536-1000)/256TL0=(65536-1000)%256n++

if(n>500){TR0=0n=0fe=1}//如果达到指定时间,则关闭定时器,并设置标识符

}

/***************************************************************************/


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7782201.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存