51单片机测量脉宽

本文介绍如何使用51单片机测量脉宽并利用数码管进行结果显示。通过设置TMOD寄存器,启动定时器0来捕捉脉冲,并在脉冲高电平和低电平阶段进行计数,从而计算出脉宽。
摘要由CSDN通过智能技术生成

51单片机测量脉宽,数码管显示@[TOC]单片机

#include<REGX51.H>
#include<intrins.h>
typedef unsigned int uint16_t;
typedef unsigned char uint8_t;

uint8_t code seg_cc_table [] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c};//0-9
uint8_t code dig_cc_table [] = {0xfe,0xfd,0xfb,0xf7};

uint16_t high = 0;
uint16_t period = 0;

sbit pulse = P3^2;

uint8_t total_num[] = {0,0,0,0};

void delay_ms(uint16_t xms)
{
uint16_t i = 0;
uint8_t j = 0;

for(i = 0; i < xms; i++)
{
	for(j = 0; j < 75; j++)
	_nop_();
}

}

void main()
{

	uint16_t total =0;
	uint16_t i = 1;
  P2 = 0Xf0;
	P1 = 0x3f;

// TMOD&= 0xf0;
// TMOD|= 0x0d; // 0000 1001
TMOD = 0x09;
TH0 = 0;
TL0 = 0;

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值