AT89S52在Linux下的烧录方法

2020-01-26 12:44发布

这是前年碰了很多墙才折腾出来的方法
我的博客的原文在这里
http://hi.baidu.com/%B5%FB%CF%FE%C3%CE/blog/item/1aa1050958898c2e6a60fbd0.html

这里以Ubuntu为例子,先安装avrdude.
用下面的命令一次装全吧:

sudo apt-get install gcc-avr binutils-avr avrdude avr-libc

然后编辑avrdude.conf:

sudo gedit /etc/avrdude.conf

在最后面加入AT89s52的相关信息(这是Joy Shukla写的)

#------------------------------------------------------------
# Below chips by added by me .. Joy Shukla(joy_shukla@yahoo.in)
# these chips can be programmed with my usbasp programmer(changed atmega8 program)
# after adding avrdude support in this file ..
#------------------------------------------------------------

#------------------------------------------------------------
# AT89S52
#------------------------------------------------------------
part
id               = "8052";
desc             = "AT89S52";
signature        = 0x1E 0x52 0x06;
chip_erase_delay = 20000;
pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
"x x x x  x x x x    x x x x  x x x x";

chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
"x x x x  x x x x    x x x x  x x x x";

timeout      = 200;
stabdelay      = 100;
cmdexedelay      = 25;
synchloops      = 32;
bytedelay      = 0;
pollindex      = 3;
pollvalue      = 0x53;
predelay      = 1;
postdelay      = 1;
pollmethod      = 0;

memory "flash"
size            = 8192;
paged           = no;
min_write_delay = 4000;
max_write_delay = 9000;
readback_p1     = 0xff;
readback_p2     = 0xff;
read            = "  0   0   1   0    0   0   0   0",
"  x   x   x a12  a11 a10  a9  a8",
" a7  a6  a5  a4   a3  a2  a1  a0",
"  o   o   o   o    o   o   o   o";

write           = "  0   1   0   0    0   0   0   0",
"  x   x   x a12  a11 a10  a9  a8",
" a7  a6  a5  a4   a3  a2  a1  a0",
"  i   i   i   i    i   i   i   i";
mode      = 0x21;
delay      = 12;
;

memory "signature"
size            = 3;
read            = "0  0  1  0   1  0  0  0   x  x  x  0   0  0 a1 a0",
"0  0  0  0   0  0  0  0   o  o  o  o   o  o  o  o";
;
;  
#------------------------------------------------------------
然后保存
现在就可以烧录AT89S52的单片机了,
例如我想烧录放在桌面上的编译好的跑马灯程序,
用命令

sudo avrdude -p 8052 -c usbasp -e -U flash:w:'/home/vowstar/桌面/跑马灯.hex'

即可


效果如图 (原文件名:4ea013d3ef19491a970a1697.jpg)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。