论坛风格切换切换到宽版
  • 5466阅读
  • 16回复

使用89C5X(89S5X)芯片做实验的时代已经终结[原创][教学篇,高手免看] [复制链接]

上一主题 下一主题
离线BG4UVR
 
发帖
11288
只看楼主 倒序阅读 0楼 发表于: 2006-10-15
补充说明:

使用下面的方法,你需要的硬件是,带max232转换电路的实验板,一条串口电缆,当然还有带串口的pc。仅此而已!

-------------------------------------
如果,你也像我一样,正在学习51单片机;
如果,你也经常要做一些实验。如果,你做实验总是用89c5x、89s5x;
如果,你每次写完程序,编译好hex,都要用编程器烧进芯片;
如果,你还没有编程器,但也想做51单片机实验;

那么,你用sst系列的芯片吧。

sst的51系列单片机,和普通的51单片机最大的区别在于,它有一个iap功能,即“在应用编程”。先别头晕,本来就是初学,不是让你去学那些复杂的功能使用。我们是只用这个iap功能,来把你写的程序,装入芯片。非常简单,请看下去。

先粗略地说一下,sst单片机内部的特殊结构。

sst系列单片机,内部的程序存储器,是flash工艺的,分为两个区块,block1和block0。这两个区域,在程序运行时,满足特定的条件后,可以改写。暂时可以这样理解,block1,不去管它,block0,就是你要用的程序存储器。

在block1中,出厂时,厂家在里面装了一个iap功能的示例。单片机复位启动后,会在非常短的时间内,检查串口是否有特定的通信,如果没有,单片机会自动切换到block0的0000h开始正常的启动(0000h开始,是你写的程序)。

了解了以上内容,就足够了,现在准备硬件。如果你已经有一块实验板,买的或者自制的,并且上面已经接好了max232串口电平转换电路,那么就可以开始了。就如果你还没有,那么就自己搭一个,把串口接好max232电平转换电路。这个接线的图,网上非常的多,随便找一下就能找到,这里就不帖了。

然后,你需要一个pc端软件,直接点击下面地址进行下载
http://www.sst.com/products/software_utils/bsl/ssteasyiap11f.exe

做实验时,如果需要编程,那么先把你的板子和pc的串口接好。

1、然后运行这个软件,在“detectchip/rs232”中,按最上面一项“detect target mcu for firmware1.1f and rs232 config”。

2、在弹出的窗口中,上面选择好你使用的芯片型号,比如我用的是sst89e564rd,就选择“sst89e/v564rd”。

3、下面部分,一般不用改动,选上面的“internal memory(ea#=1)”就行。然后按“ok”,选择你pc连接实验板的端口,我的是com1,就选“com1”。后面的速率,不用改,用“38400”就可以工作。

4、下面输入你实验板的实际晶振频率,如果正好用的是11.0592的,就不用改了,默认就是这个频率。

5、再下面一个速率,不用改动,和你上面选择的相同即可。

6、现在按“detect mcu”,弹出一个小窗口,按“确定”。

7、这时马上复位你的实验板cpu(推荐复位脚上接个轻触开关,如果有没开关,那么重新断电开电也可以)。

这时,窗口的右侧应该显示出你芯片的型号、内部存储器容量等信息。如果没显示出来,那么你需要检查你的硬件是否有问题,电缆是否接得正确、良好,之前的端口、速率选择是否正确。

右侧显示出信息后,你按窗口右下角的“dnload/run usercode”,弹出的窗口中,按“file name”后面的“...”浏览按钮,选择你编译好的hex文件。“starting”里的东西不要改,默认的“sector 000 addr=0000 ”就可以。然后按ok,会弹出一个芯片内的数据将被擦除的警告,按“是”。在进度条快速闪过以后,你会发现,你编写的程序已经在运行了。

恭喜,你已经完成了!

至于刚才写入的数据,是不怕断电的。你重新启动你的实验板,发现它运行的还是你上次写入的程序。

写程序时,不用选择sst89e564rd的头文件,直接用你打算使用的芯片头文件reg51.h,或者是52,2051都可以。你就当芯片是89c51、89c52就可以了,没任何不同

然后,你可以一遍一遍的修改你的程序,来完成你的设想要求。每次修改完,都用上面的步骤进行芯片编程即可。你会发现,比使用编程器来烧芯片,方便多了,连芯片插拨都免去了

另外,在搞清楚easyiap软件的功能之前,不要乱选,你很可能意外锁定芯片或者把iap引导程序删除。如果不幸锁定或删除了,就只能通过用编程器来写入iap代码进行恢复了。

小图 | 大图 图片

  • 哈罗CQ火腿社区 - 单片机与自动控制 - 使用89C5X(89S5X)芯片做实验的时代已经终结[原创][教学篇,高手免看]
  • 哈罗CQ火腿社区 - 单片机与自动控制 - 使用89C5X(89S5X)芯片做实验的时代已经终结[原创][教学篇,高手免看]
  • 哈罗CQ火腿社区 - 单片机与自动控制 - 使用89C5X(89S5X)芯片做实验的时代已经终结[原创][教学篇,高手免看]
  • 哈罗CQ火腿社区 - 单片机与自动控制 - 使用89C5X(89S5X)芯片做实验的时代已经终结[原创][教学篇,高手免看]
  • 哈罗CQ火腿社区 - 单片机与自动控制 - 使用89C5X(89S5X)芯片做实验的时代已经终结[原创][教学篇,高手免看]
离线BG4UVR
发帖
11288
只看该作者 1楼 发表于: 2006-10-15
我在用sst之前,曾经在做实验时,由于反复烧写芯片来修正错误和功能,以至于到最后,连芯片的脚都断了,插拨的次数实在是太多啦……

sst芯片功能强大,可以做仿真,见我另一个帖子
http://www.hellocq.net/forum307/showthread.php?t=128349&highlight=%b7%c2%d5%e6&所谓仿真模块
离线bd7rf
发帖
10148
只看该作者 2楼 发表于: 2006-10-15
好贴,我这几天作一个时钟玩,烧了无数次89c51
离线BD4VNF
发帖
1208
只看该作者 3楼 发表于: 2006-10-15
avr的也不错,第一步要走好
离线bg4kzi
发帖
706
只看该作者 4楼 发表于: 2006-11-21
准备学单片机,做个记号。
离线BD7RC
发帖
3283
只看该作者 5楼 发表于: 2006-11-21
严重同意。用过avr,再也不想玩51了。


'
avr的也不错,第一步要走好
'
离线BG7YDO
发帖
3654
只看该作者 6楼 发表于: 2006-11-21
看来我是赶不上了。我现在刚对51找到一点点感觉,您都说avr好,我这该如何是好呀?
离线bd7bq
发帖
1491
只看该作者 7楼 发表于: 2006-11-21
我最近两年一直用stc,通过串口写程序.不用我的lt-48编程器了.atmel的89x5x都丢得不见了.
离线wycx
发帖
1497
只看该作者 8楼 发表于: 2006-11-21
用户被禁言,该主题自动屏蔽!
离线BG4-2-12747
发帖
1611
只看该作者 9楼 发表于: 2006-11-22
顺便问一下:这种芯片多少钱一个啊?
看来到了89c51降价的时候了,大家快去买啊~~~我买的5元人民币
离线BG4UVR
发帖
11288
只看该作者 10楼 发表于: 2006-11-22
[quote=bg4-2-12747]顺便问一下:这种芯片多少钱一个啊?
看来到了89c51降价的时候了,大家快去买啊~~~我买的5元人民币[/quote]

sst89e564rd,内部64kb+8kb的flash存储器,我在网上邮购,20元一片。
离线河南BD6KR
发帖
98
只看该作者 11楼 发表于: 2006-11-23
学习单片机 用protues软件 画出电路图 调用keil uv2编译后产生的hex文件就可以仿真   见到实际效果
离线BG4RFF
发帖
1581
只看该作者 12楼 发表于: 2006-11-27
[quote=河南bd6kr]学习单片机 用protues软件 画出电路图 调用keil uv2编译后产生的hex文件就可以仿真   见到实际效果[/quote]

有时候软件仿真能行,当做到实际板上时就不一定行了
离线radiolee
发帖
6050
只看该作者 13楼 发表于: 2006-12-17
sst89e564rd好象停产了,me300好么?
离线bd7rf
发帖
10148
只看该作者 14楼 发表于: 2006-12-18
'
sst89e564rd,内部64kb+8kb的flash存储器,我在网上邮购,20元一片。
'
哪里邮购的?
离线BG4UVR
发帖
11288
只看该作者 15楼 发表于: 2006-12-18
'
哪里邮购的?
'

http://ygic.com/index.php?goo=goods_details.dwt&goodsid=40&productname=

这个网站信用放心,我在他那买过好几次东西了
离线HiXGod
发帖
1608
只看该作者 16楼 发表于: 2007-01-16
51已是末路,建议初学者上avr!!经验之谈!!!