您的位置:首页 > 其它

刚刚开始学AT89S52单片机遇到的一些小问题 + 个人解决办法

2014-04-13 11:05 330 查看
周围不缺已经开始学单片机的学神了,不过貌似清一色都是用的郭天祥的书。不是说书不好,但是个人总感觉怪怪的 X - )

在亚马逊闲逛看到了这一本书,清华出版社的。叫《51单片机应用从零开始》,黄绿色封面。

这里面就遇到了第一个问题了,书上面都是AT89S51做例题的,AT89S52主要是Flash和RAM比51大一倍,其他的配置也是有增无减。这就意味着AT89S51上面的程序在AT89S52上面跑是没有兼容压力的。毕竟这本教材是都是汇编语言,寄存器累加器什么的一眼就看懂那个是被占用了那个没有占用。

顺便淘宝了几块最小开发板,在这里给大家一个建议买AT89S5x的最小开发板淘宝上面有不少是成品的裸PCB还有配齐原件的(一般有焊好的成品和散件任选,建议后者)。其中有几家店是带USB-ISP下载口的。买这种配个USB  ASP下载器给MCU写程序非常方便的说,至少个人感觉比同学给C51用串口写方便。建议最好不要买那种裸PCB上面带已经带了流水灯什么各种实验电路的。第一是贵不少,第二是不能锻炼焊电路的能力。当然如果真的懒得麻烦掏多一点钱也挺好,因为避免了焊不好出问题时的麻烦~我就在这上面折腾了挺久。。。
: -(


教材上面的例题都是用uvision2做开发工具的。也许会有兼容问题,但是经过个人测试到目前为止在win7  64位下面运行得挺好。完全不用uvision4,2就够了,不仅程序小而且还没有注册烦恼(先装试用版再搞个破解工具就好),免折腾没烦恼。先跟着书本学会怎么走再自己去学飞吧 : -
P


有些没有更新资料的uvision2版本 new project 时没有Amtel里没有AT89S52的资料,可以选AT89S53代用一下。记得option 里面改频率。书上有说明。

AT89S53和AT89S52的关系也就是升级版。一开始写简单的小程序是没有柔和兼容问题的,后面写复杂的程序注意汇编后的.hex不能超过8k,避免写入失败。(52:8kFlash,53:12k)这里就不贴图了。



写好例题按书上面的步骤得到.hex后缀的文件后如果已经买了USB下载器的(盗店家一个图,请原谅)就是这种(卖家一般都配好驱动程序还有烧写的软件+驱动+教程的,叫他要就好)。就不用跟书上面的用串口的方法去烧写程序了,直接用ASP线接上在线ISP烧写口用配的烧写软件就好。但是这里面有个点很坑,也是我为什么下定决心要blog出来的原因。






驱动程序安装不了有没有?有的卖家很坑啊,配的驱动里面没有说明32bit的,死活装不上!百度了发现原来要专用64bit驱动。百度一下USBASP + 64位 就有下载的,手动装上吧(教程PDF大部分都是XP的,如果是win7的话下面一开始冒泡提示安装不了驱动不用鸟它,桌面>>>计算机>>>点右键>>>管理>>>系统工具>>>设备管理器>>>找到那个usbasp右下角带个什么标志来着忘记了反正就是出错的提示>>>右键>>>菜单第一项>>>然后就是你懂的了)。



TM的这都不给人配好,电脑小白哪知道啊!!!真想扔一个差评给你有木有!!!

装好驱动用专用的检测工具是检测到了ASP烧写器了,但是麻烦又来了。检查了千遍万遍都显示没有发现所需的USB设备!








百度了一个多小时都无果,那些方法都不行的。最终在一个论坛的某个角落才发现一位高人!原来要把驱动下面子文件夹里面一个dll一个sys替换到读写工具的目录里面!





就是文件夹里面这两个。





替换了就好了






替换后重启一下烧写器程序就能用uvision2生成的.hex文件去给单片机写程序了。具体可以看那些教材PDF。

搞定了。

但是后来最哭笑不得的就是后来好心提醒一下淘宝卖家更新一下资料,还理直气壮地告诉我他家的货64位win7是用不了的。你能再逗一点吗?无力吐槽

后面补充一下吧。自学单片机要什么条件?如果大学以前对计算机已经有相当了解的用这本教材就可以直接开始学了。没了解的先学好大学计算机基础,电路分析讲完了动态电路分析方法也就可以开始学了(不懂的就靠百度或者买相关的专业书籍。当然也可以像亚马逊评论里面的那些人说的顺便买本汇编语言的看一下,不过非必须一开始也好像没太大用处,来凑免邮倒是可以
: - P  郭天祥的书里面程序都是用C写的,想要用他的学还要必须要看一点C,个人喜好吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息