历史上的今天
今天是:2024年10月22日(星期二)
2019年10月22日 | 单片机信号脉宽测量程序+Proteus仿真图
2019-10-22 来源:51hei
参考教材改了一下,添加了显示程序,数码管只能显示4为,理论最高可显示9999us的脉宽。有兴趣的同学可以扩展一下,添加数码管,算法可以改进,多次求平均值等等。仿真出来还算可以。测量脉宽原理很简单,教材和百度上都有。
仿真原理图如下
调制输入信号
2019-10-22 01:00 上传
直接上代码 上图 看一下 下面的代码 我仿真里面设置的脉冲周期是2ms 占空比是50% 由这个代码得到的高电平的时间 理论值是1000us 测得位1000us正确。
单片机源程序如下:
#include #include #define uchar unsigned char #define uint unsigned int //////////////////// sbit p=P3^3; //信号输入端口 sbit w1=P2^4; //数码管的四个位 sbit w2=P2^5; sbit w3=P2^6; sbit w4=P2^7; unsigned high; unsigned low; void read_count(); uchar table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; void delay(uint ms) //延时函数 { uchar x; for(ms;ms>0;ms--) for(x=10;x>0;x--); } void display(disnum)//显示函数 { w1=0;P0=table[disnum/1000];delay(10); //第1位 P0=0x00;w1=1;delay(1); w2=0;P0=table[disnum%1000/100];delay(10);//第2位 P0=0x00;w2=1;delay(1); w3=0;P0=table[disnum%100/10]; delay(10);//第3位 P0=0x00;w3=1;delay(1); w4=0;P0=table[disnum%10];delay(10);//第4位 P0=0x00;w4=1;delay(1); } void main() //主函数 { TMOD=0x90; TH1=0; TL1=0; TR1=1; while(p==1); TR1=1; while(p==0); while(p==1); TR1=0; read_count(); while(1) { display(high*256+low); } } void read_count() { do { high=TH1; low=TL1; //num=(high*256+low); } while(high!=TH1); }
上一篇:单片机人体红外感应自动门电路
下一篇:基于51单片机的简易电子琴源码
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 09:41 编辑 在面试结束前,大多数的主考官都会丢问题给求职者,最常见的就是:你有没有什么问题或疑问,想要提出来的?无论求职者是否有提出问题,其实,这个问题背后的真正含意,通常是主考官用来测试你对这份 ...… 查看全部问答> |
|
选择比努力更重要 一个人一生当中最大的幸福在于选择对两件事,一是找对单位、找对老板、找对上司;第二件事就是找对妻子或丈夫。为什么这么说呢?当太阳升起时我们与上司共事,当日落西下,我们与自己的爱人相拥。你永远可以更主动地去影响你的上 ...… 查看全部问答> |
|
收音部分采用CXA1238M集成电路,灵敏度高,性能稳定,立体收音,功放采用TDA2822M集成电路。 电子制作是综合能力的体现,从中可学到不少技术和经验,欢迎选购制作。一板两用,既可当FM收音机用,又可以当立体声功放用。本板体积小巧玲珑,给用户 ...… 查看全部问答> |
|
如题,因为8155只需要低八位地址,P2想留做他用,故想采用普通IO模拟地址总线、ALE、WR等端口方式实现。按照时序图写出程序,但实验失败,在此求助,先谢过啦。代码如下: #include #include sbit AL = P2^0; //ALE sbit W = P2^2 ...… 查看全部问答> |
|
直接用如下代码获取,返回值为TRUE,得不到数据: memset(&m_nicdata, 0, sizeof(m_nicdata)); m_nicdata.Size = sizeof(NIC_STATISTICS); m_nicdata.ptc ...… 查看全部问答> |
|
求购在WINCE6.0下,A4平台上运行的TCPMP源码,价钱面议 在下求购能在WINCE6.0下,A4平台上运行的TCPMP源码. 本人在深圳 南山,西丽. QQ 50580776 EMAIL: gmb_669@163.com… 查看全部问答> |
|
是这样的,我最近在ARM上移植了UCOSII,下载了TCP/IP包,目的是利用以太网口实现两个目标板的通信。应用层上用SOCKET编程实现,基于TCP协议。但是问题是server和client怎么也建立不起链接。client方connect函数一直调用失败。server方listen调用成 ...… 查看全部问答> |




