ArduinoUno "Blink"嵌入汇编代码-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1944|回复: 0

ArduinoUno "Blink"嵌入汇编代码

[复制链接]
发表于 2020-3-24 00:57 | 显示全部楼层 |阅读模式
直接上代码,有兴趣的加QQ群(687039778)讨论,验证问题:太极创客网址  答案: http://www.taichi-maker.com/

void setup() {
  asm("SBI 0x04, 0x05");  //  设置13Pin为输出模式
  asm("CBI 0x05, 0x05");  //  设置13Pin为低电平

  asm("OUTPUT:");
  asm("IN  R16, 0x05");   //  读取13Pin电平存入R16寄存器
  asm("LDI R17, 0x20");   //  设置R17寄存器为0x20
  asm("EOR R16,  R17");   //  将R16与R17的值异或运算,结果存入R16
  asm("OUT 0x05, R16");   //  设置13Pin的电平

  asm("LDI R19, 0xAE");   //  延时设置
  asm("DELAY0: LDI R16, 0x03");
  asm("DELAY1: LDI R18, 0x00");
  asm("DELAY2: INC R18");

  asm("BRNE DELAY2");
  asm("INC R16");
  asm("BRNE DELAY1");
  asm("INC R19");
  asm("BRNE DELAY0");
  asm("RJMP OUTPUT");     //  跳转至 OUTPUT
}

void loop() {}

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 11:37 , Processed in 0.086391 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表