如何向单片机中写入程序

总体就是单片机开发板+编译器+下载程序(下载工具)

首先,你需要一个单片机开发板.

 

 

上图就是一种比较典型的简单的单片机开发板,抑或你也可以称为学习板.

一般上面的这种开发板不算很贵.

我们学校的老师自己设计并印刷的这种板(资源相差不多)要100元就能买一块,不过一些电源线或数据线还得自己买.总共也有150左右吧.

你会发现有好多的不同的开发板,价格不等,资源不一.不过我个人的建议是除非你有非常浓厚的兴趣且决心很深入的研究,就没有必要买非常高级的板子,一般买了也没有用.初学者使用上面的这种就可以了,哈哈,合适即可.

 

下一步就是编译器和下载程序了.

编译器推荐使用KEIL 51 吧.非常好用的.

 

你可以用C语言写程序也可以用汇编语言.

关于KEIL 51的使用,你自己上网查查吧,有很多以时间讲不清的.

 

我的单片机是STC ;就用STC-ISP把刚才的程序下载到单片机吧.

 

下面就简单了.按照步骤

1,先选好单片机的型号:STC89C52RC.

2,选择要下载到单片机的程序文件.

3,选择COM口,这很重要哦.看看你电脑是哪个口就选哪个口吧.

其他的就没有必要选择了.

 

OK!点击Downlod/下载 ;

 

 

好了,显示下载成功!

 

这两个工具网上都有,自己有迅雷搜索一下吧..

 

 

追问:

问个很白痴的问题。 是不是要把 单片机接到那个学习板上然后在与PC连接啊?

 

就是:单片机怎么和PC连上的啊?

回答:

是这样的.

板上有电源接线,数据接线.

插上电源线,数据线和电脑相连,即可通过上面步骤把写好的程序下载到单片机当中.

追问:

还是不太明白。麻烦您说下:

 

单片机、开发板、PC 直接的关系。哪个连哪个。

 

貌似还有一个实验板,总之很混乱

回答:

上图就是单片机.可以看到它有好多引脚,各个引脚都有自己的定义(用途),这个书上都有.

 

可见,只有单片机而不需要其他的外围器件设备,要向单片机里写程序是不实际的.

这时我们需要一个开发板.开发板,学习板,实验板其实都是一样的,就是名称不一样罢了.

 

上图就是开发板,有了开发板,你可以进行各种实验.比如你可以写个程序告诉单片机,让单片机控制蜂鸣器发声,或写个程序让单片机控制数码管工作等等.实验板在单片机学习中必不可少.

如上图你也会发现,板上有个USB程序下载的接口,用USB数据线把开发板和电脑相连接,就可以实现把程序下载到单片机中了.

 

你就这么理解吧:单片机附在开发板上,开发板上的外围电路是连接单片机本身和电脑的桥梁,使我们对单片机的操作成为可能.



常规下载方式:

一般的可以用ISP方式下载,也有支持IAP的,可以进行在应用的自编程

当然如果支持JTAG,也可以通过JTAG进行下载【同时可以用来仿真】

如果有专用的下载器的话,可以通过高压并行的方式进行写入。

软件编写:

单片机按类型,开发软件也有所不同

但主流的是KEIL,IAR,GCC

KEIL支持arm和51等,IAR支持的就多了【不过软仿功能似乎没有KEIL的好】,GCC支持arm和avr等【感觉对avr的维护更好些】

编写好程序,编译后基本上都能生成hex文件,将该文件烧录至单片机就行了【通过配套的软件】

keil的方针用文件好像是elf的,iar的是d90的,不过新的版本好像也支持elf了,

不过感觉proteus对d90的支持反倒好些


出处:http://wenwen.soso.com/z/q145054752.htm



  • 5
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的PIC单片机C语言写入内部EEPROM的代码: ``` #include <xc.h> #define _XTAL_FREQ 4000000 // 设置CPU频率 // 定义EEPROM写入函数 void eeprom_write(unsigned char address, unsigned char data) { EEADR = address; // 设置EEPROM地址 EEDATA = data; // 设置要写入的数据 EECON1bits.EEPGD = 0; // 选择EEPROM数据存储器 EECON1bits.WREN = 1; // 允许EEPROM写入 INTCONbits.GIE = 0; // 禁止全局断 EECON2 = 0x55; // 写入特定序列 EECON2 = 0xAA; EECON1bits.WR = 1; // 执行写入操作 while(EECON1bits.WR); // 等待写入完成 EECON1bits.WREN = 0; // 禁止EEPROM写入 INTCONbits.GIE = 1; // 允许全局断 } void main(void) { eeprom_write(0x00, 0x55); // 将0x55写入EEPROM地址0x00 while(1) { // 你的程序 } } ``` 这个代码,我们首先定义了CPU的频率,然后定义了一个EEPROM写入函数`eeprom_write`,该函数接收两个参数,即要写入的EEPROM地址和要写入的数据。 在`eeprom_write`函数,我们首先设置EEPROM地址和要写入的数据,然后允许EEPROM写入,并禁止全局断。接着,我们写入特定的序列,执行写入操作,并等待写入完成。最后,我们禁止EEPROM写入,并允许全局断。 在`main`函数,我们调用了`eeprom_write`函数,将0x55写入EEPROM地址为0x00的位置。 需要注意的是,上述代码仅适用于PIC单片机内置EEPROM,如果需要写入外部EEPROM,则需要根据具体的芯片手册进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值