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进程.可以设 ...
随机推荐
- vj提交时常见问题
- apt update 提示 Release file for http://… is not valid yet (invalid for another d..)
由于在公司里需要使用代理上网,搞了好久,好不容易把 apt 整得可以访问外网了,结果在执行 spt update 时总是提示 Release file for http://- is not vali ...
- CentOS7.5搭建Hadoop2.7.6完全分布式集群
一 完全分布式集群搭建 Hadoop官方地址:http://hadoop.apache.org/ 1 准备3台客户机 1.2 关闭防火墙,设置静态IP,主机名 关闭防火墙,设置静态IP,主机名此处略 ...
- C#数据结构与算法系列(五):常见单链表笔试
1.求单链表中有效节点个数 public static int GetLength(HeroNode headNode) { int length = ; var cur = headNode.Nex ...
- Python中的字段分割
很多时候我们要完成分词的任务,这篇文章讲的非常非常好.生动形象,原文是https://www.cnblogs.com/douzi2/p/5579651.html,作者是宋桓公.
- Android学习笔记:实现层级导航
层级导航示例 层级导航案例 1.收下准备两个Activity的布局文件 activity_main.xml <?xml version="1.0" encoding=&quo ...
- 【asp.net core 系列】10 实战之ActionFilter
0.前言 在上一篇中,我们提到了如何创建一个UnitOfWork并通过ActionFilter设置启用.这一篇我们将简单介绍一下ActionFilter以及如何利用ActionFilter,顺便补齐一 ...
- 关于单向循环链表的约瑟夫问题(Java实现)
关于单向循环链表的约瑟夫问题(Java实现) 最近在学习链表时,遇到单向循环链表中的约瑟夫问题.在构建循环链表的代码上,我有一点很不理解,遂记录下来. Josephu问题为: 设编号为1, 2,.. ...
- 查看apk安装包信息
➜ sdk aapt dump badging ~/Downloads/PermRoot8006.apk package: name='com.qihoo.permmgr' versionCode=' ...
- Kali中密码暴力破解工具hydra的使用
前言 hydra是著名黑客组织thc的一款开源的暴力破解密码工具,功能非常强大,kali下是默认安装的,几乎支持所有协议的在线破解.密码能否破解,在于字典是否强大.本文仅从安全角度去讲解工具的使用,请 ...