Microcontroller Unit

单片机:将微处理器CPU、存储器(RAM、ROM) 、基本输入/输出(I/O) 接口电路和总线接口等组装在一块主机板(即微机主板)。

微型计算机:将微处理器CPU、存储器(RAM、ROM)、基本输入/输出(I/O)接口电路和总线接口等组装在一块主机板(即微机主板)。各种适配(卡)插在主机板的扩展槽上并与电源、软/硬盘驱动器和光驱等装在同一机箱内,再配上系统软件,就构成了一台完整的微型计算机系统。

51单片机是8位单片机。8位是一次能处理数据宽度是8位。

单片机内部结构:

单片机内部结构示意图如图所示,它由微处理器CPU、随机存取存储器RAM、只读存储器ROM、基本输入/输出(I/O)接口电路、定时器/计数器和中断系统等部件组成,并把它们制作在一块大规模集成电路芯片上,就构成一个完整的单片微型计算机。

51单片机品种:

虽然目前单片机的品种很多,51系列的典型芯片是80C51(CHMOS型的8051)。为此,众多的厂商都介入了以80C51为代表的8位单片机的发展,如Philips、Siemens(Infineon)、Dallas、ATMEL、STC等公司,我们把这些公司生产的与80C51兼容的单片机统称为80C51系列。 如:ATMEL公司的AT89S51 AT89S52 AT89S53。 STC公司的STC89C51 STC89C52 STC89C53

80C51与STC89C52的区别

Intel公司在1980年推出80C51系列单片机,由于80C51单片机应用早,影响面很大,已经成为工业标准。后来很多著名厂商如Atmel,philps等公司申请了版权,生产了各种与80C51兼容的单片机系列。虽然制造工艺在不断地改进,但内核却没有变化,指令系统完全兼容,而且大多数管脚也兼容。因此,我们称这些与80C51内核相同的单片机为80C51系列单片机或51系列单片机。 由于80C51单片机是早期产品,用户无法将自己编写的应用程序烧写到单片机内的存储器,只能将程序交由芯片厂商代为烧写,并且是一次性的。8751单片机的内部存储器有了改进,用户可以将自己编写的程序写入单片机的内部存储器中,但需要用紫外线灯照射25分钟以上再烧写,烧写次数和电压也是有一定限制的。 ST89C52单片机是STC公司生产的产品,它把80C51内核与Flash技术相结合,推出可在线编程的单片机。STC89C52单片机指令系统、管脚完全与80C51兼容。

单片机发展:

20世纪80年代以来,单片机有了新的发展,各半导体器件厂商也纷纷推出自己的产品系列。根据市场的需求要求,未来单片机的发展趋势有如下几个方面: 单片机的字长由4位、8位、16 位发展到32位。 目前8位的单片机仍然占主流地位,只有在精度要求特别高的场合如图像处理等,才采用16位或32位的单片机,用户可以根据需要进行字长的选择。 运行速度不断提高。 单片机的使用最高频率由6MHz、12MHz 、24MHz、33MHz发展到 40MHz和更高,用户可以根据产品的需要进行速度的选择。

进制:

十进制:十进制就是我们所说的0—9十个数。十进制是逢十进一,借一当十。

二进制:二进制是逢二进一,借一当时二。

十六进制:十进制的0-15在十六进制中表示为:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 其中从10-15是用A-F表示,字母不区分大小写

进制之间的转换:

十进制:25

二进制:2^0 + 2^3 + 2^4 --> 11001b

十六进制:11001 -->  0x19H

C语言简介:

CPL--》BCPL--》 B--》 C,其中:

CPL(Combined programming Language),1963,英国剑桥;

BCPL(Basic Combined programming Language), 1967,英国剑桥;

B,1970,美国贝尔

C,1972,美国贝尔(D.Ritchie)

1973年,K.Thompson和D.Ritchie合作,将UNIX重写一遍,从此奠定了操作系统的基础。

1978年以后,C语言先后移植到大、中、小、微型机上。

真实会话语言 ¦ 人工智能会话语言 ¦ 命令语言¦  面向对象的语言(Java,C++)¦  C语言(面向过程)¦  面向机器的语言¦  汇编语言(移植性差) ¦ 机器语言 ¦ 硬件

bit and Byte:

位: 二进制数系统中,每个0或1就是一个位(bit),位是内存的最小单位。

字节: 字节(Byte):8位二进制称为一字节。

1Byte = 8bit

1kB = 1024 Byte = 2^10 Byte

1MB = 1024 KB = 2^10 KB = 2^20 Byte

1GB = 1024 MB

1TB =1024 GB

数据类型:

sfr:特殊功能寄存器声明 如:sfr P0 = 0x80;

sbit: 特殊功能位声明 如:sbit LED1 = P0^1;

电平特性:

单片机是一种数字集成芯片,数字电路中只有两种电平:高电平和低电平。

我们学习的单片机呢就是TTL电平,其中高电平是5V,低电平是0V。 TTL电平信号被利用的最多是因为通常数据表示采用二进制规定,+5V等价于逻辑“1”,0V等价于逻辑“0”,这被称做TTL(晶体管-晶体管逻辑电平)信号系统,这是计算机处理器控制的设备内部各部分之间通信的标准技术。 数字电路中,由TTL电子元器件组成电路使用的电平。电平是个电压范围,规定输出高电平>2.4V,输出低电平<0.4V。在室温下,一般输出高电平是3.5V,输出低电平是0.2V。最小输入高电平和低电平:输入高电平>=2.0V,输入低电平<=0.8V

计算机串口用的是MAX232电平,其中高电平是-12V,低电平是+12V。

51 IO:

P0三态IO口,P1口内部有上拉普通准双向IO口

P2口内部有上拉普通准双向 IO口

P3口内部有上拉普通准双向IO口(有第二功能,可以通过配置特殊功能寄存 来实现)

P3第二功能各引脚功能定义:

P3.0:RXD串行口输入

P3.1:TXD串行口输出

P3.2:INT0外部中断0输入

P3.3:INT1外部中断1输入

P3.4:T0定时器0外部输入

P3.5:T1定时器1外部输入

P3.6:WR外部写控制

P3.7:RD外部读控制

为什么51单片机的晶振要选择11.0592MHz?

11.0592M是因为在进行通信时,12M频率进行串行通信不容易实现标准的波特率,比如9600,4800,而11.0592M计算时正好可以得到,因此在有通信接口的单片机中,一般选11.0592M。

振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期。

时钟周期/震荡周期:1/11.0592=0.0904224537037037037037037037037 us

机器周期: 一个机器周期包含 12 个时钟周期。 在一个机器周期内, CPU可以完成一个独立的操作。

机器周期:1/11.0592 *12 =1.0850694444444444444444444444444 us

MCU 51-1概述的更多相关文章

  1. MCU & 51单片机

  2. Ubuntu LTS 系统学习使用体会和实用工具软件汇总 6.04 8.04 10.04 12.04 14.04 16.04

    Ubuntu LTS 系统学习体会和工具软件汇总 6.04 8.04 10.04 12.04 14.04 16.04 ubuntu入门必备pdf:http://download.csdn.net/de ...

  3. C#命名规则和风格(收集)

    1.     文件命名组织 1-1文件命名 1.        文件名遵从Pascal命名法,无特殊情况,扩展名小写. 2.        使用统一而又通用的文件扩展名: C# 类 .cs 1-2文件 ...

  4. Python操作MySQL+Redis+MongoDB

    1-1 python操作三大主流数据库导学篇 1-2 数据库简介 1-3 MySQL简介 2-1 MySQL安装及配置 2-2 MySQL图形化管理工具 2-3 SQL语法基础-创建并使用数据库 2- ...

  5. Spring Boot文档

    本文来自于springboot官方文档 地址:https://docs.spring.io/spring-boot/docs/current/reference/html/ Spring Boot参考 ...

  6. [原创]java WEB学习笔记51:国际化 概述,API 之 locale类,dataFormat类,numberFormat类, MessageFormat类,ResourceBundle 类

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  7. Java基础知识强化之集合框架笔记51:Map集合之Map集合的功能概述与测试

    1. Map集合的功能概述 (1)添加功能 V put(K key,V value):添加元素.这个其实还有另一个功能?先不告诉你,等会讲 如果键是第一次存储,就直接存储元素,返回null 如果键不是 ...

  8. 充当别的mcu的外部存储器(51类)

    // 锁存地址 - STC12C5A60S2 reg [15:0]rAddr_51; //存放51单片机传过来的地址 读51地址寄存器 always @ (posedge MCLKout or neg ...

  9. hadoop调优之一:概述 分类: A1_HADOOP B3_LINUX 2015-03-13 20:51 395人阅读 评论(0) 收藏

    hadoop集群性能低下的常见原因 (一)硬件环境 1.CPU/内存不足,或未充分利用 2.网络原因 3.磁盘原因 (二)map任务原因 1.输入文件中小文件过多,导致多次启动和停止JVM进程.可以设 ...

随机推荐

  1. vj提交时常见问题

  2. apt update 提示 Release file for http://… is not valid yet (invalid for another d..)

    由于在公司里需要使用代理上网,搞了好久,好不容易把 apt 整得可以访问外网了,结果在执行 spt update 时总是提示 Release file for http://- is not vali ...

  3. CentOS7.5搭建Hadoop2.7.6完全分布式集群

    一 完全分布式集群搭建 Hadoop官方地址:http://hadoop.apache.org/ 1  准备3台客户机 1.2 关闭防火墙,设置静态IP,主机名 关闭防火墙,设置静态IP,主机名此处略 ...

  4. C#数据结构与算法系列(五):常见单链表笔试

    1.求单链表中有效节点个数 public static int GetLength(HeroNode headNode) { int length = ; var cur = headNode.Nex ...

  5. Python中的字段分割

    很多时候我们要完成分词的任务,这篇文章讲的非常非常好.生动形象,原文是https://www.cnblogs.com/douzi2/p/5579651.html,作者是宋桓公.

  6. Android学习笔记:实现层级导航

    层级导航示例 层级导航案例 1.收下准备两个Activity的布局文件 activity_main.xml <?xml version="1.0" encoding=&quo ...

  7. 【asp.net core 系列】10 实战之ActionFilter

    0.前言 在上一篇中,我们提到了如何创建一个UnitOfWork并通过ActionFilter设置启用.这一篇我们将简单介绍一下ActionFilter以及如何利用ActionFilter,顺便补齐一 ...

  8. 关于单向循环链表的约瑟夫问题(Java实现)

    关于单向循环链表的约瑟夫问题(Java实现) 最近在学习链表时,遇到单向循环链表中的约瑟夫问题.在构建循环链表的代码上,我有一点很不理解,遂记录下来. Josephu问题为: 设编号为1, 2,.. ...

  9. 查看apk安装包信息

    ➜ sdk aapt dump badging ~/Downloads/PermRoot8006.apk package: name='com.qihoo.permmgr' versionCode=' ...

  10. Kali中密码暴力破解工具hydra的使用

    前言 hydra是著名黑客组织thc的一款开源的暴力破解密码工具,功能非常强大,kali下是默认安装的,几乎支持所有协议的在线破解.密码能否破解,在于字典是否强大.本文仅从安全角度去讲解工具的使用,请 ...