单片机软件开发里面第一步当属下载程序了,如果这一步都有问题,那么后面的一切便无从谈起,今天在此针对常用51单片机下载程序问题做下详解,有误之处还望各位指教!
原理:单片机的TXD、RXD是TTL电平,所以你得万变不离其宗的将其它信号转成TTL电平,只有这样给单片机下载程序才有可能成功!其中CH340、PL2303等芯片是直接将USB信号转换为TTL电平,而MAX232等芯片是将TTL转换为RS232信号或者将RS232信号转换为TTL.下面请看利用这种原理的两种常用方法:
方法一:
请看图一,这是常见的单片机下载电路,其中从②到⑥属于大家常用的USB转串口线,用这种方案的好处是,如果自己的PC带有串口(甚至很老的机器没有USB接口),那么就可以直接给单片机开发板下载程序,因为采用这种方法的开发板必定带有串口接口。当然如果不带串口,那么只能找根USB转串口线了(其电路原理就是图中②到⑥),这里推荐采用CH340芯片的USB转串口线,而不要采用PL2303的USB转串口线,因为PL2303价钱便宜所以山寨的水货较多,这会导致下载电路不稳定,甚至无法正常下载。同时此方案的坏处是电路板上必定要做一个9针串口接口,有些麻烦。
方法二:
请看图二,这是单片机下载电路。效果非常好!它的好处是只需要找根普通的USB2.0线(如图二中②)就可以下载了,比找根USB转串口线要轻松的多,同时由于将串口9针接口换成了USB接口,所以电路板的体积、重量也减少了不少,也显得更美观时尚,呵呵。在此强调一点:推荐使用CH340芯片(可以用CH340G,它引脚间距大很容易焊接)而不是PL2303,况且PL2303的外围电路比较复杂,这也给硬件电路的调试增加了难度。当然采用PL2303也无可厚非。图二的电路结构比图一要简化很多,那么是不是可以说明图二的性能比图一要更好呢?应该是吧!简单的结构出问题的概率当然更小了!
值得一提的是在使用CH340时,有些问题得注意下,因为很多同学用CH340下程序失败,总结常见原因有三:
1、某些CH340的引脚给单片机供了电导致单片机断电不彻底(下载程序要断电重启),从而导致程序没法下载。解决方案:在CH340的TXD引脚反向串联一个二极管(推荐肖特基二极管)、在CH340的RXD引脚串联一个约300欧姆的电阻。如此单片机可以彻底断电,问题解决!!(特别注意:此种情况不适用于stm32等芯片)
2、有些同学在给单片机供电时,为了防反接保护电路,在电源处串联了个二极管,由于二极管的正向压降导致单片机供电不足,从而导致程序无法下载。解决方案:将二极管用0欧电阻代替或者采用正向压降很小的二极管,以确保单片机的正常供电。问题解决!!
3、还要注意TXD引脚、RXD引脚不能接错。正确接法是将CH340的TXD引脚连接单片机的RXD引脚,RXD引脚连接单片机的TXD引脚。
最后附上一张CH340的典型应用图(截自STC的文档)供参考!
再分享一下STM32的USB串口下载电路
关键字:单片机 下载程序 电路原理
引用地址:
单片机下载程序电路原理之USB转串口线、CH340、PL2303、MAX2
推荐阅读最新更新时间:2024-03-16 14:34
液晶显示温度计的制作
主要介绍一种用DSl8820测温、用SMCl602A液晶来显示的新型温度计。该温度计较之其它数显式温度计,具有测量精度高、电路简单、易于观察的优点。 1 电路原理 本温度计大体分三个工作过程。首先,由DS18820温度传感器芯片测量当前的温度,并将结果送入单片机。然后,通过89C205I单片机芯片对送来的测量温度读数进行计算和转换,井将此结果送入液晶显示模块。最后,SMC1602A芯片将送来的值显示于显示屏上。温度计的整体电路图如图1所示。 由图1可看到,本电路主要由DSl8820温度传感器芯片、SMCl602A液晶显示模块芯片和89C2051单片机芯片组成。其中,DSI8B20温度传感器芯片采用“一线制”
[应用]
高速SOC单片机C8051F
基于半导体集成技术的突飞猛进的发展,各种类型的单片机正日新月异的涌向市场,为单片机技术的应用人员提供了极大的方便。 INTEL公司在MCS-48系列的基础上,推出高性能的MCS-51系列八位单片机,而今三十二位单片机又以其强大的片内功能提供给应用者。无论是那一种位数的单片机,也无论是一种系列的单片机,都为新产品的开发,应用系统的研制,智能控制器的研究,高新技术的应用,创造了极其有力的硬件环境。当前可以说,由于世界各生产厂家生产通用型以及衍生出的五花八门的系列及型号的单片机,使其单片机技术的应用已达到了无孔不入的地步。当初面向工业控制功能的单片机,现已远远超出了原设计者的想像。然而,占全球单片机销量60%—65%左右的八位单片机
[单片机]
51单片机学习笔记,4*4矩阵键盘
今天学习了下矩阵键盘, 4*4, 分别代表0~F这16个数字 我们按了哪个键就显示到数码管上 看完郭老师讲解原理后就自己动手写了,郁闷的是 在keil软件中,我在switch-case语句中 少了个冒号,竟然编译通过! 结果当然不正确了,然后我再keil中调试代码,那更郁闷了,P3口在扫描到第2行键盘时就 会复位成0xff,怎么赋值都没用,其实是没写冒号啊! 调了半天都不行,最后不得不将STC89C52RC换上仿真芯片SST89E516,在线调试后才发现的错误, 然后参考书上的代码才调试成功的,表示无语~~~ mark下 C代码 #include reg52.h #include MY51.H
[单片机]
51单片机-单独文件封装
1.再遇多文件编程 因为定时器经常在后面的教程中使用到,所以我们也把这部分功能代码单独使用文件封装起来。 在第六章的教程中已经教过大家多文件创建,这里点到为止。 创建好“timer.c”和“timer.h” 添加进工程中 2.timer.c的代码 #include reg52.h #include function.h //详见第六章第8讲 u8 T0RH,T0RL,T1RH,T1RL; void TIM0_Init(u32 us,int trim)//trim:微调 { u32 tmp; //临时变量 tmp = 11059200 / 12; //定时器计数频率
[单片机]
PIC单片机的中断资源及应用
摘要: PIC系列单片机是美国Microchip技术公司推出的8位嵌入式控制器。它以其控制速度高、工作电压低、功耗小及性价比高等优点而备受青睐。本文以PIC16CXX系列单片机为例介绍了PIC单片机中断资源的特点、应用及应用中应注意的问题,并给出了具体的应用源程序。
关键词: PIC单片机 中断资源 中断源 唤醒
1 PIC单片机简介
PIC系列单片机是美国Microchip技术公司推出的高性能价格比的8位嵌入式控制器(Embedded Controller),它采用了精简指令集计算机RISC(Reduced Instruction Set Computer)和哈佛(H
[应用]
17-基于51单片机的停车场车位管理系统
具体实现功能 由AT89S52单片机+AT24C02数据存储模块+按键模块+LCD1602显示+报警模块等构成。 具体功能: (1)显示停车场现有车辆数和已停放过车辆数,总共16个车位,指示灯指示具体的车位占用情况; (2)可以手动设置总车位数以及剩余车位数; (3)车位满后将报警提示。 单片机介绍 51单片是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定
[单片机]
STM32F0单片机快速入门五: GPIO中断
1.按键如何触发中断 我们从一个例程看一下,如何用一个GPIO引脚来触发中断,来控制另一个引脚的翻转去控制LED指示灯。 我们用 Keil 打开下面这个工程: STM32Cube_FW_F0_V1.11.0ProjectsSTM32F030R8-NucleoExamplesGPIOGPIO_EXTIMDK-ARMProject.uvprojx 编译下载运行此代码,然后按压 B1 USER 这个按键,每一次按压会触发板上一个LED灯翻转一次。这个功能也很简单,但它牵涉到的东西却不少。看一下代码: 上一篇文章讲了如何翻转GPIO引脚,所以现在我们只关注一下如何用一个引脚触发中断吧。main()函数里调用了一个外部中断模块(EXT
[单片机]
用单片机实现DSP在线调试的一种方法
通常情况下,进行DSP系统开发调试时,都要配备一片SRAM芯片作为片外程序RAM。调试时,使用相应的仿真板将程序下载到SRAM中,这样DSP系统通过运行SRAM中的程序代码来实现相应的操作。可以看到,DSP系统调试时,关键是要将程序下载到SRAM中,因此如果能将程序代码通过单片机写入 SRAM中,则同样可以完成对DSP系统的调试。下面具体介绍在不使用仿真板的情况下,如何运用单片机AT89S5l对DSP芯片 TMS320LF2407进行在线调试。 1 硬件设计 1.1 TMS320LF2407在线调试的实现过程 完成DSP系统的调试,首先要将程序的源代码写入片外SRAM中。此时,单片机与SRAM组成一个系统,单片机可将分离出来
[应用]