单片机第四章PPT讲稿.ppt
《单片机第四章PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《单片机第四章PPT讲稿.ppt(74页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、单片机课件 第四章2023/1/171第1页,共74页,编辑于2022年,星期五4.1 4.1 概述概述4.1.1 4.1.1 程序设计语言程序设计语言1.1.机器语言机器语言2.2.汇编语言汇编语言3.3.高级语言高级语言2023/1/172第2页,共74页,编辑于2022年,星期五 机器语言机器语言 用二进制代码表示的指令系统称为机器语用二进制代码表示的指令系统称为机器语言系统,简称为机器语言。言系统,简称为机器语言。汇编语言汇编语言用助记符表示指令系统的语言称为汇编语言或符用助记符表示指令系统的语言称为汇编语言或符号语言,号语言,用汇编语言编写的程序称为汇编语言程序。用汇编语言编写的程序
2、称为汇编语言程序。2023/1/173第3页,共74页,编辑于2022年,星期五 但是,计算机不能直接识别在汇编语言中出现的字母、数字和符号,但是,计算机不能直接识别在汇编语言中出现的字母、数字和符号,需要将其转换成用二进制代码表示的机器语言程序,才能够识别和执行。需要将其转换成用二进制代码表示的机器语言程序,才能够识别和执行。通常把这一转换(翻译)工作称为通常把这一转换(翻译)工作称为汇编。汇编。汇编可以由程序员通过查指汇编可以由程序员通过查指令表把汇编指令程序转换为机器语言程序,这个过程称为令表把汇编指令程序转换为机器语言程序,这个过程称为人工汇编。人工汇编。目前基本上由专门的程序来进行汇
3、编,这种程序称为目前基本上由专门的程序来进行汇编,这种程序称为汇编程序汇编程序。经汇编程序。经汇编程序汇编而得到的机器语言程序,计算机能够识别和执行,因此这一机机器语汇编而得到的机器语言程序,计算机能够识别和执行,因此这一机机器语言程序称为目的程序或目标程序,而汇编语言程序称为源程序。这三者之言程序称为目的程序或目标程序,而汇编语言程序称为源程序。这三者之间的关系如间的关系如下图下图所示。所示。2023/1/174第4页,共74页,编辑于2022年,星期五图图 汇编过程示意图汇编过程示意图 2023/1/175第5页,共74页,编辑于2022年,星期五 高级语言高级语言 高级语言,比如高级语言
4、,比如BASIC、FORTRAN、COBOL及及PASCAL,C语言等,这种语言不仅直观、易学、易懂,而且通用性强,易于移植到不语言等,这种语言不仅直观、易学、易懂,而且通用性强,易于移植到不同类型的机器中去。同类型的机器中去。计算机也不能直接识别和执行高级语言,需要将其转换为机器语言才计算机也不能直接识别和执行高级语言,需要将其转换为机器语言才能识别和执行。对于高级语言,这一转换工作通常称为能识别和执行。对于高级语言,这一转换工作通常称为编译或者解释编译或者解释。进行编译或者解释的专用程序称为进行编译或者解释的专用程序称为编译程序或者解释程序。编译程序或者解释程序。2023/1/176第6页
5、,共74页,编辑于2022年,星期五4.1.2 4.1.2 编制程序的步骤编制程序的步骤1.1.任务分析(硬件、软件系统分析)任务分析(硬件、软件系统分析)2.2.确定算法和工作步骤;确定算法和工作步骤;3.3.程序总体设计和流程图绘制程序总体设计和流程图绘制关于流程图符号:关于流程图符号:开始、结束开始、结束-圆角矩形圆角矩形工作任务工作任务-矩形矩形判断分支判断分支-菱形菱形程序流向程序流向-程序连接程序连接-开始结束2023/1/177第7页,共74页,编辑于2022年,星期五4.4.分配内存,确定程序与数据区存放地址;分配内存,确定程序与数据区存放地址;5.5.编写源程序;编写源程序;
6、6.6.调试、修改,最终确定程序。调试、修改,最终确定程序。2023/1/178第8页,共74页,编辑于2022年,星期五4.1.3 4.1.3 方法技巧方法技巧1.1.模块化设计(按功能分:显示、打模块化设计(按功能分:显示、打 印、输入、发送等)印、输入、发送等)2.2.尽量采用循环及子程序结构(节省内存)尽量采用循环及子程序结构(节省内存)2023/1/179第9页,共74页,编辑于2022年,星期五4.1.4 4.1.4 汇编语言的规范汇编语言的规范1.1.汇编语言源程序由以下两种指令构成汇编语言源程序由以下两种指令构成汇编语句(指令语句)汇编语句(指令语句)伪指令(指示性语句)伪指令
7、(指示性语句)2.2.汇编语句的格式:汇编语句的格式:标号标号:操作码操作码操作数操作数;注释;注释数据表示形式:数据表示形式:二进制(二进制(B B)、十六进制)、十六进制(H)(H)、十进制、十进制(D(D或省略或省略)、ASCIIASCII码(以单引号标识)码(以单引号标识)2023/1/1710第10页,共74页,编辑于2022年,星期五3.3.伪指令:控制汇编用的特殊指令,这些指令不属伪指令:控制汇编用的特殊指令,这些指令不属 于指令系统,不产生机器代码。于指令系统,不产生机器代码。2023/1/1711第11页,共74页,编辑于2022年,星期五常用的伪指令vORGORG汇编起始地
8、址汇编起始地址汇编起始地址汇编起始地址格式:格式:ORG ORG 表达式表达式 如:如:ORG 0000HORG 0000H注:注:表达式必须为表达式必须为1616位地址值位地址值。程序中可以有。程序中可以有多条多条ORGORG语句语句,但定义,但定义的起始地址既的起始地址既不要交叉,也不要重叠不要交叉,也不要重叠必须必须从小地址向大地址从小地址向大地址分配程序分配程序所占空间。所占空间。2023/1/1712第12页,共74页,编辑于2022年,星期五u END END 程序结束伪指令程序结束伪指令 注:注:一定放在程序末尾!一定放在程序末尾!v EQU EQU 赋值伪指令赋值伪指令 格式:
9、格式:字符名称字符名称 EQU EQU 数值或汇编符号数值或汇编符号 例:例:AAAAEQUEQU30H30HK1K1EQUEQU40H40HMOV AMOV A,AAAA;(30H(30H)AAMOV AMOV A,K1K1;(40H40H)AA2023/1/1713第13页,共74页,编辑于2022年,星期五vDBDB 从指定单元开始定义(存储)若干个字节的数据或从指定单元开始定义(存储)若干个字节的数据或ASCIIASCII码字符,常用于定义数据常数表。码字符,常用于定义数据常数表。数据与数据之间用数据与数据之间用“,”分割。分割。格式:格式:DB DB 字节常数或字节常数或ASCIIA
10、SCII字符字符例例:ORGORG 1000H 1000HDBDB34H34H,0DEH0DEH,A A,B BDBDB0AH0AH,0BH0BH,20202023/1/1714第14页,共74页,编辑于2022年,星期五vDWDW 从指定单元开始定义(存储)从指定单元开始定义(存储)若干个字若干个字的数据的数据 或或ASCIIASCII码字符。码字符。格式:格式:DWDW字常数字常数或或ASCIIASCII字符字符 例:例:ORG 2000HORG 2000HDWDW1234H1234H,B BDWDW0AH0AH,20202023/1/1715第15页,共74页,编辑于2022年,星期五v
11、 BITBIT 位地址符号指令。位地址符号指令。把位地址赋于规定的字符名称。把位地址赋于规定的字符名称。格式格式:字符名称字符名称BITBIT位地址位地址例:例:ABCABCBITBITP1.1P1.1QQQQBITBITP3.2P3.22023/1/1716第16页,共74页,编辑于2022年,星期五4.2 简单程序设计 程程序序结结构构一一般般采采用用以以下下三三种种基基本本控控制制结结构构,即即顺顺序序结结构构、分分支支结结构构和和循循环环结结构构来来组组成成,再再加加上上使使用用广广泛泛的的子子程程序序及及查查表表程程序序,共共有有五五种种基基本本结构。结构。2023/1/1717第1
12、7页,共74页,编辑于2022年,星期五 顺序结构是按照逻辑操作顺序,从某一条指令开始逐条顺序执行,顺序结构是按照逻辑操作顺序,从某一条指令开始逐条顺序执行,直至某一条指令为止。直至某一条指令为止。也称为简单程序或直线程序。也称为简单程序或直线程序。4.2.1 顺序结构程序设计 特特特特点点点点:从从从从第第第第一一一一条条条条指指指指令令令令开开开开始始始始依依依依次次次次执执执执行行行行每每每每一一一一条条条条指指指指令令令令,直直直直到到到到程程程程序序序序执执执执行行行行完毕,中间没有转移指令,没有分支。完毕,中间没有转移指令,没有分支。完毕,中间没有转移指令,没有分支。完毕,中间没有
13、转移指令,没有分支。只有一个入口一个出口。只有一个入口一个出口。只有一个入口一个出口。只有一个入口一个出口。2023/1/1718第18页,共74页,编辑于2022年,星期五例例:将:将2020H H单元的压缩单元的压缩BCDBCD码拆成两个码拆成两个ACSIIACSII码存入码存入2121H H、22H22H单元。单元。2023/1/1719第19页,共74页,编辑于2022年,星期五方法1(20H)A10HBA/B,A中为高中为高4位位BCD码,码,B中为低中为低4位位BCD码码B+30HBB(21H)A+30HAA(22H)开始结束2023/1/1720第20页,共74页,编辑于2022
14、年,星期五源程序源程序 ORG 2000H ORG 2000HMOV AMOV A,20H20HMOV BMOV B,#10H#10HDIV ABDIV ABORL BORL B,#30H#30HMOV 21HMOV 21H,B BORL AORL A,#30H#30HMOV 22HMOV 22H,A AENDEND;除以;除以1010H H;高高4 4位位BCDBCD码转换位码转换位ASCIIASCII码码;低低4 4位位BCDBCD码转换位码转换位ASCIIASCII码码2023/1/1721第21页,共74页,编辑于2022年,星期五0(21H)(20H)AA与(21H)的低4位交换(2
15、1H)+30H(21H)A的高低半字节交换A+30HAA(22H)开始结束方法2:2023/1/1722第22页,共74页,编辑于2022年,星期五 ORG 2000H MOV R0,#21H MOV R0,#0 MOV A,20H XCHD A,R0 ORL 21H,#30H SWAP A ORL A,#30H MOV 22H,A END;清21H单元;低4位BCD码送21H单元,;低4位BCD码转换位ASCII码;高4位BCD码转换位ASCII码源程序2023/1/1723第23页,共74页,编辑于2022年,星期五例例:设两个:设两个1616位数据分别存在位数据分别存在23H23H、22
16、H22H和和33H33H、32H32H单单元,求二者之和,并送入元,求二者之和,并送入43H43H和和42H42H单元。单元。2023/1/1724第24页,共74页,编辑于2022年,星期五4.2.24.2.2 分支程序 分支程序可根据要求分支程序可根据要求无条件无条件或或条件地条件地改变程序执行流向。改变程序执行流向。编写分支程序主要在于正确使用编写分支程序主要在于正确使用转移指令转移指令。分支程序有:单分。分支程序有:单分支结构、双分支结构、多分支结构(散转)支结构、双分支结构、多分支结构(散转)条件成立?下条指令程序段A单分支结构YN条件成立?程序段AYN程序段A双分支结构2023/1
17、/1725第25页,共74页,编辑于2022年,星期五K=?程序段nn0程序段1多分支结构程序段012023/1/1726第26页,共74页,编辑于2022年,星期五例、已知例、已知X X、Y Y均为均为8 8位二进制有符号数,分别存在位二进制有符号数,分别存在30H30H31H31H中,试编制能实现下列符号函数的程序:中,试编制能实现下列符号函数的程序:2023/1/1727第27页,共74页,编辑于2022年,星期五2023/1/1728第28页,共74页,编辑于2022年,星期五例例1 1:设变量:设变量x x以补码形式存放在片内以补码形式存放在片内RAM 30HRAM 30H单元单元中
18、,变量中,变量y y与与x x的关系是:的关系是:编程根据编程根据x x的值求的值求y y值并放回原单元。值并放回原单元。2023/1/1729第29页,共74页,编辑于2022年,星期五A=?y=x+50y=20Hy=x0取x 即(30h)A开始存y 即y 30h结束2023/1/1730第30页,共74页,编辑于2022年,星期五 ORG 1000HSTART:MOV A,30H JZ NEXT ;x=0,转移 ANL A,#80H ;保留符号位 JZ ED ;x0,转移 MOV A,#05H ;x0,不转移 ADD A,30H MOV 30H,A SJMP ED NEXT:MOV 30H
19、,#20H ED:SJMP$2023/1/1731第31页,共74页,编辑于2022年,星期五 S0S0单独按下,单独按下,红灯亮红灯亮,其余灯灭;其余灯灭;S1S1单独按下,单独按下,绿灯亮绿灯亮,其余其余灯灭;灯灭;其余情况,其余情况,黄灯亮。黄灯亮。例已知电路如图所示,要求实现:例已知电路如图所示,要求实现:2023/1/1732第32页,共74页,编辑于2022年,星期五解:程序如下解:程序如下SGNL:ANL P1,#11100011BSGNL:ANL P1,#11100011B;红绿黄灯灭红绿黄灯灭 ORL P1,#00000011BORL P1,#00000011B;置置P1.0
20、P1.0、P1.1P1.1输入态输入态,P1.5P1.5P1.7P1.7状态不变状态不变SL0:JNB P1.0,SL1SL0:JNB P1.0,SL1 ;P1.0=0,S0;P1.0=0,S0未按下未按下,转判转判S1S1 JNB P1.1,RED JNB P1.1,RED ;P1.0=1,S0;P1.0=1,S0按下按下;且且P1.1=0,S1P1.1=0,S1未按下未按下,转红灯亮转红灯亮YELW:SETB P1.4YELW:SETB P1.4 ;黄灯亮黄灯亮 CLR P1.2CLR P1.2 ;红灯灭红灯灭 CLR P1.3CLR P1.3 ;绿灯灭绿灯灭 SJMP SL0SJMP S
21、L0 ;转循环转循环SL1:JNB P1.1,YELWSL1:JNB P1.1,YELW ;P1.0=0,S0;P1.0=0,S0未按下未按下;P1.1=0,S1;P1.1=0,S1未按下未按下,转黄灯亮转黄灯亮GREN:SETB P1.3GREN:SETB P1.3 ;绿灯亮绿灯亮 CLR P1.2CLR P1.2 ;红灯灭红灯灭 CLR P1.4CLR P1.4 ;黄灯灭黄灯灭 SJMP SL0SJMP SL0 ;转循环转循环RED:SETB P1.2RED:SETB P1.2 ;红灯亮红灯亮 CLR P1.3CLR P1.3 ;绿灯灭绿灯灭 CLR P1.4CLR P1.4 ;黄灯灭黄灯
22、灭 SJMP SL0SJMP SL0 ;转循环转循环 2023/1/1733第33页,共74页,编辑于2022年,星期五 4.2.3 4.2.3 循环程序循环程序循环程序一般由:初始化部分 循环体部分-处理部分、修改部分、控制部分 结束部分其结构一般有两种:先进入处理部分,再控制循环 至少执行一次循环体 先控制循环,再进入处理部分 循环体是否执行,取决于判断结果。2023/1/1734第34页,共74页,编辑于2022年,星期五开始设置循环初值循环处理循环修改结束处理结束循环结束?开始设置循环初值循环处理循环修改结束处理结束循环结束?NYYN2023/1/1735第35页,共74页,编辑于20
23、22年,星期五循环控制的一般方法:循环控制的一般方法:v 循环次数已知循环次数已知 利用循环次数控制利用循环次数控制v 循环次数未知循环次数未知 利用关键字控制利用关键字控制2023/1/1736第36页,共74页,编辑于2022年,星期五例:50ms延时子程序。设晶振频率为12MHz,则机器周期为1us。2023/1/1737第37页,共74页,编辑于2022年,星期五DEL:MOV R7,#200 ;1MCDEL1:MOV R6,#123 ;1MC NOP ;1MC DJNZ R6,$;2MC DJNZ R7,DEL1 ;2MC RET ;2MC延时时间:t=1+200(1+1+2*123
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 第四章PPT讲稿 第四 PPT 讲稿
限制150内