单片机程序下载器设计电路图
MC9S12系列单片机程序下载系统的设计与实现的开题报告
MC9S12系列单片机程序下载系统的设计与实现的开题报告摘要:本文介绍了一种基于MC9S12系列单片机的程序下载系统,该系统具有以下特点:使用串口和USB口进行通讯,支持Hex文件格式,具有跨平台性,可以在Windows、Linux、MacOS等不同操作系统下运行;对于不同版本的单片机,可以通过图形界面进行选择正确的芯片型号以及波特率等参数,从而实现灵活、方便地进行下载。
本文详细介绍了系统的具体设计及实现过程,包括硬件设计和软件编程,同时对系统的测试结果进行了分析和总结,验证了系统的可行性和实用性。
关键词:MC9S12单片机、程序下载、串口通讯、USB通讯、Hex文件、跨平台性一、研究背景与意义MC9S12单片机是一种常用的微处理器,拥有很高的性价比和极强的扩展性。
它可以广泛应用于工业自动控制、汽车电子、仪器仪表、家用电器、通信设备等领域,是很多嵌入式系统设计的首选芯片。
对于MC9S12单片机的程序开发和调试工作,程序下载是必不可少的一个环节。
因此,一个高效、稳定、易用的程序下载系统对于嵌入式系统的开发十分重要。
当前,市面上已经存在一些针对MC9S12单片机开发的程序下载系统,例如PE Micro公司的PROG12Z、P&E公司的Cyclone等。
这些软件具有很高的实用性和稳定性,但是它们通常需要高昂的费用,并且只能运行在特定的操作系统平台上。
因此,对于后期的开发和维护工作,将增加很多不必要的成本和麻烦,限制了程序开发人员的选择空间。
针对这一问题,本文提出了一种基于MC9S12单片机的程序下载系统,具有以下特点:使用串口和USB口进行通讯,支持Hex文件格式,具有跨平台性,可以在Windows、Linux、MacOS等不同操作系统下运行。
该系统可以方便、高效地实现MC9S12单片机程序的下载,提高程序开发和调试的效率,减少成本,为嵌入式系统开发提供更加可靠和便利的服务。
二、系统设计与实现(一)硬件设计系统硬件由两部分组成:下载器和单片机板。
单片机下载程序方式总结
单片机程序下载方式总结一、编程器下载(离线下载、脱机下载)编程器也称为程序烧录器,将单片机从电路板下取下来,放入烧录器的芯片座并固定好,然后进行程序下载。
编程器与PC机之间用USB、串口、并口等方式连接并传输数据,目前主流的产品支持USB和串口连接,部分产品支持插装CF卡,即将程序提前复制到CF卡中,烧写过程可不需要PC机。
程序烧录器成本较高,如图1所示的SmartPRO 5000U售价在2400元左右。
该方式不如在线编程方式灵活方便,现在个人和小批量的编程已经很少使用了。
该方式主要用于量产编程,对于批量生产的产品,使用专门的编程器实现脱机编程,一次可烧写大量的芯片。
同时,公司指派专人负责程序下载,保密性强。
有些技术公司外接项目时,将烧定芯片次数与产品提成挂钩,烧一个芯片表明生产了一台产品。
图1单片机程序烧录器二、在系统编程ISP(In System Programming)不用将单片机从线路板上取下来,直接烧写,适用于样机研发阶段或小批量的程序下载。
根据PC机与单片机的通信方式不同分为2种:(1)SPI接口模式SPI模式是ATMEL和PIC单片机常用的下载方式,该方式要求单片机必须具备SPI接口,如AT89S51系列单片机的P1^5、P1^6、P1^7分别为MOSI(主输出从输入),MISO(主输入从输出),SCK(同步时钟)引脚,下载程序时还要用到RST引脚。
SPI接口和电脑的现有通讯口都不兼容,因此需要通过转换电路把PC机的端口转换成SPI方式,常见的包括并口、RS232串口、USB口转SPI下载。
并口和RS232串口转换到SPI比较简单,可以网上查找资料自己制作。
USB转SPI的电路做起来有点难度,但是使用比较方便,一般网上都有成品销售。
SPI下载的优点是下载比较可靠和稳定,与单片机的接口简单。
图2 USB转SPI下载器图3 SPI接口(2)串口模式单片机还可利用自身的串口来下载程序,典型的如STC单片机。
STC 单片机下载器使用说明
STC单片机下载器使用说明介绍:这是一个USB转TTL电平的串口转换器。
它利用USB协议里规定的总线转换功能,把USB转换成串行通信口。
因为现在的台式机、笔记本电脑普遍已经不再配备串口,因此在需要串口的时候,可以使用这种转换器。
由于STC单片机可以使用串口下载程序,所以可以使用这种USB转串口模块来给STC的单片机下载程序。
写到此处,我想多说几句题外话,8051内核单片机诞生于1980年左右,由Intel公司设计,(这家公司各位一定不陌生吧)。
当时英特尔公司刚刚起步,走的是开放的、兼容型的路线。
所以,intel公司把8051单片机的设计授权给了给了其他半导体厂商,于是众多厂商生产了各种各样的51系列单片机,这些厂商包括:ATMEL公司、WinBond(华邦)公司、Philips(飞利浦)公司、 LG公司、NEC(日电)公司、SIEMENS(西门子)公司等。
如今,8051单片机内核的知识产权保护期已过,因此许多国产半导体厂商兴起,如:深圳宏晶(STC)、上海海尔、台湾笙泉、湖南华芯、台湾华邦(芯唐)、台湾中颖、台湾新茂、台湾太欣等等。
我们之所以选用国产STC单片机作为教学用单片机,主要还是考虑到其成本因素。
相对来说,STC单片机价格比较便宜,而且芯片功能强大,片内集成了很多功能。
此外还要说明的是,给单片机下载程序必须要有下载器(编程器、烧录器),而多数单片机的下载器价格都会在100到200元以上,这对于初学者来说是难以承受的,而STC 单片机烧录程序,仅仅需要串口即可,而即使电脑没有配备串口,购买一个USB转串口也不过15块钱以内,这就大大降低了单片机的学习门槛。
下面就来介绍我们这款STC的单片机下载器——USB转TTL串口模块。
USB转串口小板功能:1、简单的串口通信。
2 、路由器或者ADSL固件升级。
3 、STC单片机、STM32单片机等,烧写程序。
4 、硬盘固件升级。
5、超级终端里使用。
常用串口调试工具。
STC15F104E的STC单片机自动下载系统设计
图 1 主 控 电 路
7 6
M co o t l r & E b d e y tms irc nr l s oe m e d dS se
wWw
.
m e h . om . 7 s ot c ci
曩
经 验 交 流
■ 瑟瑟 ___
大 可 通 过 电 流 不 要 小 于 单 片 机 电路 的 所 需 电 流 。如 果 三
流 , 而 进 入 冷启 动 程 序 。 从
V CC
T
n1
1 Q k
∞一AD6P0 一 一 一 如 一 ”一 弱一 一 一 一 f
.
r AD1e . )o1 ( D2P . A )02 ( AD3P ) 03 ( D4P 4 A )0 ( D5P 5 A )0
S 1 F1 4 是 宏 晶 公 司研 发 的一 款 单 片 机 , 有 省 去 一 TC 5 0 E 具
器P V. C C 3 2
2 1 - 1 0 g 7# 1期
RS T ( AD7P . )07 ( RXD P . E v P ) 30 P (XD)31 T P. AL _ G E P . n o 3 (wr ) 2 丽 P , m WD f 5P . 33 ( A1 )27 P .(0 34T ) f )26 A1 P . 4 P .( ) 35T1 ( 3P . A1 )25 P .( R ( 2P . 36W ) Al )24 P .R 3 ( D) 7 ( P . A1)23 1 XT L2 A ( 0P . A1 )22 XT 1 AL ( )21 A9P . G ND ( )20 A8P .
定 时 器 中断 。 S TC单 片 机 接 收 到 下 载 命 令 后 , 须 作 出 回应 才 能 必
基于单片机的直流电机控制风扇系统设计
基于单片机的直流电机控制风扇系统设计
本文介绍基于单片机的直流电机控制风扇系统设计。
所使用的单片机为STC15F2K60S2,电机为12V直流电机,控制模块为L298N。
系统设计分两部分,硬件设计和软件设计。
下面分别进行介绍。
一、硬件设计
1.电源电路设计
本系统的电源为12V的直流电源。
电源电路设计如下图所示:
图中VCC为12V直流电源正极,GND为负极。
C1为电容器,滤波电路,保证电源稳定。
LED1为电源指示灯,用于指示系统是否有电。
2.电机驱动电路设计
本系统采用L298N控制电机,并用单片机控制L298N电路的工作状态,控制电机的正反转。
电机驱动电路如下图所示:
图中,IN1、IN2、IN3、IN4接单片机的IO口,用于控制电机的正反转。
3.电机控制电路设计
电机控制电路如下图所示:
图中,M1为12V直流电机。
4.程序下载电路设计
程序下载电路如下图所示:
图中,P1为ISP下载器接口,用于单片机程序的下载。
二、软件设计
本系统的软件主要由单片机程序控制,程序流程如下:
1.初始化各个IO和定时器;
2.读取按键状态,判断按键是否按下;
3.如果按键按下,则控制电机正反转;
4.定时器每隔一段时间检测温度传感器,若检测到温度过高,则打开电机,达到散热的目的;
5.程序无限循环,直到关机。
以上就是基于单片机的直流电机控制风扇系统的设计方案,通过硬件电路的设计和软件程序的编写,可以实现对电机的控制,使风扇系统能够自动调节风速,达到更好的散热效果。
C52单片机下载程序教程
CX-51(STC89C52)系列开发板下载程序说明一、认识实验开发板CX-51二、实验开发板常用配件USB供电线(标配) 串口处长线(标配)温度传感器(标配)USB转串口线 步进电机红遥控器液晶1602 12864 USB下载器选择用S系列单片机使用三、检查实验开发板主要检查实验开发板在运输过中有没有明显的压示痕迹,如果没有请用USB供电线与实验开发板通电,按下电源开关,确认有没一个跑马灯程序在运行,电源开关如下所示:以上如全部正常说明检查通过。
四、程序下载步骤如果使用USB转串口线烧写程序的话,应该选择安装USB驱动程序。
使用用串口处长线(USB转口线)连接PC机与CX-51实验开发板,连接图如下如示:打开光盘资料中下载软件中STC-ISP下载软件,具体操作是双击该图标出现如下界面:3、设置MCU type。
选择“STC89C52RC”打开程序文件;选择单片机光盘中峰鸣器选择串口,我们电脑用USB转的是COM3,注这个需根据自己电脑COM号选择。
保持默认设置直接烧写(点击步骤5里面Download/下载)。
会出现步骤3中COM后面绿灯变亮。
说明串口驱动安装正常,串口正常工作。
等待出现如下图:出现上图画面后,按下左下角的带锁电源开关,会出现下面画面:亲爱的同学们:大学四年稍纵即释,我们要珍惜每一分钟时间,不要觉得大学学的知识很快会过时。
别的学科我不敢保证,像电子类专业的一些基础知识是永远不会过时的。
《电路》《模电》《数电》这些课程要好好学,有些学生说是学不懂,抽象。
那请你别把课本当废纸卖了,留着。
等到你课程设计,毕业设计,或者用实验板学习时,你再回过头去查你所需要的知识,到时候你会觉得一切都突然开朗。
在做实验时碰到问题先要独立思考。
不要遇到任何问题都毫不思索的求助别人,这样是永远学不好单片机的。
祝愿各位都能学有所成!。
单片机常用下载线(应用电路)
介绍几个单片机下载线(应用电路)
一、使用Altera下载线ByteBlaster、 ByteBlaster MV或ByteBlaster II
(ispdown V3.0以上版本支持),在通电情况下,软件可对下载线类型进行识别,可以下载ATMEL的89S、90、mega等系列单片机。
二、若使用ispdown编程器系列,可支持更多的芯片。
ByteBlaster 下载线电路图
ByteBlaster MV 下载线电路图
ByteBlaster II 下载线电路图
Ispdown下载线接口标准
Atmel单片机的编程
一、AT89S系列的ISP方法
1、AT89S系列ISP原理图如图所示(以89S51为例,其它同)。
2、AT89S8252,AT89S8253内部还有数据EEPROM可以在线编程。
3、单片机RESET管脚的使用说明。
如果复位电路由RC电路组成则RESET管脚可以直接相连接。
AVR系列的ISP方法
1、AVR系列ISP原理图如图所示。
2、AVR内部还有数据EEPROM可以在线编程。
3、单片机RESET管脚的使用说明。
如果复位电路由RC电路组成则RESET管脚可以直接相连接。
4、时钟输入可以选择如89s51的形式晶振+两个小电容来产生,也可以外部时钟输入到XTAL1引脚。
6、如果芯片只有VCC电源引脚,电源接法请参照第一幅图,如果还有AVCC 引脚,请参
照第二幅图。
芯片74ls244引脚分布:。
AT89S系列单片机ISP下载线设计
f rtc niin ntrt i g e c i y tm e eo me ti d tyi as mpr v st o to n eprs s o e h c a se e he sn l —h p s se d v lp n n usr , lo i t o e he c s fe tr ie e g g d i h ig e c i yse d v l p n . mprhe sv b v o tn , i p rp o o e e i n a e t e sn l- h p s t m e eo me t n Co e n i ea o e c n e t h spa e r p s sad sgn t s h mef rI P d wn o d-iei c n rplc p ca r g a c e S o l a l , a e a es e il o rmme . ed wn o d l ea c r i o ted sg o n t p rTh o l a i c o dngt h e in n s h me i s so B n e f c ,c n p o r m n i e s se t c e sba e n US it ra e a r g a o ln y tm o AT8 S s re i g e c i Th r i 9 e issn l- h p, e wo kng
同时也提 高 了从事 单片机 系统开 发企业的研 发成本 。基于这种情 况,文章提 出 了一种 能取 代传 统编 程 器、仿真 器的IP s 下载线设计方案 ,根据 该方案设 计的下载 线基于US 接 1 ,能对A 8 S B : 2 T 9 系列单片 机进行在 线 系统 编程 。文章 对设 计方案的工作 原理进行 了充分论述 ,对 其实现 的方法进行 了详细说
介绍几个单片机下载线
介绍几个单片机下载线(应用电路)
一、使用Altera下载线ByteBlaster、 ByteBlaster MV或ByteBlaster II
(ispdown V3.0以上版本支持),在通电情况下,软件可对下载线类型进行识别,可以下载ATMEL的89S、90、mega等系列单片机。
二、若使用ispdown编程器系列,可支持更多的芯片。
ByteBlaster 下载线电路图
ByteBlaster II 下载线电路图
Ispdown下载线接口标准
Atmel单片机的编程
一、AT89S系列的ISP方法
1、AT89S系列ISP原理图如图所示(以89S51为例,其它同)。
2、AT89S8252,AT89S8253内部还有数据EEPROM可以在线编程。
3、单片机RESET管脚的使用说明。
如果复位电路由RC电路组成则RESET管脚可以直接相连接。
AVR系列的ISP方法
1、AVR系列ISP原理图如图所示。
2、AVR内部还有数据EEPROM可以在线编程。
3、单片机RESET管脚的使用说明。
如果复位电路由RC电路组成则RESET管脚可以直接相连接。
4、时钟输入可以选择如89s51的形式晶振+两个小电容来产生,也可以外部时钟输入到XTAL1引脚。
6、如果芯片只有VCC电源引脚,电源接法请参照第一幅图,如果还有AVCC引脚,请参
照第二幅图。
芯片74ls244引脚分布:。
PL2303单片机程序下载电路设计
采用PL2303HX芯片的USB转串口模块对于一些学校、工业、科研客户来说,电脑的串口非常重要,很多设备都采用串口和电脑端软件配接,很多电路模块可以非常直观方便地利用串口调试软件进行调试,很多仪器必须通过串口进行通讯和数据交换。
但是目前笔记本电脑因为空间的限制和其他方面考虑的原因都没有串口,甚至一些台式电脑也取消了串口配置,这让我们迫切需要串口的客户非常苦恼。
USB转串口模块全称为USB to Serial port Module,它可以实现将USB接口虚拟成一个串口解决客户无串口的苦恼。
现在USB转串口桥接芯片有很多,比如CP2102、FT232、PL2303等等。
但并非每一种芯片都可以用作ISP下载。
经过测试CP2102是不能下载的,而FT232可以下载,但其价格实在不菲。
最为适中的就是PL2303,可以稳定下载。
这是我们用PL2303芯片开发的USB转串口模块,模块电路板只有32*14*7毫米,模块一共引出4根脚:一根串口入R、一根串口出D、一根地线-、还有一根是+5V实际不用的。
PL2303HX采用28脚贴片SOIC封装,工作频率为12MHZ,符合USB 1.1通信协议,可以直接将USB信号转换成串口信号,波特率从75~1228800,有22种波特率可以选择,并支持5、6、7、8、16共5种数据比特位,是一款相当不错的USB转串口芯片。
PL2303模块可以方便地利用杜邦免焊接连接线接入电路,只要插接3根线,一根串口入、一根串口出、一根地线。
这是双头20厘米长的杜邦线,采用优质彩虹12股排线通过机器自动加工,品质有保证,现在的电子模块一般都采用标准的插针作为电路接口,杜邦线可以非常牢靠地和插针连接,无需焊接,可以快速进行电路试验.应用举例1、单片机的串口ISP下载目前单片机的ISP下载已经成为潮流,例如比较流行的STC系列单片机就是以其高性能和方便实用的串口ISP下载功能备受青睐,但是ISP对时序要求非常严格,例如常用的CP2102就因为采用内部RC振荡器精度不够无法胜任,PL2303是极少几种支持ISP下载并且价格低廉的芯片,具体步骤可以参考我们制作的是STC芯片最理想的USB 下载线。
基于51单片机音乐盒程序设计
基于51单片机音乐盒程序设计一、功能设计说明1、电路设计实物图矩阵键盘部分电路图2、运行流程图3、电子琴模式按键对应发音设计按键 发音 按键 发音 K1 低 1 K9 中 2 K2 低 2 K10 中 3 K3 低 3 K11 中 4 K4 低 4 K12 中 5 K5低 5K13中 6程序开始播放小苹果歌曲判断任意按键是否按下继续播放小苹果歌曲否是进入电子琴模式判断K16按键是否按下播放完成是否按键发音按键发音K6 低6 K14 中7K7 低7 K15 高1K8 中1 K16 重新播放小苹果二、硬件电路说明1、程序下载电路音乐盒电路图ISP下载接口本设计采用的单片机为A T89S52单片机,需使用ISP下载器进行下载程序,程序下载电路图如图中ISP1接口.2、音乐发音电路IO口P10发出不同频率的脉冲,则BUZZER产生各种不同的声音,本设计采用12MHZ 晶振,系统频率1MHZ,定时器计数一个1us,其对应关系如下表所示:音符频率(HZ)简谱码(T值)音符频率(HZ) 简谱码(T值)低 1 DO 262 63628 # 4 FA# 740 64860 # 1 DO# 277 63731 中 5 SO 784 64898 低 2 RE 294 63853 # 5 SO# 831 64934 # 2 RE# 311 63928 中 6 LA 880 64968 低 3 M 330 64021 # 6 932 64994 低 4 FA 349 64103 中 7 SI 988 65030 # 4 FA# 370 64185 高 1 DO 1046 65058 低 5 SO 392 64260 # 1 DO# 1109 65085 # 5 SO# 415 64331 高 2 RE 1175 65110 低 6 LA 440 64400 # 2 RE# 1245 65134 # 6 466 64463 高 3 M 1318 65157 低 7 SI 494 64524 高 4 FA 1397 65178中1 DO 523 64580 # 4 FA# 1480 65198# 1 DO# 554 64633 高 5 SO 1568 65217中 2 RE 587 64684 # 5 SO# 1661 65235# 2 RE# 622 64732 高 6 LA 1760 65252中 3 M 659 64777 # 6 1865 65268中 4 FA 698 64820 高 7 SI 1967 65282 计算方法:例如产生262HZ频率(发音DO),周期T=1/262=3816 us,由于定时器中断使IO不停取反,故周期T=3816/2=1908 us 定时器初值N=65536-1908=63628TH0=63628/256TL0=65536%256三、程序代码说明1 、脉冲产生采用定时器0溢出中断产生脉冲,定时器初始化如下:TMOD = 0x01; //定时器0工作方式1 ,即十六位计数器计数TR0 = 1; //启动定时器ET0 = 1; //定时器0溢出中断使能EA = 1; //总中断使能定时器0溢出中断产生脉冲,void Timer0() interrupt 1代码如下:TH0 = th0;TL0 = tl0;if(th0==0)BUZZER=1; //判断停顿,有停顿不发音else{BUZZER = ~BUZZER;} //无停顿发音2、音普规则:a、音普由一个字节十六进制数组成b、高4位代表节拍,一拍约400MS,将一拍分成8份c、低4位代表音符,一一对应Note[]列表d、0x20代表歌曲结束符e、uint code Note[]={0,64580,64684,64777,64820,64898,64968,65030,/*中音*/63628,63853,64021,64103,64260,64400,64524,/*低音*/65058,65110,65157,65178,65217,65252,65282/*高音*/};该列表为发音所对应的定时器初装值例如编写如下一段音乐列表:0x83,0x81,0x82,0x8d,0x43,0x42,0x41,0x42,0x8d,0x8d,0x40 0x40表示停顿4*50MS /*你是我的小呀小苹果*/3、音普列表解读while(Xiaopingguo[temp]!=0x20) //不停判断音乐是否结尾,结尾跳出{jiepai=Xiaopingguo[temp]>>4; //获取节拍,即高4位数yinpu=Xiaopingguo[temp]&0x0F; //获取音普,即低4位数Timer_Set(yinpu); //根据列表对应发音Delay(jiepai*50); //节拍temp++;P0 = 0x0f;if(P0!=0x0f)goto out;}void Timer_Set(uchar num)为定时器0赋值子程序,包含的代码如下:th0=Note[num]/256;tl0=Note[num]%256;四、程序代码编写/**********************************************************************************************项目名称:音乐盒单片机型号:AT89S52频率:外部石英晶振12MHZ设计时间:2014-08-06设计者:小左MCU工作室Q Q: 576689422******************************************************************************* **************/#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit BUZZER=P1^0;//蜂鸣器输出uchar th0,tl0; //定时器0赋值变量uchar start_; //返回变量uint code Note[]={0,64580,64684,64777,64820,64898,64968,65030,/*中音*/63628,63853,64021,64103,64260,64400,64524,/*低音*/65058,65110,65157,65178,65217,65252,65282/*高音*/};/*************************************************************************音普规则:1、音普由一个字节十六进制数组成2、高4位代表节拍,一拍约400MS,将一拍分成8份3、低4位代表音符,一一对应Note[]列表4、0x20代表歌曲结束符**************************************************************************/uchar code Xiaopingguo[]={0x83,0x81,0x82,0x6d,0x43,0x42,0x41,0x42,0x8d,0x8d,0x40,/*你是我的小呀小苹果*/0x83,0x81,0x82,0x82,0x45,0x43,0x8e,0x81,0x40,/*怎么爱你都不嫌多*/0x41,0x4e,0x8d,0x4e,0x41,0x82,0x8c,0x46,0x45,0x83,0x83,0x43,0x40,/*红红的小脸温暖我的心窝*/0x42,0x81,0x42,0x43,0x42,0x43,0x42,0x23,0x25,0x85,0x30,0x45,0x10,0x45,0x30,0x45,0x10,0x 45,0x30,0x85,0x85,0x85,0x40,/*点亮我生命的火火火火火火*/0x83,0x81,0x82,0x6d,0x43,0x42,0x41,0x42,0x8d,0x8d,0x40,/*你是我的小呀小苹果*/0x83,0x81,0x82,0x82,0x45,0x43,0x8e,0x81,0x40,/*就像天边最美丽的云朵*/0x41,0x4e,0x8d,0x4e,0x41,0x82,0x8c,0x46,0x45,0x83,0x83,0x43,0x40,/*春天又来到了花开满山坡*/0x42,0x81,0x42,0x43,0x82,0x8c,0x8d,0x4d,0x41,0x8d,0x20/*种下希望就会收获*/};//----延时子程序--------------------------------------------------void Delay(uint xms){uint j;for(;xms>0;xms--)for(j=110;j>0;j--);}//---------------------------------------------------------------//----定时器变量赋值--------------------------------------------- void Timer_Set(uchar num){th0=Note[num]/256;tl0=Note[num]%256;}//---------------------------------------------------------------//----系统初始化------------------------------------------------- void Init(){BUZZER = 1; //关闭蜂鸣器TMOD = 0x01; //定时器0工作方式1TR0 = 1; //启动定时器ET0 = 1; //定时器0溢出中断使能EA = 1; //总中断使能start_ = 0; //返回变量初始化}//---------------------------------------------------------------//----按键扫描--------------------------------------------------- void Key_Scan(){P0 = 0x0f;if(P0!=0x0f){Delay(5);if(P0!=0x0f){P0=0xfe;if(P0==0xee){Timer_Set(8);} //按键1被按下else if(P0==0xde){Timer_Set(12);}//按键5被按下else if(P0==0xbe){Timer_Set(2);} //按键9被按下else if(P0==0x7e){Timer_Set(6);} //按键13被按下else;P0=0xfd;if(P0==0xed){Timer_Set(9);} //按键2被按下else if(P0==0xdd){Timer_Set(13);}//按键6被按下else if(P0==0xbd){Timer_Set(3);} //按键10被按下else if(P0==0x7d){Timer_Set(7);} //按键14被按下else;P0=0xfb;if(P0==0xeb){Timer_Set(10);} //按键3被按下else if(P0==0xdb){Timer_Set(14);}//按键7被按下else if(P0==0xbb){Timer_Set(4);} //按键11被按下else if(P0==0x7b){Timer_Set(15);}//按键15被按下else;P0=0xf7;if(P0==0xe7){Timer_Set(11);} //按键4被按下else if(P0==0xd7){Timer_Set(1);} //按键8被按下else if(P0==0xb7){Timer_Set(5);} //按键12被按下else if(P0==0x77){start_=1;} //按键16被按下else;}}else{th0=0;}}//---------------------------------------------------------------//----主程序----------------------------------------------------- void main(){uchar temp,yinpu,jiepai;Init();while(1){start:temp=0;while(Xiaopingguo[temp]!=0x20){jiepai=Xiaopingguo[temp]>>4; //获取节拍yinpu=Xiaopingguo[temp]&0x0F; //获取音普Timer_Set(yinpu);Delay(jiepai*50);temp++;P0 = 0x0f;if(P0!=0x0f)goto out;}out:th0 = 0;BUZZER = 1;//关闭蜂鸣器while(1){Key_Scan();if(start_==1){start_=0;goto start;}}}}//---------------------------------------------------------------//----定时器0中断服务程序----------------------------------------void Timer0() interrupt 1{TH0 = th0;TL0 = tl0;if(th0==0)BUZZER=1; //判断停顿,有停顿不发音else{BUZZER = ~BUZZER;} //无停顿发音}//----------------------------------------------------------------更多精彩程序请在淘宝店铺中搜索“小左MCU”QQ:576689422。
基于CP2102的单片机USB下载器
我的第一个小板凳——基于CP2102的单片机USB下载器偶尔在网上看到杜洋老师制作的摇摇棒,效果很不错,而且可以自己改显示内容,非常感兴趣,于是萌生了自己做一个给孩子当玩具的想法。
经过学习,终于制作成功。
但是手里买的单片机下载器很不给力,速度慢,而且还需要额外配置串口转U口连接线。
查阅资料,听说基于CP2102的下载器很好用。
于是有了一个大胆的想法——自己DIY一个!(可是当时我几乎什么都不懂,没用过AD9,没设计过电路板,更谈不上制作了)。
其实网上买一个便宜的10元以内,贵一点的也就30元左右,不过,买一个现成的不是我想要的,我就是要DIY一个。
没关系,无知者无畏!俗话说,人有多大胆,... hehe一切从头开始,第一步先查阅资料,弄懂原理,自己试着下载AD9(网上说什么99SE就行,我心想学就学个最新版的,直接AD9,后来才知道,还有2013呢),并用AD9最终制作出了现在的原理图(参考CP2102的原厂资料,自己加了自锁开关、自恢复保险丝、电源和输入输、出三个指示灯)。
也不知道这样设计行不行。
管他呢,做着看,有问题再改,学习么...然后第二步就是研究制作元件封装,太困难了,自己量了自锁开关的尺寸,画出来,打印出来对比,再调整,最终OK。
其他什么0805和1206的封装好办,参考了一些资料,制作成功。
但是最主要的CP2102的封装怎么也找不到,看到网上一位大哥说做过,弱弱的恳请给我一份,人家理都不理,唉,算了,自己干!俗话说,天下无难事... ...(hehe ,怎么那么多俗话啊,不过我认为俗话都是事实检验过的真理哦)最终也成了!哈哈哈虽然过程艰辛,但是还算顺利第三步元件布局可难到我了,反复自动布线,调整布局,直到自己觉得比较合理,把布局基本确定。
但是由于是新手,特意把板子做的大一些,元件距离远一些(自己用,没人有意见,呵呵)。
俗话说,疏可走马,密不透风么(典型臭词乱用)第四步就是参考自动布线,开始全手工布线,不是我能,而是我不能,规则全不懂(后来懂了一点,但是...),总是出现绿线(违规啊),不管了,霸王硬上弓!我的板子我做主!于是有了下面的结果(是已经调整过一次的结果了)还有一处标识小错误,看到了么?第五步打印输出费了一点周折(单独发了一个帖子),分别试用了热转制作和感光板制作。
CH341-V1.0下载器使用说明书(仅支持5V系列STC)
CH341-V1.0下载器使用说明书仅支持5V系列STC单片机易购元件商城& ARM A VR嵌入式开发论坛荣誉出品技术论坛://QQ:915657830 / 605987969 旺旺:linxiyiran一、简介:CH341下载器采用功能强悍的CH341A专业通讯芯片,易于使用,稳定可靠,适用于有USB接口的电脑。
模块特色:1、设计自恢复保险丝,保护计算机主板安全;2、设计5V电源指示灯,时刻监视电源状态;3、设计有I2C两线接口,用来为24CXX系列存储芯片读写固件(此模式安装I2C_EN跳线帽);4、设计有TTL接口,可以实现多种用途,详见后述(此模式取下I2C_EN跳线帽);5、设计有智能冷启动按键,配合TTL接口中的VSS,可对STC、SST、ADUC842等芯片进行程序下载;6、可直接应用在需要串行通信的场合;7、支持WINDOWS 98/ME/2000/XP/server 2003/VISTA/server 2008/WIN 7/64/32-bit;模块用途:1、升级卫星接收机2、STC单片机程序下载3、单片机/开发板串口通讯实验4、路由器或者ADSL固件升级5、GPS串口通信6、超级终端里使用;7、常用串口调试工具8、为24CXX系列存储芯片读写固件二、功能配置图三、发货清单1、CH341下载器主板1个2、杜邦线4条3、2.54mm跳线帽1只(安装在I2C_EN时,模块工作于I2C模式)4、资料包一份(网盘、网络传送)(1)CH341中文芯片手册(2)CH341驱动文件(3)CH341下载器使用说明书(4)常用STC芯片手册(5)STC_ISP_V486烧录软件(STC单片机下载软件)(6)USB24C_25T下载软件(24系列存储芯片烧录软件)四、驱动安装1、安装USB-SERIAL驱动:CH341SER.EXE(1)双击“CH341SER.EXE”,弹出下图对话框(2)点击上图“INSTALL”,弹出下框则“SER.EXE”安装成功2、安装USB-EPP/I2C驱动:CH341PAR.EXE(1)双击“CH341PAR.EXE”,弹出下图对话框(2)点击上图“INSTALL”,弹出下框则“PAR.EXE”安装成功五、STC、SST、ADUC842等芯片程序下载当I2C_EN跳线帽未安装时,模块为TTL功能,可为STC、SST、ADUC842等芯片下载程序。
实验0-STM32程序下载方法与调试
一、程序下载方法
1、stlink下载线连接
1.1有JTAG口的电路板接线
图1.1 电路板1
图1.2 ST下载线连接方式
图1.3 JTAG接口
图1.4 JTAG接口定义1.2与无JTAG口的电路板接线
图1.5 电路板2
图1.6 SWDIO与SWCLK对应的PA13、PA14接口
单片机引脚- -st-link下载引脚
vcc3.3.----- > vcC3.3
PB14- - -->SWD IO
PB13 --- --> SWCLK
GND --- -- >GND
图1.7 实际接线图
1.3 STlink下载线驱动安装
图1.8 安装好驱动的stlink状态图1.4 keil 软件的配置与程序下载
点击魔术棒option按键,分别点击下图1、2、3、4
图1.9 STLINK下载线配置
图1.10 STLINK下载线配置完成的状态
图1.11 编译完成以后下载程序
注意:以上程序下载后需要按电路板上的RST重启电路板,程序得以运行。
1.5 keil 软件硬件仿真调试
图1.12 实物仿真调试界面设置
可以通过单步调试,看电路板上灯的亮灭以及内部变量在watch里面的变化情况,这对于程序有问题的情况尤为重要。
2、ISP下载线连接
2.1 接线图
图2.1 ISP下载线
2.2 程序下载
图2.2 采用ISP软件下载hex文件到芯片
这种方法的调试只能采用软件仿真调试
2.3 程序软件仿真调试
图2.3 软件仿真调试方法
其中红圈2部分可以不要,只是不能连续仿真,需要不断地点run才能进行。
AT89S52单片机的USB下载线设计
AT89S52单片机的USB下载线设计
1 引言
不同的单片机有不同的下载线,一般来说,对应有不同的下载软件和硬件驱动程序。
这些软件和程序随着功能的完善和操作等原因还有不同的版本。
这造成下载线的使用者需要不断的更新软件,也让使用者在更换单片机时不仅更换下载线,还要熟悉新的下载软件。
为此,如果能设计一种不需要下载软件的下载线或统一操作的下载软件,则能大大提高单片机程序下载的操作效率。
研究和开发一种通用而不需下载软件的USB 接口的单片机的下载线更为必要。
2 硬件设计
2.1 设计思想
为了能够使用和兼容传统的下载线,一种方式是在计算机中连接一个USB 转并口(或串口)的连接线,然后再连接一根传统的下载线。
在市场上,很多USB 转并口的线是给打印机专用的,它并不是一个模拟并口,而是模拟了一个USB 打印机,是不能用来连接并口下载线进行程序下载的。
USB 转串口
则不一样,因为它是真正的在电脑上模拟了一个串口,一般的编程软件都可以对这个串口进行读写操作。
另一种方式是单独开发的USB 编程器,其功能包含了USB 接口和下载
线(也有一部分还带有编程器等功能),一些USB 编程器内部结构是一个USB
转串口的芯片转成串口后再接后续编程电路,这样的方式与单独的USB 转串口加下载线的原理和连接是相同的。
不管是哪一种下载线,都需要对应的驱动程序和下载程序,当然,这些下载线也支持在线仿真等功能。
51单片机下载程序原理
51单片机下载程序原理
单片机的下载程序主要是通过串口或者并口与计算机进行通信,将计算机上编写的程序下载到单片机中。
原理如下:
1. 准备工作:首先需要编写好单片机的程序,保存
为.hex、.bin等格式的文件,并确保计算机上安装了相应的下
载工具和驱动程序。
2. 连接硬件:将单片机与计算机相连接。
一般情况下,使用串口下载的话,需要用串口连接线将单片机的串口引脚与计算机的串口接口相连;使用并口下载的话,则需要将单片机的并口引脚与计算机的并口接口相连。
3. 打开下载工具:打开下载工具软件,选择对应的单片机型号和端口。
4. 设置下载参数:在下载工具中设置好波特率、数据位、停止位等参数,确保与单片机的通信参数一致。
5. 选择文件:选择要下载的文件,将其加载到下载工具中。
6. 下载程序:点击下载按钮,下载工具会将文件中的指令按照预定的通信协议发送给单片机,单片机接收到指令后依照指令执行相应操作。
7. 下载完成:下载过程中,下载工具会显示下载进度,当下载完成时,会提示下载成功。
完成以上步骤,单片机的程序就成功地被下载到了单片机中,并可以进行相应的运行和调试。
自制51单片机、AVR单片机 USB下载线
现在的笔记本包括台式机都渐渐地舍弃了并口、串口;很多网友也跟我说,台式没有并口了,下载线没法用了,让我帮他想想办法。
看来做个USB-ISP下载线是势在必行了。
在网上搜了下,主要有两种方案,一种是用FT245串口芯片加ATMEGA8的方案,另一种是只用ATMEGA8进行USB串口协议的软件模拟和ISP下载全部完成。
据说第一种稳定,但成本高,电路复杂,不便自制。
我们还是本着低成本,简单易做的原则进行。
就用单个M8来做。
好!废话少说,干活。
在网上搜了一下找了个BUG少,易于自制的图。
在制做前首先要搞清楚几点,第一,这个USB下载线本身就是一AVR单片机,在制做完成后首先也得通过其它并或串口ISP下载线给它下载程序,这样它才能工作。
第二先得大概了解一下这个AVR单机机M8的基本资料。
这样才能对电路有个了解,从而便于调试。
因此,你原先用的并口ISP下载线在这里还得起着关键的作用,可别扔掉啊!我图示一下这个过程先:接下来按上述图的要求准备元件。
元件准备好后,先得检测下质量,电阻的阻值、发光管的极性、电容是否有短路。
要测试下两个稳压管的稳压值是否正确。
最最重要的是先把USB接口用延长线接到PC上,然后用万用表测一下正极在哪,做个标记,这样就能搞清楚了D+、D-的位置,也不会接反电源了。
免得焊好后发现错了极性反复焊,焊盘很容易脱落,也避免接反烧了元件。
(我开始用的是USB公头接口,后来发现在板子上吃不上劲,稍一用力很可能会松脱。
所以换成母口了)电路图我整理了一下,因为有的元件不需要,有的为了方便检查,避免漏连了线。
焊接过程就没什么好说的了,不是PCB板,是洞洞板的,在事先大概做个布局(布局原则就是减短引长度,跳线尽量少。
好像我做的跳线并不少哦!)然后就按照上面的电路图焊接,完成后如下图,感觉是不是还不错?:再来张反面吧,有点惨不忍睹吧!在调试前也还得先弄清几个问题:第一、电源题:原先的并口下载线是靠S51板上来供电的,也就是说当你焊好你的USB-ISP板后给它装固件时,USB-ISP板得向原并口下载线供电,而固件装好后USB-ISP板就是靠PC的USB口向我们的USB-IS板供电了,而你以后的51实验板就不能向这个USB-ISP板供电了,否则PC和51实验板都向USB-ISP供电,那么电压不同就有可能烧坏PC口或元件的。
单片机程序烧录和下载全套PPT
单片机控制技术 单片机程序烧录和下载
三、使用STC_ISP下载程序
现在学习使用STC_ISP软件对基于STC90C58RD+单 片机的最小应用系统的电路进行程序的下载。
提示:部分其他51系列单片机也有ISP功能(如AT89S51、 AT89S52等)
单片机控制技术 单片机程序烧录和下载
5. 选择通信的COM口,
波特率115200。
选择“6T/双倍速”
单选框,选择 “1/2”gain单选框 。
图5 波特率参数选择示意图
单片机控制技术
单片机程序烧录和下载 三、使用STC_ISP下载程序
6. Download/下载,
STC-ISP软件将会向
单片机的P3.0/RxD
引脚发送下载命令流
。
应用软件进行烧写,需要购买专用的烧写器。
贴片单片机:一般焊接到PCB板子上,再使用专用的写入
器进行烧写,需要购买专用的烧写器。
STC单片机:只需要将其焊接到PCB板子上,使用ISP及电 平转换芯片,再加上一根串口线即可烧写程序。无需购买昂 贵的烧写器,免去了调试时由于频繁地插入取出芯片对芯片和电 路板带来的不便,烧写成本极低。
图8 串口助手选项 功能示意图
谢谢大家!
电气自教动学化资技源术库专业主讲:吴志敏
高等职业教育数字化学习中心 深圳职业技术学院智能测控技术开发中心
பைடு நூலகம்
三、使用STC_ISP下载程序
1. 将STC单片机下载
程序的数据线与电 脑的串口连接。如 果电脑没有串口, 需要使用一根USB 转串口的数据线, 并将其插入电脑的 USB接口。
图1 USB和串口端口示意图
单片机的ISP一键下载电路
单⽚机的ISP⼀键下载电路
电路为左边部分。
CH340G芯⽚的13脚DTR、14脚RTS的电平是可以被下载软件控制的
下载软件上注意这两个注意点。
还有,CH340G上电后DTR#和RTS#都为⾼电平,在⽤MCUISP烧写软件时,我们在软件下⽅选择“DTR的低电平复位,RTS⾼电平进BootLoader”,CH340G IC在实际操作时引脚的变化为“DTR#拉⾼,RTS#拉低”,即软件设置和实际情况是取⾮的,相反的。
电路中Q3为pnp三极管,RTS输出低电平时,导通,BOOT0才为⾼电平
电路中Q2为npn三极管,DTR输出⾼电平时,导通,RESET才为低电平
⾸先,FlyMcu软件控制DTR输出低电平,则DTR#引脚输出⾼,然后RTS置⾼,则RTS#引脚输出低,这样Q3导通了,BOOT0被拉⾼,即实现设置BOOT0为1,同时Q2也会导通,STM32的复位脚被拉低,实现复位。
然后,延时100ms后,FlyMcu软件控制DTR为⾼电平,则DTR#引脚输出低电平,RTS维持⾼电平,则RTS#引脚继续为低电平,此时STM32的复位引脚,由于Q2不再导通,变为⾼电平,STM32结束复位,但是BOOT0还是维持为1,从⽽进⼊ISP模式,接着mcuisp就可以开始连接STM32,下载代码了,从⽽实现⼀键下载。
程序下载完毕后,如果设置了编程后执⾏(⽂章⼀开始图⽚⾥的那个),STM32会再次被复位,此时DTR#引脚为⾼(RESET为低电平),RTS#引脚为低(BOOT0为⾼电平),STM32复位后,DTR#引脚设置为低(RESET为⾼电平),RTS#引脚设置为⾼(BOOT0为低电平),那么Q2和Q3都不导通,此时,STM32重新开始启动后,检测到BOOT0为0,程序开始正常运⾏,⼀键下载⾄此就完成了。