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单片机为前两种。

  开漏输出必须外加加上拉电阻才能输出高电平。

  上下拉电阻:

  上拉电阻就是将不确定的信号通过一个电阻拉到高电平,同时此电阻起到一个限流的作用,下拉就是下拉到一个低电平。

  好处:

  1. OC门要输出高电平,外部必须加上拉电阻;
  2. 加大普通IO口的驱动能力(很多地方都这样用过,所以,通电后某些引脚就是直接上电的);
  3. 起到限流的作用;
  4. 由于拉上高电平,所以可以抵抗电磁干扰。

  上下拉电阻的选取原则:

  1. 从功耗方面考虑应该足够大,因为电阻越大,电流越小;
  2. 从确保足够的引脚驱动能力考虑应该足够小,电阻越小,电流才能越大;
  3. 开漏输出时,过大的上拉电阻会导致上升沿变缓。

------------------------------------------------------------------------

  关于C语言:

  单片机对于C语言要求不高,只要简单的了解就ok。

------------------------------------------------------------------------

  单片机最小系统:

  1. 电源电路
  2. 复位电路
  3. 时钟电路
  4. 下载电路(外加的) 

  C语言知识: bit和sbit都是C51扩展的变量类型。

  sbit用法:

    sbit 变量名 = 地址值; //给某个引脚取名

  另外每次编程时,都包含了reg52.h的头文件,它是c51系列单片机的扩展库,里面集成了基本的引脚指向。

时间: 2024-10-09 12:19:30

Day-1:初识开发板与基础知识的相关文章

前端开发:css基础知识之盒模型以及浮动布局。

前端开发:css基础知识之盒模型以及浮动布局 前言 楼主的蛮多朋友最近都在学习html5,他们都会问到同一个问题 浮动是什么东西?  为什么这个浮动没有效果?  这个问题楼主已经回答了n遍.今天则是把它写到我的博客中,想知道自己过来翻就好啦 ^_^  下面楼主把当前的自己对css的基础认知一一给大家道来...... 盒模型 谈到盒模型,有经验的小伙伴一定滚瓜烂熟,无非就是 内容(content).填充(padding).边框(border).边界(margin): 这些属性我们可以把它转移到我们

SQL点滴17—使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识

原文:SQL点滴17-使用数据库引擎存储过程,系统视图查询,DBA,BI开发人员必备基础知识 在开发过程中会遇到需要弄清楚这个数据库什么时候建的,这个数据库中有多少表,这个存储过程长的什么样子等等信息,今天把自己工作过程中经常用到的一些数据库引擎存储过程,系统视图等等总结一下以备不时之用.下面的知识多是自己总结,有一些参考了MSDN. sp_help 有时候想尽快查出数据库对象的相关信息,这个存储过程就很有用了.使用它可以查询出整个数据库中所有对象的相关信息.直接运行sp_help结果如下图1,

活到老学到老:iOS开发中的基础知识(一)

本文参考 标哥的博客:宝库iOS开发笔试题 进行学习整理.与其说是看面试题,不如说是对自己知识的巩固.工欲善其事必先利其器,基础知识不牢固可能会导致编程中的一些注意不到的问题.总之一句话:活到老,学到老. 1.数组中的元素去重问题. //重复元素 NSArray *array = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5",@"1"

STM32内部Flash极速赛车网站开发C语音基础知识

真的很着急,看那极速赛车网站开发 haozbbs.comQ1446595067 些老师云里雾里说来说去,他们知道自己说的是什么吗? 正点原子:第67讲 FLASH闪存编程原理与步骤-M3第68讲 FLASH模拟EEPROM实验-M3 其实就是说STM32的闪存,主要是读/写/擦除,做出了一个风格和SPI FLASH一致的模块. 而所谓的模拟EEPROM其实是:前者是页为单位,写之前要擦除,一擦就是2k这样(李工说:主要是器件只能1-->0而不能0-->1所以擦除其实是全部覆盖成1),而后者EE

iOS开发多线程篇—基础知识 NSOperation

原文  http://www.cnblogs.com/dyf520/p/3807187.html -------NSOperation简介---- 1.NSOperation的作用 ·配合使用NSOperation和NSOperationQueue也能实现多线程编程 2.NSOperation和NSOperationQueue实现多线程的具体步骤 ·先将需要执行的操作封装到一个NSOperation对象中 ·然后将NSOperation对象添加到NSOperationQueue中 ·系统会自动将

IOS科研IOS开发笔记学习基础知识

这篇文章是我的IOS学习笔记,他们是知识的基础,在这里,根据记录的查询后的条款. 1,UIScrollView能完毕滚动的功能. 示比例如以下: UIScrollView *tableScrollView; tableScrollView=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];//窗体大小 tableScrollView.contentSize=CGSizeMake(640, 480);//设置内容视图的大

半瓶水Android应用开发专栏——android基础知识

概述 Android自从2005年8月由Google收购注资后,到08年第一部android手机的发布,再发展到现在,人们对android这个词已经很熟悉了.对于开发人员而言,android开发技术已经非常成熟,很容易上手.本人之前是做web开发的,也是后来自学android,到目前已经android应用开发两年多的经验,再次总结一下Android开发中遇到的困惑,对刚毕业的童鞋,或想转android开发的童鞋一点点小帮助. 之所以取名为半瓶水,想必大家看了就应该知道其意,软件行业太广太深,本人

互联网开发(一) 并发基础知识

一.并发的基本含义        在操作系统中,并发是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行. 在关系数据库中,允许多个用户同时访问和更改共享数据的进程.SQL Server 使用锁定以允许多个用户同时访问和更改共享数据而彼此之间不发生冲突. 在网络服务器上,并发是指同一时刻能处理的连接数,可以理解为服务器最多维护多少个会话数,比如,服务器能建立1000个TCP连接,即服务器同时维护了1000个so

djano-模板层基础知识

########模板层######## 模板层其实就是templates文件夹里的html文件 其实这里的每个html不是真正意义的上html代码,只有经过模板渲染过后才算的上真正的html页面. 一.模板语言(变量,深度查询,过滤器,标签) 1.变量 在django模板里通过{{ name }} 表示一个变量,name就是一个变量名 首先我们要明白这个变量是怎么传出来的, 在视图层: return render(request,'index.html',local()) #local()就把当