
程序控制结构有3种,分别是顺序结构、选择(判断)结构、循环结构。
程序控制方式是指在程序控制下进行的数据传递方式。程序控制结构是指以某种顺序执行的一系列动作,用于解决某个问题。理论和实践证明,无论多复杂的算法均可通过顺序、选择、循环3种基本控制结构构造出来。每种结构仅有一个入口和出口。由这3种基本结构组成的多层嵌套程序称为结构化程序。所谓顺序结构程序就是指按语句出现的先后顺序执行的程序结构,是结构化程序中最简单的结构。编程语言并不提供专门的控制流语句来表达顺序控制结构,而是用程序语句的自然排列顺序来表达。计算机按此顺序逐条执行语句,当一条语 句执行完毕,控制自动转到下一条语句。现实世界中这种顺序处理的情况是非常普遍的,例如我们接受学校教育一般都是先上小 学,再上中学,再上大学;又如我们烧菜一般都是先热油锅,再将蔬菜入锅翻炒,再加盐加 佐料,最后装盘。
ALE是自动运行的,这个不用你在程序里去管。“顺问一下单片机往锁存器输出的地址和数据有什么分别,不都是二进制数吗”
虽然都是进制数据,但是意义不一样,而且位置不一样,作为地址时,是作用于芯片的地址端的,作为数据时,是作用在数据端的,这里有个时序的问题,就像同一个男教师,对儿子和对学生来说,意义不一样,面对不同的人,在不同的时间,这个男人的角色就不一样。
这个涉及到数电知识,你是大一,估计没学到数电,等你学了,你就明白了。
我简单的讲一下,要想深入了解,你要看数电课本。
51单片机与别的单片机不一样,他的数据端口和地址端口的低8位是同一个端口,都是P0口,那么,如何区分P0此时是数据还是地址?方法就是引入一个锁存器。
比如说,我向地址 是 0xEE55的地址里写入一个数据 “0xAA"
步骤过程是这个样子的:
1 ALE控制锁存器,允许锁存器跟踪
2 P2和P0口联合输出地址0xEE55,其中P2输出0xEE,P0输出0x55
3 ALE电平翻转,禁止锁存器跟踪,即此时,锁存器的输出端不在发生任何变化,所以,芯片地址不变,依旧是“0xEE55"
4 P0口输出数据 "0xAA",此时,芯片的数据端就出现"0xAA",
经过以上步骤,0xAA就被存入到地址0xEE55里去了。
以上过程是单片机自动进行的,不用程序特意干扰,如果执行:
unsigned char xdata *p = (unsigned char xdata *)0xEE55
*p = 0xAA
单片机自动进行以上4步骤的过程,ALE,P0,P2口都自动变化。
程序控制结构是指在程序控制下进行的数据传递方式。程序控制结构是指以某种顺序执行的一系列动作,用于解决某个问题。理论和实践证明,无论多复杂的算法均可通过顺序、选择、循环3种基本控制结构构造出来。每种结构仅有一个入口和出口。由这3种基本结构组成的多层嵌套程序称为结构化程序。
程序是一个语句序列,执行程序就是按特定的次序执行程序中的语句。程序中执行点的变迁称为控制流程,当执行到程序中的某一条语句时,也说控制转到了该语句。由于复杂问题的解法可能涉及复杂的执行次序,因此编程语言必须提供表达复杂控制流程的手段,称为编程语言的控制结构,或程序控制结构。
所谓顺序结构程序就是指按语句出现的先后顺序执行的程序结构,是结构化程序中最简单的结构。编程语言并不提供专门的控制流语句来表达顺序控制结构,而是用程序语句的自然排列顺序来表达。计算机按此顺序逐条执行语句,当一条语 句执行完毕,控制自动转到下一条语句。现实世界中这种顺序处理的情况是非常普遍的,例如我们接受学校教育一般都是先上小 学,再上中学,再上大学;又如我们烧菜一般都是先热油锅,再将蔬菜入锅翻炒,再加盐加 佐料,最后装盘。
选择结构又称为分支结构。当程序执行到控制分支的语句时,首先判断条件,根据条件表达式的值选择相应的语句执行(放弃另一部分语句的执行)。分支结构包括单分支、双分支和多分支三种形式。
其中<条件表达式>是布尔表达式,<条件语句体>是由一条或多条语句组成的语句序列。<条件语句体>的左端与 if 部分相比必须向右缩进,表明它是 if 部分(不妨理解为条件语句的头 部)的下属,就像躯体是头部的下属一样。
if 语句的语义很容易理解:首先计算 if 后面的条件表达式,如果结果为 True,则控制转 到条件语句体的第一条语句,一旦条件语句体执行完毕,控制即转到 if 语句的下一条语句; 如果结果为 False,则跳过条件语句体,控制直接转到 if 语句的下一条语句。图 1中的流程 图形象地解释了 if 语句的语义,其中菱形框表示条件测试。虽然 if 语句根据条件表达式计算 结果的不同而有两个分支,但我们习惯说这种形式的 if 语句实现的是单分支控制结构,因为 有一个分支什么也不做。注意,无论条件是真是假,最后控制都转到 if 语句的下一条语句, 也就是说这条 if 语句内部虽有两个分支,但总体只有一个出口。
所谓顺序结构程序就是指按语句出现的先后顺序执行的程序结构,是结构化程序中最简单的结构。编程语言并不提供专门的控制流语句来表达顺序控制结构,而是用程序语句的自然排列顺序来表达。计算机按此顺序逐条执行语句,当一条语 句执行完毕,控制自动转到下一条语句。现实世界中这种顺序处理的情况是非常普遍的,例如我们接受学校教育一般都是先上小 学,再上中学,再上大学;又如我们烧菜一般都是先热油锅,再将蔬菜入锅翻炒,再加盐加 佐料,最后装盘。
选择结构又称为分支结构。当程序执行到控制分支的语句时,首先判断条件,根据条件表达式的值选择相应的语句执行(放弃另一部分语句的执行)。分支结构包括单分支、双分支和多分支三种形式。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)