新手求51单片机编程用什么软件汇编编程

51单片机编程用什么软件入门教程!!!!初学者学习利器!!!!
单片机编程用什么软件语言编程入门 配套学习资料 §1前言 什么是单片机编程用什么软件,目前还没有一个確切的定义普通认为单片机编程用什么软件是将CPU、RAM、RM、定 时器/计数器以及输入输出(I/0)接口电路等计算机主要部件集成在一块芯片上,这样所 組成的芯片级微型计算机称为单片微型计算机( Single chip microcomputer)。简称为单 片微机或单片机编程用什么软件利用单片机编程用什么软件程序,可以实现对硬件系统的小型化的智能控制。由于单片机编程用什么软件」 的硬件结构与指令系统都是按工业控制要求设计的,常用于工业的检测、控制装置中,因而 也称为微控制器( Micro- Controller)或嵌入式控制器( Embedded- Controller) 单片机编程用什么软件的应用十分广泛,我们将以巸asy51 Kit pro单片机编程用什么软件学习板为基础,学习51单 爿机的入门知识 夲学习资料面向掌握基本电路知识和基础C语言编程的单片机编程用什么软件初学者。为使读者能迅速 上手,本资料并不深入介绍单片机编程用什么软件的内部体系结构和指令系统,而是从读者较熟悉的高级语 言升始使读者掌握单片机编程用什么软件的C语言编程通过本资料的大量程序例子,读者应当可以在较短 的时间内熟悉单片机编程用什么软件的入门编程以及单片机编程用什么软件基本外围电路嘚连接,从而具备基本的单片机编程用什么软件开 发能力。然而,本资料的局限性也正在于此,当读者需要更深入地开发单片机编程用什么软件戓其它控制器 时,可能需要进一步了解其内部伓系结构和指令系统,这时读者就应查阅其它资料了 同时,本学习资料还致力于引导读者编写高質量的单片机编程用什么软件C语言程序。尽管单片机编程用什么软件程序 的规模有限,但高质量的单片杌程序除了可以优化运行效率饣,对程序的开发运庋和可维护 性也具有重要的影响 中国科学技术大学业余无线电协公 单片机编程用什么软件语言编程入门 配套学习资料 §2单片机編程用什么软件简介 2.1数字电路简介 在一个控制系统中,单片杌是电路的一部分,单片机编程用什么软件中的程序是针对其所在的电路编写 的洇此,要对单片机编程用什么软件编程并实现一定的功能,必须了解整亼糸统的电路图。单片机编程用什么软件编程是 针对某个特定的电路进荇的,这一点和普通的编程不一样编程时很可能要经常参照电路图。 与单片机编程用什么软件直接相关的电路大都是数字电路数字电路各部分的功能十分明确,因此相对比较 容易掌握 简单地说,数字电路就是只有“0”和“1”两种信号的电路。判别信号究竟是“0”还 是“1”是通過电压的大小(常称作“电平”)来判断的不同的数字器件的电平判断标准是 不一样的。常用的数字器件以高电平(超过某一阈值的电平)作为邏辑“1”,以低电平(低 于某一阈值的电平)作为逻辑“0”其中高电平阈值大于低电平阂值,处于高电平阈值与低 电平阈值之间的电压是无效的。高电平阈值与低电平國值的具体值与数字器件的供电电压有 关,如AT89S51单片机编程用什么软件的高电平阈值为(0.2Vc+0.9)V.低电平阂值为(0.2vcc-0.1)V 其中Vcc为单片杌的供電电压早年常用的数字器件的额定供电电压为5V,现在3.3V、1.8 等电压的数字器件已经大量使用了。在Easy51 Kit pro中,我们仍使用5V供电的单片机编程用什么软件 另外,还有一种RS-232电平标准,以-12V~-5V作为逻辑“1”,以5V~12V作为逻辑“0” 电脑上的串口都符合RS-232标准 还有一个“地”的概念。在电路中“地”并不是通常意義中的地,而是指电路中的一点 这一点的电压被人为地规定为0V 2.2MCS-51单片机编程用什么软件简介 l公司的A89C51(以后简称“C51”)、AT8952(以后简称“C52”)、AT892051 以后简称“C2051”)以及C51、C52的换代产品AT89S51(以后简称“S51”)、AT89S52 〔以后简称“S52”)容易上手、价格低廉(不超过10元/片)、资料丰富,是初学者入门 时广泛采用的单片机编程用什么软件 C51拥有40%6字节(1字节=8位)的片内程序存储器、128字节的RAM、32个I/0口、 两个定时器、6个中断源、一个串口等C52、C2051的资源与C51差别不大,其中C52的片 内程序存储器为8192字节、RM为256节、定时器有3个,其它与C51一样;C2051的片 内程序存储器为2048字节、I/0口只有15个,另比C51多了一个模拟比较器,工作电压范 围比较宽,为2.7V~6v(C51/52、S51/52为4.5~5.5V),其咜与C51一样 I/0、定时器、中断、串口等资源的用法在后面有详细介绍。这里只对程序存储器与RAM 作一下说明单片机编程用什么软件程序代码经過编译(C程序)或汇编(江编程序)后,要把编译或汇编 得到的代码文件(一般来说编译得到heκ袼弌文件、汇编得到bi格式文件)烧写到单片机编程用什么軟件 内,存放这个程序的地方就是桯序存储器。显而易见,单片机编程用什么软件的程序存储器越大,我们就可 以把越大、越复杂的程序放进去如果我们编写的程序太大,那么单片机编程用什么软件的程序存储器就有 可能会放不下这个程序。这时,解决办法就只有精简代码、外接程序存储器(前提是所用的 单片机编程用什么软件支持使用外部程序存储器)或采用程序存储器容量更大的单片机编程用什么软件RM是单片机编程用什么软件程序 运行时存放变量的地方,常量也可以放在RAM中。C51中的RAM大小为128字节,这就是说 单片机编程用什么软件程序中最多只能同时存在128个 unsigned char型的变量或64个 unsigned int型的 变量(在Keil环境中,inL型变量的长度为16位,这与W的32位不一样)或者是相应的 中国科学技术大学业余无线电协会 单片机编程用什么软件語言编程入门 配套学习资料 各种不同类型变量的组合可以看出,单片机编程用什么软件程序所允许的规模比 Windows或其它操作系统 环境下的程序偠小得多。编写单片机编程用什么软件程序时一定要注意不要溢用资源 S51与S52分别是C51、C52的换代产品。从用户的角庋看,S5x单片机编程用什么软件仳相对应的C5x 单片机编程用什么软件多了看门狗与在线编程(ISP)功能,另外最高运行速度有所增加(CSx最高支持24MHz 的时钟频率,而S5x最高支持33MHz的吋钟频率,但市媔上比较容易买到的S5X单片机编程用什么软件仍只 最高支持24Mz的时钟频率) 看门狗的使用在后面会有详细介绍,我们来看看单片机编程用什么软件的在线编程(ISP)功能。要把 程序烧写到A89C系列单片机编程用什么软件中,最常用的做法是把单片机编程用什么软件插入专用的编程器中,通过编程 器把程序烧到单片杋里这祥做的麻烦辶处是在调试桯序时,编程者对程序作岀的毎次修改, 都要把单片枧从电路中拔岀来,插到编程器,烧妤后又偠把单片机编程用什么软件重新插回电路板可以想 象,这种工作是吃力不讨好的。利用S5x单片机编程用什么软件的ISP功能,我们就无须来回插拔單片机编程用什么软件, 只要在电路中把单片机编程用什么软件的ⅠSP编程引脚接岀来,并且这凡亼引脚所接的外围电路对ISP没有 影响,就可以用ⅠSP編程器对单片杋进行烧写了另外,支持AT89C系列单片机编程用什么软件的编程器成 本要比ISP下载线高最少几倍。一根并口ISP下载线的成本仅几元钱 除了S系列、C系列外,atme公司的MCS-51兼容产品也有其它系列,它们的主要区 别在于供作电压范围,在此就不作介绍了。 值得注意的是,一片单片机编程用什么软件可以反复擦写的次数是有限的,atme1的C系列、S系列单 片机的声称可重复擦写次数为1000次 2.外部方式 图2.3外接晶体引脚 XTAL 1 19 XTAL2 18 XTAL1是片内振荡器的反相放大器输入端,ⅪTAL2则是输出端,使用外部振荡器时,外部 振荡信号应直接加到XTAL1,而ⅪTAL2悬空内部方式时,时钟发生器对振荡脉冲二分频,如 晶振为12Mz,时钟频率僦为6MHz。晶振的频率最高可以达到3Hz(C5x为2Bz)电容取 30pF±10pF。 单片机编程用什么软件程序指令的执行是以振荡器的振荡来驱动的在MCS-51架构中,每12个振荡器 周期组成一个指令周期(或称机器周期)。单片机编程用什么软件执行指令的时间是以指令周期为单位的 不同指令的执行时间可能是不同的,┅条指令的执行时间最短为一个指令周期。因此,单 片机所接的振荡器频率越高,它执行指令的速度就越快 型号同样为AT89S52的芯片,在其后面还有頻率编号,有24MHz和33Mz等可选。读者在 购买和选用时要注意了如AT89S5224PC就是最高振荡频率为24Mz,40P6封装的普通商用芯 片。单片机编程用什么软件芯片后缀的详細含义可见相应单片机编程用什么软件数据手册的0 dering Information 3、复位RST9 在振荡器运行时,有两个杌器周期(24个振荡周期)以上的高电平出现在此引脚时,将 使單片机编程用什么软件复位,只要这个引脚保持高电平,单片机编程用什么软件便一直处于复位状态。复位后P0~P3口均 置1,引脚表现为高电平,程序计欻器和特殊功能寄存器SFR全部清零当复位引脚由高电平 变为低电平时,芯片从R0M的00H处开始运行程序。复位操作不会对内部RAM有所影响常用 的复位电路如图2.4所示。当单片机编程用什么软件上电时,由于电容的作用,RST引脚会处于短暂的高电平 状态,直到电容充电到一定程度时,RST引脚的电平会祓8.2K的电阻拉低,单片机编程用什么软件开始运行 程序图中的按键为手动复位按键,当按下复位按键后,RST引脚会被IK的电阻上拉至高电 平,单片机编程用什么软件复位,按键松开后,RST恢复低电平,单片机编程用什么软件重新从程序存储器的00H处运行程序 手动复位按键在单片机编程用什么软件的朂小系统中并不是必须的,但对单片机编程用什么软件的复位控制会方便些 中国科学技术大学业余无线电协公 单片机编程用什么软件语言编程入门一 配套学习资料 VCO 1K 1 0u RST 8,2K 图2.4常用复位电路 4、输入输出引脚 (1)P0端口[P0.0~P0.7]P0是一个8位漏极开路型双向Ⅰ/0端口,端口置1(对端口写1) 时作高阻抗输入端。作为输出ロ时能驱动8个TTLP0端口要外接上拉电阻 (2)P1端口[P1.0~P1.7P1是一个带有内部上拉电阻的8位双向I0端口。输出时可驱 动4个TL端口置1时,内部上拉电阻将湍口拉到高電平,作输入用。对内部F1a$h程序存 储器编程时,接收低8位地址信息除此之外P1端口还用于一些专门功能,具体见表2.1 P1引脚 兼用功能 P1.0 (3)P2端口[P2.0~P2.7P2是一个带有内蔀上拉电阻的8位双向1/0端口。输出时可驱 动4个TTL端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部F1ash程序存 储器编程时,接收高8位地址囷控制信息在访问外部程序和16位外部欻据存储器时,P2口 送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会妀变 (4)P3端口[P3.0~P3.7]P2是一个带有内部上拉电阻的8位双向I/0端口输出时可驱 动4个TTL。端口置1时,内郾上拉电阻将端口拉到高电平,作输入用对内部F1a$h程序存 储器编程时,接控制信息。除此之外P3湍口还用于一些专门功能,具体见表2.2 P3引脚 兼用功能 P3.0 串行通信输入(RXD) P3.1 串行通信输出(TXD) P3.2 外部中断0(NTo) P3.3 外部中断1(|NT1) P3.4 定时器0输入(T0) P3.5 萣时器1输入(T1) P3.6 外部数据存储器写选通WR P3.7 外部数据存储器写选通RD 表2.2P3端口引脚兼用功能表 中国科学技术大学业余无线电协公 单片机编程用什么软件語言编程入门 配套学习资料 5、其它的控制或复用引脚 (1)ALE/-PRG30访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的 低位字节即使不访冋外部存儲器,AE端仍以不变的频率输岀脉冲信号(此频率是振荡器频 率的1/6)。在访问外部数据存储器时,出现一个ALE脉冲对F1a$h存储器编程时,这个引脚 用于输入編程脉冲PR0G (2)PSEN29该引脚是外部程序存储器的选通信号输岀端。当S52由外部程序存储器取 指令或常数时,每个机器周期输岀2个脉冲即两次有效但访问外部敖据存储器时,将不会 有脉冲输出 (3)-EA/vpρ31外部访问允许端。当该引脚访问外部程序存储器时,应输入低电平 要使S52只访冋外部程序存储器〔地址為00μ-H),这吋该引脚必须保持低电平当使 用内部的程序存储器时,此引脚应与Vc相连。对 Flash存储器编程时,用于施加Vp编程电 按键输入、一个3×4扫描式鍵盘和外接9346EEPR0M芯片等利用这块学习板,初学者可 以学习51单片杋各模块的编程,熟悉单片杋程序的特点,也可以试着写一些功能比较完整 的程序(如鬧钟、秒表等)。如果初学者能够掌握本资料中给出的各个例子,就可以独立开 发单片机编程用什么软件程序了 巸asy51 Kit pro由两块电路板组成其中大嘚电路板为MCS-51最小系统板,小的电 路板为学习板(学习板中没有单片机编程用什么软件)。采用两块电路板的原因是考虑到当初学者入门后学 习板蔀分的电路可能已经没冇很大的用处,而一块设计完善的最小系统板可能在日后仍能派 上用场在没计上,Basy51 Kit Pro支持USB接口供电,采用一体化设计,学习板可以直 接插在最小系统板上面,无须数据线连接,两块路板可共用冋一电源。如果单片机编程用什么软件采用 最小系统板包含了51单片机编程鼡什么软件的最小系统、I/0线外接插座以及可断开的232电平转换芯片 及9针串口等C5X、S5x的最小系统如图2.5。这个最小系统在前面已有详细介绍,在这裏就 不罗嗦了标记为“IX和“RX”的跳线可以用跳线帽把MAX232与单片机编程用什么软件的串口断开或接通 接通时可以与电脑的串口直接通信,断开時则MAX232与单片机编程用什么软件无任何电气上的信号连接 单片机编程用什么软件语言编程入门一 配套学习资料 §3MCS51单片机编程用什么软件的C语訁编程 3.1汇编语言 在学习51单片机编程用什么软件的语言编程之前,我们先来了解一下汇编语言。使用江编话言可以对 单片机编程用什么软件进荇最直接的控制每执行一条江编语句,单片机编程用什么软件就会执行一条指令。下面是一些 汇编语句的例子 LD AX.#OCC C2H ADD AX. CX 利用汇编语言对单片杋编程,所编写的代码效很高,但用江编话言写程序尤其是较大 型的程序十分赀时,程序的移植也存在冋题所以现在多用C语言对单片机编程用什么软件进行编程,再在 必要的地方用汇编语言实现。本资料介绍的是单片机编程用什么软件的C语言编程尽管汇编语言在单片机编程用什么软件 程序开发中有着其固有的缺点,但对单片机编程用什么软件的指令系统以及汇编语言有一定的了解,对编 写出高质量的单片机编程用什么软件C程序是很有帮助的 32建立你的第一个C项目 侠用C语言肯定要使用到C编译器,以便把写妤的C程序编译为杋器码,这样单片机编程用什么软件才能 执行編写好的程序。 Keil uvision2是众多单片机编程用什么软件应用开发软件中优秀的软件之一,下面我 们用 Keil uvision2建立一个小程序项目 首先是运行Kei1软件运行几秒後,出现如图3.1的屏幕 KEIL 2SOFTWARE VISION2 True Windows文件对话窗口,如图3.3。在“文件名”中输入你的第一个C程序项目 名称,这里我们用“test”“保存”后的文件扩展名为uv2,这是Kei1 uvision2项目文件 扩展名,以后我们可以直接点击此文件以打开先前做的项日 中国科学技术大学业余无线电协公

  1、源程序的编辑允许使用中攵其标号、操作码、操作数、注释均可使用中文,

  2、汇编过程中发现的错误全部记录在*.err文件中,方便对照查处

  3、反汇编按指令流进行,智能分段自动添加标号,自动区分数据与代码反汇编生成的源程序还可以直接进行汇编。新版本不仅支持反汇编从0地址開始的全部程序代码也支持对部分程序段的反汇编,

  4、全软件仿真可以进行单步运行、设断点运行、全速运行可以即时查看片内資源状态,可以在运行中进行I/O输入可以直接参与串行通讯的发送与接收,

  5、丰富的辅助工具为应用系统的开发提供了方便

  1、丅载并解压,双击“setup.exe”运行程序开始执行

  2、进入欢迎界面,单击“确定”按钮进入下一步

  3、指定安装目录,这里以安装在“d:河东软件园安装”举例然后单击下图红框处继续,

  4、选择默认程序组单击“继续”按钮开始安装,

  5、在安装过程中会弹出蝂本冲突的警告,请一直单击“是”按钮直至结束此处大概需要单击15次“是”按钮,

  6、当弹出以下界面时表示安装成功,单击“確定”按钮即可

  需要安装编程软件keil;程序下载软件STC-ISP;如果电脑没有串口,还需USB转串口工具(HORAL V101搭载PL2303 USB转串口方案可以直接插USB供电并下載程序,但需安装PL2303驱动程序PL-2303 Driver Installer.exe也可使用驱动精灵、鲁大师等工具驱动);

  单片机编程用什么软件的开发环境以keil uVersion最为常见,互联网上很嫆易下载到和谐版的安装程序Keil uVersion的安装比较简单,基本是一路NEXT 下去

  选择安装目录后Next,往后一路Next即可

  STC单片机编程用什么软件实際上是使用串口下载程序的,不够买哪家的学习板厂家都会提供详细的下载程序说明。

  以上图是 51单片机编程用什么软件学习板实物圖提供两种工作组合:

  a.USB 供电,USB下载程序;此时仅需一条USB线连接电脑的USB口,电脑端需要安装USB转 串口驱动PL-2303 Driver Installer.exe因为这块学习板使用PL2303芯片實现USB转串口(安装方法见3);

  b.DC口供电,COM串口下载程序;此时需要通过DC口外接电源供电,COM串口使用平行串口线连接电脑串口;

  推薦使用第一种工作方式因为第一种方式只一条USB线就全部搞定,对于单片机编程用什么软件初学者简易就是王道;

  3、USB模拟串口

  洳今手提电脑越来越普及,在其便携性的要求下一些接口往往被移除(比如串口),很少有手提电脑配置串口而串口是单片机编程用什么软件通讯中最常用的功能之一。还好手提电脑多配置USB口使用USB模拟串口的工具应运而生,如基于PL2303芯片的PL-2303 Driver Installer.exe(HORAL V101使用PL2303HX芯片)

  安装完成後,插上USB转串口线(电子市场很多10元/条),计算机会自动分配串口号

  a.一定是插上USB转串口线后计算机才会自动分配串口号;

  b.使鼡不同芯片的USB转串口线的驱动程序是不一样的,尽量使用官方的驱动程序;

  c.实在不知道线的芯片型号鲁大师、驱动精灵也是不错的選择;

  板上内置了USB转串口,可以直接使用USB下载安装PL-2303 Driver Installer.exe后,插上USB计算机会自动分配串口号

  查询串口号的步骤,以XP系统为例如下:

  a.右键单击“我的电脑”选择弹出菜单中的“属性”打开“系统属性”对话框;

  b.系统属性中选择“硬件->设备管理器”即可打开设備管理器;

  c.“设备管理器->端口”可以查看串口号。

  不同厂家的单片机编程用什么软件烧录程序的方式不同(官网或芯片DATASHEET有详细說明)。

  本课程使用型号为STC89C52的单片机编程用什么软件是由宏晶半导体公司设计生产,该单片机编程用什么软件不需要专门的烧录器支持在线下载,使用非常方便

  STC89C52使用的烧录软件是STC_ISP,其官网提供下载(早期型号的单片机编程用什么软件需要使用厂家提供的烧錄器,价格昂贵)

  第一步:选择目标板使用的单片机编程用什么软件型号(即系统中使用的单片机编程用什么软件型号,本实验板使用STC89C52RC);

  第二步:打开要要烧录到目标板的烧录文件烧录文件以.hex后缀;

  第三步:选择串口(可以在“设备管理器”里查看串口號,参照3节);

  第四步:点击按键“Downloag/下载”冷启动目标板;

  注:冷启动是通过切断电源强制单片机编程用什么软件复位。STC系列單片机编程用什么软件冷启动后自动进入下载程序程序检测不到程序下载后才会启动现有程序(当然,此功能可以设置);

  第五步:检测程序下载进度下载完成、出错会有相应的提示;

  如果大家使用这块单片机编程用什么软件学习板,开发环境搭建完成以后鈳以下载例程代码看看效果。

  将二进制代码文件(*.bin)转换为十六进制代码文件(*.hex)

  将二进制代码文件(*.bin)转换为文本格式的代码攵件(*.obj)

  将十六进制代码文件(*.hex)转换为二进制代码文件(*.bin)

  将文本格式的代码文件(*.obj)转换为二进制代码文件(*.bin)

  目标代碼的拆分与合并:

  将1个文件拆分为2个文件或将2个文件合并为1个文件

  用于将某些地址线跳接或将某些数据线跳接或将地址线、数據线都进行了跳接的目标代码还原为真正的程序目标代码,以便反汇编

  可以将MCS48单片机编程用什么软件的源程序转换为MCS51单片机编程用什么软件的源程序,为用51单片机编程用什么软件替换或改造原有的48单片机编程用什么软件系统提供了方便

  初始化设置:使你在使用萣时计数器、串行通讯和中断系统时,不需要再为设置相应的寄存器而烦恼

  实用子程序:不仅提供了一些实用的子程序供您选用,還提供了一个开放的用户程序库让你自由添加自己的实用子程序。

  点阵字模:可为你提取8*16点阵的字符字模和12*12、16*16、24*24点阵的汉字字模数據为使用汉字显示提供了方便。

  Unicode代码转换:可为你进行汉字与Unicode代码之间的转换

我要回帖

更多关于 单片机编程用什么软件 的文章

 

随机推荐