Day-1:初识开发板与基础知识
买的这款51,ARM,AVR三合一的单片机,也不知道后面具体使用会不会有问题,先玩玩看吧。
------------------------------------------------------------------------------------------
单片机是将CUP、存储器和I/O接口集成都一片集成电路芯片上。
MCS-89C51系列:集成8位CPU、4K字节ROM(只读存储器,储存程序,断电不丢失),128字节RAM(随机储存器,储存变量,掉电丢失)、4个8位并口(P0,P1,P2,P3),1个全双工串行口,2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。
封装形式:贴片、插片。
- 预备知识
电平特性:
数字电路两种电平:高电平和低电平。高电平电压取决于单片机电源,5V或者3.3V;低电平为0V。
RS232电平:也是计算机串口的电平,高电平为-12V,低电平为+12V。
所以,电脑与单片机通讯得将电平转换(MAX232)。
进制:
二进制:只有0(低)和1(高),逢二进一为计算机直接识别的进制;
十六进制:逢十六进一,一般是由于二进制表达的位数太多使用16进制会方便点。
两者的转换:二进制转换成十六进制,4位并一位,十六进制转换成二进制,1位分4位。
二进制逻辑运算:
与:有0得0;或:有1得1;非:取反;异或:相同位零,不同为1.
80C51系列是以8051为基核开发的一系列单片机。
引脚封装:
P3.0:RXD串行输入
P3.1:TXD串行输出
P3.2:INT0外部中断0输入
P3.3:INT1外部中断1输入
P3.4:T0定时器0外部输入
P3.5:T!定时器1外部输入
P3.6:WR外部写输入
P3.7:RD外部读输入
内部结构:
总线是计算机中各部件之间传送信息的公共通道。微机中有内部总线和外部总线。内部总线是CUP内部之间的连线。外部总线是指CUP与其他部件之间的连线。外部总线有三种:数据总线DB(Data Bus),地址总线AB(Address Bus)和控制总线CB(Control Bus)。
CUP:负责运算与控制,还包括中断系统和部分外部特殊功能寄存器;
RAM:随机存储器,断电丢失,存放可以读写的数据:中间结果、最终结果以及欲显示的数据;
ROM:只读储存器,断电不丢失,用于存放程序,以及一些原始数据和表格;
I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;
T/C:两个定时/计数器,既可工作在定时模式,也可工作在技术模式。
五个中断源的中断控制系统;
一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;
片内振荡器与时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率取决于单片机型号及性能。
基本时序:
直接由晶振为单片机提供的脉冲信号的振荡源的周期,称为振荡周期,也叫时钟周期,开发板上是12MHz;之后振荡周期经二分频,变为状态周期,即状态周期是它的2倍;而一个机器周期定义为6个状态周期,也就是12个时钟周期,在一个机器周期内CUP可以完成独立的操作;最后,CUP下达一条指令,要完成这条指令所需的全部时间成为指令周期,每条指令周期由一个或者多个机器周期组成。
单片机IO口有三种解构:
准双向IO、开漏输出和强推挽输出,51单片机为前两种。
开漏输出必须外加加上拉电阻才能输出高电平。
上下拉电阻:
上拉电阻就是将不确定的信号通过一个电阻拉到高电平,同时此电阻起到一个限流的作用,下拉就是下拉到一个低电平。
好处:
- OC门要输出高电平,外部必须加上拉电阻;
- 加大普通IO口的驱动能力;
- 起到限流的作用;
- 由于拉上高电平,所以可以抵抗电磁干扰。
上下拉电阻的选取原则:
- 从功耗方面考虑应该足够大,因为电阻越大,电流越小;
- 从确保足够的引脚驱动能力考虑应该足够小,电阻越小,电流才能越大;
- 开漏输出时,过大的上拉电阻会导致上升沿变缓。
------------------------------------------------------------------------
关于C语言:
单片机对于C语言要求不高,只要简单的了解就ok。
------------------------------------------------------------------------
单片机最小系统:
- 电源电路
- 复位电路
- 时钟电路
- 下载电路(外加的)
Day-1:初识开发板与基础知识的更多相关文章
- 前端开发:css基础知识之盒模型以及浮动布局。
前端开发:css基础知识之盒模型以及浮动布局 前言 楼主的蛮多朋友最近都在学习html5,他们都会问到同一个问题 浮动是什么东西? 为什么这个浮动没有效果? 这个问题楼主已经回答了n遍.今天则是把 ...
- SQL点滴17—使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识
原文:SQL点滴17-使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识 在开发过程中会遇到需要弄清楚这个数据库什么时候建的,这个数据库中有多少表,这个存储过程长的什么样子等等信息 ...
- 活到老学到老:iOS开发中的基础知识(一)
本文参考 标哥的博客:宝库iOS开发笔试题 进行学习整理.与其说是看面试题,不如说是对自己知识的巩固.工欲善其事必先利其器,基础知识不牢固可能会导致编程中的一些注意不到的问题.总之一句话:活到老,学到 ...
- Java复习(一)——Java语言概述、开发环境、基础知识
设计模式:在各种应用系统中被大量应用,是设计的“常用套路” 作为Java WEB开发人员,需要掌握HTML/CSS/JS和数据库相关知识 常用的应用程序框架:Spring MVC,Spring Boo ...
- SQL使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识
在开发过程中会遇到需要弄清楚这个数据库什么时候建的,这个数据库中有多少表,这个存储过程长的什么样子等等信息,今天把自己工作过程中经常用到的一些数据库引擎存储过程,系统视图等等总结一下以备不时之用.下面 ...
- IOS科研IOS开发笔记学习基础知识
这篇文章是我的IOS学习笔记,他们是知识的基础,在这里,根据记录的查询后的条款. 1,UIScrollView能完毕滚动的功能. 示比例如以下: UIScrollView *tableScrollVi ...
- web开发必备-网络基础知识---记录一下
1.osi 7层网络模型 2.socket 套接字编程 PS:一个从事web开发的人来说,我们是使用http协议来和服务器来进行交互.后面会详细的分析这个过程.
- 微信小程序之组件开发中的基础知识
跟着视频开始小程序的项目的开发,视频中这个小程序已经上线了,可以很好的看着小程序的界面进行开发,昨天看了一下具体的需求,觉得真的细节好多啊,而且其中设计的组件的思想也是很好的,能够很好的实现代码的复用 ...
- 吴裕雄--天生自然 R语言开发学习:基础知识
1.基础数据结构 1.1 向量 # 创建向量a a <- c(1,2,3) print(a) 1.2 矩阵 #创建矩阵 mymat <- matrix(c(1:10), nrow=2, n ...
随机推荐
- BotVS开发基础—2.4 获取订单、取消订单、获取未完成订单
代码 RetryDelay = 1500; def CancelPendingOrders(exch, orderType): # 取消所有未完成的挂单, 参数1 交易所 参数2 类型 global ...
- Springboot+resteasy定时任务
定时任务 需求:按每日统计点赞数.评论数.热度的增加量(不是现有量) 1.每天零点执行:首先遍历出user的统计字段 然后插入到新创建的表中. 2.每天一点执行:根据时间段将两表的数据相减创建增量字段 ...
- java快速排序详解
快速排序 public class QuickSort { public static void main(String[] args) { int[] a = { 0, 3, 6, 8, 2, 4, ...
- Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
第一讲 IO概述 概述 1.IO流:即InputOutput的缩写. 2.特点: 1)IO流用来处理设备间的数据传输. 2)Java对数据的操作是通过流的方式. 3)Java用于操作流的对象都 ...
- CentOS7.3虚拟机扩展数据磁盘
操作之前需要重点查看: 由于扩容磁盘的操作非同小可,一旦哪一步出现问题,就会导致分区损坏,数据丢失等一系列严重的问题,因此建议:在进行虚拟机分区扩容之前,一定要备份重要数据文件,并且先在测试机上验证以 ...
- jmeter返回的post data乱码
通过csv 跑出来的结果 解决方法: 在CSV Data Set Config中将File Encoding设置为GB2312将Allow quoted data 设置为true
- MongoDB副本集模式安装
设备: 三个1G.20G.1核的虚拟机,系统是SentOS7 min 设置目录: Server1: mkdir -p /home/mongoshard/data/shard11 /home/mongo ...
- Freemarker的使用方法
1. Freemarker概念 1.1 什么是freemarker FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器无关,即在Web运 ...
- 八,ESP8266 文件保存数据
应该是LUA介绍8266的最后一篇,,,,,,下回是直接用SDK,,然后再列个12345.......不过要等一两个星期,先忙完朋友的事情 前面几篇 用AT指令版本的 一, http://www.c ...
- 201521123019 《Java程序设计》第7周学习总结
1. 本章学习总结 2. 书面作业 Q1.ArrayList代码分析 1.1解释ArrayList的contains源代码 源代码如下: public boolean contains(Object ...