技术:51单片机学习、Keil4环境安装、Arduino环境安装、闪烁灯教程
 

概述

本文提供51单片机、Arduino单片机入门软件安装和一些需要使用的软件介绍,为后续单片机、嵌入式开发做准备。本文还对LED闪烁代码进行讲解,让初学者更好的理解51单片机和Arduino单片机,后续也会发布单片机对传感器的使用文章

详细

一、C51环境安装和点灯测试

1.keil4软件安装

步骤1: 到百度云盘链接下载以下内容

步骤2: 安装Keil4,打开C51V900.exe

一直下一步即可,安装路径选自己想要放到的地方(英文路径)

这个地方随便写写就行了

步骤3: 使用注册机更改keil4使用期限

右击软件(Keil uVision4),点击‘以管理员身份运行’

点击选择 File->License Management

复制右上角的CID,我这里的CID是:CW2MR-IHY4F

然后打开下载好的注册机KEIL_Lic.exe

把你复制的CID黏贴到CID处,点击Generate即可

然后复制生成的密匙,我这里是:ZBDY8-3AVZR-LY4V3-AFJT8-NG090-R07NX

放回刚刚的New License ID Code(LIC)中,点击Add LIC,生成这样的效果:

这样就完成了对软件使用期限的更改了

2.CH340驱动安装

步骤1: 安装CH341SER.EXE

步骤2: 查看端口号

查看端口号的方法,右击电脑->属性->设备管理器

3.程序烧入软件STC-ISP的使用
步骤1: 打开stc-isp-15xx-v6.75.exe
4. 51单片机点灯实验
步骤1: 打开stc-isp-15xx-v6.75.exe
步骤2: 更改单片机型号:STC89C52RC/LE52RC

串口号选择:USB-SERIAL CH340 (COMx)这边COM几会不一样的

点击:打开程序文件,找到C51_LED目录下的C51_LED.hex

点击:下载/编程

硬件接法:

代码烧写完成后,将LED灯正极接VCC,负极接到P0^0就可以看到闪烁现象了!!!

5. 51单片机闪烁灯代码

#include "reg52.h"    //定义头文件
#include <intrins.h> sbit led=P0^0; //将单片机的P0.0端口定义为led
void delay1s(void) //误差 0us
{
unsigned char a,b,c;
for(c=167;c>0;c--)
for(b=171;b>0;b--)
for(a=16;a>0;a--);
_nop_(); //if Keil,require use intrins.h
} void main()
{ led=0; //P0.1端口设置为低电平
delay1s();
led=1; //P0.1端口设置为高电平
delay1s();
}

二、android环境安装和闪烁灯测试

1.Arduino软件安装

步骤1: 安装arduino-1.8.7-windows.exe

一直下一步即可,安装路径选自己想要放到的地方(英文路径)

需要你安装驱动时,点击安装即可

步骤2: CH340驱动的安装

与上面操作一样,已经安装了就不用再安装一次了

2.Arduino闪烁灯实验

打开我已经写好的测试代码Ino_LED.ino

点击工具->端口,选择你的端口号,这里我是COM3

查看端口号的方法,上面有介绍,不懂的回去看看!

点击:验证,查看你的代码是否有问题

点击:上传,将你的代码烧进Arduino中

连接LED负极到13管脚,正极到VCC,看看你的现象吧!!!

没错 ——> 你将看到闪烁的灯!!!

三、总结

恭喜入坑,后面还有更多的教程等着你,谢谢你的支持!!!

后续也加入了对传感器的学习,感兴趣的请继续支持我,谢谢!!!

干货已经准备好了,软件安装包和一些软件过大,需要到百度云盘下载哦!!!

四、项目结构图

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

51单片机和Arduino—闪烁灯实现的更多相关文章

  1. 51单片机学习笔记(郭天祥版)(1)——单片机基础和点亮LED灯

    关于单片机型号的介绍: STC89C52RC40C-PDIP 0721CV4336..... STC:STC公司 89:89系列 C:COMS 52(还有51,54,55,58,516,):2表示存储 ...

  2. 51单片机---点亮一个LED灯

    1 程序源码 #include <REGX52.H> `包含51单片机的头文件` sbit led = P0^0; int main(void) { while(1) { led = 1; ...

  3. 基于Systick系统时钟延时的LED闪烁灯

    1.回顾我们的51 单片机编程,当我们需要做系统延迟的时候,最常采用的一种方式就是使用for 循环的空语句等待来实现. 当然,在STM32 里面也可以这么实现.但是在STM32 的Cortex 内核里 ...

  4. 【零基础】入门51单片机图文教程(Proteus+Keil)

    参考资料: https://www.jianshu.com/p/88dfc09e7403 https://blog.csdn.net/feit2417/article/details/80890218 ...

  5. arduino--1s间隔闪烁灯

    初始使用Arduino,写了这么个小功能:1s间隔闪烁灯 void setup() { pinMode(,OUTPUT);//Set 13Pin as OUTPUT } void loop() { d ...

  6. 单片机成长之路(51基础篇) - 006 在Linux下搭建51单片机的开发烧写环境

    在Linux下没有像keli那样好用的IDE来开发51单片机,开发环境只能自己搭建了. 第一步:安装交叉编译工具 a) 安装SDCC sudo apt-get install sdcc b)测试SDC ...

  7. 2017.11.18 手把手教你学51单片机-点亮LED

    In Doing We Learning 在操作中学习.如果只是光看教程,没有实际的操作,对编程语言的理解很空泛,所以决定从单片机中学习C语言. #include<reg52.h>     ...

  8. 51单片机SRF寄存器

    1.21个寄存器介绍        51系列单片机内部主要有四大功能模块,分别是I/O口模块.中断模块.定时器模块和串口通信模块(串行I/O口),如其结构和功能如下图: 图1 51单片机结构和功能图 ...

  9. c语言编写51单片机中断程序,执行过程是怎样的?

    Q:c语言编写51单片机中断程序,执行过程是怎样的? 例如程序:#include<reg52.h>  void main(void)  {   EA=1;      //开放总中断   E ...

随机推荐

  1. verilog语法实例学习(8)

    常用的时序电路介绍 在电平敏感的锁存器时钟信号有效期(高电平)期间,锁存器的状态随着输入信号的变化而变化.有时候,我们需要存储器的状态在一个时钟周期只改变一次,这个时候就用到了触发器.触发器(flip ...

  2. 南阳ACM8-一种排序

    /* 一种排序 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复:还知道这个长方形的宽和长,编号.长.宽 都是 ...

  3. 用于HTML5移动开发的10大移动APP开发框架【转】

    今天给大家介绍10款有关HTML5移动开发APP开发框架,这几款框架都是比较优秀的移动 Web 开发框架,能够帮助开发者更加高效的开发移动Web应用.. 十款移动APP开发框架: 1.jquery m ...

  4. easyloader分析与使用

    转载自:http://www.cnblogs.com/haogj/archive/2013/04/22/3036685.html 使用脚本库总要加载一大堆的样式表和脚本文件,在 easyui 中,除了 ...

  5. Android -- 系统和自定义Notification

    Notification是一种让你的应用程序在不使用Activity的情况下警示用户,Notification是看不见的程序组件警示用户有需要注意的事件发生的最好途径. 作为UI部分,Notifica ...

  6. VC++ MFC应用程序项目文件

    <?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Bu ...

  7. ASP.NET MVC 基于页面的权限管理

    菜单表 namespace AspNetMvcAuthDemo1.Models { public class PermissionItem { public int ID { set; get; } ...

  8. GPUImage API 文档之GPUImagePicture类

    GPUImagePicture类静态图像处理操作,它可以是需要处理的静态图像,也可以是一张作为纹理使用的图片,调用向它发送processImage消息,进行图像滤镜处理. 方法 - (id)initW ...

  9. 【S6】当心C++编译器最烦人的分析机制

    1.考虑一个包含int的文件,复制到list,如下: ifstream dataFile("ints.bat"); list<int> data(istream_ite ...

  10. LXC 容器集chroot使用说明

    1.1 LXC是什么? 1.1.1 关于LXC LXC,其名称来自Linux软件容器(Linux Containers)的缩写,一种操作系统层虚拟化(Operating system–level vi ...