




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目二简单I O口控制电路设计 单片机的I O口控制电路是单片机应用系统设计中最基本 最简单的应用 学会制作单片机应用电路是学好单片机的重要一步 在单片机控制系统中 通过I O口进行开关量的控制占较大的比重 如LED发光二极管的亮灭 电动机的启停控制等 任务一闪烁灯的制作任务二广告灯的制作任务三花样广告灯的制作任务四多路开关状态指示任务五继电器控制照明设备 任务一闪烁灯的制作 在日常生活中 有各种各位的闪烁灯 有的应用于娱乐场所 有的应用于店面等的装饰 有的起警示作用 如舞台灯 汽车转向灯 十字路口的黄闪灯等 如图所示 任务要求 单片机I O口作输出口 接8个发光二极管 通过编程实现一个或多个发光二极管闪烁效果 常见的发光二极管主要有红色 绿色 黄色等单色发光二极管 另外还有双色的二极管 驱动LED可分为低电平点亮和高电平点亮两种 由于P1 P3口的内部上拉电阻较大 为20 40k 属于 弱上拉 因此P1 P3口输出高电平电流很小 为30 60 而低电平时 下拉MOS管导通 可吸收1 6 15mA的灌电流 负载能力强 因此在设计中 一般采用低电平驱动方式 任务分析 单片机C语言编程的基本方法 例 用C语言编写一个点亮接在P1口的低电平驱动的发光二极管的程序 include 51系列单片机头文件intmain void 主程序main函数 while 1 主程序中设置死循环程序 保证周而复始运行 所有控制程序写在此区域 while循环内 P1 0 xfe 点亮一个发光二极管 相关知识 1 C51中文件包含及常用头文件的说明 1 文件包含文件包含是指一个程序文件将另一个指定的文件的全部内容包含进去 文件包含的一般格式为 include或 include 文件名 如 include 引用寄存器文件 2 头文件在程序设计中引用头文件 其实际意义就是将这个头文件中的全部内容放到引用头文件的位置处 免去每次编写同类程序都要将头文件中的语句重复编写 C51头文件通常有reg51 h reg52 h math h ctype h stdio h intrins h 2 主函数main main函数的基本格式 intmain void 主程序main函数 单片机复位后总是从这里开始执行语句1 int表示main函数的返回值是int 整数 型 int可以省略 如果main函数中不加返回语句的话 默认返回0 小括号中的内容表示函数的参数 void表示无参数 即不带任何参数 void可省略 main函数后面的花括号中的内容就是这个函数的所有代码 每条独立语句的末尾都要加上分号 一行可以写多条语句 3 while循环语句while循环语句是常用的条件循环语句 可用来做固定次数的循环程序和不定次数的循环程序 其格式如下 while 表达式 语句 可为空 循环体 特点 先判断表达式 后执行内部语句 原则 若表达式不是0 即为真 那么执行语句 否则跳出while语句 执行后面的语句 需要注意的三点 1 在C语言中我们一般把 0 认为是 假 非0 认为是 真 也就是说 只要不是0就是真 2 内部语句可为空 就是说while后面的大括号里什么都不写也是可以的 如 while 1 既然大括号里什么也没有 那么我们就可以直接将大括号也不写 再如 while 1 中 一定不能少 否则while 会把跟在它后面第一个分号前的语句认为是它的内部语句 3 表达式可以是一个常数 一个等式 一个不等式 一个运算或一个带返回值的函数 对于while 1 语句 因为while里的表达式是1 永远为真 所以程序将永远循环执行这个大括号中的所有语句 需要说明的是 while语句还有另一种形式 do 语句 循环体 while 循环条件 执行过程是先执行循环体的内容 再进行判断循环条件 如果满足 则返回继续执行循环 在此形式中 循环体的内容至少被执行一次 4 注释的写法在c语言中 注释有两种写法 两个斜杠后面跟着的为注释语句 这种写法只能注释一行 当换行时 又必须在新行上重新写两个斜杠 斜杠与星号结合使用 这种写法可以注释任意行 即斜杠星号与星号斜杠之间的所有文字都作为注释 所有注释都不参与程序编译 编译器在编译过程会自动删去注释 注释的目的是为了使人们读程序方便 一般在编写较大的程序时 分段加入注释 因为有了注释 其代码的意义便一目了然了 硬件电路设计 P1 0口的LED亮只要把P1 0口的电平变成低电平 P1 0口的LED熄灭 就应将P1 0口的电平变成高电平 1 点亮发光二极管欲点亮某只发光二极管 只需使与其相连的口线输出低电平即可 如点亮从高位到低位的第1 3 5 7只发光二极管 实现的方法有字节操作和位操作 2 让发光二极管闪烁闪烁 顾名思义 就是将LED点亮再熄灭 不断反复 软件设计 1 main函数拼写错误 CPU无法找到主程序而无法运行 2 自定义变量 在后面引用时拼写错误 3 字母大小写错误 如I O端口P小写 4 数字 0 写成字母 o 5 语句结束少 6 花括号不配对 漏写或多写 程序调试中常见的错误 目前广告灯的应用非常广泛 用于装饰 广告等目的 如图所示 其应用场所分布于道路 街道两旁 以及影剧院 展览销会 商业闹市区 车站 机场 码头 公园等公共场所 任务二广告灯的制作 实现广告流水灯 即先灭掉前一个灯 然后点亮后一个灯 再延时一段时间 不断循环 任务分析 相关知识 一 for语句及简单延时语句 for语句格式 for 表达式1 表达式2 表达式3 语句 内部可为空 执行过程 第1步 求解一次表达式1 第2步 求解表达式2 若其值为真 非0即为真 则执行for中语句 然后执行第3步 否则结束for语句 直接跳出 不再执行第3步 第3步 求解表达式3 第4步 跳到第2步重复执行 需要注意的是 三个表达式之间必须用分号隔开 利用for语句和while语句可以写出简单的延时语句如unsignedchari for i 2 i 0 i 为了写出长时间的延时语句 可以通过嵌套来实现 unsignedchari j for i 100 i 0 i for j 200 j 0 j 上面这个例子是for语句的两层嵌套 相当于共执行了100 200次for语句 通过这种嵌套便可以写出比较长时间的延时语句 还可以进行3层 4层嵌套来增加时间 或是改变变量类型 将变量初值再增大也可以增加执行时间 二 延时函数 函数是指能够执行特定功能和任务的程序代码段 一个完整的C51程序是由一个主函数和若干个其他函数组成 主函数是main 函数 有且只有一个main 函数 1 无参函数的定义形式类型标识符函数名 声明部分语句 类型标识符和函数名称为函数头 类型标识符指明了本函数的类型 函数的类型实际上是函数返回值的类型 函数名是由用户定义的标识符 函数名后有一个空括号 其中无参数 但括号不可少 中的内容称为函数体 在函数体中声明部分 是对函数体内部所用到的变量的类型说明 在很多情况下都不要求无参函数有返回值 此时函数类型符可以写为void 延时改写成一个函数 voidDelay unsignedchari j for i 100 i 0 i for j 200 j 0 j 2 有参函数定义的一般形式类型标识符函数名 形式参数表列 声明部分语句 有参函数比无参函数多了一个内容 即形式参数表列 在形参表中给出的参数称为形式参数 它们可以是各种类型的变量 各参数之间用逗号间隔 在进行函数调用时 主调函数将赋予这些形式参数实际的值 形参既然是变量 必须在形参表中给出形参的类型说明 例如 定义一个带参数的延时函数可写为 voidDelay unsignedintDT unsignedinti 0 j 0 for i 0 i DT i for j 0 j 150 j 3 延时函数的调用例 delay 或Delay 30000 三 流程图 简单的程序可以直接编写源程序 而对于复杂的程序 往往不能直接完成源程序的编写 为了把复杂的工作变得条理化 直观化 通常在编写程序前先设计流程图 所谓流程图 就是用带箭头的线把矩形框 菱形框和圆角矩形框等连接起来 以表示实现这些步骤或过程的顺序 开始和结束符号 判断分支符号 模块功能符号 程序流向符号 如 闪烁灯程序流程图 硬件电路设计 软件设计 只要将8个发光二极管轮流点亮和熄灭 8个LED就会呈现出一亮一暗地形成流水灯的效果 一 移位运算符及循环移位函数 1 移位运算符移位运算符能够对变量中的数进行移位运算 包括左移位运算符 其格式如下 a a 2 将变量a中的数循环右移2位后赋给a注意 移位后末位补 0 方法二 相关知识 2 循环移位函数循环移位函数能够对变量中的数进行循环移位 属于MCS 51的内部函数 需要包含头文件 intrins h 以字符变量的循环移位函数为例来说明循环移位函数的使用 其格式如下 a crol a 2 将变量a中的数循环左移1位后赋给aa cror a 2 将变量a中的数循环右移1位后赋给a 二 if条件语句 if语句用来判定所给定的条件是否满足 根据判定结果决定执行给出的两种操作之一 if语句的基本结构如下 if 表达式 语句 括号中的表达式成立时 程序执行大括号内的语句 否则程序跳过大括号中的语句部分而直接执行下面其他语句 C51语言提供3种形式的if语句 形式一 if 表达式 语句 形式二 if 表达式 语句1 else 语句2 形式三 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式3 语句3 elseif 表达式m 语句m else 语句n 软件设计 includedelay unsignedinti for i 0 i 30000 i main unsignedchara P1 0 xfe while 1 delay a P1 1 P1 a 0 x01 if P1 0 xff P1 0 xfe main unsignedchara P1 0 xfe while 1 delay P1 crol P1 1 任务二中的广告灯的设计中都是有规律的 可以利用左 右移运算符或者左 右移函数就可实现 如果要实现复杂的 没有规律的变换 该如何做呢 任务三花样广告灯的制作 数组 C51语言的构造数据类型主要有数组 指针和结构等 在单片机系统中 数组的应用比较广泛 指针则次之 结构用的相对较少 数组是同类型变量的一个有序集合 数组用一个名字来标识 称为数组名 数组中的每个变量称为数组元素 数组有一维 二维 三维和多维数组之分 C51语言中常用的一维 二维数组和字符数组 数组中各元素的顺序用下标表示 下标为n的元素可以表示为数组名 n 改变 中的下标就可以访问数组中所有的元素 相关知识 类型说明符数组名 元素个数 intdemo1 10 初始化 inta 5 1 2 3 4 5 intb 6 1 2 6 数组的一个非常有用的功能是查表 如 defineucharunsignedcharucharcodeSEG 11 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 共阴极LED的显示字符段码表 constunsignedcharsz 25 0 xFE 0XFD 0XFB 0XF7 0XEF 0XDF 0XBF 0X7F 0X7F 0XBF 0XDF 0XEF 0XF7 0XFB 0XFD 0XFE 0XFF 0X7E 0XBD 0XDB 0XE7 0XDB 0XBD 0X7E 0XFF 定义花样数据 软件设计 while 1 for b 0 b 25 b P1 sz b delay 延时一段时间 单片机的P1 0 P1 3接四个发光二极管 P2 0 P2 3接四开关 编程将开关的状态反映到发光二极管上 开关闭合 对应的灯亮 开关断开 对应的灯灭 任务四多路开关状态指示 switch语句 相关知识 当使用条件语句来编写超过3个以上的分支程序 会使程序变得不那么清晰易读 开关语句 switch 既可以实现处理多分支选择的目的 又可以使程序结构清晰 switch语句是多分支选择语句一般形式如下 switch 表达式 case常量表达式1 语句1 break case常量表达式2 语句2 break case常量表达式n 语句n break default 语句n 1 硬件电路设计 a P2 读取开关的状态a a 软件设计 用单片机实现对照明设备的控制 如白炽灯 即实现用弱电控制强电 通过开关实现对灯的控制 任务五开关控制继电器 继电器 继电器是一种电控制器件 具有控制系统 输入回路 和被控制系统 输出回路 之间的互动关系 实际上就是用小电流控制大电流运作的一种 自动开关 在电路中起着自动调节 安全保护 电路转换等作用 相关知识 固态继电器内部结构 由于单片机输出的控制信号微弱 所以使用了固态继电器来进行这个信号转换 进而控制外部电路 固态继电器1口和2口外接220V电源 3口接 5V供电 4口接单片机控制端口 硬件电路设计 高电平驱动 低电平驱动 1 若继电器的工作电压为5V 则两种接法都正确 2 若继电器的工作电压大于5V 如12V
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 红菜苔管理办法视频
- 中国石化污染管理办法
- 上海护士岗位管理办法
- 仓库下属人员管理办法
- 上市企业税务管理办法
- 业务运营机制管理办法
- 葡萄不开花管理办法
- 中医学院物业管理办法
- 专业监理公司管理办法
- 规范财务帐目管理办法
- 中小学学习《民法典》主题班会图文ppt
- 20客户画像与标签管理课件
- 领导干部个人有关事项报告表(2019版)(范本模板)
- 《公务员激励机制研究(论文)8000字》
- 相关方需求和期望分析表
- (中职)PLC实训课件完整版课件全套ppt教学教程(最新)
- QC成果施工现场移动式网络布设及监控一体化装置的研制
- 《发育生物学》课件第八章 胚轴的特化与体轴的建立
- 新沪教牛津版七年级上册英语全册教案
- 《传统与革新──从巴洛克艺术到浪漫主义》教案
- 《石油库设计规范》修订2022-07
评论
0/150
提交评论