| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> (一)点亮LED灯 -> 正文阅读 |
|
[嵌入式](一)点亮LED灯 |
????????直接拿出大学时候的51单片机就开始回顾总结吧。首先关于什么是单片机,我觉得解释起来没那么麻烦,原来学习的时候听这些人说的高大上,然后自己就为了学个这个还有多次入门,多次放弃,多次从入门到放弃,现在想来真是傻透了,其实单片机是啥,其实就是一个可以编写程序然后让它能输出高低电平的东西,其实就是这么简单,不用想的特别复杂。至于51单片机,其实就是有个单片机类叫做51单片机,至于具体的谁care呢,至于C语言,学过两天就能搞,实在不行就再拿本书翻翻呗,当然我也会回顾,但不是现在啦,用到哪儿实在不会了再去查呗,边回忆边学习。那就直接开始吧。 1. 硬件 ??????? 首先单片机编程是一个先由硬件再到软件的过程,要编程就需要先看一个东西,叫做开发板原理图,我们首先第一个回忆的是led灯,那先打开开发板原理图: ???????? ???????? 我们可以看到VCC在左边,之后经过一个二极管然后经过电阻到达p20到p27口。那其实就是说假如我们右边给了一个低电平,那么我们就可以让led灯亮起来,那其实说来就是说这样我们就能点亮一个led灯了。 2. 软件: ??????? 那我们可以试着先点亮一个灯,程序如下 ????????
??????? 至于为啥会有“reg52.h”头文件,其实就是说你为了能操作这个芯片,其实它内部是有一些寄存器的,你需要去包含它,这个头文件里面就有对应的寄存器的声明。sbit是C语言不存在的一个数据类型,其实就是定义P2^0这个位,while循环里面就是先给它一个低电平,延迟一段时间再给它一个高电平,这样就能使得这个led灯亮灭。 ?????? 接下来我们其实还可以同时点亮多个led灯,很多人都可能会想到使用API来写这个,关于API其实就是一些大神写好的函数,就比如我上面的写的delay函数一样,我们直接调用就好了,但是我觉得才开始还是可以考虑自己写一个比较好,下面就是我写的关于led流水灯的内容: ????????
??????? 哈哈,其中还是有些位运算比较难的,但是位运算还是需要学会吧,关于这个位运算这种东西还是可以多算,就很快就会有感觉啦。当然还是有些小公式需要记住,比如把某一位置0,或者是某一位置1,这个比较简单,就不回顾啦。 3. 简单的拓展: ??????? 我们现在来输出的引脚其实就是我们所说的通用IO,就是因为它可以控制输出高低电平,而输出高低电平就是GPIO的其中一个重要特性,当然51单片机还有一些其他的引脚,反正边学边看呗,也不用记,多编程不就知道每个引脚的意思了么。 ??????? 关于电阻,我们高中的时候就学过电阻了,其实我们拿到一个电阻可以直接用电压表就能测出电压是多少,但是我还是觉得简单的可以记一下,其实就是假如是三位数103,前两位就是系数,后面的是指数,即是10乘以10的3次方,即是1000欧,而假如1004就是前三位是系数,其他的看一下假如能看出来可以,实在把握不住直接电压表吧 ??????? 关于发光二极管:,它具有单向导电性,通过5mA电流就能发光,其亮度越强,但假如电流过大,就会烧毁二极管,所以我们一般控制在3~20mA就可以了,在这里给发光二极管一个电阻的目的就是为了防止电流过大。 ??????? 关于led的大致回顾就到这里啦,希望自己再接再厉,继续回顾和学习原来的知识,温故而知新,把每个系列都认真出完。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:57:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |