◎内容提要本章讲述MCS-51单片机的C51程序的基础知识,主要包括C51数据类型及存储类型、C51运算符及其表达式、C51流程控制语句、C51构造数据类型、C51指针的定义及使用、C51函数的定义及使用和预编译的用法。◇C51函数的定义、调用及使用时应注意的事项。※重点及难点◇C51存储类型和存储模式的区别。◇C51函数中参数的传递问题。教学目标:掌握MCS-51单片机的C51程序设计的基础知识。通过编程实例,快速掌握C51程序设计的思路和方法。......
2023-11-17
流程控制语句不论对汇编语言还是C51都是程序设计中最重要的部分,C51同C语言一样是结构化程序设计语言。结构化程序设计语言比非结构化程序设计语言有着突出的优点,即结构清晰,不易出错。结构化程序设计语言的构件是基本结构,基本结构是程序的组成部件,基本结构只有一个出口和一个入口,即不允许从模块中间插入(增加入口),也不允许从模块的中途退出(增加出口)。
C51的结构化程序由若干个函数构成,函数由若干个基本结构构成,基本结构由若干条语句构成。结构化的C51程序设计语言有3种基本结构,即顺序结构、选择结构和循环结构。
1.顺序结构
顺序结构是最基本、最简单的结构,在这种结构中,程序由低地址到高地址依次执行。图5-2给出了顺序结构流程图,程序先执行A操作,然后再执行B操作。
2.选择结构
图5-2 顺序结构流程图
图5-3 选择结构流程图
选择结构可使程序根据不同的情况,选择执行不同的分支。在选择结构中,程序先对一个条件进行判断。若条件成立,即条件语句为“真”时,执行一个分支;若条件不成立,即条件语句为“假”时,执行另一个分支。如图5-3所示,当条件P成立时,执行语句A;当条件P不成立时,执行语句B。
在C51中,实现选择结构的语句为if/else和if/else if语句。另外,在C51中还支持多分支结构,多分支结构既可以通过if和else if语句嵌套实现,也可用switch/case语句实现。(www.chuimin.cn)
3.循环结构
在程序处理过程中,有时需要某一段程序重复执行多次,这时就需要用循环结构来实现。循环结构就是能够使程序段重复执行的结构,分为当(while)型循环结构和直到(dowhile)型循环结构两种。
1)当型循环结构。当型循环结构如图5-4所示,当条件P成立(为true)时重复执行语句A;当条件P不成立(为false)时停止重复,执行后面的程序。
2)直到型循环结构。直到型循环结构如图5-5所示,先执行语句A,再判断条件P。当条件P成立(为“真”)时再重复执行语句A,直到条件P不成立(为“假”)时停止重复,执行后面的程序。
图5-4 当型循环结构(while)
图5-5 直到型循环结构(do-while)
构成循环结构的语句主要有while,do-while,for和goto等。工程实际中,尽量不要使用goto语句,使用goto语句可能会破坏程序结构。
有关单片机基础及应用的文章
◎内容提要本章讲述MCS-51单片机的C51程序的基础知识,主要包括C51数据类型及存储类型、C51运算符及其表达式、C51流程控制语句、C51构造数据类型、C51指针的定义及使用、C51函数的定义及使用和预编译的用法。◇C51函数的定义、调用及使用时应注意的事项。※重点及难点◇C51存储类型和存储模式的区别。◇C51函数中参数的传递问题。教学目标:掌握MCS-51单片机的C51程序设计的基础知识。通过编程实例,快速掌握C51程序设计的思路和方法。......
2023-11-17
C51支持的数据类型分为基本数据类型、构造数据类型和指针类型。C51的基本数据类型如表5-1所示,表中下面的5种数据类型是C51有的而标准C没有的。在MCS-51系列单片机中选择合适的数据类型,对提高运行效率具有特殊的意义。如果在编写C51程序时使用大量的、不必要的数据类型变量,就会导致C51编译器相应地增加了所调用的库函数的数量,以处理大量增加的数据类型变量,会使编译后的程序变得过于庞大。......
2023-11-17
程序存储器以程序计数器PC作为地址指针,通过16位地址总线,可寻址的地址空间为64KB,片内/外统一编址。根据单片机的类型及引脚的电平,CPU可从内部也可从外部程序存储器开始执行。而当EA=0时,内部程序存储器被忽略,程序直接从外部程序存储器的0000H开始执行。64KB程序存储器中有一些特殊的单元,在使用时应加以注意。0023H——串行口的中断服务子程序入口地址。......
2023-11-17
2)片外程序存储空间,简称片外ROM。C51的6种存储类型与存储空间的对应关系如表5-2所示。表5-2C51的存储类型与存储空间的对应关系表5-3C51的存储类型及其数据长度和值域当使用存储类型data、bdata定义常量和变量时,C51编译器会将它们定位在片内数据存储空间中,这个存储区根据单片机的型号不同,其长度也不同。整型变量var的存储类型是pdata,C51编译器将该变量定位在片外RAM中,并用指令MOVX@Ri访问。......
2023-11-17
单片机C51语言是由C语言继承而来的。和C语言不同的是,C51语言运行于单片机平台,而C语言则运行于普通的桌面平台。对于具有C语言编程基础的读者,能够轻松地掌握单片机C51语言的程序设计。自1985年第一个C51编译器诞生以来,有众多公司推出了各自的C51编译器,其中最著名的是德国的Keil Cx51编译器。本章首先介绍C51的基本知识,然后通过C51语言实例编程,使读者快速掌握C51程序设计的思路和方法。......
2023-11-17
如采取延时等待改为中断方式;循环次数减少和较快的循环指令;计算方法简化;时事性要求高的采用汇编语言编写程序等。④速度与程序长度冲突时,以速度为主。7)设置自诊断程序。在系统运行前、运行中执行必要的自诊断程序,以检查系统各特征参数是否正常,以提高运行的可靠性。......
2023-11-17
8051有5个中断源,即两个外部中断、两个定时/计数器中断和一个串行发送/接收中断。1.外部中断外部中断是由连接到单片机外部引脚信号变化而引起的中断,反映外部某一事件的发生。CPU是在每个机器周期的S5P2检测P 3.2和P 3.3上的信号,如果是有效信号则对定时器控制寄存器TCON中的IE0或IE1置1,建立中断请求标志。表6-1中断源的主要内容及说明......
2023-11-17
1.基本组成微型计算机的基本组成如图1-2所示。图1-2微型计算机的组成框图中央处理器CPUCPU是计算机的核心部件,它由运算器和控制器组成,完成计算机的运算和控制功能。电池式NVRAM是由CMOS的SRAM、备用电池和切换电路组成,在电源断开或低于某值时切换电路把备用电池接入,对RAM进行写保护,防止意外数据写入和信息丢失。......
2023-11-17
相关推荐