【问题标题】:How to activate a pin in Assembler?如何激活汇编程序中的引脚?
【发布时间】:2021-11-17 15:58:14
【问题描述】:

我想激活 23 针来点亮 LED

      ; Reset Vector
      rjmp   Start
      
Start:  
      ldi r16, 0x00     ;Cargar el registro de trabajo 16 al valor 0
      out DDRB, r16         ;Asignar al puerto B el valor del registro 16
      ldi r16, 0xFF     ;Carga el registro de trabajo 16, el valor FF
      out DDRC, r16     ;Asignar al puerto C el valor del registro 16
      
Loop:
      in r16, PINB      ;Lee puerto B
      out PORTC, r16        ;Escribe en puerto C lo leído
      ldi PORTC, 1
      rjmp Loop

【问题讨论】:

  • 你在为什么芯片编程?
  • 原理图上写着 ATmega328P。

标签: assembly avr atmega


【解决方案1】:

如果要启用 PC0(引脚 23)输出,则需要在 DDRC(启用引脚上的输出驱动器)和 PORTC(选择高输出电平)中设置位 #0。 您可以使用OUT 命令将 8 位值写入 I/O 寄存器:

ldi r16, 0x01
out PORTC, r16
out DDRC, r16

或者您可以使用sbi 指令在前 32 个 I/O 寄存器中设置一个位:

sbi PORTC, 0
sbi DDRC, 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多