单片机原理与接口技术(第65章).pptVIP

  • 11
  • 0
  • 约7.45千字
  • 约 58页
  • 2016-11-29 发布于湖南
  • 举报
单片机原理与接口技术(第65章)

第4章 单片机的最小系统及系统扩展 程序分析 sbit P1.0=P1^0;这是一个说明语句,用来说明P1.0是一个位操作指令。 for( ; ;) 这条语句的作用是形成一个死循环,灯塔上的照明灯一闪一闪的。 delay50ms(20); 调用50ms的延时函数。括号中的20是要传送给被调函数的参数,这个参数决定了延时时间的长度。 第4章 单片机的最小系统及系统扩展 程序分析 void delay50ms(char k) 这是一个延时函数,没有返回值,要接收一个char型的数据参数。当K值为1时,延时50ms。 for (j=0;jk;j++)这是一条循环语句,计数初值j=0,终值取决于K值。 第4章 单片机的最小系统及系统扩展 5.5用开关控制P1口的输出状态 前面有关P1口的应用属于不受控的输出系统,如果要受控就要有一个开关量的输入信号。 第4章 单片机的最小系统及系统扩展 例5-4: 图5-6是一个走廊照明灯的控制系统,有人进入走廊时用手按一下开关K,P30变成低电平,由于手按动开关K的时间很短,P30得到的是一个下降沿脉冲,作为输入信号。单片机采集到输入信号后,从P10输出高电平,继电器J线圈带电,继电器的常开触头J闭合,照明灯DX亮,然后延时1分钟后,自动熄灭。 第4章 单片机的最小系统及系统扩展 图5-6 P10口控制走廊照明灯 第4章 单片机的最小系统及系统扩展 #include reg51.h sbit P1.0=P1^0 sbit P3.0=P3^0 main() { unsigned i,j; while(1) { if (P3.0= =0) { P1.0=1; for (i=1;i50000;i++) for (j=1;j50000;j++); } else P1.0=0; } } 第4章 单片机的最小系统及系统扩展 程序分析 sbit P1.0=P1^0 sbit P3.0=P3^0是说明语句,说明P1.0表示对P1口的最低位进行操作, P3.0表示对P3口的最低位进行操作。 第4章 单片机的最小系统及系统扩展 程序分析 if (P3.0= =0)有两个作用,一是将P30的开关状态输入单片机,二是判断开关K是否闭合。 P1.0=1;如果开关K闭合,P1口的最低位输出高电平,点亮走廊灯。 第4章 单片机的最小系统及系统扩展 例5-5: 用单片机设计一个循环彩灯的控制系统。图5-7是循环彩灯的控制系统原理图。 第4章 单片机的最小系统及系统扩展 图5-7循环彩灯的控制系统电气原理图 第4章 单片机的最小系统及系统扩展 #include reg51.h unsigned int i; char j,k; void main() { while(1) { if (P3.0= =0) {k=0x80; for (j=0;j8;j++) { P1=k; for(i=0;i50000;i++); k=k1; } k=0x01; for (j=0;j8;j++) { P1=k; for(i=0;i50000;i++); k=k1; } } else P1=0xff; } 第4章 单片机的最小系统及系统扩展 5.6交通信号灯的控制系统 如果用两个开关控制P1口的输出状态,又该什么样设计硬件和软件呢?下面以交通信号灯为例说明这个问题。 例5-6:设计一个交通信号灯的控制系统。 第4章 单片机的最小系统及系统扩展 图5-8 交通信号灯的示意图 第4章 单片机的最小系统及系统扩展 根据现场的实际情况要求如下 南北方向红灯亮,东西方向绿灯亮。延时60秒。 南北方向和东西方向均为黄灯亮。延时3秒。 南北方向绿灯亮,东西方向红灯亮。延时60秒。 南北方向和东西方向均为黄灯亮。延时3秒。 周而复始,循环不止。 第4章 单片机的最小系统及系统扩展 说明 当开关K1断开时, 南北方向绿灯亮,东西方向红灯亮。 当开关K2断开时, 南北方向红灯亮,东西方向绿灯亮。 根据上述要求,可以画出控制流程图。 如图5-9所示。 第4章 单片机的最小系统及系统扩展 图5-9 交通信号灯的控制流程图 第4章 单片机的最小系统及系统扩展

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档