单片机的寄存器编程与位运算
天选凡事都要脚踏实地去做,不弛于空想,不骛于虚声。努力只能做到合格,用心才能做到优秀。
目前已经发布了几篇文章,文章多为个人观点,可能会有错误。欢迎朋友们指正错误或提出宝贵建议,必有重谢!
单片机开发常用的编程方法有:寄存器法 和 库函数法。其中基于寄存器编程是一种通用型的方法,即所有的单片机都可以采用寄存器方法进行编程。
1.寄存器是在单片机中真实存在的(有明确的地址)、有明确功能的“开关”或者“指示器”。
3.当需要控制单片机实现某种功能 或者 需要获取单片机的工作状态时,就必须要操作到对应的寄存器。
4.对于不同位数的单片机,其寄存器的位数也不同,并且一个寄存器可能通过不同的位来控制不同的功能。
总结:位运算在单片机开发中主要用途是操作寄存器,是单片机编程的基础!其重要性可见一斑。
一共就4行,非常好记。但知识点仅记住是没用的,得实践!现在我们基于一款单片机的手册来模拟实操一下。有条件的朋友建议购买一套单片机套件,边学边练,效果加倍!
下方是一款单片机的一个寄存器表,来源于主流单片机型号STM32F1xx的参考手册。图中这个寄存器的功能是配置IO引脚的方向,比如配置引脚是作为输入还是输出。
若需要将单片机的PB4引脚配置为通用推挽输出,那应该如何配置此寄存器呢?
Step1,结合引脚正确表示出该寄存器。由于操作的引脚是PB4,属于GPIOB,故该寄存器写作GPIOB->
CRL。
由于待操作引脚序号为4,所以应操作该寄存器的第19~16位(因为这些位对应的功能是CNF4和MODE4,匹配该引脚)。
Step3,结合注释部分,确定待操作位的值。从图中可以看出MODE4(即第17、16位)可以配置为“01”以实现输出模式;CNF4(即第19、18位)可以配置为“00”以实现通用推挽输出模式。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。侵权投诉
看作是CPU内部的工作区域,类似于人的大脑,用于暂时存储和处理当前的任务和信息。
● FPEC key register (FLASH_KEYR)● Option byte key register (FLASH_OPTKEYR
中的应用本文参考另一篇博客写成附链接,个人感觉内容过多不便于吸收,就写了这篇博客。整体思想:设置一个
的概念,因为后面很多情况都会涉及到,所以就来认真学习一下啦基本介绍MCS51系列的
原理与应用课程,请在复习时使用。参考资料:王宏波老师的PPTMSP430F6638用户手册王宏波老师实验教程本章最新更新
在电学里面,属于很简单的一种器件,外表看,就是一个芯片,长着很多的脚。内部,就是一堆
,用于控制串行通信的方式选择、接收和发送,指示串口的状态。SCON既可以字节寻址,也可以
这门课。下面的这一系列教程是专门为初学者入门而准备的,从底层硬件入手基于汇编和c两种语言,详细的介绍了
其实就相当于一个变量,只不过这个变量在固定的地址,有一个特殊的名称(当然也不强制)。初学者对
组的使用时经常出现问题。虽然这并不是多难的问题,但如果出现错误,也会造成很严重的后果。首先介绍
寻址能力,它们的字节地址都能被8整除,即字节地址是以8或0为尾数的。为了能直接访问这些SPR,Franklin C51提供了一种自主形式的定义方法,这种定义方法与标准C语言不兼容,只适合与对MCS-51系列
组的使用时经常出现问题。虽然这并不是多难的问题,但如果出现错误,也会造成很严重的后果。首先介绍
进入空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状态,芯片中程序未涉及到的数据存储
的数据长度. 如果总线宽度与CPU一次处理的数据宽度相同,则这个宽度就是所说的
在电学里面,属于很简单的一种器件,外表看,就是一个芯片,长着很多的脚。内部,就是一堆
清零,先写1-既是输入高电平,这样可以使内部的一个三极管导通接地,电容放电,进行清零!
的两条伪指令为:EQU(标号赋值伪指令)ORG(地址定义伪指令),还有其他的PIC
是什么意思 从X8086开始学了一年,第一个ASM的程序就是变32换16进制的程序,不过现在叫我从新开始写ASM程
百亿联发科,登顶全球最大智能手机芯片商,2021年首发旗舰“天玑1200”5G芯片
相关文章:
网友评论: