MCU 51-1概述
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概述的更多相关文章
- MCU & 51单片机
- 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 ...
- C#命名规则和风格(收集)
1. 文件命名组织 1-1文件命名 1. 文件名遵从Pascal命名法,无特殊情况,扩展名小写. 2. 使用统一而又通用的文件扩展名: C# 类 .cs 1-2文件 ...
- Python操作MySQL+Redis+MongoDB
1-1 python操作三大主流数据库导学篇 1-2 数据库简介 1-3 MySQL简介 2-1 MySQL安装及配置 2-2 MySQL图形化管理工具 2-3 SQL语法基础-创建并使用数据库 2- ...
- Spring Boot文档
本文来自于springboot官方文档 地址:https://docs.spring.io/spring-boot/docs/current/reference/html/ Spring Boot参考 ...
- [原创]java WEB学习笔记51:国际化 概述,API 之 locale类,dataFormat类,numberFormat类, MessageFormat类,ResourceBundle 类
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Java基础知识强化之集合框架笔记51:Map集合之Map集合的功能概述与测试
1. Map集合的功能概述 (1)添加功能 V put(K key,V value):添加元素.这个其实还有另一个功能?先不告诉你,等会讲 如果键是第一次存储,就直接存储元素,返回null 如果键不是 ...
- 充当别的mcu的外部存储器(51类)
// 锁存地址 - STC12C5A60S2 reg [15:0]rAddr_51; //存放51单片机传过来的地址 读51地址寄存器 always @ (posedge MCLKout or neg ...
- hadoop调优之一:概述 分类: A1_HADOOP B3_LINUX 2015-03-13 20:51 395人阅读 评论(0) 收藏
hadoop集群性能低下的常见原因 (一)硬件环境 1.CPU/内存不足,或未充分利用 2.网络原因 3.磁盘原因 (二)map任务原因 1.输入文件中小文件过多,导致多次启动和停止JVM进程.可以设 ...
随机推荐
- JDK Base64编解码1.7和1.8的坑
场景 对接一个第三方api接口,其中签名部分用的是JDK8的编码.我们线上采用JDK7,导致项目无法编译 替换编解码部分为1.7的代码,然后签名又不对 所以坑就在这里,结论,1.7的编解码有换行符导致 ...
- dbca oracle 12 c 遇到ora27125
网上大部分方法是把dba组放在内核的,没有效果,可以尝试 google找到一位大神的方案,成功解决 https://oracle-admin.com/2014/01/22/ora-27125-unab ...
- @uoj - 164@ 【清华集训2015】V
目录 @description@ @solution@ @accepted code@ @details@ @description@ Picks博士观察完金星凌日后,设计了一个复杂的电阻器.为了简化 ...
- @loj - 2987@ 「CTSC2016」时空旅行
目录 @description@ @solution@ @accepted code@ @details@ @description@ 2045 年,人类的技术突飞猛进,已经找到了进行时空旅行的方法. ...
- (二)用testng的groups管理用例
原文链接:https://www.cnblogs.com/Jourly/p/7002096.html 一.需求: 测试时经常有两种场景,第一种是冒烟测试的小部分用例:一类是全部用例. 二.针对第一种运 ...
- 【JMeter_18】JMeter逻辑控制器__吞吐量控制器<Throughput Controller>
吞吐量控制器<Throughput Controller> 业务逻辑: 他的实际作用似乎跟吞吐量扯不上什么关系.就是单纯的控制控制器下的子节点被执行的次数或被执行比列,该控制器默认为多线程 ...
- opencv3.1.0 计算机中丢失 opencv_world310d.dll _vs2017解决方法
---------------------------opencv1.exe - 系统错误---------------------------无法启动此程序,因为计算机中丢失 opencv_worl ...
- Charles 功能详解
Charles的功能有? 1 抓取http和https 网络封包(抓包) 2 Charles 的断点请求 通过断点修改参数 在指定接口打上断点 右键点击接口选择 breakpoints 然后 导航栏 ...
- AliOS Things添加环境变量
此电脑->属性->高级系统设置->环境变量->系统变量-新建.
- VMware Workstation 15密钥
在打开的VMware Workstation 15输入许可证密钥对话框里直接输入25位密钥,然后点击确定,如下图所示. 这里提供一个密钥: CG392-4PX5J-H816Z-HYZNG-PQRG2