当前位置: 首页 > news >正文

ps与dw怎么做网站千锋教育培训收费一览表

ps与dw怎么做网站,千锋教育培训收费一览表,php网站开发专业介绍,flask做网站文章目录 前言一、5.3开关检测1.1没按键按下的1.2有按键按下的 二、改进1.改进 三、独立键盘3.1为什么要取反3.2 实用的按键 总结 前言 提示:这里可以添加本文要记录的大概内容: 课程需要: 提示:以下是本篇文章正文内容&#xf…

文章目录

  • 前言
  • 一、5.3开关检测
    • 1.1没按键按下的
    • 1.2有按键按下的
  • 二、改进
    • 1.改进
  • 三、独立键盘
    • 3.1为什么要取反
    • 3.2 实用的按键
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

课程需要:


提示:以下是本篇文章正文内容,下面案例可供参考

一、5.3开关检测

    unsigned char temp; 	/*定义临时变量temp*/P1=0xff;				/* P1口低4位置1,作为输入;高4位置1,发光二极管熄灭*/temp= P1&0xf0;			/*读P1口并屏蔽低4位,送临时变量temp */temp = temp >>4;		/* temp的内容右移4位,P1口高4位状态移至低4位*/P1= temp;				/* 临时变量值写入P1口输出*/
//    P1= 0XF0|(P1>>4);				/* 临时变量值写入P1口输出*/delay(	);

1.1没按键按下的

1111 1111   P1: 1111 1111
1111 0000   temp:1111 0000
0000 1111   temp: 0000 1111
0000 1111  P1: 0000 1111
delay(	);

在这里插入图片描述

1.2有按键按下的

xxxx 0000 -1111 中的可能

1111 1111   P1: 1111 1111
xxxx 0000 &1111 0000   temp:xxxx 0000
0000 xxxx   temp: 0000 xxxx
0000 xxxx  P1: 0000 xxxx
delay(	);

在这里插入图片描述

二、改进

改进的思路

在这里插入图片描述

1.改进

代码如下(示例):

P1= 0XF0|(P1>>4);				/* 临时变量值写入P1口输出*/
在这里插入代码片

三、独立键盘

在这里插入图片描述
有按键按下:读回来就是0
反之: 读回来就是1

3.1为什么要取反

在这里插入图片描述

#include<reg51.h>
void key_scan(void)
{	unsigned char keyval					do{P1=0xff; 		// P1口为输入keyval=P1; 		//从P1口读入键盘状态keyval=~ keyval;	//键盘状态求反switch(keyval){case 1: ……;		//处理按下的k1键,“……”为处理程序     	break;			//跳出switch语句case 2: ……; 		//处理按下的k2键break; 			//跳出switch语句case 4: ……; 		//处理按下的k3键break;			//跳出switch语句case 8: ……; 		//处理按下的k4键break;			//跳出switch语句case 16: ……; 		//处理按下的k5键break;			//跳出switch语句case 32: ……; 		//处理按下的k6键break;			//跳出switch语句case 64: ……; 		//处理按下的k7键break;			//跳出switch语句case 128: ……; 	//处理按下的k8键break;			//跳出switch语句default:break; 			//无按下键处理 }}  while(1);
}

3.2 实用的按键

   while (1){if(key0==0){led0=0; num++;             }else{                led0=1; }if(num==0){  //灯1P3=0X00;}else if(num==1){//灯2P3=0X01;}else if(num==2){//灯3P3=0X02;}}

问题1:num 没有清0 255 才自己变0很久,手动清0

   while (1){if(key0==0){led0=0; num++;             }else{                led0=1; }if(num==0){  //灯1P3=0X00;}else if(num==1){//灯2P3=0X01;}else if(num==2){//灯3P3=0X02;}else{num=0;}}

问题2:按键还是不灵

在这里插入图片描述

    while (1){if(key0==0) {                       delay();//按键消抖if(key0==0){while(key0==0);led0=0; num++;  }else{led0=1; }}if(num==0){  //灯1P3=0X00;}else if(num==1){//灯2P3=0X01;}else if(num==2){//灯3P3=0X02;}else{num=0;}}

问题3: 按键松开灯不灭

           led0=0; //将灯一直到循环上面while(key0==0);      
#include <reg51.h>sbit led0 =P1^0;
sbit key0 =P2^0;unsigned char num=0;
#define uchar unsigned charvoid  delay(  )
{	uchar i,j;for(i=0; i<255; i++)for(j=0; j<255; j++);
}/*1111 1111
1111 00001111 0000  temp1110 0000
1111 0000 
1110 0000   temp0000 1110  temp>>40000 1110 P1=temp1111 0000 1111 1110  P1=temp1111 1111 P1=0XFF*/void  main(  )					/*主函数*/
{while (1){if(key0==0) {                       delay();//按键消抖if(key0==0){led0=0; //将灯一直到循环上面while(key0==0);               num++;  }}else{led0=1; }if(num==0){  //灯1P3=0X00;}else if(num==1){//灯2P3=0X01;}else if(num==2){//灯3P3=0X02;}else{num=0;}}
}

总结

例5-3 程序优化过程,每一个程序没一步,如果你不清晰,就一步步带数字进去计算,看状态。一定要根据电路图来。
增加了独立键盘,一个按键控制 3种灯的状态,自己可以用来测试一个按键控制多个流水灯的状态,需要注意,松手按键检测会导致程序阻塞,阻塞可能会引起一系列问题。具体问题要具体分析。

http://www.zhongyajixie.com/news/14892.html

相关文章:

  • wordpress的paypal插件电脑网络优化软件
  • 湖南省水利水电建设工程学校网站湖北百度推广电话
  • 攸县住房和城乡规划建设局网站南宁网站制作
  • 网站推广优化联系方式视频推广渠道有哪些
  • 网站营销工作流程qq群排名优化软件
  • 沈阳网站设计制作广东省最新新闻
  • 网站网页直播怎么做百度指数三个功能模块
  • 哪些网站做财金的好电销名单渠道在哪里找
  • 企业网站开发工资学校网站建设
  • 仿蘑菇街wordpress主题优化网站seo方案
  • 商城网站建设计划书兰州网站seo服务
  • 企业官方网站建设开源crm系统
  • 医院门户网站制作网站制作公司怎么样
  • 手机网站被禁止访问怎么打开网页企业网络营销推广案例
  • app公司网站建设价格百度地图优化排名方法
  • 视频号最新动作成都百度推广账户优化
  • 台州网站建设设计自己想做个网站怎么做
  • 怎么创建一个网站做草根站长googlechrome浏览器
  • 制作网站搭建网站项目怎么样免费二级域名注册申请
  • 用数据库做网站武汉疫情最新动态
  • 网站 文本编辑器优化关键词排名提升
  • 政府网站建设保障网站设计公司多少钱
  • 电商网站上信息资源的特点包括哪些seo赚钱方式
  • 国际新闻直播seo自学教程seo免费教程
  • 国内最好的网站建设公司google广告投放技巧
  • 做影评的网站模版网站seo技术教程
  • 做网站需要空间重庆seo是什么
  • 成都建设厅网站站长之家官网
  • 产品展示网站模板网站制作工具
  • 南通中小企业网站制作百度有几种推广方式