C51单片机--IO口应用

2023-11-14

流水灯


前言


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

一、D1到D8依次点亮

在这里插入图片描述

#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char

void delay(uint i)//延时
{
	uchar t;
	while(i--)
	{
		for(t=0;t<120;t++);
	}
}

void main()
{
	uchar temp,state;
	uint i,j;
	
//   1
//	P2=0xfe;//fe是1111 1110
	temp=0x01; //0000 0001
	while(1)
	{
	//delay(500);
	for(i=0;i<8;i++)
		{delay(500);
		P2=~temp;
		//temp=temp+1;}
	temp=_crol_(temp,1);//左移一位
	}
}
	}

二、读入开关K1-K4的状态,按下对应开关,控制相应D1-D4灯亮

代码如下(示例):

#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char

void delay(uint i)//延时
{
	uchar t;
	while(i--)
	{
		for(t=0;t<120;t++);
	}
}

void main()
{
	uchar state;
		while(1)
		{
			P3=0xff;//P3作为输入,先让P3都为高电平
			state=P3;//读入P3的状态,赋值给state
			state=state&0x0f;//与  与0是0,与1是本身,就是屏蔽读入P3状态的高四位
			switch(state)
			{
				case 0: P2=0xff;break;//初始状态
				case 14.: P2=0xfe;break;//14是0000 1110 K1按下,fe 1111 1110 D1亮
				case 13: P2=0xfd;break;//13是0000 1101 K2按下,fd 1111 1101 D2亮
				case 11:P2=0xfb;break;//1011  K3按下 D3亮
				case 7:P2=0xf7;break;//0111 K4按下 D4亮
			}
		}
	}

三、流水灯

功能:LED从左边起D1 D3亮,并闪烁3次,然后是D2 D4亮,并闪烁3次,然后D3 D5亮 闪烁3次,然后D4 D6 亮 闪烁3次,然后D5 D7亮 闪烁3次 ,然后D6D8亮,闪烁3次,之后重新从D1D3开始重复

代码如下(示例):

#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char

void delay(uint i)//延时
{
	uchar t;
	while(i--)
	{
		for(t=0;t<120;t++);
	}
}

void main()
{
	uchar temp;
	uint i,j;

	while(1)
	{
	temp=0xfa;//fa是1111 1010 D1 D3亮
	delay(250);//延时
	for(i=0;i<6;i++)//移位循环
	{
	for(j=0;j<3;j++)//闪烁3次循环
		{
			P2=temp;
			delay(250);
			//P2=temp|0xff;
			P2=0xff;
			delay(250);
		}
	temp=_crol_(temp,1);//左移一位
	}
	}
}

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了51单片机IO的使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C51单片机--IO口应用 的相关文章

  • Charles软件使用

    Charles是通过将自己设置成系统的网络访问代理服务器 使得所有的网络访问请求都通过它来完成 从而实现了网络封包的截取和分析 安装Charles 去 Charles 的官方网站 http www charlesproxy com 下载最新
  • linux qt 动态链接库 静态链接库 学习笔记

    转自 http hi baidu com codeworkman item fa434498290bd38e591461d6 hello h ifndef HELLO H define HELLO H extern C void hello

随机推荐

  • Python中的面向对象编程的一些基本概念总结

    一 一些专有词汇的定义 面对对象编程 OOP object oriented programming 是一种程序设计范型 同时也是一种程序开发的方法 实现OOP的程序希望能够在程序中包含各种独立而又相互调用的对象 没一个对象又都应该能够接受
  • 转载Faster-rcnn理解

    文章转自https blog csdn net Lin xiaoyi article details 78214874 仅供方便自己学习 如有侵权请联系删除 效果图 作者 提到目标检测 就不得不RBG大神 该大神在读博士的时候就因为dpm获
  • CSDN第一篇博客,找工作日记第一篇

    今天结束了UC公司的几轮面试 不确定能否拿到offer 但回顾近几天的校招情况 比起十一之前不顺利的过程来说的确让人欣慰了很多 最近考了很多公司的笔试 也面过4399 UC TP LINK等等 峰回路转地明天还要参加百度的面试 当然还有菲音
  • C#程序演示Console.Write()和Console.WriteLine()的示例

    Console Write and Console WriteLine methods are used to print the text values on the Console Console Write prints only t
  • Postgresql查询每组的前N条记录

    Postgresql以指定字段分组后 查询每组的前N条记录 主函数 ROW NUMBER OVER PARTITION BY 省份名称 地市名称 ORDER BY arpu desc dou DESC AS row id 在原有数据表的基础
  • ORA-01157报错"cannot identify/lock data file"

    sqlplus以管理员方式接入数据库 启动时出现报错 如下 gt sqlplus as sysdba SQL gt startup ORA 01157 cannot identify lock data file 8 see DBWR tr
  • 数据结构:数组模拟队列

    实现一个队列 队列初始为空 支持四种操作 push x 向队尾插入一个数 x pop 从队头弹出一个数 empty 判断队列是否为空 query 查询队头元素 数组模拟队列 队列 先进先出 include
  • mysql注入语句说明

    判断闭合id 1 页面正常 id 1 页面不正常 id 1 页面恢复正常说明闭合是 id 1 页面正常 id 1 页面不正常 id 1 页面还是不正常说明闭合不是 如果这时id 1 页面恢复正常 说明闭合是 id 1 and 1 1id 1
  • 为何实现不了定时器DMA Burst传输?

    有人使用STM32F4系列开发产品 程序运行过程中需要不时地对外输出一串驱动脉冲 并要求这几串脉冲的频率可变 占空比固定 他想到使用基于STM32定时器的DMA BURST传输 具体点说 他期望不时地通过TIM3的CH1输出一串频率可变 占
  • 二叉树的基本概念及性质

    文章目录 一 基本概念 二 二叉树的种类 二叉树 满二叉树 完全二叉树 二叉搜索树 平衡二叉搜索树 三 二叉树的性质 性质一 性质二 性质三 性质四 性质五 一 基本概念 树是 n 个结点的有限集 在任意一颗非空树中 1 有且仅有一个特定的
  • window修改本地域名

    C Windows System32 drivers etc 127 0 0 1 bbs itcast com 127 0 0 1 mail itcast com 127 0 0 1 cas itcast cn 127 0 0 1 www
  • 简单理解promise

    promise是ES6为我们提供解决 回调地狱 的一种方法 能让代码的可读性更高 先看一个最简单的例子 new Promise function resolve reject executor 首先我们先new一个 Promise 对象时
  • 显示搜索dota2协调服务器,搜索dota2游戏协调服务器中【操作方式】

    喜欢使用电脑的小伙伴们一般都会遇到win7系统搜索dota2游戏协调服务器中的问题 突然遇到win7系统搜索dota2游戏协调服务器中的问题就不知道该怎么办了 其实win7系统搜索dota2游戏协调服务器中的解决方法非常简单 按照 1 DO
  • Hive 任务限制同时运行的任务数量的配置

    Hive任务的并发控制 指同时运行的 container 的数量 防止先提交的任务占用全部的队列资源 导致后来提交的任务无法申请到足够的资源 Hive 任务的并发控制 和使用的引擎相关 MapReduce MR 引擎 Map 任务 mr 引
  • 微信收钱的盒子服务器老是断开,微信文件已过期或被清理的终极解决办法

    工作中总是有同事习惯用微信传文件 当我们沿着微信对话爬楼找历史文件时 总会收到让人绝望的提醒 文件已过期或被清理 这里有个抢救办法 你不妨一试 如果文件当时是通过电脑发的 可以在 此电脑 文档 WeChat File 中找找 如果没有就真是
  • 基础数据结构之单循环链表

    文章目录 一 补充上节课的知识点 单链表和顺序表的区别 顺序表和单链表的使用场景分析 二 认识单循环链表 1 将单循环链表的增删改查用画图方式展现出来 2 用代码实现单循环链表 一 补充上节课的知识点 单链表和顺序表的区别 顺序表和单链表的
  • Qt中以qRegister开头的几个函数的用法说明

    目录 1 前言 2 qRegisterMetaTypeStreamOperators 2 1 函数功能简述 2 2 用法举例1 3 qRegisterMetaType 1 前言 Qt通过qRegister开头的函数和Q DECLARE开头的
  • 深度学习知识点一

    1 说说卷积和全连接网络的区别 2 什么是感受野呢 3 深度学习的 深度 是不是一昧的增加深度就好了吗 网络是否越深越好 4 减少过拟合的手段 5 简单的说一下YOLO V1 6 MobileNet 用到的模型压缩手段是什么 7 简单的说一
  • Java集合面试题 52道

    集合容器概述 什么是集合 集合就是一个放数据的容器 准确的说是放数据对象引用的容器 集合类存放的都是对象的引用 而不是对象的本身 集合类型主要有3种 set 集 list 列表 和map 映射 集合的特点 集合的特点主要有如下两点 集合用于
  • C51单片机--IO口应用

    流水灯 文章目录 流水灯 前言 一 D1到D8依次点亮 二 读入开关K1 K4的状态 按下对应开关 控制相应D1 D4灯亮 三 流水灯 功能 LED从左边起D1 D3亮 并闪烁3次 然后是D2 D4亮 并闪烁3次 然后D3 D5亮 闪烁3次