| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 国信长天单片机竞赛训练之超声波实验(四) -> 正文阅读 |
|
[嵌入式]国信长天单片机竞赛训练之超声波实验(四) |
本次是第四次作业了,作业要求如下:
2.以第一种方式进行测距。当测试距离大于10cm,小于等于20cm时,蜂鸣器打开,继电器打开。大于20cm,小于40cm时,继电器打开,蜂鸣器关闭,当距离大于等于40cm时,继电器关闭; ?超声波的电气参数如下: ? ?本次作业用的是stc15f2k60s2.h,程序运行的频率设置为11.0592MHZ,实际上与12Mhz差别并不大(以我目前的水平感觉上可以兼容): 正如工作原理所说,至少要给10us的高电平,所以用了延时函数,延时12us,已经这里用到的定时器时钟是12T,至于1T和12T的时钟有什么区别,我找了找别人给出的解释: 标准51单片机是12T的,就是说12个时钟周期(晶振周期,例如12M的,周期是1/12M,单位秒),机器做一个指令周期,刚好就是1/12M*12=1uS,常见指令例如_nop_就是一个周期,刚好1uS,其他的大多多于一个周期,乘除法更多。所以如果计算指令时间可以这样算。 而现在51核的单片机工艺质量上去后,频率大大提高,增强型51有6T的,如果接12M的话,一个nop就只需要0.51uS,如果是STC的部分单片机1T的话,那只需要1/12uS。 单片机的晶振不是随便选,要看技术手册,看最高频率,看支持类型等等。一般12M,接串口的话11.0592M。如果是PIC,很多4M,8M。 不是越高越好,对很多不需要大量处理,只是控制的情况,为了增加可靠性,降低编程难度,降低功耗,往往可选用低频的,例如实时时钟的32768晶振。 故? 计算nT单片机的指令周期公式为:??T?? =?? 1/晶振周期*n 例如: 使用12M晶振的1T单片机的指令周期为:? T = 1 / 12 * 1 = 1 / 12 us 附上我本次工程的源码: main.c
sys.h
sys.c(各种函数的实现)
|
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:37:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |