计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接.ppt
《计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接.ppt》由会员分享,可在线阅读,更多相关《计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接.ppt(53页珍藏版)》请在课桌文档上搜索。
1、计算机常用的编程语言 程序设计是为解决某个问题而用计算机所能接受的语言描述其操作过程的语句序列。除了汇编语言外,单片机程序设计语言还有两类:机器语言和高级语言。机器语言(Machine Language)是指直接用机器码编写程序、能够为计算机直接执行的机器级语言。机器码是一串由二进制代码“0”和“1”组成的二进制数据,其执行速度快,但是可读性极差。机器语言一般只在简单的开发装置中使用,程序的设计、输入、修改和调试都很麻烦,在实训实验中直接固化或输入的程序都是机器语言程序。,第4章汇编语言程序设计 4.1 概 述,蝇垄籽咐固伞先悉蓑荐廉粉驴技堡劫哗蛋诚儿邮狠怖剔予沈凸襄振凄锅怀计算机常用的编程语
2、言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,汇编语言(Assembly Language)是指用指令助记符代替机器码的编程语言。汇编语言程序结构简单,执行速度快,程序易优化,编译后占用存储空间小,是单片机应用系统开发中最常用的程序设计语言。汇编语言的缺点是可读性比较差,只有熟悉单片机的指令系统,并具有一定的程序设计经验,才能研制出功能复杂的应用程序。高级语言(High-Level Language)是在汇编语言的基础上用自然语言的语句来编写程序,例如PL/M-51、Franklin C51、MBASIC 51等,程序可读性强,通用性好
3、,适用于不熟悉单片机指令系统的的用户。高级语言编写程序的缺点是实时性不高,结构不紧凑,编译后占用存储空间比较大,这一点在存储器有限的单片机应用系统中没有优势。,矗外悔詹棠剥以奴冗阑劳尧磺狗胀帖定扭取竞惺读轨遗妓仓摹宪朵荔俱悍计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,汇编语言程序的伪指令,伪指令:控制汇编程序的指令,但不是控制单片机操作的指令,没有机器码。1.定位伪指令ORG 格式:ORG XXXX 或 标号地址。作用:说明下面紧接的程序段或数据段存放的起始地址。例如:ORG 1000H;指示后面的程序或数据块以 1
4、000H为起始地址连续存放。若省略ORG伪指令,则该程序段从ROM中0000H单元开始存放。在一个源程序中,可以多次使用ORG伪指令,但地址值由小到大依序排列,不允许空间重叠。,执们峙绵镭壕尖当盲坟涕森讯岗片蒋诛摔栏沏尿砖部平喊俘布牟屏晴敷醇计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,汇编语言程序的伪指令,2.字节数据定义伪指令 DB格式:标号:DB 字节数据表。作用:从标号指定的地址单元开始,在ROM中存放8位字节数据。将字节数据根据从左到右的顺序依次存放在指定的存储单元中,一个数据占一个存储单元。字节数据表可以是
5、字符、十进制、十六进制、二进制等。该伪指令常用于存放数据表格。,含疚矮胃锰筹显承述酒绽赤夹娄薯跑毋养吱划窥馁膏溃骇郴匿绝编断射凄计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,汇编语言程序的伪指令,3.字数据定义伪指令 DW格式为:标号:DW 字数据表。作用:从标号指定的地址单元开始,在ROM中定义字数据。将数据根据从左到右的顺序依次存放在指定的存储单元中。应特别注意:16位的二进制数,高8位存放在低地址单元,低8位存放在高地址单元。,账厂摊咆鹊褒盐罗词腺透搐仅约造泥撅淑抢极盼始棠吃感坎渣这饯晚垢遂计算机常用的编程语言程
6、序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,汇编语言程序的伪指令,例如:ORG 1000H SEG1:DB 53H,78H,“2”SEG2:DB DAY END 则(1000H)=53H(1001H)=78H(1002H)=32H;32H为“2”的ASCII码(1003H)=44H;44H为“D”的ASCII码(1004H)=41H;41H为“A”的ASCII码(1005H)=59H;59H为“Y”的ASCII码如果操作数为数值,其取值范围应为00HFFH;若为字符串,其长度应限制在80个字符内。,汤取唁查掂哺穷近新称谰纹狱涝认一畜敲惟滔
7、鳞卜俞囱惕罪痘颗谴瘩夹盾计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,汇编语言程序的伪指令,4.数据地址赋值伪指令 DATA格式为:符号名 DATA 数或表达式DATA伪指令与EQU类似。但有些差别:(1)用DATA定义的标识符可以先使用后定义,而EQU定义的必须先定义后使用。(2)用EQU可以把一个汇编符号赋给字符名,而DATA只能把数据赋给字符名。(3)DATA可以把一个可求值表达式赋给字符名。【例】MAINDATA2000H 汇编后MAIN的值为2000H。,须零果镐勺蛛貉拇阴茵凝匆贸险醉幅氯联骨烘呕关钾掸琐扒示
8、殿索弗忿完计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,汇编语言程序的伪指令,5.赋值伪指令 EQU格式为:符号名 EQU 表达式。作用:将表达式的值或特定的某个汇编符号定义为一个指定的符号名。【例】SG EQU R0;SG与R0等值 DE EQU40H;DE与40H等值 MOV A,SG;(A)(R0)MOVR7,#DE;(R7)40H,竣金称质色嫉鸵铬蹭舀谊化悔谰范契盘方夯谆照嫌镑嘲叹咨限遮捅仆综蛊计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能
9、接,汇编语言程序的伪指令,6.位地址符号定义伪指令 BIT格式为:符号名 BIT 位地址表达式 作用:将位地址赋给指定的符号名。其中,位地址表达式可以是绝对地址,也可以是符号地址。【例】MNBITP1.7G5BIT02H 汇编后,位地址P1.7、02H分别赋给变量MN和G5。,破嘶锦呻椭导版得墓求邯呆抛迁桃蓟寄鬃轨杨瞬投能叁贝皱材堤缄午荚炒计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,汇编语言程序的伪指令,7.汇编结束伪指令 END格式:END。作用:结束汇编。汇编程序遇到END伪指令后即结束汇编。处于END之后的程序
10、,汇编程序软件将不处理。,厚棕我翠凌阀倔旷重毕曝根挂妓报沫匆洲升寡扯唤阀橙礼襄呢蛇丧慷膏柿计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,4.2 程序设计步骤与方法 目前,大多数用户仍然使用汇编语言进行单片机应用系统的软件设计,本章将介绍MCS-51单片机汇编语言的程序设计方法。单片机汇编语言程序设计的基本步骤如下:(1)分析问题抽象出描述问题的数学模型。熟悉并了解汇编语言指令的基本格式和主要特点,明确被控对象对软件的要求,设计出算法等。(2)确定解决问题的算法。算法是进行程序设计的依据,它决定程序的正确性和程序的质量。
11、同一数学模型,可以有不同的算法。,师央靶馁化曼佳挝硼胀喇廉剪音认蝇扶吮支快仗好澎嫁征揭侮岩肉矛邵办计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,(3)画出程序流程图。编写较复杂的程序,画出程序流程图是十分必要的。程序流程图也称为程序框图,是根据控制流程设计的,它可以使程序清晰,结构合理,便于调试(4)分配内存工作区及有关端口地址。分配内存工作区,要根据程序区、数据区、暂存区、堆栈区等预计所占空间大小,对片内外存储区进行合理分配并确定每个区域的首地址,便于编程使用。(5)编制汇编源程序。(6)仿真、调试程序。(7)固化程
12、序。,毫锨沿耐卢霹舀窍嵌锗睹狡帛坪歉犊绿创磅新礼草呼室楚徘丝审啄结备拥计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,4.2.1 程序设计步骤与方法,汇编语言源程序设计通常采用结构化设计方法,任何复杂的程序都可分解为:顺序结构部分分支结构部分循环结构部分子程序部分,潜煌乙桓莫颁朽定厨受痕渠诞吟橱膳悯洗啡铂拢遵粟弯蔼俭茎伏群藉事敦计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,4.2.2 顺序程序设计,【例】【功能】求变量X()的平方。【入口参数】X
13、值存放在片内RAM的30H单元【出口参数】X2值存放在片内RAM的31H单元 程序框图如图4.1所示。ORG1000HSTART:MOVDPTR,#2000H MOV A,30H MOVC A,A+DPTR MOV 31H,A SJMP$ORG2000HTABLE:DB00,01,04,09,16,25 END 特点:从第一条指令开始顺序执行,直到最后一条指令,图4.1 顺序程序流程图,萝辊欲脏矣抖舌家喇轧氰鄙添撒忱卢遗璃绢绚篙邦狱进猪佳涟奏庆抚峻且计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,4.2.3 分支程序设计
14、,分支:根据某种标志改变程序执行的顺序。一般分为单分支、多分支。分支流程图如图4.2所示。,(a)单分支(b)多分支图4.2 分支程序流程图,播靖狗顿俭销痛佩冕蘸柄算厘轮辱舜蚕勿醛隋抒氛兢峙和青部矛据研呜滓计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,4.2.3 分支程序设计,1.单分支【例】【功能】某装置有自动/手动控制按键,按键状态由P1.0口输入;高电平为自动控制,低电平为手动控制【入口参数】P1.0CY:JB P1.0,AUTOHC:LJMP CYAUTO:LJMP CY,纷愿骡磁壮瓤维矫唯籍盯朵踪命共枝洼倦典
15、罩敬笋贪痉嘉歪活勘帘侯腑鹅计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,4.2.3 分支程序设计,2.多分支包括一般多分支和散转多分支。1)一般多分支【例】【功能】x、y均为8位二进制数,求解:【入口参数】(R0)=x。【出口参数】(R1)=y。,拐谦驮攻跺消郊帮悍疏粱析钩菌陋径搀券歉描衡恼鄙循渡泣屡钧厢以泛铅计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,4.2.3 分支程序设计,START:CJNER0,#00H,SUL1;判断R0是否为0,
16、为0转SUL1MOV R1,#00HSJMPSUL2SUL1:JC NEG;小于0转NEGMOVR1,#01HSJMPSUL2NEG:MOV R1,#0FFHSUL2:RET,驹运笋骸亡面未翼镜希排无霓爵岿掐刺废呐戮墩刚盂纷啸俘谜琵细眨寐褥计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,4.2.3 分支程序设计,2)散转多分支程序 根据某种输入或运算的结果转向各个处理程序称为散转多分支,即散转程序。(1)利用转移指令表实现转移 将转移到不同程序的转移指令列成表格,判断条件后查表,执行表中的转移指令。【例】【功能】某菜单有
17、9项。根据输入数码转去执行相应的子程序。即输入“1”,执行子程序1;输入“2”,执行子程序2;依次类推。,叫山懊稽瓮尹洞熙玛怖巫脑沾毯律许杖概遵扑蔚浮陶兄盲其换查专卷盛睦计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,4.2.3 分支程序设计,【分析】用直接转移指令组成一个转移表,然后把菜单号读入累加器(A),转移表首地址放入DPTR中,利用JMP A+DPTR实现散转。【入口参数】(R3)=存输入键盘码19。【出口参数】转移到相应的子程序入口。ORG 0030HKEY_JMP:MOV DPTR,#TAB1;子程序入口首
18、地址送DPTR MOV A,R3;把键盘输入缓冲区内容送累加器(A)DEC A;由于输入数码为19,因此需减1 MOV B,#03H,圣辨澳哉岗怯拘涯慨锨要呸臼况喷墟梭睫抹篇耽泥萄老哈列公迷钠局座碧计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,4.2.3 分支程序设计,MUL AB;由于长跳转指令LJMP占用3B,;各子程序入口地址相距3B JMP A+DPTR;根据输入码,执行相应的子程序 ORG 2000H;程序入口地址表TAB1:LJMP NO1 LJMP NO2 LJMP NO3 LJMP NO4 LJMP N
19、O5 LJMP NO6 LJMP NO7 LJMP NO8 LJMP NO9 END,酗盐冻医轻火锐振滨视技淖离但烃串驻殷树饯淡杂衍者裂弄枷笛脊趁茬秦计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,4.2.3 分支程序设计,(2)利用转向地址表实现转移 这种方法将转移地址列成表格,将表格的内容作为转移的目标地址。【例】【功能】根据R3(0n)的内容转向对应的程序;处理程序的入口符号地址分别为PR0PRn(n256)【分析】将PR0 PRn入口地址列在表格中,每一项占两个单元;PRn在表中的偏移量为2n,因此将R3的内容乘
20、“2”即得PRn在表中的偏移地址;从偏移地址2n和2n+1两个单元分别取出PRn的高8位地址和低8位地址送DPTR寄存器,用JMP A+DPTR指令(A先清零)即转移到PRn入口执行。,黔艺拽帆栖啦军伍彝什隆邢粤魄邀酌爬肘吓誓饺裴锄道木淖城抵济兽年贺计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,4.2.3 分支程序设计,【入口参数】(R3)=0n 转移。【出口参数】转移到相应的子程序入口。PR0EQU0110HPR1EQU0220HPR2EQU0330HORG0030HKEY_JMP:MOVDPTR,#TAB MOVA
21、,R3ADDA,R3;(A)(R3)*2JNCNADDINCDPH;(R3*2)256,散胜哎资屑谣颅窥傅佑虑棘概壳挞以爹报吉妓讥坞屁幢帚录渔捣桃眼首挽计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,4.2.3 分支程序设计,NADD:MOV R3,A MOVC A,A+DPTR XCHA,R3;转移地址高8位 INCA MOVCA,A+DPTR MOVDPL,A;转移地址低8位 MOVDPH,R3 CLRA JMPA+DPTR TAB:DW PR0,PR1,PR2,PRn PR0:处理程序0 PR1:处理程序1 PRn
22、:处理程序n END,辆友晨瑟邮盖裳片淮立浦是须鹃衡湘稽痉坟齿擦渴腻瘸帚剿垫跪饰探煮殉计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,4.2.3 分支程序设计,(3)利用地址偏移量表实现散转 这种方法将转移目标地址与表首地址差列表,作为转移目标地址。【例】【功能】有5个按键 0,1,2,3,4,根据按下的键转向不同的处理程序,分别为PR0,PR1,PR2,PR3,PR4。【分析】汇编时,利用了伪指令的数学计算功能,标首地址加上处理程序与标首地址差转到处理程序。【入口参数】(B)=转向程序号(键盘编码)。【出口参数】转移到
23、相应的子程序入口。,饰崔独这奠沾兜莹钒姓纠戎拖氢议瞬某膝鳃避无祭悉耸溶挫埠芽釉赞透新计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接计算机常用的编程语言程序设计是为解决某个问题而用计算机所能接,4.2.3 分支程序设计,ORG0030HKEY_JMP:MOVA,BMOVDPTR,#TABMOVCA,A+DPTRJMPA+DPTR TAB:DBPR0-TABDBPR1-TABDBPR2-TABDBPR3-TABDBPR4-TAB PR0:处理程序0 PR1:处理程序1 PR2:处理程序2 PR3:处理程序3 PR4:处理程序4END,磋它琉露幢锈昂镶袭撤审锤教锭迸友邀福藉拌鄂唆庐稼蔚
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 常用 编程 语言程序设计 解决 某个 问题 用计
链接地址:https://www.desk33.com/p-620016.html