迷走神经是什么| 经常腰酸是什么原因女性| 人为什么要喝水| 骨皮质断裂是什么意思| 男人壮阳吃什么最快| cns医学上是什么意思| 红楼梦为什么是四大名著之首| 白色裤子搭什么颜色上衣| 空蝶鞍是什么意思| 木五行属什么| 高血压用什么药| dn是什么意思| 晚上睡觉咳嗽是什么原因| 唇炎去医院挂什么科| 手经常发麻是什么原因| reed是什么意思| 代谢慢是什么原因引起的| 重字五行属什么| 什么人什么天| 新鲜橄榄菜长什么样子| 吃什么能让奶水变多| 高甘油三酯血症是什么意思| 买车选什么品牌| 辽宁古代叫什么| 走马观花的走是什么意思| 血沉高是什么原因引起的| 喝酒脸红是缺少什么酶| 水银中毒会出现什么状况| 为什么会流鼻血什么原因引起的| 阑是什么意思| 属猪的跟什么属相最配| 脚底板发黄是什么原因| 胃镜预约挂什么科| 口若悬河是什么生肖| 尿路感染用什么药| 箔是什么意思| 为什么一直咳嗽| vps是什么| 吃什么促进腺样体萎缩| 鱼吃什么食物| 甲状腺双叶结节什么意思| 查甲亢挂什么科| 县局局长什么级别| 女人胸疼是什么原因| 为什么学习不好| 180度是什么角| iruri 什么意思| 做爱什么感觉| 说三道四的意思是什么| 什么时候闰三月| rmssd是什么意思| 吃什么水果对皮肤好又美白| 三月二十六是什么星座| 谋杀是什么意思| 雷锋原名叫什么| 丛书是什么意思| 入伙是什么意思| 脚趾麻是什么病的前兆| 鸽子吃什么粮食| 代销商是什么意思| 狼的天敌是什么动物| 马首是瞻是什么生肖| 30年婚姻叫什么婚| 绿茶用什么茶具泡好| 为什么老是睡不着| 什么地走| 白羊属于什么象星座| 流量加油包是什么意思| 跳蚤长什么样子| 人参长什么样子图片| 牛鞭是牛的什么部位| 糖皮质激素是什么药| 不着相是什么意思| 肌酐高用什么药| 肝肾两虚吃什么中成药| 梦见鱼是什么预兆| 七月九号是什么星座| 高血糖挂什么科室的号| 香油是什么油| tips什么意思| 陷阱是什么意思| 梦到砍树是什么意思| 血脂高吃什么药效果好| ast是什么| 大姨妈不能吃什么水果| 青海是什么省| 慢热型是什么意思| 梦见梅花鹿是什么预兆| 什么是玫瑰糠疹| 李白字什么号什么| 补肝血吃什么食物最好| 爱是什么偏旁| ono是什么意思| 啄木鸟为什么不会脑震荡| 每天半夜两三点醒是什么原因| 客源是什么意思| 什么是孤独症| 鲁班是什么家| 不来月经吃什么药催经| 经期血量少是什么原因| 太阳出来我爬山坡是什么歌| 羊水穿刺是查什么的| 安陵容什么时候变坏的| ems是什么意思| 胸闷什么原因| 手指起倒刺是什么原因| 西游记什么时候拍的| 没经验的人开什么店好| 盆腔炎吃什么药最好| 非经期少量出血是什么原因| 后背一推就出痧是什么原因| 脚面疼痛什么原因| 肺燥吃什么中成药| 乳腺疼挂什么科| 梓是什么意思| 我宣你 是什么意思| 为什么不能空腹吃香蕉| 冠脉造影是什么意思| 类风湿什么症状| 腰酸挂什么科| 梦到生儿子有什么预兆| 为难的难是什么意思| 反酸吃什么马上能缓解| 脚底起水泡是什么原因| 怀孕前三个月要注意什么| 电头是什么| 1919年属什么生肖| 竞走是什么意思| 甲状腺吃什么药好| 梦见乌龟是什么意思| 农村适合养殖什么| 什么鸡不能吃| aa是什么病| 好事多磨是什么意思| 女性割礼是什么| 肌肉溶解是什么意思| 肚脐眼左边是什么部位| 6月6号是什么星座| 喘息是什么意思| 队友是什么意思| 毕婚族是什么意思| 结肠炎是什么原因引起的| 什么是三伏贴| 膻味是什么意思| 眼睛皮痒是什么原因| 阿奇霉素和头孢有什么区别| 现在是什么年代| syphilis是什么意思| 寂是什么意思| 心态是什么意思| 纷乐是什么药| 软冷冻室一般放什么东西| 腺肌症是什么病| 忤逆是什么意思| 头面是什么| 煲汤放什么药材补气血| 相濡以沫什么意思| 大便羊屎粒是什么原因| 直肠癌是什么症状| 阳虚吃什么中药| 2020年是什么年| 吃阿胶对女人有什么好处| 膝关节积液吃什么药| 狗冲什么生肖| 鼻炎吃什么药| cta是什么| 舌苔黄是什么原因| 急的什么| 人云亦什么| 白细胞计数偏高是什么意思| 突然手发抖是什么原因| 中性粒细胞百分比偏低什么意思| 4月22日是什么星座| 紫苏煮水喝有什么功效| 恶风是什么意思| 总监是什么级别| 食言是什么意思| 强龙不压地头蛇是什么生肖| 婚检挂什么科| 小孩子发烧是什么原因引起的| 眼睛痒是什么原因| 身体发麻是什么原因| 鬼佬是什么意思| 什么梨最好吃| 尿液发黄是什么原因| hoka是什么牌子| 三线炎有什么症状| 肩周炎是什么原因造成的| 水晶粉是什么粉| 女人梦见棺材是什么征兆| 榴莲有什么功效| 淋巴结肿大有什么症状| 肺结节手术后吃什么好| 粉饼和散粉有什么区别| 网球肘用什么药| 肾阳虚吃什么中药| 腹部包块是什么样子的| 5月11日是什么星座| 电泳是什么意思| 狗生小狗前有什么征兆| 哦是什么意思在聊天时| 什么是钙化点| 手脚麻木吃什么药| 大便臭是什么原因| 喜面是什么意思| 心肌缺血用什么药效果最好| 盯眝是什么意思| 应用心理学是什么| 为什么打喷嚏| 什么芒果最好吃| ci是什么意思| 彩超跟b超有什么区别| 红烧肉是什么菜系| 肚子疼是什么原因一阵一阵的| whirlpool是什么牌子| 内膜厚吃什么药掉内膜| 献血前吃什么东西最好| 片反过来念什么| 吃杨梅有什么好处和功效| 什么叫风热感冒| 嬛嬛一袅楚宫腰什么意思| 春节的习俗是什么| 咽喉炎吃什么药| 为什么养猫就没有蟑螂| 小孩反复发烧是什么原因| 人潮涌动是什么意思| 肺结节手术后吃什么好| 心脏彩超主要检查什么| 感冒发烧吃什么水果好| 布洛芬0.3和0.4g有什么区别| 33数字代表什么意思| 尖锐湿疣是什么样的| 985是什么学校| 凌晨一点半是什么时辰| 支数是什么意思| 孕吐一般什么时候开始| 囟门是什么意思| 双侧卵巢显示不清是什么意思| 川崎病是什么症状| 总是感觉口渴是什么原因| 什么叫野鸡大学| 一直倒霉预示着什么| 数词是什么意思| 度化是什么意思| 属鸡的适合干什么行业最赚钱| 一箭双雕是指什么生肖| 感冒嗓子哑了吃什么药| 验孕棒阳性代表什么| 梦见别人穿红衣服是什么意思| 请惠存是什么意思| 碳水化合物是什么东西| 熊猫为什么有黑眼圈| 什么样的土豆不能吃| 乌龙茶是什么茶| 什么是戒断反应| 猪尾巴炖什么好吃| 什么是大小周| 肚脐下四指是什么位置| 肾亏吃什么好| 属猴的幸运色是什么颜色| 灶性肠化是什么意思| 酒精是什么| 量是什么意思| 贝加台念什么| 百度
"); //-->

博客专栏

EEPW首页 > 博客 > 单片机的寄存器类型及操作教程

产业--湖北频道--人民网

发布人:utmel 时间:2025-08-04 来源:工程师 发布文章
百度 营养不良、地方病也很普遍,比如血吸虫的传染导致大量农村人口身体衰弱,甚至无法参加劳动。

  大家都认为计算机可以做任何事,对我们的生活有巨大的作用,尤其是在学习单片机的过程中。学习计算机可以教会我们分析和解决问题,而学习单片机可以帮助我们更好地理解计算机如何根据我们的想法解决问题。本文带你了解寄存器,它将伴随学习单片机的全过程。寄存器是连接硬件和软件的重要纽带。计算机的任何功能都离不开寄存器。中央处理器也有寄存器。总线通信、通过注册、内存分页等一切都基于寄存器。电子洞和多彩的计算机世界之间有更多的寄存器,如链接。它们看起来很复杂,但它们很清楚。即便所有的计算机一夜之间突然消失,人类也可以从电子管和打孔纸带开始,一层一层地构建计算机世界。我们所知道的只是这个庞大系统中的沧海一粟。

  1.什么是寄存器

  寄存器是CPU内部的一种存储器,分为通用寄存器和特殊功能寄存器(8086也细分为特殊功能寄存器)。通用寄存器,顾图2 单片机寄存器名思义是通用的。它们可以存储操作数、运算结果、内存地址等数据,在用C语言编程时,编译器一般负责安排通用寄存器的使用,无需直接联系它们。特殊功能寄存器具有特定功能,其中一些作用于CPU,比如PC存放下一条指令的地址,SP记录栈顶在内存中的位置,其中一些与IO模块相连,单片机程序通过这些寄存器控制各种外设。

寄存器.jpg

图1 寄存器

  我们通常使用的单片机是atmega324pa,它的封装种类很多,管脚数量不同,但通用输入输出(GPIO)管脚有32个。由于AVR架构是8位字长,因此CPU一次处理1位数据和8位数据所需的时间相同。32个引脚被组织成4个端口,即PA、Pb、PC和PD。在微型和微型微控制器的AVR架构中,每个端口都有三个寄存器来控制数字信号IO,分别是portx、ddrx和PINX。这里的X是a、B、C或D。由于四个端口在数字IO方面是相同的,我们将它们组合起来。因此,对于每个引脚Pxn,有3个位,portxn、ddxn(不带R)和pinxn,来控制其数字io。

  ddxn控制引脚方向:ddxn为1时,输出Pxn;当ddxn为0时,输入Pxn。

  当输入Pxn时,如果portxn为1,则该引脚通过上拉电阻连接到VCC;否则,引脚悬空。

  输出Pxn时,若portxn为1,引脚输出高电平;否则,引脚输出低电平。

  pinxn的值是Pxn引脚的电平。如果将1写入pinxn,则portxn的值会翻转。

  寄存器还有很多细节,比如MCUCR寄存器中PUD位的作用、复位后寄存器的值、输入/输出切换的方法、读取引脚电平的延迟、未连接引脚的处理方法等。

  2.什么是单片机寄存器

  寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。寄存器通常都是以他们可以保存的位元数量来估量,举例来说,一个“8位元寄存器”或“32位元寄存器”。寄存器现在都以寄存器档案的方式来实作,但是他们也可能使用单独的正反器、高速的核心内存、薄膜内存以及在数种机器上的其他方式来实作出来。寄存器通常都用来意指由一个指令之输出或输入可以直接索引到的暂存器群组。更适当的是称他们为“架构寄存器”。例如,x86指令集定义八个32位元寄存器的集合,但一个实作x86指令集的CPU可以包含比八个更多的寄存器。寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。

单片机寄存器.jpg

图2 单片机寄存器

  3.单片机寄存器的类型

  3.1累加器A

  累加器A是微处理器中使用最频繁的寄存器。在算术和逻辑运算时它有双功能:运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结果。

  3.2数据寄存器DR

  数据寄存器通过数据总线向存储器和输入/输出设备送(写)或取(读)数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等等。

  3.3指令寄存器IR和指令译码器ID

  指令包括操作码和操作数。指令寄存器是用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存中取到数据寄存器中,然后再传送到指令寄存器。当系统执行给定的指令时,必须对操作码进行译码,以确定所要求的操作,指令译码器就是负责这项工作的。其中,指令寄存器中操作码字段的输出就是指令译码器的输入。

  3.4程序计数器PC

  PC用于确定下一条指令的地址,以保证程序能够连续地执行下去,因此通常又被称为指令地址计数器。在程序开始执行前必须将程序的第一条指令的内存单元地址(即程序的首地址)送入PC,使它总是指向下一条要执行指令的地址。

  3.5地址寄存器AR

  用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止址寄存器(Address Register,AR)用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。数据寄存器DR用来暂存微处理器与存储器或输人/输出接口电路之间待传送的数据。地址寄存器AR和数据寄存器DR在微处理器的内部总线和外部总线之间,还起着隔离和缓冲的作用。

  4.单片机寄存器的使用教程

  要使用寄存器,需要写#include,然后就可以使用PORTA、DDRB、PINC等寄存器。它们是宏定义。不必探索它们是如何扩展的。只需要知道这些宏是可以读、赋值和位操作的,就像uint8_t类型变量一样。但是像PORTA0SumDDB7宏定义这样的东西并不代表寄存器上的位。它们实际上是字面常量,比如PORTAx寄存器表示寄存器PORTA的第x位(0为最低位,7为最高位),其值为X。因此,直接复制这些宏是不正确的(不仅意思不对,编译也不会通过)。

  在开发板的库函数中提供包含多个位操作的宏函数。可以拿出存储器的手册来,看看后面是怎么实现的。

  让我们举个例子,点亮一个LED,首先打开红色LED。原理图第2页左上角红色LED通过电阻与网络LED0相连,第1页LED0与单片机PC4引脚相连,所以我们需要让PC4脚输出高电平。回到三个寄存器的功能。输出高电平要求ddxn和portxn同时为1。我们把X和N分别用C和4取进去,也就是我们希望ddc4和portc4为1。

  如果寄存器的一个位置为1,则set_bit实现。它需要两个参数,要操作的整数变量和表示第一个数字的整数。将ddc4设置为1应该写入set_bit(DDRC,4);4可以用DDC4替换,就是这样定义的。同理,portc4可以设置为1。点亮红色LED的整个过程如下:

红色LED.jpg

  接下来是存储器的数字输入。使用第一个按键相关的例子,保持LED状态与按键一致,即按下点亮。

  要读取寄存器中的一位,可以使用read_bit。如果引脚上的电平为高电平,则read_bit的运算结果不为0(但不一定是布尔值1)。注意按键时引脚电平是低的,所以读取引脚电平的结果是你是否按下该键。

  原理图中,key的一端接btn0网络,再接单片机的PA4引脚。所以按键是否按下应该写成:!read_bit(PINA,4)。

  引脚应在读取前配置为输入。虽然是reset后默认输入的,在这个例子中没有必要给dda4写0,但是写清楚是一个好习惯,让看这段代码的人(可能是别人也可能是自己)明白PA4是输入。对于porta4,由于该引脚外接了上拉电阻,因此无需使能内部上拉电阻。

寄存器代码操作.jpg

  结合按键动作的知识,应该知道如何直接通过寄存器操作来判断按键动作。值得注意的是,这些程序都不需要在项目属性中将libee1库添加到链接器。虽然代码使用,但它们都是宏定义,独立于链接器。

  5.关于单片机寄存器的常见问题

  5.1什么是单片机寄存器?

  简单地说,寄存器是一种内存。通常寄存器位于 CPU 或 MCU(微控制器)内,非常靠近算术单元或直接连接到各种 I/O 端口。由于这个位置或特殊设计,与其他类型的存储器相比,寄存器在读/写速度方面要快得多。

  5.2单片机寄存器有什么作用?

  寄存器的单片机(计算机)的存储单元,是存取数据较为方便、快速地方寄存器常用于存放使用比较频繁的数据,再参与运算,都很容易。

  5.3哪些计算机使用单芯片处理器?

  单芯片云计算机(SCC) 是英特尔实验室开发的一种实验性微处理器,SCC 微处理器包括集成在单个硅芯片上的 48 个内核,SCC 具有双核 SCC 磁贴、内存控制器和 24 路由器网状网络。

  5.4什么是单芯片CPU?

  大部分微机的ALU和控制单元都是在一块硅片上组合制造的。大多数现代 CPU 都是微处理器,这意味着它们包含在单个集成电路 (IC) 芯片中。

  以上就是单片机的寄存器类型及操作教程的介绍了,单片机一种集成电路芯片,广泛用于各大行业中。单片机寄存器其实就相当于一个变量,只不过这个变量在固定的地址,有一个特殊的名称(当然也不强制)。初学者对寄存器的操作比较困难的原因不是汇编语言或C语言使用的不熟,而是对寄存器的陌生。单片机中存储器的资源是非常宝贵和有限的,任何产品都有使用说明书,要想最好的使用一款产品也是去阅读说明书。单片机或者芯片的说明书就是数据手册。数据手册中往往都是对寄存器如何操作的描述,只不过要耐下心来一点一点的去理解去消化手册所介绍的功能,这样才能用好。


关注公众号“优特美尔商城”,获取更多电子元器件知识、电路讲解、型号资料、电子资讯,欢迎留言讨论。




*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。




相关推荐

技术专区

关闭
7代表什么 清热解毒是什么意思 去香港澳门旅游需要准备什么 吃什么食物补钾最快 荷花象征着什么
腿上无缘无故出现淤青是什么原因 产后抑郁一般发生在产后什么时间 宝是什么生肖 嘴唇白是什么原因 落花雨你飘摇的美丽是什么歌
女人是什么动物 子欲养而亲不待是什么意思 多多包涵是什么意思 肝结节是什么病严重吗 隐形眼镜半年抛是什么意思
8月1日是什么节日 一棵树是什么品牌 发低烧有什么症状 草长莺飞是什么生肖 roa是什么
头发染什么颜色显皮肤白显年轻hcv9jop6ns5r.cn 医学检验技术是什么hcv8jop1ns9r.cn 人乳头瘤病毒hpv是什么意思hcv7jop4ns8r.cn 八月底什么星座hcv8jop7ns3r.cn 有加有减先算什么hcv7jop9ns1r.cn
左手有点麻是什么原因hcv7jop6ns2r.cn 亲亲抱抱举高高什么意思hcv9jop6ns5r.cn 螃蟹用什么呼吸hcv8jop0ns6r.cn 隐翅虫咬了用什么药creativexi.com 兰州有什么好吃的hcv7jop6ns5r.cn
土龙是什么hcv9jop4ns5r.cn 秘书是干什么的xinmaowt.com 一个口一个我念什么hcv9jop2ns3r.cn 心率失常是什么意思hcv9jop1ns2r.cn 钓鱼执法是什么意思hcv7jop9ns7r.cn
梦见大狼狗是什么意思hcv8jop6ns3r.cn 举什么什么举hcv7jop9ns6r.cn 蜂窝织炎用什么抗生素hcv9jop5ns0r.cn thc是什么意思adwl56.com 甲亢吃什么药最有效hcv8jop1ns8r.cn
百度