论坛风格切换切换到宽版
  • 3927阅读
  • 6回复

AVR挂下载线的实验问题,谁能帮俺分析看看? [复制链接]

上一主题 下一主题
离线BA5RW
 
发帖
48263
只看楼主 倒序阅读 0楼 发表于: 2007-05-01
我用BA1FB的简易下载线,在小马软件中测试不能通过,但是可以把HEX成功下载到简易实验板上。我的实验板就一块M8和接在PB0和PB1上的两个LED,今天的实验中出现怪事,ISP下载线在线的时候同样是交替闪灯两个不同的程序,一个会影响工作一个不会,好生奇怪,希望有朋友帮忙分析。我还不会用软件仿真,无法分析。
第一个下载线接在实验板上不影响连续工作:
.include "m8def.inc"
.def dt=r22
.org 0
rjmp reset

reset:
ldi r16,$02
out sph,r16
ldi r16,$5f
out spl,r16

ldi r16,$ff
out ddrb,r16
ldi r16,$0
out portb,r16

start:
ldi r16,0b11111110
out portb,r16
rcall de500
ldi r16,0b11111101
out portb,r16
rcall de500
rjmp start

de500:ldi dt,50
rcall delay
ret
delay: push dt
del1: push dt
del2: push dt
del3:dec dt
brne del3
pop dt
dec dt
brne del2
pop dt
dec dt
brne del1
pop dt
ret

接下来尝试第二个程序:
.include "m8def.inc"
.def dt=r22
.org 0
rjmp reset

reset:
ldi r16,$02
out sph,r16
ldi r16,$5f
out spl,r16

ldi r16,$ff
out ddrb,r16
ldi r16,$0
out portb,r16

start:
cbi portb,0
sbi portb,1
rcall de500
sbi portb,0
cbi portb,1
rcall de500
rjmp start

de500:ldi dt,50
rcall delay
ret
delay: push dt
del1: push dt
del2: push dt
del3:dec dt
brne del3
pop dt
dec dt
brne del2
pop dt
dec dt
brne del1
pop dt
ret
两个程序的差别的是一个用立即数传递PB0和PB1的数据,另一个用置位和清零命令,后者复位后能连续闪几下就全暗了,要拔掉下载线才能连续闪烁工作。
恳请朋友们相助。谢谢先!
离线徐罡
发帖
130
只看该作者 1楼 发表于: 2007-05-05
BA1FB的线是五个电阻的那种吧,小马原图为有短路线的,好像是2、3、11、12,记不清了,短上就能测试通过,并能校准了。至于程序,我看看,过会再聊,我说的不一定对,大家斧正啊。
离线徐罡
发帖
130
只看该作者 2楼 发表于: 2007-05-05
感觉程序没问题呀,看看以下几点吧。
1、仅仅断开下载线的复位脚试试。
2、看看上位机软件是否有提示。
3、看看晶振是否还在振。
4、看您的头文件是用m8做试验,换个口线试试,比如pd。
离线BA5RW
发帖
48263
只看该作者 3楼 发表于: 2007-05-06
[quote=徐罡]BA1FB的线是五个电阻的那种吧,小马原图为有短路线的,好像是2、3、11、12,记不清了,短上就能测试通过,并能校准了。至于程序,我看看,过会再聊,我说的不一定对,大家斧正啊。[/quote]
谢谢回复!
是几个电阻的那种,简单好用.可能是那几条短路线没有接,不过不影响使用就不管了.我奇怪的是对PB口的操作形式不同下载线对其怎么会有影响,不知道是不是堆栈的原因.但是那些操作怎么会影响呢?我是从51转过来的,哈哈,菜菜鸟一个,谢谢指导!
离线awakening
发帖
795
只看该作者 4楼 发表于: 2007-05-09
感觉还是用双龙的isp软件习惯.我用的也是几个电阻的.短路线是让软件识别烧写线用的.用双龙isp的时候就要焊上
离线BA1FB
发帖
28695
只看该作者 5楼 发表于: 2007-05-09
'
感觉还是用双龙的isp软件习惯.我用的也是几个电阻的.短路线是让软件识别烧写线用的.用双龙isp的时候就要焊上
'
用双龙的软件也是两根短路线吗?
离线cqmiao
发帖
825
只看该作者 6楼 发表于: 2007-05-27
要是c语言就能看得懂了,汇编看不懂