查看: 2547|回复: 3

使用心得1

[复制链接]

该用户从未签到

发表于 2013-12-2 09:05:01 | 显示全部楼层 |阅读模式
分享到:
本帖最后由 DDN 于 2013-12-2 09:25 编辑

(初学者学习笔记,高手请飞过~~~

昨天才考完试,最近都准备考试了,近3个星期前申请的试用板这才有时间来好好玩一玩。。。
我之前系统的学习过51单片机,这还是第一次接触AVR单片机,看着酷酷的板子和漂亮的软件界面,心里一阵新奇。。。
不过,这么好的板子,第一次用,必然会遇到各种问题,然后就各种纠结了。。。。。。

打开软件界面,插上miniUSB,软件就会弹出一个框框,告诉你已经连接上了。
然后找来例程,跑一下,耶,灯亮了呢!!!
然后呢?我想看看到底是哪句话点亮了Led0
最顶层的函数是gpio_set_pin_high();然后我右击,“Goto Implementation,
出现“#define    gpio_set_pin_high(io_id) \
一直到最后,我都无法找到,(恕水平有限)

于是,我决定用汇编
.include  "m256RFR2def.inc"

.org      $0000
rjmp     main

.org       $0100
main:
ldi  r16, $10             PB4设置为输出
out     ddrb,       r16

loop:
ldi   r16, $00
out     portb,    r16                     PB4输出低电平
rcall   wait1s
ldi   r16, $10                    PB4输出高电平
out     portb,     r16
rcall   wait1s
rjmp  loop

;---------延时子程序-----------
wait1s:
clc;                                                ;清零C
ldi r18, 0       ;ldi”立即数传给寄存器,寄存器R18清零

wait1ms:
ldi r24, 120
d0:
push r24
d1:
push r24
d2:
dec r24
brne  d2 ;判断跳转指令,标志位Z0,则跳转
pop r24
dec r24
brne d1
pop r24
dec r24
brne d0

inc r18 ;大循环为50
cpi     r18, 50 ;"cpi"立即数比较,若小于,则标志位C1,否则标志位C清零
brsh  wait1ms         ;"brsh"判断跳转指令,标志位C0,则跳转

ret

从汇编代码中,可以直接看到,点亮LED0的指令,非常直观,这种直观对于初学者非常重要。

-----Duino

To be continued~
1.PNG

回复

使用道具 举报

  • TA的每日心情
    奋斗
    2014-7-16 09:10
  • 签到天数: 361 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-12-2 09:24:09 | 显示全部楼层
    Continue!Fighting!{:soso_e142:}
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2014-2-12 10:49
  • 签到天数: 150 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2013-12-2 10:10:23 | 显示全部楼层
    GY@艳 发表于 2013-12-2 09:24
    Continue!Fighting!

    同期待Continue!        
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-1-22 18:04
  • 签到天数: 189 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2013-12-29 17:46:26 | 显示全部楼层
    不喜欢汇编的飘过,但偶尔还是要写点汇编
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-21 17:18 , Processed in 0.159135 second(s), 22 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.