单片机应用技术(C 语言版)任务3 控制楼梯灯_第1页
单片机应用技术(C 语言版)任务3 控制楼梯灯_第2页
单片机应用技术(C 语言版)任务3 控制楼梯灯_第3页
单片机应用技术(C 语言版)任务3 控制楼梯灯_第4页
单片机应用技术(C 语言版)任务3 控制楼梯灯_第5页
已阅读5页,还剩18页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主编:李文华“十四五”职业教育国家规划教材经全国职业教育教材审定委员会审定控制楼梯灯任务要求单片机的P2.0和P2.1口线上分别接有两只开关S0、S1,P3.5口线上接有发光二极管控制电路。开关S0、S1同时闭合或者同时断开时,发光二极管熄灭,开关S0、S1中一个断开另一个闭合时,发光二极管点亮。

相关知识1、关系运算符作用:用来测试两个数据之间的大小关系。C51中的关系运算符如下:运算符含义优先级结合方向<小于优先级相同(第6级)从左向右>大于<=小于或者等于>=大于或者等于==测试等于优先级相同(第7级)!=测试不等于相关知识说明:(1)关系运算符的优先级高于赋值运算符“=”。(2)如果一个表达式中含有多个运算符,则先进行优先级高的运算,同级别的运算由结合方向确定运算的先后顺序,若结合方向是从左向右,则按从左至右的顺序进行运算,若结合方向是从右向左,则按从右至左的顺序进行运算。举例:a>b!=c //>的优先级高于!=,此式等价于(a>b)!=ca==b<=c //==的优先级低于<=,此式等价于a==(b<=c)a>b<=c 此式等价于(a>b)<=c相关知识关系表达式:用关系运算符将两个表达式连起来的式子关系表达式的值是一个逻辑值,给定条件成立时,关系表达式的值为1(真),否则为0(假)。举例:若a=3,b=2,c=1,则在a>b!=c中,a>b成立,值为1,1!=c不成立,值为0,故表达式的值为0。在f=a>b>c中,关系运算符的优先级高于赋值运算符“=”,表达式为赋值表达式,等价于f=((a>b)>c),a>b的值为1,1>c为假,值为0,“=”右边的关系表达式的值为0,故f=0。相关知识2、逻辑运算符共3种,如下表所示:运算符含义优先级结合方向!逻辑非(NOT)第2级从右向左&&逻辑与(AND)第11级从左向右||逻辑或(OR)第12级“&&”和“||”是双目运算符,要求有两个运算对象,它们的结合方向都是从左至右,“!”是单目运算符,只要求一个运算对象,其结合方向是从右至左,运算对象位于“!”的右边。相关知识2、逻辑运算符各运算符的优先级:相关知识运算符表达式运算法则&&a&&ba、b均为真时,表达式的值为真,其他情况下表达式的值为假。||a||ba、b均为假时,表达式的值为假,其他情况下表达式的值为真。!!aa为真时,表达式的值为假,a为假时,表达式的值为真。2、逻辑运算符逻辑运算法则相关知识①参加逻辑运算的表达式的值不为0,该表达式的值为真,仅当参加运算的表达式的值为0时,才将该表达式的值视为假。②在逻辑表达式的结果中,真用1表示,假用0表示。③C51在求解逻辑表达式时,如果前面的操作数可以确定表达式的值,则逻辑运算符后面的式子将不被求解。即:在a&&b中,若a=0,则不求解b,仅当a≠0时,才求解b。在a||b中,若a≠0,则不求解b,仅当a=0时,才求解b。举例,下列程序段执行后,a、b、c的值各为多少?unsigned char a=2,b=3,c;c=(a=4)||(b=5);答:a=4,b=3,c=12、逻辑运算符逻辑运算法则相关知识3、表达式语句与复合语句(1)表达式语句在一个表达式后面加上分号(;),一般形式如下:表达式;C51中,单独的一个分号(;)是一条空语句(2)复合语句用大括号{}将多条语句括起来就构成了具有一定功能的语句块。复合语句在程序中应该当成单条语句看待。举例:if(i<5) //1{ //2语句块开始

j=6; //3 k=i+4; //4} //5语句块结束相关知识4、if分支结构相关知识5、P2口的应用特性位结构控制C=1时,P2口作地址总线口使用。控制C=0时,P2口作普通I/O口使用。P2口既可以作普通的I/O端口使用,又可以作地址总线口使用。相关知识⑴P2口作普通的I/O口使用条件:单片机片外不扩展程序存储器、片外不扩展并行RAM也不扩展并行I/O芯片5、P2口的应用特性P2口的应用特性①输出驱动电路内接有上拉电阻,引脚上可以不接上拉电阻。②输出具有锁存功能,特殊功能寄存器P2是P2口的输出锁存器。③输入具有缓冲功能,读P2口的操作方法与P1口完全相同。相关知识⑵P2口作地址总线口使用条件:单片机的片外扩展了程序存储器、片外扩展并行RAM或者扩展并行I/O芯片时,P2口只能作地址总线口使用。5、P2口的应用特性特点:P2口用来输出高8位地址A15~A8。P2口的每一位端口可驱动4个LSTTL负载。单片机复位后,特殊功能寄存器P2=0xff,P2口处于普通I/O口状态。相关知识6、P3口的应用特性位结构P3端口是一个双功能I/O端口,各端口都具有两种功能选择,第一功能是作为通用的I/O口,如果P3口的某一位端口线上的第二功能没有启用,则该位端口线自动地处于第一功能状态,可以单独作普通的I/O口使用相关知识第一功能使用条件:端口线上的第二功能没有启用

6、P3口的应用特性特点:与P1口的作用相同输出具有锁存功能,输入具有缓冲功能,输入存在读引脚与读锁存器的区别,正确地读入引脚上的输入信号,必须先向端口写1,再读端口。

相关知识6、P3口的应用特性第二功能条件涉及的引脚第二功能串行口工作,接收数据P3.0RXD串行口工作,发送数据P3.1TXD打开外部中断0P3.2INT0打开外部中断1P3.3INT1定时/计数器0处于外部计数状态P3.4T0计数定时/计数器1处于外部计数状态P3.5T1计数写片外扩展RAM/扩展并行I/O芯片P3.6读片外扩展RAM/扩展并行I/O芯片P3.7相关知识作为输入时,不存在读引脚与读锁存器的区别,所读的数据是引脚上的信号,而不是锁存器的内容。P3口的每一位端口可驱动4个LSTTL负载。单片机复位后,特殊功能寄存器P3=0xff,P3口自动地处于作普通的I/O端口状态。任务实施1、搭建硬件电路电路图如下:任务实施2、编写软件程序(1)流程图任务实施2、编写软件程序#include <reg51.h>sbit s0=P2^0; //2开关S0接口定义:接P2.0口线sbit s1=P2^1; //3开关S1接口定义:接P2.1口线sbit led=P3^5; //4发光二极管接口定义:接P3.5口线void main(void) //5main函数{bit sw0,sw1; //6定义位变量sw0/sw1,用来保存S0/S1的状态while(1) //7while循环:永运为真,死循环(循环体为语句7至语句18) { //8while的循环体开始 s0=1; //9S0(P2.0)口线置高电平,准备读引脚输入 sw0=s0; //10读S0的输入至位变量sw0中 s1=1; //11S1(P2.1)口线置高电平,准备读引脚输入 sw1=s1; //12读S1的输入至位变量sw1中 if(sw0==sw1) //13若S0、S1的状态相同 { led=1; //14熄灭led(led=1) } //15 else //16不同 { led=0; //17则点亮led(led=0) } //18 } //19while的循环体结束} //20main函数结束应用总结与拓展文件包含是一种编译预处理命令。作用:在源程序中包含另一文件位置:一般放在源程序的开头处

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论