哔哩哔哩/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. 2024-10-08:用go语言,给定一个字符串 word 和一个整数 k,判断是否可以通过删除最少数量的字符使得该字符串成为 k 特殊字符串。 其中,k 特殊字符串满足字符串中任意两个字符的出现频率

    2024-10-08:用go语言,给定一个字符串 word 和一个整数 k,判断是否可以通过删除最少数量的字符使得该字符串成为 k 特殊字符串. 其中,k 特殊字符串满足字符串中任意两个字符的出现频率 ...

  2. usb请求块以及提交方式

    URB结构体 struct urb { /* private: usb core and host controller only fields in the urb */ struct kref k ...

  3. mmap映射类型

    文件映射和匿名映射都是操作系统中对于内存映射的两种类型,主要应用于进程间的通信或者大量数据的处理. 文件映射,也就是内存映射文件,是把一个文件或者文件的一部分映射到进程的地址空间,它允许对文件进行随机 ...

  4. kotlin更多语言结构——>操作符重载

    Kotlin允许我们为自己的类型提供预定义的一组操作符的实现.这些操作符具有固定的符号表示(如 + 或 *) 和固定的优先级.为实现这样的操作符,我们为相应的类型(即二元操作符左侧的类型和一元操作符的 ...

  5. KubeSphere 社区双周报|Fluent Bit 升级到 v2.2.2|2024.01.18-02.01

    KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书.新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列 ...

  6. KubeSphere 社区双周报 | 2024.01.04-01.18

    KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书.新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列 ...

  7. 线上debug&gateway自定义路由规则

    如何进行线上debug. 如何在gateway自定义路由规则去进行请求分发,让请求打到集群模式下我们想要的节点. 1.配置remote debug 1.在启动参数配置参数: -Xdebug -Xrun ...

  8. 游戏引擎数学库 Plane

    0 前言 平面的表达方式有很多,常用的就两种.向量形式的点法式,标量形式的平面方程.两者可以互相转化. \[(\mathbf{p}-\mathbf{p_0})\cdot\mathbf{n}=0 \] ...

  9. FFmpeg开发笔记(六十)使用国产的ijkplayer播放器观看网络视频

    ​ijkplayer是Bilibili公司(简称B站)基于FFmpeg3.4研发并开源的国产播放器,它可运行于Android和iOS系统,既支持播放本地视频文件,也支持播放网络上的流媒体链接. 之前的 ...

  10. Maven打包项目的精准指定——流程管理

    作用 Maven不仅可以进行依赖管理的自动化,还可以自动化实现编译,打包,发布,等,也被成为构建流程 生命周期(lifecycle) 构成 Maven生命周期本身可以看做一个集合,在这个集合中包含了一 ...