430单片机程序序问题

&总在线 36858 人,其中『 单片机编程 』上共有 0 位会员与 49 位客人,今日贴子 0 []
616501/13页1
1 天以来主题
2 天以来主题
1 周以来主题
1 个月以来主题
3 个月以来主题
6 个月以来主题
1 年以来主题
按降序排列
按升序排列
-=> 图标说明
开放的话题
热门的话题
锁定的话题
加精的话题
(总、区、版)固顶话题
版权所有,并保留所有权利。
Powered by , Processed in 0.049549 second(s), 6 queries.
Copyright&, BCCN.NET, All Rights Reserved21ic官方微信-->
提醒大家注意,STC单片机下载问题
技术达人, 积分 9091, 距离下一级还需 909 积分
技术达人, 积分 9091, 距离下一级还需 909 积分
技术达人, 积分 9091, 距离下一级还需 909 积分
技术达人, 积分 9091, 距离下一级还需 909 积分
本帖最后由 cjseng 于
14:28 编辑
最近用STC15系列做了一些小东西,发现有个问题很严重,程序只能下载一次,第二次就不能下载了,而且,虽然第二次下载不成功,但是第一次下载进去的程序也不能运行了。
网上找了各种宝典都无效,包括但不限于:换新版本下载程序、换下载器、换电脑、降低波特率、P3.2、P3.3接地等等。
也跟厂家咨询过,厂家表示不知道问题出在哪里。
无意中,我点了下“检测MCU选项”,虽然同样检测不出型号,但之后再进行下载,程序又可以下载进去了。
真的很神奇,我试了20个已经不能下载程序的芯片,这个方法对19个芯片有效,只有一个无效,无效的换了一个芯片解决。
没想明白,这是为什么。
是串口握手有问题吧,STC是烂,但是不会烂到这么明显的问题,可能还是要在自己硬件上找一下问题。
是不是电路的问题?
技术达人, 积分 9091, 距离下一级还需 909 积分
技术达人, 积分 9091, 距离下一级还需 909 积分
技术达人, 积分 9091, 距离下一级还需 909 积分
技术达人, 积分 9091, 距离下一级还需 909 积分
是不是电路的问题?
如果是电路的问题,为什么我如此操作之后就可以了?而且后面就可以反复烧写都没事了。
如果是STC的问题,不早就关门大吉了?
高级技术员, 积分 563, 距离下一级还需 437 积分
高级技术员, 积分 563, 距离下一级还需 437 积分
高级技术员, 积分 563, 距离下一级还需 437 积分
高级技术员, 积分 563, 距离下一级还需 437 积分
本帖最后由 xinxi 于
17:01 编辑
一直用 stc&&非常好用,&&各方面 资料详细, 并且是全中文, 下载方便 无任何门槛.&&价格公开&&厂家购买方便,. 以上几点 任何单片机不可比拟.&&,脱机烧写电路公开,(关键是这个脱机电路体积小 价格极低,改程序也方便) ,,&&我的头像就是一个 stc 的 脱机烧写机,&&12拼版 一次性 烧程序 + 测试电路板&&全自动,并送出测试结果 . +上位机可显示故障位置 和排除方法 (15秒 全搞定12个小板),& &一台机器&&顶10个人的 效率.
中级工程师, 积分 4488, 距离下一级还需 512 积分
中级工程师, 积分 4488, 距离下一级还需 512 积分
中级工程师, 积分 4488, 距离下一级还需 512 积分
中级工程师, 积分 4488, 距离下一级还需 512 积分
写入的时候用了便宜的USB转串口转换器吧,我做过不少产品都用STC做得,虽然有写入失败的情况,但是在再写也能写入,要不你买的是假的,如果转换器不好的话,买我们的吧
技术达人, 积分 9091, 距离下一级还需 909 积分
技术达人, 积分 9091, 距离下一级还需 909 积分
技术达人, 积分 9091, 距离下一级还需 909 积分
技术达人, 积分 9091, 距离下一级还需 909 积分
如果是STC的问题,不早就关门大吉了?
之前用过一个STC15W408AS,发现一个问题,就是进入空闲模式后,串口中断不能唤醒,定时中断可以唤醒,结果表现为,串口接收数据时会丢数据,只有在定时器中断时,刚好有数据进来才能正确接收一个字节。程序设置了串口中断优先级比定时器高。
这个问题我研究了很久,反复查看了代码,也没发现问题,跟厂家工程师也沟通过,对方表示不可能,说一定是我的程序有问题。我让对方写个小程序确认一下,对方表示我很无聊,说他做过N多的程序,都没遇到这个问题,包括STC的示例程序都是他写的,从来没有这问题。
不过,后来厂家工程师打电话过来,说确实存在这个BUG,串口中断无法唤醒空闲模式,但仅限于几个型号。
这个跟我实验的情况相符,因为之前用的12系列就不存在这个问题。
再然后,厂家工程师又打电话给我,让我在设置空闲模式之后,加2-4个nop就可以解决问题了,这样串口中断就能唤醒空闲模式。
我照做了,发现果然如此。
技术达人, 积分 9091, 距离下一级还需 909 积分
技术达人, 积分 9091, 距离下一级还需 909 积分
技术达人, 积分 9091, 距离下一级还需 909 积分
技术达人, 积分 9091, 距离下一级还需 909 积分
写入的时候用了便宜的USB转串口转换器吧,我做过不少产品都用STC做得,虽然有写入失败的情况,但是在再写也 ...
我用的都是10元左右一个的烧写器。
不过我觉得跟烧写器关系不大,因为我用示波器看过,烧不进程序时,单片机RXD引脚上有信号,TXD没信号。跟厂家联系,厂家的答复是:可能TXD引脚内部因为过流断路了,建议我TXD引脚上串一个电阻。我问电阻要多大,对方说300Ω以上,逐渐加大,只要不影响通讯,尽可能大一些。
实际上我的板子上已经串了300Ω电阻的。
中级技术员, 积分 298, 距离下一级还需 2 积分
中级技术员, 积分 298, 距离下一级还需 2 积分
中级技术员, 积分 298, 距离下一级还需 2 积分
中级技术员, 积分 298, 距离下一级还需 2 积分
换STM8S的芯片多好
助理工程师, 积分 1266, 距离下一级还需 734 积分
助理工程师, 积分 1266, 距离下一级还需 734 积分
助理工程师, 积分 1266, 距离下一级还需 734 积分
助理工程师, 积分 1266, 距离下一级还需 734 积分
我们和所有的客户强调,使用我司配套下载工具,U8W 、U8W-Mini,涉及到兼容性的问题,淘宝上几块钱下载工具,经常出问题,较多的是引导码丢失,无法再次烧写程序。
STC单片机不至于连程序都写不上,232那块有问题?
高级工程师, 积分 7522, 距离下一级还需 478 积分
高级工程师, 积分 7522, 距离下一级还需 478 积分
高级工程师, 积分 7522, 距离下一级还需 478 积分
高级工程师, 积分 7522, 距离下一级还需 478 积分
LZ的说试过换电脑、换下载器,其实可用STC官方的U7/U8下载器作为基准最小系统再试试,排除其他电路影响的原因。
至于usb串口,我使用过CH340/341的都很稳定,有些可能因额外增加了自动下载重启电路的可能有下载失败的情况。
我2007年开始用stc89系列时,使用第三方编程器烧写一次后,就会将引导码kill了,不能再ISP,只能用该编程器下载了,很不方便。
其他STC单片机下载失败的解决汇总可参看:
,除非单片机损坏,没有解决不了的 :)
中级工程师, 积分 4356, 距离下一级还需 644 积分
中级工程师, 积分 4356, 距离下一级还需 644 积分
中级工程师, 积分 4356, 距离下一级还需 644 积分
中级工程师, 积分 4356, 距离下一级还需 644 积分
技术达人, 积分 9091, 距离下一级还需 909 积分
技术达人, 积分 9091, 距离下一级还需 909 积分
技术达人, 积分 9091, 距离下一级还需 909 积分
技术达人, 积分 9091, 距离下一级还需 909 积分
@cjseng 我们和所有的客户强调,使用我司配套下载工具,U8W 、U8W-Mini,涉及到兼容性的问题,淘宝上几块钱 ...
那么为什么我点击“检测MCU选项”后,又可以烧写程序了呢?是不是点击“检测MCU选项”会让芯片重建引导程序?
我感到奇怪的就是这个地方。
我发这个帖子的目的,就是告诉那些烧不进程序的同学,当尝试过其他办法都无效的情况下,可以用我这个方法试试。
助理工程师, 积分 1845, 距离下一级还需 155 积分
助理工程师, 积分 1845, 距离下一级还需 155 积分
助理工程师, 积分 1845, 距离下一级还需 155 积分
助理工程师, 积分 1845, 距离下一级还需 155 积分
这个你自己的设计电路找问题吧,不大相信是STC的问题,STC15虽然不怎么样但没这么浪。
换好的USB转ttl就好了。我用的是ft2232的。
中级技术员, 积分 290, 距离下一级还需 10 积分
中级技术员, 积分 290, 距离下一级还需 10 积分
中级技术员, 积分 290, 距离下一级还需 10 积分
中级技术员, 积分 290, 距离下一级还需 10 积分
用了这么久STC,只试过波特率太高不能下载的,改为低一点就可以了。楼主是不是有其它电路方面的原因
扫描二维码,随时随地手机跟帖
突出贡献奖章
等级类勋章
时间类勋章
沉静之湖泊
发帖类勋章
技术导师奖章
人才类勋章
终身成就奖章
等级类勋章
坚毅之洋流
发帖类勋章
技术领袖奖章
人才类勋章
核心会员奖章
等级类勋章
时间类勋章
技术奇才奖章
人才类勋章
时间类勋章
技术新星奖章
人才类勋章
技术高手奖章
人才类勋章
时间类勋章
甘甜之泉水
发帖类勋章
无冕之王奖章
等级类勋章
奔腾之江水
发帖类勋章
精华达人奖章
等级类勋章
湍急之河流
发帖类勋章
欢快之小溪
发帖类勋章
希望之星奖章
等级类勋章
您需要登录后才可以回帖
热门推荐 /7
MACOM在线研讨会正在召开~下次自动登录
现在的位置:
& 综合 & 正文
个人写程序的准备工作 并且过程中所遇到问题以及解决过程(单片机)
1:准备好仿真板---主要是搭建好新的板以便仿真用
2:准备好仿真工具---如是新的,让供应商提供是最好的方法,这次我就是,很幸运,没什么问题
3:看原理图--这次遇到新的原理图:LCD SEG脚位与LED共用,需要思考如何显示
4:了解并理解功能
5:画流程图
6:开始写软件
A:如果新MCU,需要先初始化好 IO设置,定时器验证,基本按键扫描,LCD模块写,以下是我用新的HT MCU 所遇到问题:遇到问题:a:如何跳转像松翰的
通过官网的例程,了解到: http://www.holtek.com.cn/china/tech/appnote/uc/pdf/ha0140s.pdf
A,R_PROGRAMCN AND
A,0FHADDM A,PCLb:如何查表
通过官网例程:了解到:http://www.holtek.com.cn/china/tech/appnote/uc/pdf/ha0092s.pdf
a,display_temp1
a,number_table
display_temp
c:如何 建立表格:如:ORG 1C00H
dw 0120h 个人分析:48R06最后地址是3ff,我要用16个,所以用ORG 03f0H
d:LCD无法正常点亮,分析:只有点亮个别段,会引起鬼影是比较正常的,可以先不理它
B:如有新模块,需要先调试好模块
C:逻辑程序搭建
未解决疑点:进入定
时中断,定时中断溢出标志位没有置1.
【上篇】【下篇】单片机常见问题(一)
我的图书馆
单片机常见问题(一)
1.什么是单片机?
简单地说,单片机就是一个小计算机系统。为了说明清楚这个问题,得要从计算机说起。提到计算机,大家可能马上会想到“显示器、鼠标、键盘”,不过,这不是一个计算机的核心和关键,计算机的核心部分在一边的机箱里呢。打开机箱,可以看到,机箱里有主板、硬盘、光驱等。仔细观察主板,这上面有CPU、内存条、BIOS芯片,通常还有25针的打印机接口等,这些部件都是通过主板上的连线相互连接。
不论计算机复杂程度如何,它总是由运算器,控制器,存储器,输入/输出接口,总线这五个部分组成。通常运算器和控制器被做成一块芯片,也就是CPU(中央处理器)。在计算机主板上,内存条和BIOS芯片就是存储器,25针打印机接口就是输出/输出设备,而总线则被设计在主板上,即各部件相互连接的线路。
在一些应用场合,人们不需要计算机完成十分复杂的运算,但却希望计算机小巧,可靠,价格低。于是人们就把组成计算机的这5个部分全部集成到一块芯片上,也说是一块芯片就能构成一个独立的计算机,在当时的技术条件下,这是一件了不起的事情,于是人们就用这个特征来为之命名,称为“单片机”。
将构成一个计算机所需要的5个部分全部都集成到一块芯片中,这块芯片是否要很大、价格是否很高呢?并非如此。如果要把图1所示主板上的所有元件都集成到一块芯片中,那当然非常昂贵,可能技术上也无法实现,但很多单片机中所需要用到的功能完全没必要那么强大,因此很多单片机体积很小,价格也很低。如市场上常见的单片机有8,14,16,18,20,28,40,84等引脚,有些甚至只有6个引脚,如图2所示是微芯公司(Microchip)发布的一款6引脚单片机。而价格从几元到几十、上百元的都有,有些品种在大批量定购时甚至可以低至1元以下。
刚接触到单片机的人往往会有个疑惑:既然人们已经有能力制造功能强大的计算机,为何还要生产些功能不强的计算机?其实,功能强弱并不是决定是否生产的决定因素,市场需要才是关键。比如,用来控制一台电箱的计算机显然没必要使用“奔腾”芯片的强大运算能力,只要进行非常简单的计算,作个比较,看一看温度是否在所控制区间之内,然后再做出相应的控制就行了。
单片机在人们的生活中、工农业生产设备中处处有应用,例如各定时装置、自动控制装置等。爱好者学习单片机应该注意观察事物,找到自己周围能够使用单片机的场合,从而将学到的知识应用到实际中去。例如,使用单片机技术改造传统的机电设备、在特定的场合使用单片机替代PLC等就有着广阔的应用前景;又如,使用单片机控制电扇、抽油烟机、空调等,从而制作出具有更强功能、能够通用的控制器,也是可以尝试的。
2.单片机是如何工作的?
单片机的工作过程就是一个不断“取指令-分析指令-执行指令”的过程。单片机的程序以一条一条指令的形式存放在程序存储器中,单片机开始工作后,就从程序存储器的特定位置开始取指令,然后由单片机内部的控制器对指令进行分析,根据指令要求,进行“取数、送数、算术运算、逻辑运算、跳转”等基本操作中的一种或几种,这些操作都在一个规定的周期中完成,执行完了以后,到下一个存储器单元中取指令,重复刚才的操作(当然,这些要执行的操作具体内容可能跟上一次不一样了),如此不断重复,直到断电为止。这里所说的“存储器特定位置”、“规定的周期”等与单片机的型号有关,下面以51系列单片机为例来说明。
在51系列单片机中有一个名为PC的寄存器(就是用来存数的一个容器),在单片机复位后,这个寄存器中的内容被置为0000H,单片机内部的控制器总是根据PC寄存器中的值去相应的程序存储器单元取指令,因此,开机后,将从0000H单元取第一条指令,分析执行,同时,PC值将作相应的调整,指向将要执行的下一条指令的位置,下一条指令的位置在哪里呢?对于51单片机来说,一条指令可能占用一个字节、二个字节或三个字节,如果第一条指令是单字节指令,取完第一条指令以后,PC的值就会变为0001H,因此,第一条指令执行完毕以后,将从0001H单元中取出第二条指令来执行,以此类推。如果程序是顺序执行的,PC的值将始终不断增加,如果程序中有跳转指令,该指令将影响PC中的值,使PC中的值指向将要执行的下一条指令所在地址单元。这种跳转既可能是正向的,例如由0000H跳转到0030H,也可能是反向的,即往回跳转,如由200H跳转到100H。正是由于指令可以影响到PC中的值,才使得程序可以实现“分支”、“循环”等各种功能。那么,执行一条指令的时间又是多少呢?对于51单片机来说,指令执行时间有三种可能,单周期、双周期和四周期,不管一条指令需要做多少工作,都必然在规定的时间内完成。
3.单片机程序的作用是什么?如何编写?如何写入单片机?
单片机程序的用途是让单片机“听话”,按人们所预定的设计完成一系列动作,最终实现一个特定的功能。
例如使用单片机控制流水灯,接通电源后,第一次灯亮,然后延时一段时间,第二次灯亮,然后延时一段时间,第三次灯亮……,延时一段时间后又回到第一次灯亮,如此循环不已。这里就有这样的一些问题:第一次亮几盏灯、延时多少时间、一个循环中设置多少次不同的灯亮的情况……,这些决定了流水灯的花样,流动的速度,而这些,单片机显然没有自我判断能力,必须依靠人们给它“布置”任务,而它则是按人们的设计依次执行。
要让单片机“听话”,就要用单片机能够听懂的语言发布命令,单片机能够听懂的语言称之为“指令”。任何一种型号单片机能够接受的指令都是有限的,51单片机的指令条数为111条,而PIC单片机的指令仅有35条。每一条指令完成一个最基本的动作,人们为了要完成一个特定的功能,就要将这些指令排列组合,成为一个指令序列,这就是程序。
指令的表示形式有两种:机器语言和汇编语言。以51为例,如果要让P1.0引脚变为低电平,用机器语言来表示就是 C2H 90H,将这两个数放进单片机的程序存储器中,单片机执行后,就可以让P1.0引脚变为低电平了;而要让P1.0引脚变为高电平,用机器语言来表示就是D2H,90H。至于为什么是这两个数字,大家没必要追究,这是设计这块芯片的设计工程师规定的,我们不能更改,只能学习。
C2H,90H就是一条指令,显然这样的指令形式是很难记忆的,编程也非常困难,于是人们使用了“助记符”来代替这些数字。例如C2H,90H的助记符是CLR P1.0,而D2H,90H的助记符是SETB P1.0,由于助记符采用了英语字母的缩写,有一定含义,因此比数字形式的指令易记、易用。使用助记符形式的指令来编写程序就称之为“汇编语言源程序”。但是汇编语言源程序是没有办法直接送到单片机内部去的,使用助记符形式的指令编写的程序最终还是要变成为诸如:C2H,90H,D2H,90H,这种形式的指令才能被送入单片机的程序存储器。将助记符形式的指令变为数字形式的指令的过程称之“汇编”。汇编有两种方法,一种是“手工汇编”,即人们通过查表的形式找到所写汇编指令的数字形式然后写下来;另一种是“机器汇编”,即编写好汇编语言源程序以后,使用一个计算机软件对这些源程序进行处理,从而得到数字形式的指令序列,这个指令序列通常被称为“机器码”,即可以直接被机器所执行的代码。
机器汇编后得到的数字形式的指令序列以一个文件的形式保存在磁盘上,这个文件的扩展名一般是HEX,即人们常说的HEX文件。得到了HEX文件后,就可以将其写入程序存储器中了。要将程序写入芯片,通常需要一个称之为“编程器”的专用设备,在计算机上运行与之配套的编程软件,然后在这个软件中打开HEX文件,即可将其写入芯片中。随着技术的发展,编程方式越来越多,但总的概念是这样的,具体的细节,将在另一个问题“单片机编程器是什么”中回答。
<span style="color: #ff位、16位、32位单片机中的“XX位”指什么?
8位、16位、32位是指单片机的“字长”,也就是一次运算中参与运算的数据长度,这个位是指二进制位。以8位为例,8位二进制的表达范围是~即十进制的0~255,即每次参与运算的数据最大不能超过255。而16位机的字长是16位,其数据表达范围是0~65535,即每次参与运算的数据最大不能超过65535;32位单片机的字长是32位,其数据表达范围是0~,即每次参与运算的数据最大不能超过。
8位、16位、32位与单片机的性能密切相关,通常32位机的性能要高于16位机,而16位机的性能又要高于8位机。为什么会这样呢?这要从2个方面来分析。第一,位数不同,运算效率不同。对于8位机而言,由于在一次运算中的每一个数都不能超过8位,因此即便如100+200=300这样的运算,它也不能一次完成,因为300已超过了8位所能表达的最大范围(255),因此,要对这样的一个式子进行运算,就要编写一段程序,将运算分步完成,最后合成起来得到一个正确的结果。而如果采用16位单片机来运算的话,那么一次运算就够了,显然分步完成所需要的时间要远远大于单步完成所需要的时间。同样道理,当某个运算的结果或者中间值大于65535时,16位机也不能一次运算,要分步实现它,而32位机则可以一次运算完成。第二,商业因素。通常运算能力越高,表示这个单片机性能越强,当然,价格高一些人们也可以接受,有了价格空间,生产商通常都会在这些芯片中提供更多的其他的功能,使得芯片的整体性能得到更大的提升。
典型的单片机中,80C51系列,PIC系列,AVR系列都是8位单片机;80C196、MSP430系列是16位机;而目前非常热门的ARM系列则是32位机。
5. 单片机编程器、仿真器、烧写器、下载线各是什么?有什么用处?
单片机编程器是用来将程序代码写入存储器芯片或者单片机内部的工具,如图5-1所示是一个典型的编程的外形。图中黑色的集成电路插座,通过拔动手柄可以将置于其中的集成电路芯片锁紧或松开。编程时锁紧以保证接触良好,编程完毕松开,可以更换下一片芯片。
图5-1编程器
当芯片是双列直插形式时,直接插在座子上就可以烧写了,但如果遇到如图5-2所示的各种封装形式的芯片,又如何写烧写呢?一种方法是使用适配器,如图5-3所示是各种封装芯片所使用的适配器。
图5-2 各种封装形式的集成电路
QFN32 适配器 SOP28适配器
图5-3 各种封装的编程适配器
另一种方法是使用下载线。随着技术的进步,越来越多的单片机芯片开始支持“ISP”功能,即In System Programmer,在线可编程技术。利用这种技术,将空白的(尚未编程的)芯片直接焊在印刷线路板上,利用预先留下的几个引脚即可对芯片进行编程,不必将芯片拆下来放到编程器上,因此,这给小批量制作带来了极大的方便,也省去了购买价格昂贵的适配器。如图5-4所示是使用下载线对芯片进行在线编程的示意图。
图5-4 下载线对芯片进行在线编程示意图
6.自学单片机必备的硬件设备有哪些?
学习单片机,除了需要电脑以外,还需要以下的一些器材。
如果你对单片机还一无所知,那么自制或者购买一块实验板是比较好的选择。通常在实验板上会设计一些开关、LED指示灯、数码管、各种接口芯片等常用器件,通过对这些器件的编程练习,逐步掌握单片机的编程技术。
仿真机的用途是替代电路板上的单片机芯片,仿真机通过串行口、USB接口等方式与与PC机联机通信,接收PC端控制软件发出的指令,以单步、过程单步、全速运行等各种方式来执行程序,以单步或过程单步方式执行程时,每次执行完程序后可以将执行的结果反馈到PC端的控制软件中显示出来。由于单片机编程时必须要明确每一条指令执行完毕后会有什么样的结果,弄清实际运行后的结果是否与设想的结果相符,因此,仿真功能对于单片机的学习和开发可以起到很重要的帮助作用。
3.编程器或者下载线
其用途是将代码写入单片机芯片内部。对于学习者来说,有了仿真机也可暂时不配编程器或下载线,因为有了实验板、仿真机就可以做实验了。但是建议配置一台,这样可以对单片机开发的各个环节都有所了解。
4.万用表、电烙铁等电子制作工具
单片机开发,不是简单的编程,到目前为止,还少有纯粹的“单片机程序员”,通常要求开发者软、硬件方面都要熟悉,因此,这些电子制作工作还是要配备的。
需要说明的是,这里所说的仿真机、实验板、下载线或编程器等都是就一般概念而言的,并不涉及到具体的产品,市场上也有一些产品在设计时将实验板、仿真功能、下载或编程功能等中的一部分或者全部都集成到一块板上,构成一整套的实验系统。
上面介绍的这些设备,都需要有一定的投入,爱好者未必一定能够购买,其实,只要有一定动手能力,也可以自制一些简易的实验设备,同样可以开始学习。这里推荐采用STC单片机进行学习的方案,STC系列单片机的特点是可以直接通过串口下载程序,从而将开发工具的成本降到最低。如图6-1所示是一个完整的电路,器件成本仅20多元,但可以实现诸如单灯闪烁、流水灯、键控灯、PC控制灯等一些常用功能,从而学习基本指令、定时器、计数器、串口通信等单片机知识。
图6-1 简单的单片机实验电路板
图中R1~R9为1K电阻,D1~D8是发光二极管,E1用10u电解,Y1用11.0592M晶振,C1和C2用27P小磁片,C3~C7用104磁片,U1使用STC89C52芯片,U2用MAX232。再自制或购买一条串口电缆,用于和电脑的通信,制作线时使J1与电脑的串口端2,3,5分别相连即可。
制作好这个电路板以后,使用Keil软件(在http://www.keil.com/demo/default.asp?bhcp=1可以下载DEMO版)编译、链接程序,得到Hex文件,使用STC_ISP软件(在http://www.mcu-memory.com下载)将Hex文件写入芯片中,从而观察程序运行的效果。
7.目前国内常用的单片机有哪些?
1.80C51及其兼容系列
(1)80C51系列,这是最基本的系列。包括80C31,80C51,87C51,80C32,80C52,87C52等芯片,虽然这些芯片已基本不再使用,但它们是后续发展的芯片的基础。其中80C31单片机片内没有ROM,80C51内部是一次性可写4K的PROM,87C51内部是4K的EEPROM,这几种芯片内部RAM均为128字节。而后三种芯片其内部RAM均为8K,后两种芯片的片内ROM为8K字节。
(2)80C51兼容系列
这些芯片通常都与51系列单片机在指令一级兼容,但都扩充了诸多的新功能。常见的主要有以下一些。
STC89系列单片机,其主要特点有:直接通过串口对单片机编程;可编程为倍速运行;超低功耗;内置看门狗;内部FLASH  ROM可作为EEPROM作断电保存数据之用。
STC12系列单片机,其主要特点有:单时钟周期,工作频率0~35M,相当于普通80C510~420M;宽电压范围;低功耗;芯片内置E2PROM功能;内置硬件看门狗;通用I/O口可以设置为四种工作模式,在强上拉模式时可以“吐出”电流。
菲利普的LPC系列,其主要特点有:内置RC置振荡器,选择RC振荡器时不需外接振荡器件;所有口线均有20mA的LED驱动能力;有较宽的工作电压范围。
C8051F系列,其主要特点有:一个机器周期仅为一个时钟周期;增加了中断源;有内部独立的时钟源或接外部时钟,并能在程序运行时实现内、外部时钟的切换。每个I/O口引脚都可以设置为推挽或漏极开路输出,C8051F系列单片机I/O口最为独特的是增加了数字交叉开关,利用数字交叉开关可将内部数字系统资源定向到P0、P1和P2端口I/O引脚。这个系列很多型号的芯片具有ADC、DAC、PCA等功能。
PIC单片机的发展思路与51单片机不同,它不搞单纯的功能堆积,而是从实际出发,重视产品的性能与价格比,依靠发展多种型号来满足不同层次的应用要求;精简指令使其执行效率大为提高。目前有PIC10、PIC12、PIC16、PIC18系列数百个品种。以PIC16F676芯片为例,该芯片内置1K字FLASH ROM,128字节EEPROM,64字节RAM,8路10位AD转换器,内置精度高达±1%的振荡器,极低功耗,宽工作电压范围,这样一款高性能的14脚芯片,价格不到¥7,性价比相当高。
AVR系列单片机是增强型RISC结构的单片机,其主要特点是:速度快,一个机器周期仅为一个时钟周期;品种丰富,与PIC系列类似,依靠发展多种型号来满足不同层次的应用要求;支持ISP、IAP功能,可在线编程,方便远程维护;工作范围宽、抗干扰能力强。以ATMEGA8芯片为例,该芯片内置8K Flash ROM,512字节EEPROM,1K字节的RAM,8路10位AD,内置RC振荡器。这样一款高性能28引脚的芯片,价格仅在¥7左右,性价比也相当高。
其他常用的单片机包括:ST、EMC、摩托罗拉、三星等等。这些单片机有些市场用量很大,但我们并没有重点介绍,因为我们介绍的内容主要针对业余爱好者,有些芯片虽然功能强大、性价比也很高,但其并不针对业余爱好者,小批量的芯片很难买到,仿真机、C编译器等开发工具价格极其昂贵,所以这里不作介绍,有兴趣可以在网络上搜索有关资料。
8.常用单片机的大致价位是多少?
单片机的价格相差很大,从小于1元到几十元,上百元不等。下面就大致介绍一下常用单片机的价格。
单片机的价格与其出货量、性能等有很大的关系。以80C51系列单片机为例,这是一个庞大的系列,这个系列中的单片机性能有很大差别。如内部ROM不同,从1K~64K不等;引脚数不同,从14脚到84脚不等;内部RAM不同,从128字节到2K不等;内部模块不等,如有一些单片机内部配置了8位模数转换器,有一些配置了10位模数转换器,有一些内部带有CCP模块等等。不同配置的单片机价格不同,一般爱好者常用的89S52单片机芯片价格约为6元左右。这款芯片片内ROM为8K,片内RAM为128字节,内部有看门狗电路。一种常用的PIC单片机PIC16F676,14引脚,带有10位的AD转换器,价格仅7元左右。通常功能越强,价格也越高,但这并不绝对,尤其是不同厂商的同内类产品,往往没法直接加以比较,因此,读者如希望了解各种芯片的价格,还是要针对具体的型号进行查找,有一些网站有相关报价,可以供参考。
[转]&[转]&[转]&
喜欢该文的人也喜欢

我要回帖

更多关于 单片机看门狗程序 的文章

 

随机推荐