单片机原理及应用5 项目二51单片机编程语言与仿真调试知识的学习ppt课件_第1页
单片机原理及应用5 项目二51单片机编程语言与仿真调试知识的学习ppt课件_第2页
单片机原理及应用5 项目二51单片机编程语言与仿真调试知识的学习ppt课件_第3页
单片机原理及应用5 项目二51单片机编程语言与仿真调试知识的学习ppt课件_第4页
单片机原理及应用5 项目二51单片机编程语言与仿真调试知识的学习ppt课件_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、工程二 51单片机编程言语和仿真调试知识的学习 工程目的工程目的 了解单片机的编程言语知识了解单片机的编程言语知识 了解了解51单片机的汇编言语及指令系统单片机的汇编言语及指令系统 了解单片机了解单片机C言语特点及编程知识言语特点及编程知识 了解单片机的开发与仿真方法了解单片机的开发与仿真方法 学习学习Keil与与Proteus联调单片机的开发与仿真方法联调单片机的开发与仿真方法 工程义务工程义务 熟习单片机的编程言语熟习单片机的编程言语 掌握单片机掌握单片机C言语语句特点言语语句特点 可以运用可以运用Keil软件进展软件进展C言语编程并正确设置软件言语编程并正确设置软件 可以用可以用Prot

2、eus软件绘制硬件电路图软件绘制硬件电路图 可以利用可以利用Keil软件和软件和Proteus软件进展系统联调。软件进展系统联调。工程背景工程背景 单片机的编程言语常用的有二种,分别是汇编言语和单片机的编程言语常用的有二种,分别是汇编言语和 C 言语。言语。 汇编言语是是面向机器的程序设计言语,也是能直接控制汇编言语是是面向机器的程序设计言语,也是能直接控制硬件的言语。在汇编言语中,用助记符硬件的言语。在汇编言语中,用助记符(Memoni)替代操替代操作码,用地址符号作码,用地址符号(Symbol)或标号或标号(Label)替代地址码。替代地址码。 汇编言语的机器代码生效果率很高但可读性不强,

3、复杂一汇编言语的机器代码生效果率很高但可读性不强,复杂一点的程序就更是难读懂,而点的程序就更是难读懂,而C言语在大多数情况下其机器言语在大多数情况下其机器代码生效果率和汇编言语相当,但可读性和可移植性却远代码生效果率和汇编言语相当,但可读性和可移植性却远远超越汇编言语,而且在运用远超越汇编言语,而且在运用C言语编程时还可以嵌入汇言语编程时还可以嵌入汇编来处理高时效性的代码编写问题。对于开发周期来说,编来处理高时效性的代码编写问题。对于开发周期来说,中大型的软件编写用中大型的软件编写用C言语的开发周期通常要小于汇编言言语的开发周期通常要小于汇编言语很多。语很多。 由德国由德国Keil softw

4、are 公司推出的公司推出的C51Keil C51,Keil C51由于编译速度快,代码效率高,并配有由于编译速度快,代码效率高,并配有Keil vision 集成开发平台,得到了广泛的运用。集成开发平台,得到了广泛的运用。工程背景工程背景 Keil Vision4软件支持基于软件支持基于MCS51架构的架构的51系列单片机系列单片机芯片,同时还支持芯片,同时还支持PLM,汇编和,汇编和C言语的程序设计;集成言语的程序设计;集成了文件编辑处置、编译链接、工程管理、窗口、工具援用了文件编辑处置、编译链接、工程管理、窗口、工具援用和软件仿真调试等多种功能。并且界面友好、易学易用,和软件仿真调试等多

5、种功能。并且界面友好、易学易用,在调试程序、软件仿真等方面具有强大的功能。在调试程序、软件仿真等方面具有强大的功能。 Proteus软件是英国软件是英国Labcenter electronics公司出版的公司出版的EDA工具软件该软件中国总代理为广州风标电子技术,工具软件该软件中国总代理为广州风标电子技术,它不仅具有其它它不仅具有其它EDA工具软件的仿真功能,还能仿真单片工具软件的仿真功能,还能仿真单片机及外围器件。从原理图布图、代码调试到单片机与外围机及外围器件。从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到电路协同仿真,一键切换到PCB设计,真正实现了从概念设计,真正实现了从

6、概念到产品的完好设计。是目前世界上独一将电路仿真软件、到产品的完好设计。是目前世界上独一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其设计软件和虚拟模型仿真软件三合一的设计平台,其处置器模型支持处置器模型支持8051、HC11、PIC10/12/16/18/24/30、AVR、ARM、8086和和MSP430等,即将添加等,即将添加Cortex和和DSP系列处置器,并继续添加其他系列处置器模型。在编系列处置器,并继续添加其他系列处置器模型。在编译方面,它也支持译方面,它也支持IAR、Keil和和MPLAB等多种编译器。等多种编译器。单片机的编程言语单片机的编程言语 1汇编

7、言语汇编言语(Assembly Language) 汇编言语是面向详细机型的,它离不开详汇编言语是面向详细机型的,它离不开详细计算机的指令系统,对于不同型号的计细计算机的指令系统,对于不同型号的计算机,有着不同构造的汇编言语。各大类算机,有着不同构造的汇编言语。各大类单片机的指令系统是由单片机消费厂家规单片机的指令系统是由单片机消费厂家规定的,所以用户必需遵照厂家规定的规范,定的,所以用户必需遵照厂家规定的规范,才干到达运用单片机的目的。才干到达运用单片机的目的。 汇编言语比机器言语易于读写、调试和修汇编言语比机器言语易于读写、调试和修正,同时具有机器言语全部优点。但在编正,同时具有机器言语全

8、部优点。但在编写复杂程序时,相对高级言语代码量较大,写复杂程序时,相对高级言语代码量较大,而且汇编言语依赖于详细的处置器体系构而且汇编言语依赖于详细的处置器体系构造,不能通用,因此不能直接在不同处置造,不能通用,因此不能直接在不同处置器体系构造之间移植。器体系构造之间移植。 1汇编言语汇编言语(Assembly Language) 汇编言语程序的特点汇编言语程序的特点: 1面向机器的低级言语,通常是为特定的面向机器的低级言语,通常是为特定的计算机或系列计算机专门设计的。计算机或系列计算机专门设计的。 2坚持了机器言语的优点,具有直接和简坚持了机器言语的优点,具有直接和简捷的特点。捷的特点。 3

9、可有效地访问、控制计算机的各种硬件可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、设备,如磁盘、存储器、CPU、I/O端口等。端口等。 4目的代码简短,占用内存少,执行速度目的代码简短,占用内存少,执行速度快,是高效的程序设计言语。快,是高效的程序设计言语。 2C 言语言语 掌握用掌握用C言语对单片机编程很重要,可以大大提言语对单片机编程很重要,可以大大提高开发的效率。总的来说,单片机编程要灵敏运高开发的效率。总的来说,单片机编程要灵敏运用汇编言语与用汇编言语与C言语,让单片机的强大功能以最言语,让单片机的强大功能以最高是效率展现给用户。高是效率展现给用户。 C 言语程序特点言语程序特

10、点 1简约、紧凑,运用方便、灵敏。相对其他计简约、紧凑,运用方便、灵敏。相对其他计算机言语而言源程序较短,因此输入程序时任务算机言语而言源程序较短,因此输入程序时任务量少。量少。 2既具有高级言语的特点,又具有低级言语的既具有高级言语的特点,又具有低级言语的一些功能,可以直接对硬件进展操作。一些功能,可以直接对硬件进展操作。 2C 言语言语 3C 言语是一种构造化程序设计言语,它具有构造化控言语是一种构造化程序设计言语,它具有构造化控制语句。因此,制语句。因此,C 言语非常有利于实现构造化、模块化程言语非常有利于实现构造化、模块化程序设计。序设计。 4C 言语的运算符丰富,表达式类型多样化。灵

11、敏运用言语的运算符丰富,表达式类型多样化。灵敏运用各种各种 C 言语的运算符可以实如今其他高级言语中难以实言语的运算符可以实如今其他高级言语中难以实现的运算。现的运算。 5数据类型丰富,能用来实现各种复杂的数据构造。因数据类型丰富,能用来实现各种复杂的数据构造。因此,此,C 言语具有很强的数据处置才干。言语具有很强的数据处置才干。 6程序中可以运用某些编译预处置语句,有利于提高程程序中可以运用某些编译预处置语句,有利于提高程序质量和软件开发的任务效率。序质量和软件开发的任务效率。 7生成的代码质量高。生成的代码质量高。C 言语代码效率只比汇编言语代言语代码效率只比汇编言语代码效率低码效率低 1

12、020。 8程序不依赖于机器硬件系统,从而便于在硬件构造不程序不依赖于机器硬件系统,从而便于在硬件构造不同的机种间和各种操作系统中实现程序的移植。同的机种间和各种操作系统中实现程序的移植。学习义务学习义务1 汇编言语指令系统有关知识的学习汇编言语指令系统有关知识的学习 学习内容学习内容 汇编言语指令格式汇编言语指令格式 指令字节、寻址方式、常用符号、常用伪指令等指令中指令字节、寻址方式、常用符号、常用伪指令等指令中常用的概念常用的概念 单片机指令系统阐明单片机指令系统阐明 51单片机详细指令功能学习单片机详细指令功能学习 学习目的学习目的 掌握汇编言语指令格式掌握汇编言语指令格式 掌握指令字节

13、、寻址方式、常用符号、常用伪指令等书掌握指令字节、寻址方式、常用符号、常用伪指令等书写规范写规范 了解了解51单片机指令系统单片机指令系统 了解了解51单片机详细指令的功能单片机详细指令的功能一、汇编言语指令格式一、汇编言语指令格式 51单片机采用助记符表示的汇编言语指令格式如下:单片机采用助记符表示的汇编言语指令格式如下: 标号标号 :操作码:操作码 操作数或操作数地址操作数或操作数地址 ;注释;注释 其中标号是程序员根据编程需求给指令设定的符号地址,其中标号是程序员根据编程需求给指令设定的符号地址,通常由通常由1-8个字符组成,并且第一个字符必需是英文字,个字符组成,并且第一个字符必需是英

14、文字,标号后必需用冒号,普通在功能程序段的开场以程序段称标号后必需用冒号,普通在功能程序段的开场以程序段称号作为标号,留意标号不能以存放器称号、指令助记符命号作为标号,留意标号不能以存放器称号、指令助记符命名。名。 操作码表示指令的操作种类,如操作码表示指令的操作种类,如MOV表示数据传送操作表示数据传送操作等。等。 操作数或操作数地址表示参与运算的数据或数据的有效地操作数或操作数地址表示参与运算的数据或数据的有效地址,与详细的指令和操作数的寻址方式有关。址,与详细的指令和操作数的寻址方式有关。 注释是对指令的解释阐明,用以提高程序的可读性,注释注释是对指令的解释阐明,用以提高程序的可读性,注

15、释前必需加分号。在简单的程序段中注释可不写。前必需加分号。在简单的程序段中注释可不写。 二、指令字节二、指令字节 指令字节是指指令被编译为相应的操作代码机器码或称指令字节是指指令被编译为相应的操作代码机器码或称机器言语后占用的字节数。机器言语后占用的字节数。 51单片机指令系统中有单字节指令、双字节指令和三字节单片机指令系统中有单字节指令、双字节指令和三字节指令三种格式。指令越短,占用程序存储器的空间越少。指令三种格式。指令越短,占用程序存储器的空间越少。 一字节指令一字节指令 一字节指令只需一个字节,操作码和操作数信息同在其中。一字节指令只需一个字节,操作码和操作数信息同在其中。51单片机指

16、令系统中,共有一字节指令单片机指令系统中,共有一字节指令49条。条。 二字节指令二字节指令 二字节指令包括二个字节,其中第一个字节为操作码,第二字节指令包括二个字节,其中第一个字节为操作码,第二个字节为操作数。二个字节为操作数。51单片机指令系统中,共有二字节指单片机指令系统中,共有二字节指令令45条。条。 三字节指令三字节指令 三字节指令中,操作码占一个字节,操作数占两个字节,三字节指令中,操作码占一个字节,操作数占两个字节,其中操作数能够是数据,也能够是地址。其中操作数能够是数据,也能够是地址。51单片机指令系单片机指令系统中,共有三字节指令统中,共有三字节指令17条。条。三、寻址方式三、

17、寻址方式 对指令中操作数的表达方式称为寻址方式。对指令中操作数的表达方式称为寻址方式。操作数是指令的重要组成部分,一条指令操作数是指令的重要组成部分,一条指令采用什么样的寻址方式由指令的功能决议,采用什么样的寻址方式由指令的功能决议,寻址方式越多,指令功能越强。寻址方式越多,指令功能越强。 51单片机的指令系统运用单片机的指令系统运用7种寻址方式,包种寻址方式,包括存放器寻址、直接寻址、立刻数寻址、括存放器寻址、直接寻址、立刻数寻址、存放器间接寻址、变址寻址、相对寻址和存放器间接寻址、变址寻址、相对寻址和位寻址等。位寻址等。1存放器寻址方式存放器寻址方式 存放器寻址方式是一种简单快捷的寻址方式

18、,操存放器寻址方式是一种简单快捷的寻址方式,操作数在存放器中,在指令中运用存放器的符号表作数在存放器中,在指令中运用存放器的符号表示目的操作数的寻址方式。示目的操作数的寻址方式。 存放器寻址方式的寻址范围包括通用存放器和部存放器寻址方式的寻址范围包括通用存放器和部分公用存放器,指令中可以援用的存放器及其符分公用存放器,指令中可以援用的存放器及其符号称号如下:号称号如下: 8位存放器有:位存放器有:A、B、Rn及特殊功能存放器及特殊功能存放器PSW、DPH和和DPL等。等。 例:例:MOV A,Rn;其功能是将存放器;其功能是将存放器Rn的内容的内容送到累加器送到累加器A中,操作数在中,操作数在

19、Rn中。中。2直接寻址方式直接寻址方式 直接寻址方式是操作数存放在内存单元中,指令直接寻址方式是操作数存放在内存单元中,指令中直接以该内存单元的有效地址表达出操作数的中直接以该内存单元的有效地址表达出操作数的寻址方式。在这种寻址方式中,操作数项给出的寻址方式。在这种寻址方式中,操作数项给出的是参与运算的是操作数的地址,面不是操作数本是参与运算的是操作数的地址,面不是操作数本身。身。 直接寻址只能用来表示特殊功能存放器、内部数直接寻址只能用来表示特殊功能存放器、内部数据存储器及位地址空间。据存储器及位地址空间。 例:例:MOV A,30H;其功能是将;其功能是将30H单元中的数单元中的数送入送入

20、A存放器,存放器,30H是操作数所在的单元地址,而是操作数所在的单元地址,而并非操作数。并非操作数。3存放器间接寻址方式存放器间接寻址方式 存放器间接寻址方式指存放器存放的是操作数的存放器间接寻址方式指存放器存放的是操作数的地址,即操作数是经过存放器间接得到的,因此地址,即操作数是经过存放器间接得到的,因此称为存放器间接寻址。称为存放器间接寻址。 存放器间接寻址必需以存放器符号的方式表示。存放器间接寻址必需以存放器符号的方式表示。51单片机的指令系统规定任务存放器的单片机的指令系统规定任务存放器的R0、R1或或DPTR作为间接寻址存放器,用于寻址内部或作为间接寻址存放器,用于寻址内部或外部数据

21、存储器单元。外部数据存储器单元。 为了区别存放器寻址和存放器间接寻址,在存放为了区别存放器寻址和存放器间接寻址,在存放器间接寻址方式中,在存放器的称号前面加前缀器间接寻址方式中,在存放器的称号前面加前缀标志标志“。 存放器间接寻址方式寻址范围为内部存放器间接寻址方式寻址范围为内部RAM低低128单元通用方式为单元通用方式为Rii=0或或1和外部和外部RAM中中64KB通用方式为通用方式为DPTR。 例:例:MOV A,R0;指令以;指令以R0存放器内容存放器内容为地址,把该地址单元的内容送累加器为地址,把该地址单元的内容送累加器A; MOVX A,DPTR;其功能是把;其功能是把DPTR指定指

22、定的外部的外部RAM单元的内容送累加器单元的内容送累加器A。 外部外部RAM中低中低256单元是一个特殊的寻址单元是一个特殊的寻址区,除运用区,除运用DPTR做间址存放器寻址外,还做间址存放器寻址外,还可运用可运用R0或或R1作间址存放器寻址。作间址存放器寻址。3存放器间接寻址方式存放器间接寻址方式4立刻寻址方式立刻寻址方式 立刻寻址方式指操作数在指令中直接给出,立刻寻址方式指操作数在指令中直接给出,出如今指令中的操作数称为立刻数,为了出如今指令中的操作数称为立刻数,为了与直接寻址指令中的直接地址区别,在立与直接寻址指令中的直接地址区别,在立刻数前面加刻数前面加“#标志。标志。 例:例:MOV

23、 A,#05H;其功能是把立刻;其功能是把立刻数数05H送送A存放器。存放器。5变址寻址方式变址寻址方式 变址寻址方式指以变址寻址方式指以DPTR或或PC做基址存放做基址存放器,以累加器器,以累加器A做为变址存放器,并以两者做为变址存放器,并以两者内容相加构成内容相加构成16位地址做为操作数的地址。位地址做为操作数的地址。 例:例:JMP A+DPTR;其功能是把;其功能是把DPTR和和A的内容相加,得到的数据作为跳转指令的内容相加,得到的数据作为跳转指令的目的地址。的目的地址。 6相对寻址方式相对寻址方式 相对寻址是以当前程序计数器相对寻址是以当前程序计数器PC的内容为基址,的内容为基址,加

24、上指令给出的操作数偏移量构成新的加上指令给出的操作数偏移量构成新的PC值,值,作为跳转指令的转移地址也称目的地址的寻作为跳转指令的转移地址也称目的地址的寻址方式称为相对寻址。址方式称为相对寻址。 相对转移以转移指令所在地址为基点,向前最大相对转移以转移指令所在地址为基点,向前最大可转移可转移127+转移指令字节数个单元,向后最转移指令字节数个单元,向后最大可转移大可转移128-转移指令字节数个单元。转移指令字节数个单元。 例:例:SJMP rel标号;该跳转指令的目的标号;该跳转指令的目的地址是由当前的地址是由当前的PC值与偏移量值与偏移量rel相加得到。相加得到。7位寻址方式位寻址方式 51

25、单片机有位处置功能,对位地址中的内容进展单片机有位处置功能,对位地址中的内容进展位操作的寻址方式成为位寻址。位操作的寻址方式成为位寻址。 由于单片机中只需内部由于单片机中只需内部RAM和特殊功能存放器的和特殊功能存放器的部分单元有位地址,因此位寻址只能对有位地址部分单元有位地址,因此位寻址只能对有位地址的这两个空间进展寻址操作。位寻址是一种直接的这两个空间进展寻址操作。位寻址是一种直接寻址方式,由指令给出直接位地址。与直接寻址寻址方式,由指令给出直接位地址。与直接寻址不同的是,位寻址只给出位地址,而不是字节地不同的是,位寻址只给出位地址,而不是字节地址。址。 例:例:ANL C,30H;指令功

26、能是累加位;指令功能是累加位C的形状的形状和地址为和地址为30H的位形状进展逻辑与操作,并把结的位形状进展逻辑与操作,并把结果保管在果保管在C中。中。四、单片机指令系统阐明四、单片机指令系统阐明 51单片机共有单片机共有111条指令,按其功能可分为条指令,按其功能可分为5类类 数据传送类指令共数据传送类指令共29条。分为片内条。分为片内RAM、片外、片外RAM、程序存储器的传送指令、交换及堆栈操作指令。、程序存储器的传送指令、交换及堆栈操作指令。 算数运算类指令共算数运算类指令共24条。分为加、带进位加、减、条。分为加、带进位加、减、乘、除、加乘、除、加1、减、减1指令。指令。 逻辑运算及移位

27、类指令共逻辑运算及移位类指令共24条。分为逻辑与、或、条。分为逻辑与、或、异或、移位指令。异或、移位指令。 布尔变量操作类指令共布尔变量操作类指令共17条。分为位变量传送、条。分为位变量传送、位变量与、或、位测试转移指令。位变量与、或、位测试转移指令。 控制转移类指令共控制转移类指令共17条。分为无条件转移、调用、条。分为无条件转移、调用、条件转移和空操作指令。条件转移和空操作指令。五、五、常常用用符符号号Rn 任务存放器任务存放器R0 R7 Ri 间接寻址存放器间接寻址存放器R0、R1 Direct 直接地址,包括内部直接地址,包括内部128B RAM单元地址、单元地址、26个个SFR地址地址 #data 8位常数位常数 #data 16 16位常数位常数 addr 16 16位目的地

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论