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