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 ...
 
随机推荐
- 常用业务接口界面化 in python flask
			
背景: 对于业务测试来说,有一些基础业务接口是需要经常调用的,如根据userId查询某人的信息,修改某人的xx属性,一般的接口都有验签(或者说token)机制,使用postman等工具的话,也是需要去 ...
 - MySQL show 语句
			
总览show 语句 show tables from database_name; -- 显示当前数据库中所有表的名称. show databases; -- 显示mysql中所有数据库的名称. ...
 - 【HotSpot】jps命令行详解
			
jps (JVM Process Status) jdk提供的一个查看当前Java进程的小工具. 命令输入格式:jps [选项 ] [ 主机号 ] [options]选项 : -q:仅输出VM标识符, ...
 - AngularJS 动画总结
			
对读过的几篇文章的总结,尽量保证逻辑性,不断补充.精简.更正. 后面会列出参考文章地址,方便以后取用.感谢各位作者以及翻译者. AngularJS 动画思考 一.如何使用 1)我们需要构建什么 2)如 ...
 - String中的两种实例化方式的区别
			
直接赋值:(String str = "字符串");只会开辟一块堆内存空间,并且会自动保存在对象池中以供下次重复使用. 构造方法:(String str = new String ...
 - 【渗透课程】第二篇上-http请求协议的简单描述
			
HTTP协议剖析 什么是HTTP协议?如何发起请求?我认为这样讲大家能够理解: 浏览器访问网站也是http请求的一个过程.当你打开浏览器,访问一个URL (协议://服务器IP:端口/路径/文件)的时 ...
 - org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML.问题思路
			
15:36:34,549 WARN DefaultListableBeanFactory:1416 - Bean creation exception on FactoryBean type chec ...
 - 聊一聊Redis的数据结构
			
如果没有记错的话,应该是在两个月前把 我们经常看到此类的文章: Redis的五种数据结构 Redis的数据结构以及对应的使用场景 其实以数据结构这个词去说明Redis的String.Hash.List ...
 - c++-STL:删除子串
			
void deletesub(string &str,const string &sub,int n) { int m,flag=0,num=0; //num是子串出现的次数 whil ...
 - linux ls 命令
			
ls 命令是 Linux 下最常用的命令之一,用来查询目录下的内容(list directory contents).本文将介绍其基本的用法和一些典型的用例.笔者使用的测试环境为 ubuntu 16. ...