参考教材改了一下,添加了显示程序,数码管只能显示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单片机的简易电子琴源码
推荐阅读
史海拾趣
随着全球环保意识的提高,Denyo Europa Gmbh公司积极响应号召,致力于绿色环保的生产方式。公司采用环保材料替代传统材料,减少生产过程中的污染排放;同时,公司还加强废弃物的回收和再利用工作,实现资源的循环利用。这些环保实践不仅提升了公司的社会形象,也为公司的可持续发展提供了有力支持。
Denyo Europa Gmbh公司始终认为企业是社会的一部分,应该承担起相应的社会责任。公司积极参与各种公益活动,为当地社区的发展贡献力量;同时,公司还关注弱势群体的需求,为他们提供力所能及的帮助。这种对社会责任的担当精神,使公司在社会中树立了良好的企业形象。
随着技术的成熟,Denyo Europa Gmbh公司开始将目光投向国际市场。公司利用自身的技术优势,结合对目标市场的深入调研,制定了一系列市场拓展策略。通过与当地合作伙伴的紧密合作,公司成功将产品打入多个国家和地区,实现了业务的全球化布局。这一过程中,公司不仅积累了宝贵的国际市场经验,也为公司的持续发展奠定了坚实基础。
随着技术的不断发展和市场的日益成熟,CSB公司意识到单纯依靠技术创新已无法满足企业长远发展的需求。于是,公司开始加强市场拓展和品牌建设。通过积极参加行业展会、加大广告宣传力度、优化销售渠道等方式,CSB公司成功提升了品牌知名度和美誉度。同时,公司还注重与合作伙伴建立长期稳定的合作关系,共同开拓市场,实现互利共赢。
随着技术的不断发展和市场的日益成熟,CSB公司意识到单纯依靠技术创新已无法满足企业长远发展的需求。于是,公司开始加强市场拓展和品牌建设。通过积极参加行业展会、加大广告宣传力度、优化销售渠道等方式,CSB公司成功提升了品牌知名度和美誉度。同时,公司还注重与合作伙伴建立长期稳定的合作关系,共同开拓市场,实现互利共赢。
EA Elektro-Automatik深知持续创新是企业发展的重要动力。因此,公司始终将创新作为企业文化的核心价值观之一。公司鼓励员工积极提出创新想法和解决方案,并为他们提供充分的支持和资源。此外,EA Elektro-Automatik还积极参与各类科研项目和行业标准的制定工作,推动整个行业的创新和发展。这种企业文化不仅为公司带来了更多的机会和挑战,也为企业的长期发展奠定了坚实的基础。
以上是关于EA Elektro-Automatik公司在电子行业发展的5个相关故事。这些故事展示了公司从创立到成为全球知名电子测量品牌的发展历程和取得的成就。
作者:中国人民解放军94569部队 白欣 摘 要:本文介绍了分别基于CMX469A和MSM7512B设计实现的两种无线数字MODEM,说明了系统关键部分的硬件实现方法和软件设计,并对两种设计方案进行了对比分析。关键词:调制解调器;FSK;双工 & ...… 查看全部问答∨ |
|
问题是这样的,原来将NK.BIN烧到FLASH的首地址中 0x60000000 (FLASH的物理地址)可以正常启动镜像. 现在需要把NK往后一段,以保证不把原来烧在FLASH里EBOOT覆盖掉,比如0x60080000 现在我修改了CONFIG.BIB,下载后通过超级终端看到了确实是烧在了0x6008 ...… 查看全部问答∨ |
|
菜鸟提问:注入转换(injectedconversion)是指什么? 这几天看STM32手册,看到了injected conversion这个概念,不知道它的具体功能是什么,而injected co ...… 查看全部问答∨ |
|