单片机学习之路 STM32 AT89S51.docx

上传人:b****1 文档编号:3251809 上传时间:2023-05-05 格式:DOCX 页数:15 大小:1.02MB
下载 相关 举报
单片机学习之路 STM32 AT89S51.docx_第1页
第1页 / 共15页
单片机学习之路 STM32 AT89S51.docx_第2页
第2页 / 共15页
单片机学习之路 STM32 AT89S51.docx_第3页
第3页 / 共15页
单片机学习之路 STM32 AT89S51.docx_第4页
第4页 / 共15页
单片机学习之路 STM32 AT89S51.docx_第5页
第5页 / 共15页
单片机学习之路 STM32 AT89S51.docx_第6页
第6页 / 共15页
单片机学习之路 STM32 AT89S51.docx_第7页
第7页 / 共15页
单片机学习之路 STM32 AT89S51.docx_第8页
第8页 / 共15页
单片机学习之路 STM32 AT89S51.docx_第9页
第9页 / 共15页
单片机学习之路 STM32 AT89S51.docx_第10页
第10页 / 共15页
单片机学习之路 STM32 AT89S51.docx_第11页
第11页 / 共15页
单片机学习之路 STM32 AT89S51.docx_第12页
第12页 / 共15页
单片机学习之路 STM32 AT89S51.docx_第13页
第13页 / 共15页
单片机学习之路 STM32 AT89S51.docx_第14页
第14页 / 共15页
单片机学习之路 STM32 AT89S51.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机学习之路 STM32 AT89S51.docx

《单片机学习之路 STM32 AT89S51.docx》由会员分享,可在线阅读,更多相关《单片机学习之路 STM32 AT89S51.docx(15页珍藏版)》请在冰点文库上搜索。

单片机学习之路 STM32 AT89S51.docx

单片机学习之路STM32AT89S51

学习总结

在基地学习的这段时间里,通过不断的实践,我对单片机也有也算是入门了。

在我单片机学习的历程,围绕着“单片机+外设硬件+程序”这三个方面来学习。

大一第一个学期我学习C语言的基础知识、AT89S52单片机的IO口的操作、流水灯实验、定时器中断的使用、数码管实验、键盘的原理与制作、对12864液晶的驱动、对直流电机的驱动、对步进电机的驱动;大一第二个学期,我学习了超声波模块的使用,单片机的串口通信,蓝牙模块的与调试使用,陀螺仪的使用与调试,最小51单片机系统板的制作,DXP_AltiumDesignerSummer9软件的使用,AutoCAD的使用,并开始做一些往年控制类的电赛题目,开始接触STM32的库开发和MSP430G2553单片机的学习。

大二第一个学期,进一步学习STM32的库开发和MSP430G2553单片机、开始学习二极管和三极管的原理。

要完成一个功能或一个项目,单片机内部环境配置与外部硬件的对接协调是非常重要的。

AT89S52单片机

以AT89S52单片机为例,通过AT89S52.h头文件使抽象的单片机内部寄存器地址简单化,更易于操作

如:

定义特殊功能寄存器名称地址

这样我们就可以用C语言来调用单片机寄存器来进行环境配置了。

下面我们来看一下51单片机的中断系统,通过对不同的寄存器进行操作,就可以让单片机实现不同的功能,

如下图是51中断系统结构示意图

中断优先级控制寄存器IP

中断允许控制寄存器IE

串行口控制寄存器SCON

定时器/计数器控制寄存器TCON

每一个寄存器都有八位,每一位都有它对应的功能,每一位可以看作一个开关,每

一个用语句EA=1;就相当于闭合上IE寄存器内EA这个位这个开关,也就开启了这一位的功能,将不同的开关组合起来,就可以实现我们想要的功能了

如:

PS=0;//串行口中断为低优先级

PX0=1;//设置外部中断0为高优先级

IT0=1;//外部中断0为边沿触发方式,下降沿有效

ES=1;//允许串行口中断

EX0=1;//允许外部中断0

EA=1;//开总中断

懂得操作和设置寄存器后,我们就可以以单片机为核心,控制外部硬件设备了。

如我要使用LEADDIY_M3陀螺仪模块,通过查阅它的使用手册可知,可以用串口通信与它进行信息交流,信息的处理

有了对这个模块的了解,我们就可以对单片机进行设置,来获取陀螺仪的信息了。

voidInitUART(void)//定时器初始化

{

TMOD=0x20;

SCON=0x50;

TH1=0xFD;

TL1=TH1;

PCON=0x00;

EA=1;

ES=1;

TR1=1;

}

voidSendOneByte(charc)//发送

{ES=0;

SBUF=c;

while(!

TI);

TI=0;

ES=1;

}

 

unsignedcharuartRead(void)

{

unsignedcharch;

while(!

g_u32RecCnt);

ch=rxBuffer[rxBufferRhead];

rxBufferRhead++;

if(rxBufferRhead>=UART_BUFFER_SIZE)

{

rxBufferRhead=0;

}

g_u32RecCnt--;

returnch;

}

unsignedcharuartAvailable(void)

{

returng_u32RecCnt;

}

voidUARTInterrupt(void)interrupt4//定时器服务

{

if(RI)

{

RI=0;

rxBuffer[rxBufferRTail]=SBUF;

rxBufferRTail++;

if(rxBufferRTail>=UART_BUFFER_SIZE)rxBufferRTail=0;

g_u32RecCnt++;

}

elseTI=0;

}

之后我们就可以对单片机获得的数据做进一步的处理,得出我们我们想要的信息了

if(uartAvailable())//检测是否收到LEADIY-M3数据

{

BufC=uartRead();//读一个字节

if((BufC==0xA7)){//判断是否为帧头

BufC=uartRead();//读一个字节

if(BufC==0x7A){//判断是否为帧头

BufC=uartRead();//读一个字节

switch(BufC)//帧类型判断

{

case0x72:

//标识为姿态帧

BufC=uartRead();//帧长度,可不用

BufC=uartRead();//效验位

Angle[0]=ReadW();//X轴角度(横滚)

Angle[1]=ReadW();//Y轴角度(俯仰)

Angle[2]=ReadW();//Z轴角度(偏航)

AngleDeg[0]=Angle[0]/100;

AngleDeg[1]=Angle[1]/100;

AngleDeg[2]=Angle[2]/100;//+90~—90

break;

default:

break;

}

}

}

}

MSP430G2553单片机

这是一款16位的单片机,超低功耗,超高信价比,带有仿真器,功能比AT89S52还要强大,并且它的开发软件CCS也非常强大。

刚接触单片机开发时最大的困惑之一可能就是对单片机中寄存器的理解和配置,而CCS中集成了Grace软件提供了一种全新的图形化的编程方式。

可以帮助我们更快的理解寄存器。

如下:

内部寄存器资源

(1)

对IO口操作

(2)

中断时钟等(3)

虽然有了Grace这个神器我们不用写代码去配置寄存器了,但是还是要会滴。

如上图,它先定义了寄存器

SFR_8BIT(P1IN);

它的原型是这样子的

#defineSFR_8BIT(address)externvolatileunsignedcharaddress

然后在宏定义对它进行操作的16进制数,如

#defineBIT2(0x0004);//0000000000000100

这个的作用使P1IN也就是P1口输入寄存器的第三个IO口置位

#defineBIT3(0x0008);//0000000000001000

以此类推;

当我们要用的时候,就可以这样:

P1IN=BIT3;

这样就实现了对P1口输入寄存器的操作了,是不是很巧妙很有意思;其它的也一样以此类推;

STM32单片机

STM32单片机是一款32位的单片机,它的处理速度MSP430G2553单片机更快,容量更大,寄存器更多。

因此,使用STM32如果再像

MSP430G2553单片机,AT89S52单片机那样直接对寄存器操作的话,会是一个非常大的工作量。

因此ST公司专门为STM32单片机写了库,而这个STM32库是架构在寄存器与我们写的代码之间的桥梁,向下处理与寄存器直接相关的配置,向下为用户提供配置寄存器的接口。

使用它,我们就可以支配强大的STM32单片机了。

STM32模块框图

STM32模块框图

STM32模块框图

(1)

系统结构

(2)

存储器映像(3)

时钟树(4)

固件库函数说明

通过这几个图,再结合它的具体的参考手册就可以读懂STM32库了,理解库之后再根据他给的固件库函数说明,我们就可以轻松的驾驭STM32了。

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2