首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将avr组件中指定的引脚设置为输出

将avr组件中指定的引脚设置为输出
EN

Stack Overflow用户
提问于 2021-02-13 23:11:21
回答 1查看 573关注 0票数 0

我正试图解决下面这两行代码的问题,我开始迷惑自己。有人能帮我填写哪些代码吗?为什么会这样?

假设PORTA上的引脚4和2连接到附加的输出设备(DevD)。填写第1-2行,以便将相应的引脚指定为输出。不要将端口上的任何其他引脚配置为输出。

代码语言:javascript
复制
.include “m128def.inc”
.def mpr = r16
START:
.org $0000
   JMP INIT
.org $0004
   RCALL ISR_DevA
   RETI
.org $000C
   RJMP ISR_DevB 
   NOP 
.org $0010
   RJMP ISR_DevC
INIT:
   ldi mpr, 0b00110000
   sts EICRA, mpr
   ldi mpr, 0b11101000
   out EICRB, mpr
   ldi mpr, 10100010
   out EIMSK, mpr
   ldi mpr, $00
   out DDRD, mpr 
   out DDRE, mpr 
   (1) ________________
   (2) ________________
   sei
   ...
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-14 03:11:33

您可以在AVR microController中将引脚指定为输出或输入,方法是将其写入名为DDRx (数据方向寄存器)的寄存器。

对于端口A中的每一个引脚,如果该引脚是作为输出或输入工作的(1平均输出,0平均输入),则在DDRA寄存器控制中有相应的位。

要使PORTA上的引脚4和2成为ouptut,您必须在相应的位中添加“1”,这意味着您必须在寄存器'DDRA‘中写入值0b00010100

代码语言:javascript
复制
ldi r16, 0b00010100 ; put the value in r16 register
out DDRA, r16       ;write to the DDRA the value in r16 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66190855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档