
给芯片写程序是根据芯片的烧写时序(学过数点就明白)来决定了的,至于烧录软件,网上也很多,常用的51单片机烧写软件是STC_ISP_V480,主要是针对STC系列的单片机,而且这些单片机比较常用,很便宜。还有,如果懂得自己编写软件(VB、VC都可以),了解烧写时序,可以自己制作烧写软件。
单片机就是单片微型计算机,它的用途很广,最通俗的说就家里的电磁炉有一个单片机来控制时间、火候等、平时马路的交通灯也由单片机来控制显示红绿灯、时间、还可以用来控制小型车(一些大学的电子设计竞赛)、还可以用来设计温度采集等等。
、关于ISP和IAP的概念:简单的讲,ISP模式是其它电路直接 *** 作单片机的几根专用的端口(比如AT89S51的3根,但其不是JTAG口,只是硬件接口类似)完成烧录,属于硬件烧录模式;IAP模式是单片机通过串口接收到需要烧录的程序代码,然后进行“自编程”完成烧录。区别在“自编程”(关于ISP和IAP,可以看一下我以前的一个回答,里面简单说明了单片机下载烧录的原理,应该对你有帮助的
2、关于仿真器,你的理解是正确的;而仿真芯片一般只是用来做仿真器的。
3、关于在线调试,分为两种情况:一种是将仿真器的仿真头插在用户板上,从而实现全速、断点、单步调试;第二种则是单片机自身具备这种接口,比如JTAG接口,只需通过串口实现全速、断点、单步调试。这两种都叫在线调试。而IAP和ISP只是编程烧录 *** 作,含义不一样。
4、第一句话含义是兼容ISP、IAP。第二句话意思是在单片机的ROM区包含了实现单片机自编程的代码,可以通过串口实现编程 *** 作。第三句话的意思是可以由用户自己编制编程软件,从而在最终的应用里实现代码的自编程 *** 作。关于第二和第三句话的详细含义都可以看上面的连接。
在板子上设计232接口连接到单片机的UART,只要单片机支持IAP就可以实现下载程序的功能;同样,如果单片机
通常来说USB设备(这里只分析USB设备,而不针对USB HOST,USB OTG和USB
HUB)内部都有一片USB的芯片和一个MCU,有些当然有些厂商提供的USB芯片已经集成了MCU在里边,如Cypress的CY68013就是这样的。这里考虑MCU和USB芯片分开的情况吧,集成的也类似,大家可以自己去分析。USB芯片完成USB底层的事物,接收的时候:将接收到的USB串行数据识别出来,解包后存放在内部的缓存中,然后通过中断的方式告知MCU收到数据包了,MCU通过和USB芯片的并行或串行接口读回接收到的数据并进行相应的分析和处理;发送数据的时候,MCU将需要发送的数据通过和USB芯片的接口写入到USB芯片内部的缓存,写入完成后,一般来说USB芯片会在接收到来自HOST的IN令牌包时,将缓存中的数据送到USB总线上去。当发送完成后,通常USB芯片也可以通过中断的方式告知MCU。从这里看出,USB芯片只是完成数据的解包和打包,并不对数据进行任何分析和处理,数据包的分析和处理都是由MCU完成的。具体来说是由运行在MCU中的程序,也就是通常所说的USB
Firmware或者说USB固件程序完成的。首先来分析一次简单的从HOST到Device的数据传输,即OUT型的传输,假设传输类型为BULK。USB传输只能由HOST发起,HOST需要向Device发送一个OUT令牌包。在这个包里指定了接受数据的设备地址、端点。然后将数据包发送到USB总线上。不是目的接收器件的USB设备不会响应该数据包,目的接收设备如果能接收该数据包,则以ACK握手包响应,如果不能接收该数据包,则以
NAK握手包响应。在上述过程中,USB芯片会在接收完数据包后中断MCU,然后MCU读取缓存在USB芯片中的数据包,再决定回复ACK,或者是NAK。以上只是一次简单的BULK OUT传输,对于BULK
IN传输,HOST先发送一个IN的令牌包,USB芯片接收到该令牌包后会中断MCU,MCU如果有数据发回HOST,则将数据写入USB芯片内对应断点的缓存,然后USB芯片会自动将数据发送至USB总线。并等待接收来自HOST的握手包。对于BLUK、Interrupt以及同步传输,传输过程都类似,整个传输过程由令牌包、数据包以及握手包组成。对于控制传输,一次传输由三个阶段组成,即Setup阶段、可选的数据阶段以及状态阶段。其中Setup阶段为一次OUT型的传输,HOST将8个字节的SETUP数据包发送给设备。这8个字节指定了这次控制传输的请求类型。Device会根据这8个字节做出相应的Action。第二个阶段为数据阶段,有些控制传输没有这个阶段,如Set Address请求。数据阶段,HOST将数据通过OUT型传输发送给Device,或者通过IN型传输向Device请求数据。第三个阶段为状态阶段,即得到这次控制传输的状态,确认这次传输是否正常完成。HOST或者Device以一个长度为0的空数据包表示肯定的应答。USB Firmware中大部分程序都在处理控制传输,具体来说是11种标准请求以及针对具体设备的类请求,如Mass
Storage 类的请求,还有些厂商自定义的请求。USB
Firmware的设计和调试首先应从一次基本的传输开始。要能正常的完成一次传输,尤其是控制传输,否则连设备的枚举都不能完成,也就是说设备不能被计算机正确识别。
可以的,c8051系列有用户可擦写flash区,程序放在这个区域就可以通过USB下载,但是整个flash里面可能要有Boot程序,用来写USB的驱动和上位机通信,否则无法识别,简单说就是能用USB升级的只是其中flash的一部分
以上就是关于怎样往芯片里写程序单片机是干什么的全部的内容,包括:怎样往芯片里写程序单片机是干什么的、STC89C52RC芯片要捎写程序应该配置什么样的供电接口/USB、usb固件程序指的什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)