单片机编程入门问题

21ic官方微信 -->
您现在的位置是:&>&&>&
关于STC单片机下载的常见问题汇总
今天的问题是解决有部分小伙伴没法下载程序的问题的,在解答这个问题之前,小编觉得有必要对STC_ISP 软件的使用做一个简要的描述,具体请看我BB。本文引用地址:
一、STC_ISP软件的基本操作
如上图所示就是STC_ISP软件的主界面,小编把关键的地方用红字做了标记,下面一一说明:
1、选择单片机型号,必须和开发板上芯片型号一致,选错无法下载。2、选择串口号,我们用的是CH340芯片转的串口,所以选含有CH340的,注意老的台式电脑可能会有默认的串口1,选错无法下载。
3、最低波特率,不需要修改,STC_ISP发送握手下载命令就是以这个波特率发送的啦。
4、最高波特率,默认就好,STC_ISP软件以这个波特率发送需要下载的程序数据。出现下载失败时可以尝试降低此波特率,比如降低到9600或者4800再试。
5、打开文件,选择新的单片机信号后,需要手动添加一次我们需要下载的HEX文件。
6、选择单片机运行的时钟频率,STC15W系列都不需要外接晶振,默认内部集成有高精度的RC振荡。
7、复位引脚做IO用,当没有外接复位电路时,或复位脚要用作IO时勾选,接有外部复位电路时取消勾选。
8、下载按钮,STC_ISP 软件像单片机发送握手命令
9、每次下载前都重新转载目标文件,默认勾选,省去每次下载时去手动的操作以上第5点。
10、当目标文件变化时自动装载并发送下载命令,每次编译后生产新的HEX文件后,STC_ISP 软件都会自动发送下载命令,如果你的现在线支持一键下载,勾选此处将大大的方便我们调试程序。
右侧紫色框,此框内会显示单片机和STC_ISP握手到单片机返回的信息,包含单片机型号,内部版本号,一芯一码,调节的RC时钟频率等信息,知道程序下载完成,程序的大小等信息。
二、STC_ISP下载失败解决办法汇总
首先电脑上需要正确安装CH341的驱动程序,安装完成后打开计算机设备管理器查看&端口&,是否有CH340虚拟出来的串口了,如下图所示,说明驱动安装正确。这是第一步,完成不了,下面的都是白瞎,不可能下载程序,首先解决这一步。
Q:连接单片机后 ,点击&下载&按钮后右侧信息显示框显示&正在检测目标单片机。。。&
A:此时需要给单片机断电后再上电,上电后能检测到单片机即可下载,还是没反应那往下看:
a、检查选择的串口号是不是和我们单片机连接的串口,可以把连接单片机的CH340从电脑上拔下,看刚才我们用的串口是否正确。此问题常出现在电脑插有多个CH340芯片或者台式电脑有默认的串口1的情况。一定选择对应的串口号后再试。
b、检查CH340的TXD和RXD是否正确连接在单片机的RXD和TXD上,正确连接方式是:CH340的RXD接单片机的TXD,CH340的TXD接单片机的RXD。
现在想起来,当时的情形还历历在目。当时工作非常艰辛,累得我是满地找牙。记得进厂的第一天,就加班通霄,以后天天晚上加班至12点,早上7点起床。......关键字:
对于搞单片机的特别用8051系列工程师来说,谈到单片机的RTOS,很多时候会问一句:“为什么要用RTOS?单片机就这一点资源,使用RTOS能保证效率吗?”......关键字:
今天要为大家介绍的是平均电流法,这种方法能够精确稳定的帮助工程师实现电源模块的并……
从工作原理而言,电子镇流器是一个电源变换电路,它将交流输入市电电源的波形、频率和……
今天分享一些电气知识中的交流接触器常用接线电路图和实物图,从简单到复杂。新人求解下单片机编程问题。_单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:150,093贴子:
新人求解下单片机编程问题。收藏
#include&reg52.h&#define uchar unsigned char#define uint unsigned intsbit dula=P2^3;sbit wela=P2^2;uchar code table[] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void delayms(uint) ;void display (uchar,uchar,uchar,uchar);uchar num,num1,num2,num3,qian,bai,shi,void delayms(uint xms){uint i,j;for(i=i&0;i--)
for(j=110;j&0;j--);
}void main(){ TMOD=0x11;TH0=()/256;TL0=()%256;TH1=()/256;TL0=()%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;while(1){display(qian,bai,shi,ge);}}void display(uchar qian,uchar bai,uchar shi,uchar ge){dula=1;P0=table[qian];dula=0;P0=0wela=1;P0=0wela=0;delayms(5);dula=1;P0=table[bai];dula=0;P0=0wela=1;P0=0wela=0;delayms(5);dula=1;P0=table[shi];dula=0;P0=0wela=1;P0=0wela=0;delayms(5);dula=1;P0=table[ge];dula=0;P0=0wela=1;P0=0wela=0;delayms(5);} void T0_time()interrupt 1 {TH0=()/256;TL0=()%256;num1++;if(num1==1200){num1=0;num++;if(num==60)num=0;qian=num/10;bai=num%10;}}void T1_time()interrupt 3 {TH1=()/256;TL1=()%256;num2++;if(num2==20){num2=0;num3++;if(num3==60)num3=0;shi=num/10;ge=num%10;}}
想用本程序实现数码管秒分计时功能,可是运行之后结果是乱码,求解哪里有问题,该怎么改。
超低功耗,256KB-512KB闪存,可扩展存储器,备有开发板
TH0=()/256;TL0=()%256;TH1=()/256;TL0=()%256;
//TL1=看看这个会不会反了,我这边没图测试不了:dula=1;P0=table[qian];dula=0;P0=0wela=1;P0=0wela=0;
看来你是仿照郭天祥书上的例子改编的,好多人学了都不动手,佩服啊。你应该是想做一个定时器,实现分秒的计时,你是把分秒分开处理了,用了两个定时器,出问题可能是以下几个方面,一是单片机晶震多少,定时器的初值,老郭用的是50000,50ms的定时,二是显示,如果你的单片机电路里,也用了74HC595,你也得看看,往里写数据的时序问题,也就是打开与关闭锁存的问题,其他没有大问题,祝你好运!
厉害,我根据什么改编的都能看出来,这个从哪里看呢?看电路图能找到答案么?
这个跟电路图关系不大了,模板肯定是郭天祥10天学会单片机,那个keil软件不是有出错的提示么?根据提示上下的语句改一下
登录百度帐号您当前的位置:&>&&>&&>&
STC单片机程序下载失败问题总结
&STC为宏晶公司推出的国产51单片机,其优点在于价格低廉,功能强大,使用方便,尤其是其串口ISP下载程序的方式方便了大量用户,免去了购买昂贵的编程器,非常适合单片机入门学习使用。
但是初学者常会遇到程序无法下载的情况,很多人甚至因此放弃了学习,实在可惜,在此给大家总结了常见的出错原因、判断方法和解决方法。
STC单片机下载程序需要的硬件主要分三部分:
单片机最小系统、下载电路、计算机端。
下载失败一般就从这三个方面来解决问题。
如果你有或者能向别人借到一套可以正常下载程序的电脑、单片机下载线、开发板,通过控制变量的方法,很快就能找到问题出在哪个环节。
1、你可以将自己的开发板连接在能正常下载的电脑上进行下载,如果可以下载,说明问题出在你的电脑上。
2、然后通过将正常的开发板连接到自己电脑上下载,如果能下载,可以判断自己的电脑正常,问题在开发板上。
3、当然还可以通过调换开发板上的单片机,来确定自己的单片机是否损坏。这样就很快解决问题了。
如果没有这样的条件,则可以从以下的可能性逐条判断(红色字体表示的是比较常见的问题)。
一、最小系统的问题
1、不是STC系列单片机,如果是AT或其他品牌单片机,下载方式与STC不同。
2、单片机损坏,比如有的单片机内由于ISP系统引导码出错,能运行之前下载进的程序,但不能下载程序;或者单片机已损坏(通常单片机损坏从外表看不出异常,只有通过换用正常工作的单片机才能判定)。
3、晶振问题,如:没有晶振,晶振放在插座上接触不良,或者引脚太长不起振等。
最小系统电路图如下,由电源、单片机、复位电路、晶振时钟电路组成:
STC89C52RC单片机:
二、下载电路的问题
1、下载芯片损坏(一般下载涉及的芯片有PL2303、CH341、MAX232)。
2、PL2303的晶振不是12M。
3、USB接口松动,下载线断路等。
4、接线错误,如:TXD、RXD接反。
MAX232电路图(用于实现串口电平转换):
USB转串口(一般用CH341芯片):
USB-TTL小板(一般用PL2303芯片):
USB-TTL电路图:
三、计算机端的问题
1、下载软件的问题,最好使用STC_ISP最新版本,在Win7系统中有时可能要以管理员身份运行。
2、驱动安装的问题,如果设备管理器中有COM口&USB-to-Serial&且无黄色感叹号,一般驱动就没有问题,但是还是可以重装驱动看看;安装的驱动要与系统对应(Windows732位、64位或者WindowsXP)。
3、COM口设置错,一般下载时,STC-ISP软件会提示打开串口失败(COM口的选择应查看设备管理器中的端口号)。
4、单片机的型号设置错,一般下载时,STC-ISP软件会提示不是此型号的单片机。
5、波特率太高,适当调低一点或许有用,高、低波特率都选1200。(这一点比较常见,STC-ISP有些版本就有这样的问题)
STC-ISP软件
安装好驱动,连接上USB转TTL芯片后的设备管理器(以下截图来自Win7系统):
四、操作步骤的问题
注意先点击电脑上的下载按钮后再给单片机上电;或者在电脑上点击下载,关掉单片机电源再打开。
下载程序顺序如下:
1、设置单片机型号,COM口,波特率等参数。
2、装载好要烧的单片机程序。
3、点击&下载&。
4、给单片机上电。
5、下载软件显示:正在下载....
6、下载完成。
五、附:STC_ISP软件对下载失败给出的提示
1、在单片机停电状态下,点下载按钮,再给单片机上电
2、停止下载,重新选择RS-232串口,接好电缆
3、可能需要先将P1.0/P1.1短接到地
4、可能外部时钟未接
5、因PLCC、PQFP转换座引线过长而引起时钟不振荡,请调整参数
6、可能要升级电脑端的STC-ISP.exe软件
7、若仍然不成功,可能MCU/单片机内无ISP系统引导码,或需退回升级,或MCU已损坏
8、若使用USB转RS-232串口线下载,可能会遇到不兼容的问题,可以让我们帮助购买兼容的USB转RS-232串口线
六、如果条件允许,可按以下步骤检查
1、检查单片机是不是STC系列、是否有晶振,以及最小系统电路是否有错(如果用的是之前能正常工作的开发板,最小系统电路一般不会有错)。
2、检查串口设置,操作步骤(先下载后上电)。
3、换个串口(对于有串口的台式机),或者换个USB口。
4、重启下载软件再试。
5、重启计算机。
6、换最新的下载软件(在宏晶官网下载)。
7、重装驱动(如果是有串口的台式机,直接连接串口则不需要驱动)。
8、换其他单片机。
9、换一根下载线。
10、换其他电脑。<p class="detail" data-data='有没有大神,帮我简单的翻译一下啥意思???'>有没有大神,帮我简单的翻译一下啥意思???[图片]
您可以邀请下面用户,快速获得回答
擅长领域:&&&&
在平台共有122623个回答
新手上路2000
擅长领域:&&
在平台共有86608个回答
擅长领域:&&&&
在平台共有34621个回答
擅长领域:&&
在平台共有30393个回答
擅长领域:
在平台共有30220个回答
擅长领域:&&
在平台共有28944个回答
加载更多答主
感谢您为社区的和谐贡献力量请选择举报类型
经过核实后将会做出处理感谢您为社区和谐做出贡献
点击可定位违规字符位置
确定要取消此次报名,退出该活动?
请输入私信内容:单片机编程问题_百度知道
单片机编程问题
编制静态显示程序,要求开始时在数码显示器的最右边一位显示一个“8”字,以后每隔0.2秒从右到左依次增加一个“8”字,知道出现6个“8”字为止
我有更好的答案
MIAO EQU 30H ORG 0000H程序执行开始地址 LJMP MAIN跳至MAIN执行 ORG 000BH定时器T0中断入口地址 LJMP TIME0跳至TIME0执行 ORG 0200HMAIN:
MOV TMOD,#01H设置T0工作模式为1 MOV IE,#82H开CPU中断,开定时器中断 MOV TH0,#03CH赋初值;定时50ms, MOV TL0,#0B0H MOV MIAO,#10
MOV R1,#0E0H CLR 4FH清0.2s标示位 SETB TR0 MOV P2,#0WAIT:LCALL DISPLAYF调用显示程序MOV P2,R1JNB 4FH,$CLR 4FHSETB CYMOV A,R1RRC AMOV R1,AMOV P2,ACJNE A,#0FFH,WAITSJMP $;************************************以(上)为主程序********************************;;------------------显示子程序-----------------------------------------------;DISPLAYF: 显示程序
MOV DPTR,#TABDPTR指向编码表位置
MOVC A,@A+DPTR根据A的值取出编码表中的数
MOV P0,A把A赋给P0口
RET;---定时器中断子程序,定时50ms----;TIME0:MOV TH0,#03CH赋初值 MOV TL0,#0B0H DJNZ MIAO,EXT10.2s到了?没有转去EXT1 MOV MIAO,#100.2s到了,重新赋值 SETB 4FH置位4FH单元EXT1:RETI中断返回;----编码表-------;TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END
为您推荐:
其他类似问题
您可能关注的内容
单片机的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 单片机编程语言 的文章

 

随机推荐