哔哩哔哩/CSDN/博客园:萌狼蓝天

延时器

delay(int count){
int i,j;
for(i=0;i<count;i++){
for(j=0;j<1000;j++);
}
}

瞧一瞧

题目要求:P0口接八个发光二极管,先让后面四个灯亮,再让前面四个灯亮,循坏

# include <REGX51.H>

delay(int count){
int i,j;
for(i=0;i<count;i++){
for(j=0;j<1000;j++);
}
}
void main(){
while(1){
P0 = 0x0f;
delay(1000);
P0 = 0xf0;
delay(1000);
}
}

完整演示

题目要求:P1口接八个灯,从右往左依次亮

创建项目

编写代码

# include <REGX51.H>
# include <intrins.h>
unsigned char pem;
delay(int count){
int i,j;
for(i=0;i<count;i++){
for(j=0;j<1000;j++);
}
}
void main()
{ pem = 0x01;
while(1){
P1=pem;
pem = _crol_(pem,1);
delay(1000);
}
}

ctrl + s 保存

编译调试

退出调试模式

再点一次debug

做一做

让灯从右往左依次亮

调试可知,

亮1个灯:0x01

亮2个灯:0x02

亮3个灯:0x07

亮4个灯:0x0F

亮5个灯:0x1F

……

# include <REGX51.H>
# include <intrins.h>
unsigned char pem;
unsigned char sum;
void delay(int count){
int i,j;
for(i=0;i<count;i++){
for(j=0;j<1000;j++);
}
}
void main()
{
pem = 0x01;
sum = 0x01;
while(1){
P1=sum;//P1初始值是0x01
pem = _crol_(pem,1);//左移一位。这是负责计算每个位置亮灯时的值(只亮这个位置,其他位置不亮灯的时候的值)
sum+=pem;//统计值
delay(1000);//延时
if (sum == 0xFF) {
P1 = 0xFF;//手动亮灯
delay(1000);//延时,让效果显示
//重置状态
pem = 0x01;
sum = 0x01;
}
}
}

【单片机】初次实验:Keil51的使用的更多相关文章

  1. C51单片机中断实验

    实验要求: 要求通过中断方式检测有无按键 判断哪个按键(编号0-9),并且在数码管上显示对应的0-9 代码部分 #include<reg51.h> char led_mod[]={0x3f ...

  2. 单片机成长之路(avr基础篇)- 001 ISP与IAP的区别

    ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程.IAP(In ...

  3. 51单片机和Arduino—闪烁灯实现

        技术:51单片机学习.Keil4环境安装.Arduino环境安装.闪烁灯教程   概述 本文提供51单片机.Arduino单片机入门软件安装和一些需要使用的软件介绍,为后续单片机.嵌入式开发做 ...

  4. 20182324 实验一《Linux基础与Java开发环境》实验报告

    20182324 2019-2020-1 <数据结构与面向对象程序设计>实验1报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 殷宇豪 学号: 20182324 实 ...

  5. 单片机ISP、IAP和ICP几种烧录方式的区别

    单片机ISP.IAP和ICP几种烧录方式的区别 玩单片机的都应该听说过这几个词.一直搞不太清楚他们之间的区别.今天查了资料后总结整理如下. ISP:In System Programing,在系统编程 ...

  6. C# 使用SqlBulkCopy类批量复制大数据

    用途说明: 前些日子,公司要求做一个数据导入程序,要求将Excel数据,大批量的导入到数据库中,尽量少的访问数据库,高性能的对数据库进行存储.于是在网上进行查找,发现了一个比较好的解决方案,就是采用S ...

  7. ISP与IAP的区别

    转: ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程.IAP ...

  8. 【数据处理】SQL Server高效大数据量存储方案SqlBulkCopy

    要求将Excel数据,大批量的导入到数据库中,尽量少的访问数据库,高性能的对数据库进行存储. 一个比较好的解决方案,就是采用SqlBulkCopy来处理存储数据. SqlBulkCopy存储大批量的数 ...

  9. 关于MCU的烧录,下载与其他接口的比较(一)

    今天呢,犯了一个很严重的错误,我不知道这会产生什么样的影响,但我知道,如果我以后再没有具体的了解,仔细认真地观察,认证,只会滑到无底的深渊.做技术来不得半点虚假,切记一知半解,凡事都要弄得清楚明白,认 ...

  10. C# SqlBulkCopy类批量导入数据

    特别注意  sqlbulkcopy.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName); 插入的时候列的顺序可 ...

随机推荐

  1. .Net 理解异步的学习

    // 异步 - 在方法中使用 // 异步约等于线程 async await 一起使用 // 异步只有三种返回值 // 1. Task // 2. Task<T> // 3. void 几乎 ...

  2. 区分::after和:before中的单冒号和双冒号的作用

    单冒号:一般指的是伪类,如鼠标悬停状态设置样式:选择器:hover {设置样式} 双冒号一般指伪元素,给元素的前面/后面添加内容.内容数据按堆栈数据结构存储.

  3. 手撸二叉树——AVL平衡二叉树

    还记得上一篇中我们遗留的问题吗?我们再简要回顾一下,现在有一颗空的二叉查找树,我们分别插入1,2,3,4,5,五个节点,那么得到的树是什么样子呢?这个不难想象,二叉树如下: 树的高度是4,并且数据结构 ...

  4. 快来考试拿证书!KubeSphere 个人技能专业考试认证上线啦!

    以容器技术和容器编排为基础的云原生应用,被越来越多的企业用户接受和使用,并且在生产环境中使用容器技术的比例逐年增加.Kubernetes 无疑已经成为容器编排的事实基础,而依托于 Kubernetes ...

  5. 强化学习算法笔记之【DDPG算法】

    强化学习笔记之[DDPG算法] 目录 强化学习笔记之[DDPG算法] 前言: 原论文伪代码 DDPG 中的四个网络 代码核心更新公式 前言: 本文为强化学习笔记第二篇,第一篇讲的是Q-learning ...

  6. 顺序表(C语言)

    文章目录 1.定义顺序表结构体 2.初始化顺序表 3.插入元素 3.1顺序表头插 3.2 顺序表尾插 4.删除顺序表指定元素 5.查找元素 6.输出顺序表 7.销毁顺序表 在数据结构的世界里,顺序表是 ...

  7. 狂神说-Docker基础-学习笔记-05 Docker镜像原理

    狂神说-Docker基础-学习笔记-05 Docker镜像原理 视频地址:https://www.bilibili.com/video/BV1og4y1q7M4?p=19 镜像是什么 镜像是一种轻量级 ...

  8. 2024强网杯pwn short wp

    这时2024强网杯的pwn部分的short的WP 分析以下程序的基本安全措施 *] '/home/ysly/solve/tmp/short' Arch: i386-32-little RELRO: P ...

  9. Maven简单介绍——必要的Java管理与构建

    概念 通常Java的项目中有很多的环境和规范的问题,比如一些需要依赖的包,整个项目的目录标准是怎么样的,什么样的文件放在哪个目录等,还有jdk版本,编译代码流程,项目版本号之类的问题. 虽然这些都是小 ...

  10. 0.4 Nomenclature and notation