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—闪烁灯实现的更多相关文章
- 51单片机学习笔记(郭天祥版)(1)——单片机基础和点亮LED灯
关于单片机型号的介绍: STC89C52RC40C-PDIP 0721CV4336..... STC:STC公司 89:89系列 C:COMS 52(还有51,54,55,58,516,):2表示存储 ...
- 51单片机---点亮一个LED灯
1 程序源码 #include <REGX52.H> `包含51单片机的头文件` sbit led = P0^0; int main(void) { while(1) { led = 1; ...
- 基于Systick系统时钟延时的LED闪烁灯
1.回顾我们的51 单片机编程,当我们需要做系统延迟的时候,最常采用的一种方式就是使用for 循环的空语句等待来实现. 当然,在STM32 里面也可以这么实现.但是在STM32 的Cortex 内核里 ...
- 【零基础】入门51单片机图文教程(Proteus+Keil)
参考资料: https://www.jianshu.com/p/88dfc09e7403 https://blog.csdn.net/feit2417/article/details/80890218 ...
- arduino--1s间隔闪烁灯
初始使用Arduino,写了这么个小功能:1s间隔闪烁灯 void setup() { pinMode(,OUTPUT);//Set 13Pin as OUTPUT } void loop() { d ...
- 单片机成长之路(51基础篇) - 006 在Linux下搭建51单片机的开发烧写环境
在Linux下没有像keli那样好用的IDE来开发51单片机,开发环境只能自己搭建了. 第一步:安装交叉编译工具 a) 安装SDCC sudo apt-get install sdcc b)测试SDC ...
- 2017.11.18 手把手教你学51单片机-点亮LED
In Doing We Learning 在操作中学习.如果只是光看教程,没有实际的操作,对编程语言的理解很空泛,所以决定从单片机中学习C语言. #include<reg52.h> ...
- 51单片机SRF寄存器
1.21个寄存器介绍 51系列单片机内部主要有四大功能模块,分别是I/O口模块.中断模块.定时器模块和串口通信模块(串行I/O口),如其结构和功能如下图: 图1 51单片机结构和功能图 ...
- c语言编写51单片机中断程序,执行过程是怎样的?
Q:c语言编写51单片机中断程序,执行过程是怎样的? 例如程序:#include<reg52.h> void main(void) { EA=1; //开放总中断 E ...
随机推荐
- html table奇偶行颜色设置 (CSS选择器)
:nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型.n 可以是数字.关键词或公式. 下面的例子, 设置表格的奇偶行背景颜色不同:单独设置表格的第1列背景颜色不同. & ...
- Android Animatioin总结
一.动画分类 1. View Animation (Tween动画) 执行一系列简单的转换. 针对 视图对象内容进行移动,放大,缩小以及产生透明度的变化等四种动画操作.仅针对视图对象内容 ...
- Go语言之进阶篇http服务器获取客户端的一些信息
1.http服务器获取客户端的一些信息 示例: package main import ( "fmt" "net/http" ) //w, 给客户端回复数据 / ...
- C#中的集合(HashTable与Array类)【转】
一.Array类 1.Array类的属性 序号 属性 & 描述 1 IsFixedSize 获取一个值,该值指示数组是否带有固定大小. 2 IsReadOnly 获取一个值,该值指示数组是否只 ...
- MySQL集群的几种方案
组建MySQL集群的几种方案LVS+Keepalived+MySQL(有脑裂问题?但似乎很多人推荐这个)DRBD+Heartbeat+MySQL(有一台机器空余?Heartbeat切换时间较长?有脑裂 ...
- C# 源码 AForge.NET
AForge.NET是一个专门为开发者和研究者基于C#框架设计的,他包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,模糊系统,机器人控制等领域.这个框架由一系列的类库组成.主要包括有 ...
- CodeForces 569B Inventory 货物编号
原题: http://codeforces.com/contest/569/problem/B 题目: Inventory time limit per test1 second memory lim ...
- WebRTC学习之九:摄像头的捕捉和显示
较新的WebRTC源代码中已经没有了与VoiceEngine结构相应的VidoeEngine了,取而代之的是MeidaEngine.MediaEngine包括了MediaEngineInterface ...
- ASP入门(十五)- Global.asa
Global.asa 文件是一个可选文件,它可包含被 ASP 应用程序中每个页面访问的对象.变量和方法的声明.所有合法的浏览器脚本都可以在 Global.asa 中使用. Global.asa 文件只 ...
- javascript获取时间差
function GetDateDiff(startTime, endTime, diffType) { //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 startTime ...