项目12.ppt
《项目12.ppt》由会员分享,可在线阅读,更多相关《项目12.ppt(68页珍藏版)》请在三一文库上搜索。
1、项目一 指示灯控制系统设计与调试,任务2 指示灯开关控制模块,2,内容提要,日常生活中有哪些形式的开关? 开关的工作方式通常有哪些?(具体举例) 按键与单片机的接口电路如何设计? 单片机I/O口有何特殊处理?,3,项目效果图,4,主要内容,5,设计步骤,1,2,3,5,4,任务分析,确定方案,硬件设计,软件设计,系统调试,指示灯开关控制模块,6,设计要求,7,硬件电路设计 具体可分为,硬件电路设计,系统方案设计,具体电路方案设计,总电路原理图设计,8,系统方案设计,微控制器单元,(,MCU,),转向指示灯,时钟电路,复位电路,电源电路,蜂鸣器,控制开关,9,具体电路方案设计设计任务,参考任务1
2、的电路,完成指示灯开关控制电路的设计。,10,具体电路方案设计-开关符号,开关(机械式),11,总电路原理图设计,12,P0口,13,总结特点: (1)P0口可作通用I/O口使用,又可作地址/数据总线口; (2)P0既可按字节寻址,又可按位寻址; (3)作通用I/O 口输出时:是开漏输出,应外接上拉电阻; (4)作地址/数据总线口时,P0是一真正双向口,而作通用I/O口时,只是一个准双向口。,P0口,14,P1口,(1)只能作I / O口,没有地址/数据复用功能 (2)可按字节寻址,也可按位寻址 (3)是一准双向口,输出驱动接有上拉电阻,不是开漏输出。,15,P2口,16,(1)当P2口作为通
3、用I / O时,是一准双向口。 (2)从P2口输入数据时,先向锁存器写“1”。 (3)可位寻址,也可按字节寻址。 (4)可输出地址高8位。,P2口,17,P3口,18,P3口,当P3口作为通用I/O接口时, 第2功能输出线为高电平, 使与非门3的输出取决于口锁存器的状态。 在这种情况下, P3口仍是1个准双向口, 它的工作方式、 负载能力均与P1、 P2口相同。 当P3口作为第2功能使用时, 其锁存器Q端必须为高电平, 否则V1管导通, 引脚被箝位在低电平, 无法输入或输出第2功能信号。当Q端为高电平时, P3口的口线状态就取决于第2功能输出线的状态。,19,布置作业,课后自己多练习,消化上课
4、的内容。 预习指示灯开关控制所需的指令,若有问题先记在笔记本上。 根据老师的引导,自己学着画画流程图,整理自己的编程思路。,20,刹车指示灯 程序流程图1,条件判断 这是分支结构,用什么语句来实现 分支结构呢?,21,if语句,1if语句的形式 C语言提供了三种形式的if语句: (1) if(表达式) 语句 例如: if(x y) printf(%d,x); 这种if语句的执行过程见图1(a)。,22,图1 if语句的执行过程,if语句,23,(2) if(表达式) 语句1 else 语句2 例如: if(x y) printf(%d,x); else printf(%d,y); 这种if语句
5、的执行过程见图1(b)。,if语句,24,(3) else if语句结构。流程图见图2所示。一般格式为 if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 else if(表达式m) 语句m else 语句n,if语句,25,图2 else if语句结构流程图,if语句,26,例如: if (number500) cost=0.15; else if (number300) cost=0.10; else if (number100) cost=0.075; else if (number50) cost=0.05; else cost=0;,if
6、语句,27,说明: (1) 三种形式的if语句中,在if后面都有“表达式”,一般为逻辑表达式或关系表达式。例如: if(a= =b ,if语句,28,此语句是合法的,执行结果输出“O.K.”,因为表达式的值为3,按“真”处理。由此可见,表达式的类型不限于逻辑表达式,可以是任意的数值类型(包括整型、实型、字符型、指针型数据)。例如,下面的if语句也是合法的: if(a)printf(%d, a); 执行后输出a的ASCII码97。,if语句,29,(2) 第二、第三种形式的if语句中,在每个else前面有一分号,整个语句结束处有一分号。例如: if(x 0) printf(%f,x); else
7、 printf(%f,-x);,if语句,30,(3) 在if和else后面可以只含一个内嵌的操作语句(如上例),也可以有多个操作语句,此时用花括号“”将几个语句括起来成为一个复合语句。如: if(a+bc,if语句,31,例 输入任意三个整数,求三个数中的最大值。 /*功能:说明if语句的格式。*/,main( ) int num1,num2,num3,max; printf(“please input three numbers: “); scanf(“%d,%d,%d, ,if语句,32,2if语句的嵌套与嵌套匹配原则 if语句允许嵌套。所谓if语句的嵌套,是指在“语句组1”或(和)“语
8、句组2”中,又包含有if语句的情况。 if语句嵌套时,else子句与if的匹配原则:与在它上面、距它最近且尚未匹配的if配对。为明确匹配关系,避免匹配错误,建议最好将内嵌的if语句一律用花括号括起来。,if语句,33,刹车指示灯 程序流程图1,学过分支 结构,这里 可用if-else语句 实现,但是P3.2=0吗 在C语言里又是 怎样表达的呢?,用关系运算符,34,关系运算及其表达式,所谓“关系运算”,实际上是“比较运算”,即将两个值进行比较,判断其比较的结果是否符合给定的条件。例如,“a b”中的“”表示一个大于关系运算,如果a的值是5,b的值是3,则大于关系运算“”的结果为“真”,即条件成
9、立;如果a的值是2,b的值是3,则大于关系运算“”的结果为“假”,即条件不成立。,35,1关系运算符 C语言提供6种关系运算符: = (大于或等于) (大于) != (不等于),关系运算及其表达式,36,2优先级 (1) 在关系运算符中,前四个优先级相同,后两个也相同,且前四个高于后两个。例如,“”优先于“= =”。而“”与“”的优先级相同。 (2) 关系运算符的优先级低于算术运算符,但高于赋值运算符,即: 算术运算符 关系运算符 赋值运算符,关系运算及其表达式,37,3关系表达式的概念 用关系运算符将两个表达式(可以是算术表达式、关系表达式、逻辑表达式、赋值表达式或字符表达式等)连接起来的式
10、子,称为关系表达式。 例如,下面的关系表达式都是合法的: ab,a+bc-d,(a=3)=b,(ab)= =(bc),关系运算及其表达式,38,4关系表达式的值 关系表达式的值是一个逻辑值(非“真”即“假”)。由于C语言没有逻辑型数据,所以用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。 例如,假设num1=3,num2=4,num3=5,则: (1) num1num2的值为0,因为表达式的值为“逻辑假”,在C语言中用0表示。 (2) (num1num2)!=num3的值为1,因为num1num2的值为0,显然不等于num3的值,所以不等于关系成立,即为“逻辑真”,用整数“1”表示。,
11、关系运算及其表达式,39,(3)num1num2num3的值为1,因为num1num2的值为1,1小于num3,即小于关系成立。 (4)(num1num2)+num3的值为6,因为num1num2的值为1,1+56。 C语言用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。所以,关系表达式的值还可以参与其他种类的运算,例如算术运算、逻辑运算等。,关系运算及其表达式,40,刹车指示灯 程序流程图1,条件判断 这是分支结构,用关系运算符 =,41,参考程序,#include main() while(1) if(P3_2=0) P2_7=0; else P2_7=1; ,42,转向指示灯 程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 12
链接地址:https://www.31doc.com/p-3376791.html