推荐阅读最新更新时间:2024-11-07 11:19
构建一个基于555定时器的简单ESR测量装置
电容器似乎一切都很好,直到您到达电源出现故障或拒绝以最佳方式运行的地步。如果问题是噪音,有一个简单的解决方法,你只需添加更多的电容器。但这并不能解决问题。有什么问题? 问题源于一个天真的假设,即电容器(在很大程度上)是“理想的”设备,而事实上,它们不是。这些不良影响是由于称为内部电阻或等效串联电阻 (ESR)的东西。由于其构造中使用的材料,电容器具有有限的内阻。 不同类型的电容器具有不同的 ESR 范围。例如,电解电容器通常比陶瓷电容器具有更高的 ESR。对于许多应用,测量电容器的内阻变得很重要。今天在这篇文章中,我们将构建一个ESR 表,并学习如何 使用 555 定时器 IC 和晶体管来测量电容器的 ESR。
[测试测量]
单片机学习之十六:定时器应用3(模式3)
一、实验现象: 在P0.0和p0.1分别输出一个周期是200us和400us的方波信号。 二、实验目的 掌握内部定时/计数器作定时功能(模式3)的应用 三、实验任务分析: 在这个试验里面,要同时产生两个方波信号。我们可以采用和上面一个试验类似的方法,让T0、T1都工作于模式2,分别产生两个方波信号,但是这样要同时占用两个定时器的资源,比较浪费。 由于T0还有一种工作方式,就是可以分为两个8位的计数器tl0和th0,所以我们就采用这个模式3来产生两个方波信号。(注:这种工作模式只适用于T0,如果把定时器T1定义为模式3的时候,T1是停止计数的。) T0工作于模式3的逻辑图如下图所示: 从图上我们可以看到,
[单片机]
定时器中断—频率计程序
/*注:定时器中断的例子,简单的频率计,初学者留意各引脚电 压极性和电压值,不可超出5V,我们只是做学习实验,不要 超出51hei单片机学习板的承受范围,否则要求对电子非常熟悉, 不然会烧坏芯片, 版权:www.51hei.com,注意:P1.3与P1.7要相连接 如果是测量外部频率要共地. */ #include reg52.h //头文件 #include intrins.h #define uchar unsigned char//宏定义 #define uint unsigned int sbit Fin=P1^3; //测量频率管脚 sbit Fout=P1^7; //发生频率管脚 uchar code table =
[单片机]
ASM51无参数化调用C51 函数的实现原理
阐述了ASM51无参数化调用C51 函数的实现原理并给出实例来验证该方法的优越性和可行性。文章中表明这样一种观点:“利用汇编语言对I/O接口、中断向量及程序空间分配的巨大优势,让程序员对MCS51内的每一字节甚至是每一比特(可位寻址空间)全部进行统筹安排,设计好各个程序模块,包括I/O口地址和中断向量地址的处理;同时在具体数据处理、通信等不需要过多与硬件打交道的程序模块中,充分利用C51语言强大高效的编程能力”。上述观点并没有错,但是对I/O接口、中断向量及程序空间分配及MCS-51内的每一个字节甚至是每一比特(可位寻址空间)全部进行统筹安排,对于大多数程序员来讲恰恰是件不容易的事。地址空间、栈的起始地址和中断向量地址的分配等
[单片机]
课程设计:矩阵键盘(c51,使用扫描法实现)
//可以比较一下和以前发表的一篇用反转法实现的不同(感觉一下那个更简单) //这种方法是用只用P3口的前高四位来比较,看改变了么(由于比较仓促,没有proteus仿真,不过这是个比较经典的方法,网上有很多这个代码,源自郭天祥的视频和书籍) #include reg52.h #define uchar unsigned char #define uint unsigned int sbit wela=P2^7; sbit dula=P2^6; uchar num,num1; unsigned char code table ={0x3f,0x06,0x5b,0x4f,0x66,0x6d, 0x7d,0x07,0
[单片机]
定时器中断0~100秒
电路很简单,我就不画图了,四位数码管 通过2个74hc595连起来,1个595负责段选,1个595负责位选,利用单片机的定时器中断实现0-100数字的循环显示.程序已经通过本人测试通过 #include reg52.h #define uint unsigned int #define uchar unsigned char sbit rck=P0^0; sbit sck=P0^1; sbit si=P0^2; uchar num ={0x80,0xed,0x42,0x48,0x2c,0x18,0x10,0xcc,0x00,0x08}; uint b=0,i=0,j=0,k; void write_595(uchar x)//对5
[单片机]
LCD显示的c51单片机频率计
一 课题目标 本课题是用51系列单片机来实现频率计,并利用LCD1602液晶显示器来显示所测频率值。 二 课题分析 LCD频率计是利用十进制数字显示被测信号频率的数字测量仪器。根据定义,频率就是在1s内信号变化的周期数。在一个单片机系统中,对频率的测量就是要对外部信号的计数,每到1s,将计数所得的数值送到显示器上。在这里,我们重要是学习和掌握如何使用LCD1602液晶显示器来显示所测频率。这里要求实现对0~200kHz的信号频率进行准确测量,测量误差不超过 1Hz。频率计的功能是测出1s、对输入的脉冲计数和数字显示的硬件电路及相应的程序。实验原理图如下: 三 实验元件及器材: 一个AT89S52、一个发光二极管、一个1
[单片机]
51学习笔记之利用定时器0产生最大周期为16s的PWM波(STC12C5A60S2)
硬件:STC12C5A60S2 功能:实现PWM波生成。该程序周期为256ms,输出端口为P1.3。 代码: #include reg51.h #include intrins.h #define FOSC 11059260L #define T1MS (65536-FOSC/12/1000) //定时器产生的脉冲大约为1MS,PWM经过256分频后的时间是256ms //通过调T1MS的数值,PWM的最大周期时间是16s。 typedef unsigned char BYTE; typedef unsigned int WORD; /*Declare SFR asso
[单片机]