stm单片机io管脚翻转实验.docx

上传人:b****8 文档编号:30286276 上传时间:2023-08-13 格式:DOCX 页数:7 大小:441.46KB
下载 相关 举报
stm单片机io管脚翻转实验.docx_第1页
第1页 / 共7页
stm单片机io管脚翻转实验.docx_第2页
第2页 / 共7页
stm单片机io管脚翻转实验.docx_第3页
第3页 / 共7页
stm单片机io管脚翻转实验.docx_第4页
第4页 / 共7页
stm单片机io管脚翻转实验.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

stm单片机io管脚翻转实验.docx

《stm单片机io管脚翻转实验.docx》由会员分享,可在线阅读,更多相关《stm单片机io管脚翻转实验.docx(7页珍藏版)》请在冰豆网上搜索。

stm单片机io管脚翻转实验.docx

stm单片机io管脚翻转实验

stm单片机io管脚翻转实验

概述

学了两年单片机了,初三一年的电路基础知识,发现越来越不够用了,但又感觉看那些全是公式的大学的电路基础又有点傻x,看半天,没一个讲的明白的,估计只有写书的那人,能看明白,真正买书的看的明白的,估计也不多。

于是乎,我想出了一个更高科技的办法——试验呗毛主席说过实践是检验真理的唯一标准,所以放下那些晦涩难懂的书本,拿起面包板,万用表,示波器做试验,应该是我这样只有初三一年电路知识的人唯一的出路所以,说干就干。

目前来说,手上有的就那么点东西,能做啥试验,就做啥试验。

以后随着买新器件或产品,再做新器件的试验。

日志也会随着更新。

试验设备

器件:

电阻电容若干,三极管,二极管,也有一些,场效应管不多,洞洞板,当然是必备的,剩下的就是1种电感,两三种运放,和555。

目前来说就这些玩意。

试验板:

at89s52试验板1块,STM8试验板1块,STM32F103ZE试验板1块,STM32F103VE试验板1块。

自制STM32F103RB试验板1块

设备:

优利得万用表1块,普元示波器1台,广州黄花电烙铁1把,焊锡丝若干。

如果这些算我的资产的话,那我现在的身价也近万了

关于试验

试验目的,试验使用器件,试验电路图,波形图,结论。

反正越详细越好,能多写就多写,写不出来就编写的出来就写。

但尽量以事实为准,坚决不弄虚假的东西糊弄领导,其实也没有领导让我干这些

试验方面,电阻电容电感对电压波形影响,数字电路方面,驱动电路方面,开关电源方面,如果能力达到的话,可以初探一下无线,嘿嘿。

试验1

目的:

单片机io翻转速度与波形样式对比

设备:

所有试验板,示波器。

方法:

在主函数中针对一组IO口,置高置低,中间不加任何延时

或取反

电路图:

没有直接将示波器探头接入管脚。

编译环境:

keil3为at89s52,iar为stm8和stm32,

上图可见at89S52在12M晶振运行的情况下,程序使用c写的

内容为

voidmain()

{

P1=0xff;

while

(1)

{

P1=0x00;

P1=0xff;

}

}

这是用汇编写出来的效果,可见频率都一样,而占空比却变了

以下为汇编程序

org0000h

ajmpmain

org0080h

main:

loop:

mov

p1,#0ffh;全不亮

mov

P1,#000h

jmp

loop

end

后来我又将c语言改成

voidmain()

{

P1=0xff;

while

(1)

{

P1=0xff;

P1=0;

}

}

编译后运行,结果和汇编编写的一样了,

这说明,循环程序执行到最后一句话以后会重新跳回第一句话,这个jmp

loop也占一条语句的时间,所以才有了以上的两种结果

上图是我又把程序变为

voidmain()

{

P1=0xff;

while

(1)

{

P1=0xff;

P1=0;

P1=0xff;

P1=0;

P1=0xff;

P1=0;//。

//好多个p1=0,p1=0xff

}

}

这个时候,频率变成了333.3kHZ了,说明这已经是最快的速度了,但问题是,占空比还是33.3%,不解中。

理论上来说,应该是50%的占空比才对,也许是芯片内部,下降保持的速度大于上升时保持的速度吧。

于是我又将程序改为

voidmain()

{

P1=0xff;

while

(1)

{

P1=~P1;

P1=~P1;

P1=~P1;//。

//好多个P1=~P1;

}

}

这回又有变化了,以下是截图

这回效果已经非常不错了,达到250K,而且占空比在50%,但计算一下可得知,12M的12分频为1M,也就是说,他的io翻转速度应该在500Kh左右阿,也许是时钟的问题,不解中。

从以上效果图来看,还可以得出一个结论,就是好像取反要比改变管脚状态来得快。

这是LED与电阻中间的波形,还挺好看,但原因还不知道,先不分析,以后解决。

下面是STM32F103VE的管脚

这个是72M的可比那快多了

从上面的波形猜测,频率接近18Mhz,是不是因为管脚速度太快,由于管脚的分布电容电阻引起的波形变化。

已经快接近正弦波了。

经过验证:

芯片的IO翻转速度低于芯片频率的一半,其原因可能是因为编译器翻译出的语句问题。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 哲学历史

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1