① 单片机有没有把数据写入程序存储器的功能
89s52是不支持的,但是目前采用flash作为程序存储的芯片,并且带boot等自启动功能的单片机,是已经带上你所说自编程功能。
大概的原理,启动时候检查,自启动支持的通信接口,如果接上,单片机按boot ladder指定的转向,进入对应自编程程序。对程序存储器进行读写。
avr的支持boot芯片的话,出厂时为烧写自编程程序,不过等你写好后,以后产品更新就可以直接接串口了
stc的单片机都支持串口通信下载程序。估计不能改写指定地址的。
还有flash的写过程,是先块擦除在写,哪怕只改一个地址的数据。
② 单片机编程中对于数据的读取,写入与输入,输出之间有什么联系
读取和写入,一般是指存储器
输入和输出,一般是指单片机的IO口
③ 关于单片机写入
总体就是单片机开发板+编译器+下载程序(下载工具)
首先,你需要一个单片机开发板.
上图就是一种比较典型的简单的单片机开发板,抑或你也可以称为学习板.
一般上面的这种开发板不算很贵.
我们学校的老师自己设计并印刷的这种板(资源相差不多)要100元就能买一块,不过一些电源线或数据线还得自己买.总共也有150左右吧.
你会发现有好多的不同的开发板,价格不等,资源不一.不过我个人的建议是除非你有非常浓厚的兴趣且决心很深入的研究,就没有必要买非常高级的板子,一般买了也没有用.初学者使用上面的这种就可以了,哈哈,合适即可.
下一步就是编译器和下载程序了.
编译器推荐使用KEIL 51 吧.非常好用的.
你可以用C语言写程序也可以用汇编语言.
关于KEIL 51的使用,你自己上网查查吧,有很多以时间讲不清的.
我的单片机是STC ;就用STC-ISP把刚才的程序下载到单片机吧.
下面就简单了.按照步骤
1,先选好单片机的型号:STC89C52RC.
2,选择要下载到单片机的程序文件.
3,选择COM口,这很重要哦.看看你电脑是哪个口就选哪个口吧.
其他的就没有必要选择了.
OK!点击Downlod/下载;
好了,显示下载成功!
这两个工具网上都有,自己有迅雷搜索一下吧..
④ stm32单片机写入数据u8,u32,u64有什么区别
u8,u32,u64数据位数不同,占用内存大小分别为8位 32位和64位,即1字节4字节和8字节,能表达的数值大小也不一样。如果要表示的数值很大,就要用 u32或u64,如果要表示的数值很小,就要用 u8,可以节约内存。就好象大篮子用来装大西瓜小篮子用来装桃子一样。
⑤ 单片机 用串口 向C8051F的128K FLASH写入 大量数据,怎么弄
在内存
外存
(用dptr来访问,内存不够大)中定义一512字节的数组,pc机给你发数据一次发51个,都存入这个数组,收到pc机512个字节的数据后向pc机请求暂停发送,然后把这512个自己写入flash的
扇区
中,写入完成后,把在内存的数组和已经写入flash的数据做一次比较,如果有不一样的,重新把数组的数据写入flash,在写入的过程中要关闭中断。每写入一字节的数据后让单片机做几次空操作,保证可靠性。
去新华龙网站技术交流区看看。
我做过c8051向flash写入数值,比较少,就几个,但是思路是一样的。
pc机和单片机之间的协议可以双方互相约定。比如,在内存外存(用dptr来访问,内存不够大)中定义一512字节的数组,pc机给你发数据一次发512个,都存入这个数组,收到pc机512个字节的数据后向pc机请求暂停发送,然后把这512个自己写入flash的扇区中,写入完成后,向pc机请求下一个512字节的数据,依次循环,直至完成所有的数据写入。
想flash写入数据,要先规划数据区,然后在keil中把自己的程序定位在数据区之外,c8051的flash是512字节一个扇区,写数据时要先擦除一个扇区,然后再写入,一个扇区至多写512字节的数据,这个扇区写完了后
要擦除下一个扇区,再进行同样的工作,总的完了后要把相应的寄存器关闭,这时芯片中内存的指向就不是flash而是ram了。
大体就是这样,你可以看看c8051的引用笔记,以前这些资料都是公开的,现在新华龙只向买它们产品的人提供,多在网上找找,结合c8051的引用笔记加
例程
,不难。
去新华龙网站
技术交流区有
“C8051F020中
Flash存储器
的在线擦写方法
”
注册一个用户,
可以下载,如果需要f020芯片的中文资料,可以在网上找,也可以找我。
f020可以在线擦除可执行的程序,因为它还有一段
引导区
,这一个我不是很清楚,你可以参看020的应用笔记。
c8051资料丰富,
集成度
高,上手快,开发调试先进,是不错的单片机。
写了这么多,希望可以帮到你。
⑥ 单片机怎么把几百K的数据写入到w25q16的芯片里
首先找到w25q16的用户手册,找到写操作命令,然后用spi按照写操作命令的格式,把数据写到对应的块里面,再读出来检验一下是否正确,就可以了
⑦ 单片机怎么向sd卡里写数据啊
什么单片机??SD卡支持SD和SPI读写模式,如果单片机有SDIO或者SPI接口的话可以读写,详细的可以到搜你用的这款单片机的SD卡读写例程,如果不支持这两个接口的话建议使用SD卡读写模块,购买的SD卡读写模块基本上都会附带例程的。
⑧ 请问如何向单片机的ROM中写入数据
这要看目标单片机什么型号,如果是老式EPROM的,需要用到20V的编程电压,然后用一定的时序就像写EPROM那样,就能写进去了,这需要特殊的硬件,老式编程器都是这样的。新型FLASH单片机,支持ISP功能的,内部都会有一个出厂自带小程序,启动的时候会挂载串口,你就有机会通过串口发一些指令操作里面的flash,这样的话只要一个单片机最小系统和一个能控制串口的上位机软件就行了。
⑨ 单片机向外部存储器写数据
高度同意2、3楼的,1楼解释有误。
原理2、3楼讲的挺清楚的,看他们的就行了。
其实你理解的误区就在uint处,它是16位的,所以地址0x90f0和0x90f1是一个整体,所以0x90f0里的“0”和0x90f1里的“0x0A”也要合成一个整体看待,就是“000a”,还是‘10’,符合要求。
如果按你的思路,要得到你想要的结果的话,只需将uint换位uchar(8位)即可。