找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

2009年单片机终极学习(二)--单片机学习前的预备知识

[复制链接]
admin 发表于 2012-9-2 06:53:31 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
?电平特性

? 2进制与16进制的表示及转换

? 二进制数的逻辑运算

? 8051单片机介绍

? C51基础知识



电平特性
? 数字电路中只有两种电平:高和低
? (本课程中)定义单片机为TTL电平:
高 +5V 低 0V
? RS232电平:计算机的串口
高 -12V 低+12V
所以计算机与单片机之间通讯时需要加电平转换芯片max232


二进制和十六进制


  二进制到优点是
数字装置简单可靠,所用元件少;
  只有两个数码0和1,因此它的每一位数都可用任何具有两个不同稳定状态的元件来表示;
基本运算规则简单,运算操作方便。



 二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。二进制数据也是采用位置计数法,其位权是以2为底的幂。
为区别于其它进制数,二进制数的书写通常在数的右下方注上基数2,或加后面加B表示

由于二进制数在使用中位数太长,不容易记忆,所以又提出了十六进制数
  十六进制数有两个基本特点:它由十六个字符0~9以及A,B,C,D,E,F组成(它们分别表示十进制数0~15),十六进制数运算规律是逢十六进一,即基R=16=2^4,通常在表示时用尾部标志H或下标16以示区别。
例如:十六进制数4AC8可写成(4AC8)16,或写成4AC8H


看看二进制与十进制和十六进制与十进制之间的转换吧


5_42316_d4043d7504baf0b.jpg


二进制数的逻辑运算

1. “与”运算?
“与”运算是实现“必须都有, 否则就没有”这种逻辑关系的一种运算。 运算符为“? ”, 其运算规则如下:?
0?0=0, 0?1=1?0=0, 1?1=1?

2. “或”运算?
“或”运算是实现“只要其中之一有, 就有”这种逻辑关系的一种运算, 其运算符为“+”。 “或”运算规则如下:?
0+0=0, 0+1=1+0=1, 1+1=1?


3. “非”运算?
“非”运算是实现“求反”这种逻辑的一种运算,如变量A的“非”运算记作 。 其运算规则如下:




4. “异或”运算?
“异或”运算是实现“必须不同, 否则就没有”这种逻辑的一种运算, 运算符为“?”。其运算规则是:




80C51系列介绍
80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。当前常用的80C51系列单片机主要产品有:
﹡ ATMEL的:89C51、89C52、89C2051 80S51 等;
CC1010,MSC1210 MCU——VRS51L2070
﹡ Philips、华邦、STC
Siemens(Infineon)等公司的许多产品 。
80C51的引脚封装
8位引脚连续排列的芯片叫总线型,而非连续的芯片就是非总线型。
80c51 有4组8位引脚,后面都会一一介绍给大家!!!
  封装,就是指把硅片上的电路管脚,用导线接引到外部接头处,以便与其它器件连接.封装形式是指安装半导体集成电路芯片用的外壳。它不仅起着安装、固定、密封、保护芯片及增强电热性能等方面的作用,而且还通过芯片上的接点用导线连接到封装外壳的引脚上,这些引脚又通过印刷电路板上的导线与其他器件相连接,从而实现内部芯片与外部电路的连接。因为芯片必须与外界隔离,以防止空气中的杂质对芯片电路的腐蚀而造成电气性能下降。另一方面,封装后的芯片也更便于安装和运输。由于封装技术的好坏还直接影响到芯片自身性能的发挥和与之连接的PCB(印制电路板)的设计和制造,因此它是至关重要的。

5_42316_dce4a2aaef0f840.gif


80C51系列介绍
80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。当前常用的80C51系列单片机主要产品有:
﹡ Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;
﹡ ATMEL的:89C51、89C52、89C2051等;
﹡ Philips、华邦、Dallas 、STC
Siemens(Infineon)等公司的许多产品 。

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外部读控制



5_42316_72c1a13c0b9e36f.gif


总线(BUS)是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。内部总线是CPU内部之间的连线。外部总线是指CPU与其它部件之间的连线。 外部总线有三种:
数据总线DB(Data Bus),

地址总线 AB(Address Bus)

控制总线 CBControl Bus)

单片机的组成

CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;
RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;
ROM:用以存放程序、一些原始数据和表格;
I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;
T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;

五个中断源的中断控制系统;
一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;
片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率取决于单片机型号及性能。



C51知识

C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。目前,使用C语言进行程序设计已经成为软件开发的一个主流。用C语言开发系统可以大大缩短开发周期,明显增强程序的可读性,便于改进、扩充和移植。而针对8051的C语言日趋成熟,成为了专业化的实用高级语言。
C-51的特点
C语言作为一种非常方便的语言而得到广泛的支持,很多硬件开发都用C语言编程,如:各种单片机、DSP、ARM等.

C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来。

C提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性。

C-51与ASM-51相比,有如下优点:
1. 对单片机的指令系统不要求了解,仅要求对8051 的存贮器结构有初步了解;
2. 寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;
3. 程序有规范的结构,可分成不同的函数,这种方式可使程序结构化;
4. 提供的库包含许多标准子程序,具有较强的数据处理能力;
5. 由于具有方便的模块化编程技术,使已编好程序可容易地移植;

C-51的数据类型
基本数据类型
 类型说明符    数的范围     分配字节数

  int       -32768~32767     ■■

  short int    -32768~32767     ■■

  signed int    -32768~32767     ■■

  unsigned int   0~65535        ■■

  long int  -2147483648~2147483647  ■■■■

  unsigned long  0~4294967295     ■■■■

C-51的数据类型扩充定义

sfr:特殊功能寄存器声明
sfr16:sfr的16位数据声明
sbit:特殊功能位声明
bit:位变量声明
例:sfr SCON = 0X98;
sfr16 T2 = 0xCC;
sbit OV = PSW^2;

C-51数据的存储类型

例:
数据类型 变量名
char var1;
bit flags;
unsigned char vextor[10];
int wwww;
注意:变量名不能用C语言中的关键字表示。

C-51的包含的头文件

通常有:reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.h
常用有:reg51.h reg52.h
(定义特殊功能寄存器和位寄存器);
math.h (定义常用数学运算);

C-51的运算符
与C语言基本相同:
+ - * / (加 减 乘 除)
> >= < <= (大于 大于等于 小于 小于等于)
== != (测试等于 测试不等于)

&& || ! (逻辑与 逻辑或 逻辑非 )

>> << (位右移 位左移)
& | (按位与 按位或)
^ ~ (按位异或 按位取反)

C-51的基本语句

与标准C语言基本相同:

if 选择语言

while 循环语言

for 循环语言

switch/case 多分支选择语言

do-while 循环语言
{这几个东西学下去,C语言就差不多了}

中断服务程序

函数名()interrupt n using m
{
函数内部实现 ….
}

I/O口定义

sbit beep=P2^3;

单片机主要掌握以下几点

最小系统能够运行起来的必要条件。

1.电源 2.晶振3.复位电路

对单片机任意IO口的随意操作

1.输出控制电平高低2.输人检测电平高低。

定时器:重点掌握最常用的方式2

中断:外部中断、定时器中断、串口中断

串口通信:单片机之间、单片机与计算机间

KEIL的使用

http://www.eehome.cn/read-htm-tid-6802-fpage-4.html

{自家的兄弟有搞过,你们可以直接看!!}

EE21-01单片机学习板


5_42316_8c7afd48ace08bf.jpg

这是一线工人的板子!!!

Main 函数 格式:void main() 特点:无返回值,无参。 任何一个C程序有且仅有一个main函数,它是整个程序开始执行的入口。
例:void main()
{ 总程序从这里开始执行;
其他语句;
}

单片机工作的基本时序


机器周期和指令周期?
(1) 振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期,TX实验板上为11.0592MHZ。 ?
(2) 状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。 ?
(3) 机器周期: 一个机器周期包含 6 个状态周期S1~S6, 也就是 12 个时钟周期。 在一个机器周期内, CPU可以完成一个独立的操作。 ?
(4) 指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有一个或几个机器周期组成。MCS - 51 系统中, 有单周期指令、双周期指令和四周期指令。
 楼主| admin 发表于 2012-9-2 06:53:37 | 显示全部楼层
好了夜已深,先期的东西差不多都在这了,希望对大家有用,以后的学习内容待续!!
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-24 05:53 , Processed in 0.061212 second(s), 12 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表