书签 分享 收藏 举报 版权申诉 / 1065
上传文档赚钱

类型单片机原理及接口技术全册配套最完整精品课件3.ppt

  • 上传人(卖家):罗嗣辉
  • 文档编号:1760763
  • 上传时间:2021-09-27
  • 格式:PPT
  • 页数:1065
  • 大小:8.83MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《单片机原理及接口技术全册配套最完整精品课件3.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    单片机 原理 接口 技术 配套 完整 精品 课件
    资源描述:

    1、单片机原理及接口技术全册单片机原理及接口技术全册 配套最完整精品课件配套最完整精品课件3 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 单片机原理与接口技术单片机原理与接口技术 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 1.1 单片机的发展历史单片机的发展历史 单片机的发展历史可以分成四个阶段。 第一个阶段是1971年到1974年。 第二个阶段是1974年到1978年。 第三个阶段是1978年到1982年。 第四个阶段是1982年到现在。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 第一个阶段第一个阶段 1971年11月美国Intel公司首先设计成 集

    2、成度为2000只晶体管的4位的微处理器 Intel40004,并且配有随机存储器RAM, 只读存储器ROM和移位寄存器等芯片,构 成第一台MCS-4微型计算机。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 第一个阶段第一个阶段 1972年4月Intel公司又研制了功能齐全 的8位微处理器Intel80000,这种微处理 器虽然还算不上单片机,但从此拉开了 研制单片机的序幕。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 第二个阶段第二个阶段 这是单片机研制的初级阶段,以Intel公 司的MCS-48为代表,这种单片机内集成 有8位CPU、并行I/O、8位定时器/计数

    3、器,寻址空间为4KB,这时单片机技术 进入了现场应用的阶段。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 第三个阶段第三个阶段 这是单片机推广运用的阶段,也是高性能 单片机研制阶段。在这一阶段出现的单片 机普遍带有串行口,有多级中断的处理系 统、16位定时器/计数器,片内RAM、 ROM容量加大,且寻址范围可达64KB, 有的片内还带有A/D转换器接口。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 第四个阶段第四个阶段 在这个阶段中,8位单片机已经得到了广泛 的应用,16位单片机也已经进入到实际应 用的阶段。一方面出现的各种类型的单片 机,另一方面EDA技术和ARM

    4、技术也在不 断地完善。尽管如此,单片机技术仍然是 EDA技术和ARM技术基础。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 1.2 MCS-51单片机的主要功能单片机的主要功能 单片机(single chip microcomputer),也 称为微控制器,是在一硅片上集成了各种 部件的微型计算机,这些部件包括中央处 理器CPU、随机存储器RAM、只读存储器 ROM、输入/输出I/O接口电路、定时器/计 数器和串行通信接口电路。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 1.2 MCS-51单片机的主要功能单片机的主要功能 MCS-51单片机有三种类型的基本产品8

    5、051、 8031和8751。这3个产品只是片内程序存 储器的制造工艺不同。8051的片内程序存 储器ROM为掩膜型的,在制造芯片时就已 经将程序固化到程序存储器中去了,因此 这种单片机具有某种专用的功能。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 1.2 MCS-51单片机的主要功能单片机的主要功能 MCS-51单片机具备一个完整的计算机所具 有的基本组成部分。一个计算机应该由三 部分组成。CPU、存储器和I/O接口。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 8051CPU的功能的功能 1、一个8位的CPU。 2、具有布尔代数的运算能力。 3、32条双向可被

    6、独立寻址的I/O。 4、片内有128字节的数据存储器。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 8051CPU的功能的功能 5、内部有两组16位的定时/计数器。 6、具有全双工的传输信号。 7、5个中断源,两层优先级的中断结构。 8、外部程序存储器可扩充到64K。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 1.3 MCS-51单片机的内部结构分析单片机的内部结构分析 8051单片机包含中央处理器、程序存储器 ROM、数据存储器RAM、定时器/计数器、 并行接口、串行接口和中断系统等几个单 元,以及数据总线、地址总线和控制总线 三个总线。 第第1 1章章 单片机

    7、的基本硬件结构单片机的基本硬件结构 MCS-51单片机的基本结构图单片机的基本结构图 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 8051系列单片机的组成系列单片机的组成 1、一个8位的中央处理器CPU 2、片内数据数据存储器RAM 3、片内程序存储器 4、四个8位并行输入输出接口 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 8051系列单片机的组成系列单片机的组成 5、两个定时器/计数器 6、MCS-51系列的单片机设有5个中断源 7、一个全双工的串行通信接口 8、片内振荡器和时钟产生电路 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 8位的中央处理器

    8、位的中央处理器CPU 这是单片机的核心部件,它的数据总线一 次能处理8位二进制数,CPU的作用是控制、 指挥和协调整个单元系统的协调工作,完 成运算和控制输入输出数据的操作。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 片内数据数据存储器片内数据数据存储器RAM 8051内部有128个8位的用户数据存储 单元,还有128个专用寄存器,它们是统 一编址的,专用寄存器只能用于存放控制 指令数据,用户只能访问,而不能用于存 放用户数据,所以,用户使用的RAM只有 128个,可存放读写的数据,运算的中间 结果或用户定义的字型表。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构

    9、片内程序存储器片内程序存储器 片内程序存储器有ROM(掩膜型)、 EPROM(红外线擦除式)和EEPROM (电擦除式)等常用形式。 主要是用来存放程序的,也可以用来 存放一些原始数据或表格。但要注意8031 和8032单片机内部没有程序存储器。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 四个四个8位并行输入输出接口位并行输入输出接口 四个8位并行输入输出接口(I/O) P0P3,每个口既可以用于输入数据,也 可以用于输出数据。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 两个定时器两个定时器/计数器计数器 两个定时器/计数器,既可以用于定时 器,也可以用于计数器

    10、。用于定时器时对 单片机内部脉冲计数,用于计数器时对外 部事件进行计数。一般情况下,当计数器 计满时,通过计算机的中断系统实现对现 场设备的控制。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 MCS-51系列单片机的中断源系列单片机的中断源 MCS-51系列的单片机设有5个中断源, 其中两个用于外部中断,两个用于定时器/ 计数器的中断,还有一个是串行口的中断。 这是一个比较完善的中断系统,拥有两级 优先级的选择,可以用来满足于不同设备 的控制要求。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 全双工的串行通信接口全双工的串行通信接口 一个全双工的UART(串行通信接

    11、口), 这是一个通用异步接收发送器,可以实现 单片机与单片机之间的串行通信。这个串 行口既可以用做异步通信收发器,也可以 用做同步移位寄存器。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 片内振荡器和时钟产生电路片内振荡器和时钟产生电路 片内振荡器和时钟产生电路,所用的 石英晶体振荡器最高频率为12MHZ,用 于产生整个单片机运行的脉冲时序,但是 要注意8051单片机需要外接振荡电容。 第第1 1章章 单片机的基本硬件结构单片机的基本硬件结构 总结总结 1、 单片机的发展历史 2 、单片机的基本硬件结构 3、 MCS-51单片机的内部结构分析 第第1 1章章 单片机的基本硬件结构

    12、单片机的基本硬件结构 第第1 1章结束章结束 单片机原理与接口技术单片机原理与接口技术 第第2 2章章 C C程序的设计程序的设计 C 语言是一种结构化语言。所谓结构化 语言就是不允许交叉程序的存在。结构 化语言的基本元素是模块,在C语言中 也称为函数。它是程序的一部分,只有 一个出口和一个入口,不允许中途插入, 也不允许以模块的其它路径退出。结构 化编程语言在没有恢复堆栈和其它相关 的寄存器之前,不应随便跳入或跳出一 个模块。 第第2 2章章 C C程序的设计程序的设计 2.1 C语言程序的基本结构语言程序的基本结构 2.1.1 C语言的程序结构 C语言程序的基本结构可以分成三部分, 即:主

    13、程序、函数和头文件。 第第2 2章章 C C程序的设计程序的设计 1主程序主程序 C语言的主程序是C语言开始执行的程序, 是不可缺少的部分,它是用main为函数 命名的。 第第2 2章章 C C程序的设计程序的设计 例例2-1: 如图2-1所示的电路,试写出一段程序, 运行后,使P1口上连接的8个LED发光 二极管全亮。如图2-1所示的电路,试写 出一段程序,运行后,使P1口上连接的 8个LED发光二极管全亮。 第第2 2章章 C C程序的设计程序的设计 应用程序:应用程序: main() char a; a=0; P1=a; 第第2 2章章 C C程序的设计程序的设计 程序分析:程序分析:

    14、在主程序中,首先定义一个字符型变量 char a,再给变量a赋值为0,最后从P1口 输出变量a的值0,P1口为低电平,LED上 有电流通过,所以8个LED发光二极管都亮。 第第2 2章章 C C程序的设计程序的设计 将变量的数值从将变量的数值从P1口输出口输出 第第2 2章章 C C程序的设计程序的设计 函数函数 函数也称子程序,一个程序只有一 个主程序,而函数可以有多个。除了保 留字,各种名称均可为函数命名,可以 有返回值。 第第2 2章章 C C程序的设计程序的设计 例例2-2: 下面函数可以用来判断从主程序传递 来的参数是否大于0。 第第2 2章章 C C程序的设计程序的设计 char

    15、loge (char i) if (i0) return 1; else return 0; 第第2 2章章 C C程序的设计程序的设计 程序分析:程序分析: 在括号中的char i ,说明调用函数 时需要传送一个参数,数据类型为字符 型的。程序最前面的char 说明函数结束 时,要返回一个参数,数据类型也是字 符型的。 第第2 2章章 C C程序的设计程序的设计 头文件头文件 头文件是以x.h文件名存储的,主要 是用来定义各硬件的I/O地址、常数,也 可以是函数的声明,主程序使用include 指令将它加载。对于单片机的编程来说, 头文件的定义是非常重要的。 第第2 2章章 C C程序的设计

    16、程序的设计 例例2-3: 下面的程序是根据P0口的工作状态决定 P1口输出高电平还是低电平。 第第2 2章章 C C程序的设计程序的设计 #include #include main( ) if (P00) P1=0 x00; else P1=0 xff; 第第2 2章章 C C程序的设计程序的设计 2.1.2 顺序结构顺序结构 顺序结构是一种简单的编程结构。 在这种结构中,程序由低地址向高地址 顺序执行指令。如图 2-2 所示,程序先 执行 指令1操作,再执行指令2 操作, 两者是顺序执行的关系。 第第2 2章章 C C程序的设计程序的设计 顺序结构流程图顺序结构流程图 第第2 2章章 C

    17、C程序的设计程序的设计 例例2-4: 编写一个程序,将两个变量的数据相 “与”后,通过P1口输出。 第第2 2章章 C C程序的设计程序的设计 main( ) char a,b,c; a=240; b=15 c=a P1=c; 第第2 2章章 C C程序的设计程序的设计 程序分析:程序分析: 程序中定义了三个变量,a、b和c, 再a赋值为240,是二进制的11110000B, 给b赋值为15,是二进制的00001111B, 执行语句c=a两数相“与”后, c=00000000B,通过P1口输出P1=0 x00。 第第2 2章章 C C程序的设计程序的设计 2.2选择结构选择结构 计算机的基本特

    18、性之一是具有重复执 行一系列指令的能力;而计算机的另一 个基本特性是具有选择能力。可以想象, 如果计算机不具备这种选择能力,它在 执行各种条件语句时,就不能按照人们 的意志,完成人们交给计算机的任务。 图2 -3 是选择结构流程图。 第第2 2章章 C C程序的设计程序的设计 选择结构流程图选择结构流程图 第第2 2章章 C C程序的设计程序的设计 例例2-5: 如图2-4所示的电路,试写出一段程序, 如果开关k闭合,P1口上的8个LED发光二 极管全亮,如果开关k断开,P1口上的8个 LED发光二极管全灭。 第第2 2章章 C C程序的设计程序的设计 main( ) char a; whil

    19、e(1) a=P3; a=a if (a = = 00) P1=0 x00; else P1=0 xff; 第第2 2章章 C C程序的设计程序的设计 用开关控制用开关控制8个个LED发光二极管发光二极管 第第2 2章章 C C程序的设计程序的设计 2.2.1 选择语句选择语句 if C 语言的一个基本判定语句(条件选择语 句)是 if 语句。 它的基本结构是: if (表达式) 语句 ; 在这种结构中,如果括号中的表达式 成立(为真),则程序执行花括号中的语 句;否则程序将跳过花括号中的语句部分, 执行下面其他语句。 第第2 2章章 C C程序的设计程序的设计 C 语言提供了三种形式的语言提

    20、供了三种形式的 if 语句语句 形式一: if (表达式) 语句 例:if(P3!=0)P1=0 x20; 第第2 2章章 C C程序的设计程序的设计 形式二:形式二: if (表达式) 语句例l ; else 语句 2 ; 例:if(P3!=0) P1=0 xff; else P1=0 x00; 第第2 2章章 C C程序的设计程序的设计 形式三形式三 if (表达式 l ) 语句 1 ; else if (表达式 2 ) 语句 2 ; else if (表达式 3 ) 语句 3 ; else if (表达式 m ) 语句 n ; else 语句 m ; 第第2 2章章 C C程序的设计程序

    21、的设计 例例2-6: 如图2-4所示的电路,下面的程序是根 据P3口的工作状态决定P1口输出的数据。 第第2 2章章 C C程序的设计程序的设计 用开关控制用开关控制LED发光二极管发光二极管 程序程序 main() if(P3= =0) P1=0 x00; else if (P3= =0 x01) P1=0 x01; else if (P3= =0 x02) P1=0 x02; else if (P3= =0 x04) P1=0 x04; else P1=0 x00; 第第2 2章章 C C程序的设计程序的设计 用开关控制用开关控制8个个LED发光二极管发光二极管 第第2 2章章 C C程序

    22、的设计程序的设计 if 语句的嵌套的基本形式语句的嵌套的基本形式 第第2 2章章 C C程序的设计程序的设计 例例2-7: 下面的程序是比较a、b和d三个变量的 大小,确定变量c的值。 可以用花括号将不对称的 if 括起来, 以确定它们之间的相应关系。 第第2 2章章 C C程序的设计程序的设计 main( ) char a=10,b=1,c,d=2; if (ab) if(ad) c=1; else c=0; 第第2 2章章 C C程序的设计程序的设计 例例2-8: 下面的程序是比较a、b和d三个变量的 大小,确定变量c的值。 如果 if 语句中花括号内只有一条语句, 则花括号可以省略 第第

    23、2 2章章 C C程序的设计程序的设计 main( ) char a=10,b=1,c,d=2; if (ab) if(ad) c=1; else c=0; 第第2 2章章 C C程序的设计程序的设计 如果花括号内语句不只一句,则此时花括号如果花括号内语句不只一句,则此时花括号 不能省,必须使用花括号并将它们括起来。不能省,必须使用花括号并将它们括起来。 if (ab) if(ad) c=1; else c=0; 第第2 2章章 C C程序的设计程序的设计 222串行多分支结构及其流程图串行多分支结构及其流程图 在串行多分支结构中,以单选择结构 中的某一分支方向作为串行多分支方向继 续进行选择

    24、结构的操作;一般来说,以条 件为真作为串行方向。若条件为假,则执 行另外的操作。最终程序在若干种选择之 中选出一种操作来执行,并从一个共用的 出口退出。 第第2 2章章 C C程序的设计程序的设计 串行多分支结构流程图串行多分支结构流程图 第第2 2章章 C C程序的设计程序的设计 例例2-9: 如图2-6所示的电路,当开关k0闭合时, 发光二极管LED0亮,开关k1闭合时,发光 二极管LED1亮,以此类推,开关k7闭合时, 发光二极管LED7亮。其它情况下,8个发 光二极管全灭。任一时刻只能有一个发光 二极管亮。 第第2 2章章 C C程序的设计程序的设计 用用8个开关控制个开关控制8个发光

    25、二极管个发光二极管 第第2 2章章 C C程序的设计程序的设计 main ( ) while(1) if (P1= =0 x01) P3=0 x01; else if (P1= =0 x02) P3=0 x02; else if (P1= =0 x04) P3=0 x04; else if (P1= =0 x08) P3=0 x08; else if (P1= =0 x10) P3=0 x10; else if (P1= =0 x20) P3=0 x20; else if (P1= =0 x40) P3=0 x40; else if (P1= =0 x80) P3=0 x80; else P3

    26、=0 x00; 第第2 2章章 C C程序的设计程序的设计 223 并行多分支结构及其流程图并行多分支结构及其流程图 在实际应用中,常常会遇到多分支选 择问题。例如以一个变量的值作为判断条 件,将此变量的值域分成几段,每一段对 应着一种选择或操作。这样当变量的值处 在某一个段中时,程序就会在它所面临的 几种选择中选择相应的操作。这显然是一 个典型的并行多分支选择问题。 第第2 2章章 C C程序的设计程序的设计 虽然可以用前面已掌握的 if 语句来解 决这个问题,但由于一个 if 语句只有两个 分支可供选择,因此必须用嵌套的 if 语句 结构来处理。如果分支较多,则嵌套的 if 语句层数多,程

    27、序冗长,从而导致可读性 降低。为此, C 语言提供了一个 switch 语句,用于直接处理并行多分支选择问题。 第第2 2章章 C C程序的设计程序的设计 switch 语句的一般形式如下:语句的一般形式如下: switch (表达式) Case常量表达式1: 语句 l ; break ; Case 常量表达式2: : 语句 2 ; break ; . . . case 常量表达式 n : 语句 n ; break default : 语句 n + l 第第2 2章章 C C程序的设计程序的设计 例例2-10: 下面的程序是根据P0口的工作状态确定 P1口输出。 第第2 2章章 C C程序的设

    28、计程序的设计 main() char k; k=P0; switch(k) case 1: P1=0 x01; break; case 2: P1=0 x02; break; case 3: P1=0 x03; break; delfault: break; 第第2 2章章 C C程序的设计程序的设计 并行多分支结构流程图并行多分支结构流程图 第第2 2章章 C C程序的设计程序的设计 例例2-11: 如图2-8所示的电路,当开关k0闭合时, 发光二极管LED0亮,开关k1闭合时,发光 二极管LED1亮,以此类推,开关k7闭合时, 发光二极管LED7亮。其它情况下,8个发 光二极管全灭。任一时

    29、刻只能有一个发光 二极管亮。要求用switch - case 语句完成 同样的操作。 第第2 2章章 C C程序的设计程序的设计 并行多分支结构流程图并行多分支结构流程图 第第2 2章章 C C程序的设计程序的设计 main ( ) unsigned char k; while(1) k=P1 switch(k) case 0 xfe: P3=0 x01; break; case 0 xfd: P3=0 x02; break; case 0 xfb: P3=0 x04; break; case 0 xf7: P3=0 x08; break; case 0 xef: P3=0 x10; brea

    30、k; case 0 xdf: P3=0 x20; break; case 0 xbf: P3=0 x40; break; case 0 x7f: P3=0 x80; break; default : P0=0; break; 第第2 2章章 C C程序的设计程序的设计 2.3循环结构及其流程图循环结构及其流程图 所有的分支结构都使程序流程一直向 前执行,而使用循环结有构则可使分支流 程重复地进行。循环结构又分成“当” (while )型循环结构和“直到, ( do while )型循环结构两种。 第第2 2章章 C C程序的设计程序的设计 “当当”( while )型循环结构及其流程型循环结构

    31、及其流程 图图 如图 2-9 所示,在( while )型循环结 构中,当判断条件 P 成立(为真)时, 反复执行操作 A ,直到 P 条件不成立 (为假)时,才停止循环。 while 循环语句的语法流程图如图 2-9 所示。 第第2 2章章 C C程序的设计程序的设计 “while ”型循环结构流程图型循环结构流程图 第第2 2章章 C C程序的设计程序的设计 do while 循环的语句循环的语句 第第2 2章章 C C程序的设计程序的设计 while 循环结构的特点循环结构的特点 while 循环结构的最大特点在于,其 循环条件测试处于循环体的开头。要想执 行重复操作,首先必须进行循环条

    32、件测试, 若条件不成立,则循环体内的重复操作一 次也不能执行。 第第2 2章章 C C程序的设计程序的设计 例例2-12: 如图2-11所示的电路,当开关k闭合 时,P20为低电平,发光二极管 LED0LED3亮,开关k断开时,P20为 高电平,发光二极管LED4LED7亮。 第第2 2章章 C C程序的设计程序的设计 用用P20控制控制P1口的输出状态口的输出状态 第第2 2章章 C C程序的设计程序的设计 main ( ) while(1) while (P2 P1=0 x0f; 第第2 2章章 C C程序的设计程序的设计 “=”号与号与“= =”号的区别号的区别 注意“=”号与“= =”

    33、号的区别。“=” 是赋值运算符;而“= =”是测试相等运算 符,只是对该符号两边的表达式进行测试 和比较,而不进行赋值。 第第2 2章章 C C程序的设计程序的设计 例例2-13: 编写一段程序从P1口输出数据0-255。 第第2 2章章 C C程序的设计程序的设计 main() char a; while(1) for (a=0 ;a= =255 ; a+) P1=a; for (b=0 ;b 5 时, while 循环体结束。若无此 种语句,别循环将无休止地继续下去 第第2 2章章 C C程序的设计程序的设计 例例2-15 : 试用“while ”型循环结构编写一段延时程序。 第第2 2章

    34、章 C C程序的设计程序的设计 main ( ) unsigned int a; a=50000; while(a0) a-; 第第2 2章章 C C程序的设计程序的设计 “直到直到”(do while)型循环结构)型循环结构 第第2 2章章 C C程序的设计程序的设计 (do while)型循环结构)型循环结构 在这种结构中,先执行操作A,再判断 条件P。若P成立(为真),则再执行操作 A,此时反复执行操作 A ,直到P为假为止。 第第2 2章章 C C程序的设计程序的设计 do while 的程序流程图的程序流程图 第第2 2章章 C C程序的设计程序的设计 说明说明 在while 循环语

    35、句中,执行循环体之前 要先检测循环结束的条件。如果条件不成 立,则该循环不会被执行。 第第2 2章章 C C程序的设计程序的设计 说明说明 do while 循环语句把 while 循环语句作 了移位,即把循环条件测试的位置从起始 处移至循环的结尾处。该语句大多用于执 行至少一次以上循环的情况。 第第2 2章章 C C程序的设计程序的设计 do while 循环语句的执行过程循环语句的执行过程 首先执行循环体语句,然后执行圆括号 中的表达式。如果表达式的结果为真(1) , 则循环继续,并再一次执行循环语句。只 有当表达式的结果为假 ( 0 )时,循环才 会终止,并以正常方式执行程序后面的语 句

    36、。 第第2 2章章 C C程序的设计程序的设计 例例2-16: 试用“while ”型循环结构编写一段程 序,计算1+2+3+10。 第第2 2章章 C C程序的设计程序的设计 main ( ) int sum = 0, a=0; do sum+=a; a+; while(a=10); 第第2 2章章 C C程序的设计程序的设计 例例2-17 : 如图所示的电路,试用“while ”型循环 结构编写一段程序,当P30闭合时,P1口 的8个发光二极管LED0LED7闪烁,当P30 断开时,P1口的8个发光二极管 LED0LED7全灭。 第第2 2章章 C C程序的设计程序的设计 用用P30控制控

    37、制P1口的发光二极管闪烁口的发光二极管闪烁 第第2 2章章 C C程序的设计程序的设计 main ( ) unsigned int a; for ( ; ; ) do P1=0 xff; for (a=0;a50000;a+); x=P3; while(x P1=0 x00; for (a=0;a0) 第第2 2章章 C C程序的设计程序的设计 “dowhile ”与与“while ”语句的区语句的区 别别 “dowhile ”语句与“while ”语句的区 别是,在“dowhile ”型循环结构中,先 执行一次循环体,再判断是否满足循环条 件。而在“while ”型循环结构中,先判断 是否满

    38、足循环条件,再执行一次循环体。 第第2 2章章 C C程序的设计程序的设计 233 (for)型循环结构及其流程图型循环结构及其流程图 第第2 2章章 C C程序的设计程序的设计 for 循环语句循环语句 for 循环语句是循环语句中最为灵活 也是最为复杂的一种。它不仅可以用于循 环次数已经确定的情况,而且可以用于循 环次数不确定但已经给出循环条件的情况。 它既可以包含一个索引计数变量,也可以 包含任何一种表达式。除了被重复的循环 指令体外,表达式模块由三个部分组成。 第第2 2章章 C C程序的设计程序的设计 表达式模块由三个部分组成表达式模块由三个部分组成 第一部分是初始化表达式。对 C

    39、语言 而言,任何表达式在开始执行时都应该做 一次初始化。 第二部分是对结束循环进行侧试。对 C 语言而言,可以是任何一种测试,一旦测 试为假,就会结束循环。 第三部分是尺度增量。 第第2 2章章 C C程序的设计程序的设计 for 循环语句的一般形式循环语句的一般形式 for 循环语句的一般形式为 for (表达式 1 ;表达式 2 ;表达式 3 ) 语句; *循环体* / 第第2 2章章 C C程序的设计程序的设计 for 循环的语句执行过程循环的语句执行过程 先对表达式 1 赋初值,进行初始化。 判断表达式 2 是否满足给定的循环条件, 若满足循环条件,则执行循环体内语句, 然后执行第 步

    40、;若不满足循环条件,则 结束循环,转到第 步。 若表达式 2 为真,则在执行指定的循环语 句后,求解表达式 3 。 回到第 步继续执行。 退出 for 循环,执行下面一条语句。 第第2 2章章 C C程序的设计程序的设计 例例2-19 : 试用“for”型循环结构编写一段程序, 计算1+2+3+10。 第第2 2章章 C C程序的设计程序的设计 应用程序应用程序 main() int a,sum; sum=0; for (a=0; a=10; a+) sum+=a; 第第2 2章章 C C程序的设计程序的设计 例例2-20: 电路如图2-14所示,试用“for”型循环 结构编写一段程序,从P1

    41、口输出数据, 依次点亮LED0LED7,程序运行时只有 一个发光二极管亮。 第第2 2章章 C C程序的设计程序的设计 图图2-14 从从P1口输出数据口输出数据 第第2 2章章 C C程序的设计程序的设计 对对 for 循环语句的几种特例进行说明循环语句的几种特例进行说明 for 语句中的小括号内的三个表达式全部 为空。 例2-21:在实际运用中,有时需要单片机 不间断地对现场进行监测与控制,试用 for 循环语句编写一段程序,得到一个无 限的循环体。 第第2 2章章 C C程序的设计程序的设计 for (;) /*循环体循环体*/ 程序分析: 在小括号内只有两个分号,无表达式。 这意味着没

    42、有设初值,无判断条件,循环 变量为增值。这将导致一个无限循环。一 般在编制 8051 单片机监控程序需要无限循 环时,就采用这种形式的 for 循环语句 第第2 2章章 C C程序的设计程序的设计 表达式表达式 1 缺省缺省 for 语句三个表达式中,有一个或两个 缺省。 表达式 1 缺省。 例2-22:由于变量a的值在循环体外已经 确定,要求 a在现有值的基础上进行累加, 在循环体内可以省略变量的初值。 第第2 2章章 C C程序的设计程序的设计 应用程序应用程序 main( ) char a=0, sum=0; for (; a=100; a+) sum=sum+a; 第第2 2章章 C

    43、C程序的设计程序的设计 程序分析:程序分析: 在语句for (; a0) sum=sum+a else break; 第第2 2章章 C C程序的设计程序的设计 程序分析:程序分析: 在for (a=1; ; a+)语句中省去了表达 式 2,即不判断循环条件,认为表达式始 终为真。循环将无休止地进行下去。它相 当于: 第第2 2章章 C C程序的设计程序的设计 a=1; while(1) sum=sum+a; a+; 第第2 2章章 C C程序的设计程序的设计 表达式表达式 1 , 3 省略。省略。 例2-24:前面的例子已经讲过如果变量 的初值在进入循环体之前已经存在,可以 省略表达式1。有

    44、时程序的循环体中已经有 了变量的增值语句,也可以省略表达式3, 这时只要有表达式2就可以了。下面的程序 就能完成这一功能。 第第2 2章章 C C程序的设计程序的设计 main() char a=0,sum=0; for (; a=100 ; ) sum=sum+a; a+; 第第2 2章章 C C程序的设计程序的设计 程序分析:程序分析: 在for (;a=100 ;)语句中不但省去了表 达式1,还省略了表达式3,即只判断循环 条件,只要表达式2的条件满足。就退出 循环体。它相当于: 第第2 2章章 C C程序的设计程序的设计 while (a100) sum=sum+a; a+; 第第2

    45、2章章 C C程序的设计程序的设计 没有循环体的没有循环体的 for 语句。语句。 例2-25:有些延时程序,并不需要在循 环体内做任何事情,只是为了消耗计算机 的时间,这时就可以省略循环体。下面的 程序就能完成这一功能。 第第2 2章章 C C程序的设计程序的设计 应用程序应用程序 main( ) int m=2000; for (t=0;tm;t+); 第第2 2章章 C C程序的设计程序的设计 循环语句的用途循环语句的用途 循环的基本用途之一是用嵌套循环产 生时间延迟,执行指令消磨时间。这种延 时方式是依靠一定数量的时钟周期来定时 的,所以延时依赖于晶振的振荡频率。 第第2 2章章 C

    46、C程序的设计程序的设计 时钟周期数时钟周期数 8051单片机的数据手册中列出了每 一条机器指令所需要的时钟周期数,使 用 12MHz的晶振,12个振荡周期的指令 花费1s,而24个振荡周期指令花费2s。 第第2 2章章 C C程序的设计程序的设计 分支指令所用的时间分支指令所用的时间 所有3字节指令每条指令用2s,所有 分支指令每条指令用2s;所有12 字节 逻辑和算术指令,每条指令用1s,而寄 存器到寄存器传送用2s 。 第第2 2章章 C C程序的设计程序的设计 使用中断使用中断 有些指令要花费4s。当需要执行其他 操作时,用软件编程的方法来获得延时的 效率是很低的。软件延时使控制器在延时

    47、 循环时接收不到其它的输入,解决这个问 题的方法是使用中断。 第第2 2章章 C C程序的设计程序的设计 例例2-26: 下面是延时1ms的程序。如给这个 程序传递一个50的数值,则可以产生 约 50000s即50ms的延时。 第第2 2章章 C C程序的设计程序的设计 延时函数延时函数 void msec( unsigned int x) unsigned char j; while(x-) for (j=0; j125;j+) ; 第第2 2章章 C C程序的设计程序的设计 主程序主程序 main( ) msec(50) 第第2 2章章 C C程序的设计程序的设计 程序分析:程序分析: 这

    48、个程序可以用整型值产生较长的延 时。根据汇编代码进行的分析表明,用j 进行的内部循环大约延时8s,程序编写 得近似正确,但并不精确。不同的编译器 会产生不同的延时,因此 j 的上限值 125 应根据实验进行补偿调整。 第第2 2章章 C C程序的设计程序的设计 构成循环结构的常见语句构成循环结构的常见语句 构成循环结构的常见语句主要有: while , do while 和 for 等。 可以证明,由以上基本结构组成的程序,能 够处理任何复杂的问题。换句话说,任何 复杂的程序都是由以上三种基本结构组成 的。 第第2 2章结束章结束 单片机原理与接口技术单片机原理与接口技术 第第3章章 第第3

    49、3章章 C51 C51 函数函数 在高级语言中,函数和另外两个名词 “子程序”、“过程”用来描述同样的 事情;在Cx51中,使用“函数”这个术 语。它们都含有以同样的方法重复地去 做某件事的意思。 第第3 3章章 C51 C51 函数函数 主程序主程序maln( ) 主程序maln( )可以根据需要用来调用函数。 当函数执行完毕时,就发出返回(return) 指令,而主程序main( )用后面的指令来 恢复主程序流的执行。同一个函数可以在 不同的地方被调用,并且函数可以重复使 用。 第第3 3章章 C51 C51 函数函数 函数函数 所谓函数,就是将一些语句集合起来, 完成一个特定的功能。函数

    50、也相当于其 它编程语言中的子程序。C语言中将函 数分为主函数和其它函数。 第第3 3章章 C51 C51 函数函数 函数调用的一般规则函数调用的一般规则 所有的函数在定义时都是相互独立的, 一个函数中不能再定义其他函数,即函 数不能嵌套定义,但可以互相调用。函 数调用的一般规则是:主函数可以调用 其它普通函数;普通函数之间也可以互 相调用,但普通函数不能调用主函数。 第第3 3章章 C51 C51 函数函数 3.1 函数的分类函数的分类 从 C 语言程序的结构上划分, C 语 言函数分为主函数和普通函数两种。从 用户使用的角度划分,又可分为两类: 一类是标准库函数,另一类是用户自定 义函数。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:单片机原理及接口技术全册配套最完整精品课件3.ppt
    链接地址:https://www.163wenku.com/p-1760763.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库