当前位置:首页 >> 其它课程 >> 单片机以及开发板学习课件

单片机以及开发板学习课件


一、单片机概论
? 单片微型计算机简称单片机,它是把组成微型计算 机的各个部件:中央处理器,储存器,输入输出接 口电路,定时器/计算器等,制作在一块集成电路中, 构成一个完整的微型计算机. ? 8位单片机占整个单片机市场的60%以上,8位单片 机的旧的机种正在被淘汰,新的机型不断涌现.8位 单片机以其功能强,品种多,正广泛应用于各个领域, 是单片机的主流机种.随着集成电

路工艺的不断改 进,8位单片机的价格也在不断降低. ? 单片机的发展趋势是: 增加存储器容量,片内 EPROM转变为FLASH,存储器编程可不同级别加 密,片内I/O管脚多功能化.

? 单片机的应用领域
– 工业方面: 电机控制,工业机器人,过程控制,数 字控制 – 仪器仪表方面: 智能仪器,医疗器械,色谱仪,示 波器 – 民用方面: 电子玩具,高级电视游戏机,录像机, 激光盘驱动 – 电讯方面: 调制解调器,智能线路运行控制. – 导航与控制: 导弹控制,智能武器装置 – 数据处理: 图形终端,磁带机,打印机 – 汽车方面: 点火控制,变速器控制,排气控制

第一章

89S52单片机的结构

一、内部结构和主要功能 二、引脚功能说明 三、时钟、复位电路 四、I/O端口 五、存储器配置 六、最小系统 七、CPU时序

89S52结构示意图

主要性能:
片内存储器包含8KB的FLASH,可在线编程,檫写次数不 少于1000次 256字节片内数据RAM 32根可编程I/0口线 8个中断源、6个中断矢量、两个优先权的中断结构 1个可编程全双工串行接口 3个可编程定时/计数器 两种低功耗模式分别是空闲模式和掉电模式 具有3级程序锁定位 含有一个看门狗定时器 具有断电标志POF 全静态工作频率0~33MHz 完全兼容MCS-51产品

89S52引脚功能介绍
VCC GND ALE /PSEN EA/VPP +5V 地 地址锁存允许 程序存储器允许
为0-访问外部程序存储器 为1-访问内部程序存储器

RST 复位信号输入 XTAL1、XTAL2 外部晶振 P0.0~P0.7 I/O端口(P0口) P1.0~P1.7 I/O端口(P1口) P2.0~P2.7 I/O端口(P2口) P3.0~P3.7 I/O端口(P3口)

89S52引脚图

时钟、复位电路

时钟电路:

复位电路:

I/O端口-P0口 1.P0端口 总线I/O端口,双向,开漏,数据地址分 时复用,该端口除用于数据的输入/输出 外,在89S52单片机外接程序存储器时,还 分时地输出/输入地址/指令。由P0端口 输出的信号无锁存,输入的信息有读端口 引脚和读端口锁存器之分

P0端口结构

P1端口结构

P2端口结构

I/O端口-P3口(双功能口) P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 -RXD 串行接口 -TXD -/INT0 外部中断输入 -/INT1 -T0 定时/计数器输入 -T1 -/WR 外部数据读、写 -/RD

I/O端口-P3口(双功能口)

P3端口结构

SFR寄存器(1)
特殊功能 寄存器 B A PSW IP P3 IE P2 SBUF SCON P1 功能名称 地址 复位后 的状态 00H 00H 00H 00H FFH 00H FFH 不定 00H FFH

*通用寄存器 F0H *累加器 E0H *程序状态寄存器 D0H *中断优先寄存器 B8H *P3口数据寄存器 B0H *中断允许寄存器 A8H *P2口数据寄存器 A0H 串行口发送/接收缓冲器 99H *串行口控制寄存器 98H *P1口数据寄存器 90H

SFR寄存器(2)
特殊功能 寄存器 功能名称 地址 复位后 的状态

TH1 TH0 TL1 TL0 TMOD TCON PCON DPH DPL SP P0

T1计数器高8位 T0计数器高8位 T1计数器低8位 T0 计数器低8位 定时/计数器方式字寄存器 *定时控制寄存器 波特率选择寄存器 地址寄存器高8位 地址寄存器低8位 堆栈指示器 *P0口数据寄存器

8DH 8CH 8BH 8AH 89H 88H 87H 83H 82H 81H 80H

00H 00H 00H 00H 00H 00H 00H 00H 00H 07H FFH

CPU时序-外部程序存储器读

CPU时序-外部数据存储器读写

第二章 89S52单片机开发入门
一、开发流程 二、开发工具 三、集成开发环境 四、举例

Keil C51开发流程
? ? ? ? ? ? ? 根据任务选择MC型号 设置工程参数,如频率,优化级别等 加入适当的包含文件#include “reg51.h” 编写源代码 调试与仿真 生成HEX文件 烧写

二、开发工具
? ? ? ? 89S52开发板 集成开发环境 下载线软件 常用仪器(万用表,示波器等)

下载线软件

编程软件

三、集成开发环境
? Keil Software Inc.的uVision2,集成开发环 境或者WAVE编译环境 ? 集成C和汇编语言源代码编写. ? 编译连接,模拟仿真,输出hex文件. ? 支持连接仿真器进行在线仿真. ? 标准C语言支持. ? 支持多级优化 ? 支持数百种器件.

Keil C51 uVision2

第三章 指令系统及汇编语言
一、指令系统概述 二、51单片机指令系统 三、汇编语言程序设计举例 四、C51程序设计举例

一、指令系统概述 MCS-51系列单片机共有111条指令 按功能可分成5类指令: 数据传送指令(29条) 算术运算指令(24条) 逻辑运算指令(24条) 控制转移指令(17条) 位操作类指令(17条)

1、AT89系列指令系统特点
1. 指令执行时间快 单周期指令 双周期指令 四周期指令 2. 指令短 单字节指令 双字节指令 三字节指令 65条 (1us, 12MHz晶振) 44条 (2us , 12MHz晶振) 2条 (4us , 12MHz晶振)

49条 46条 16条

3. 单指令实现字节相乘或相除运算 4. 具有丰富的位操作类指令

2、寻址方式
7种寻址方式: 立即寻址 直接寻址 寄存器寻址 寄存器间接寻址 相对寻址 变址寻址 位寻址

二、51单片机指令系统
1、指令中常用符号说明 2、数据传送指令 3、算术运算指令 4、逻辑运算指令 5、控制转移指令 6、位操作类指令

1、指令中常用符号说明 Rn Ri direct #data #data16 addr16 Addr11 rel bit @ () (( )) 当前寄存器区的Ro~R7(其中n=0~7) 当前寄存器区中的R0和R1(其中i=0,1) 8位直接字节地址(片内RAM和SFR空间) 8位立即数。 16位立即数。 16位地址值。 11位地址值。 8位带符号地址偏移量(-128~+127) 片内RAM和SFR中的可直接寻址位 间接寻址寄存器或基址寄存器的前缀 表示括号中的内容 表示间址寻址的内容

2、数据传送指令(1)

MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV

A, Rn A, direct A, @Ri A, #data Rn, A Rn, direct Rn, #data direct, A direct, Rn direct, direct direct, @Ri direct, #data @Ri, A @Ri, direct

数据传送指令(2)

MOV MOVC MOVC MOVX MOVX MOVX MOVX PUSH POP XCH XCH XCH XCHD SWAP

DPTR, #data16 A, @A+DPTR A, @A+PC A, @Ri A, @DPTR @Ri, A @DPTR, A direct direct A, Rn A, direct A, @Ri A, @Ri A

3、算术运算指令(1)

ADD ADD ADD ADD ADDC ADDC ADDC ADDC SUBB SUBB SUBB SUBB

A, Rn A, direct A, @Ri A, #data A, Rn A, direct A, @Ri A, #data A, Rn A, direct A, @Ri A, #data

算术运算指令(2)

INC INC INC DEC DEC DEC DEC INC MUL DIV DA

A Rn @Ri A Rn direct @Ri DPTR AB AB A

4、逻辑运算指令(1)

ANL ANL ANL ANL ANL ANL ORL ORL ORL ORL ORL ORL

A, Rn A, direct A, @Ri A, #data direct, A direct, #data A, Rn A, direct A, @Ri A, #data direct, A direct, #data

逻辑运算指令(2)

XRL XRL XRL XRL XRL CLR CPL RL RLC RR RRC

A, Rn A, @Ri A, #data direct, A direct, #data A A A A A A

ACALL LCALL RET RETI AJMP LJMP SJMP JMP JZ JNZ CJNE CJNE CJNE DJNZ DJNZ NOP

5、控制转移指令 addr11 addr16

addr11 addr16 rel @A+DPTR rel rel A, direct, rel A, #data, rel @Ri, #data, rel Rn, rel direct, rel

6、位操作类指令

CLR CLR SETB SETB CPL CPL ANL ANL ORL ORL MOV MOV JC JNC JB JNB
JBC

C bit C bit C bit C, bit C, /bit C, bit C, /bit C, bit bit, C rel rel bit, rel bit, rel
bit, rel

三、汇编语言程序设计应用举例
举例: 设计一个指示器,要求当指示 按键按下后,指示灯发光。 设P1.0口驱动指示灯, P1.1口作为指示按键输入。 电路设计见图

START:

SOUND:

ORG LJMP ORG JB JNB SETB SJMP MOV SETB MOV LCALL CLR MOV LCALL DJNZ RET

00 START 0100H P1.1, $ P1.1, $ P1.0 LOOP1 R7, #5 P1.0 R0, #10 DELAY P1.0 R0, #20 DELAY R7, SOUND1

DELAY: DELAY1: DELAY2:

MOV MOV NOP NOP NOP DJNZ DJNZ DJNZ RET

R1,#100 R2,#200

;100ms ;1ms

R2, DELAY2 R1, DELAY1 R0, DELAY

#include “reg51.h” #define uchar unsigned char sbit pinSW=P1^2; sbit pinBell=P1^0; sbit pinLed=P1^1; void Delay_1ms(uint S_DelayTime) { uchar S_j; while (S_DelayTime!=0) { S_DelayTime--; for(S_j=0;S_j<115;S_j++){} } } void main(void) { int Delay=0; pinLed=1; pinBell=1; while(1) { if(!pinSW) { Delay_1ms(2);

第四章 51单片机的功能单元介绍

一、定时/计数器 二、串行接口 三、中断系统

一、定时/计数器
定时器/计数器简称定时器,其作用主要包括产生 各种时标间隔、记录外部事件的数量等,是微机中最常 用、最基本的部件之一。 803l单片机有2个16位的定时器/计数器: 定时器0(T0)和定时器1(T1)。T0由2个定时寄存器TH0 和TL0构成,T1则由TH1和TL1构成,它们都分别映射 在特殊功能寄存器中,从而可以通过对特殊功能寄存器 中这些寄存器的读写来实现对这两个定时器的操作。 用于定时器工作时,每一个机器周期定时寄存器自 动加l,所以定时器也可看作是计量机器周期的计数器。 由于每个机器周期为12个时钟振荡周期,所以定时的分 辨率是时钟振荡频率的1/12。 用于计数器工作时,只要在单片机外部引脚T0(或 T1)有从1到0电平的负跳变,计数器就自动加1。计数 的最高频率一般为振荡频率的l/24

1、控制字
T1

TMOD控制字 M0
0-定时状态 01-方式1

T0

GATE C/T
GATE C/T M1、M0 1-打开

M1
0-关闭

GATE C/T

M1

M0

1-计数状态

工作方式设置 00-方式0

10-方式2

11-方式3

TF1
TF TR IT IE

TR1

TF0

TCON控制字 TR0 IE1

IT1

IE0

IT0

中断请求标志(T0、T1),高电平有效 定时/计数器(T0、T1)运行控制位,高电平有效 外部中断(INT0、INT1)触发方式 1-下降沿引起 外部中断请求标志(INT0、INT1),高电平有效 0-低电平引起

2、方式0
13位方式,由TL1的低5位和TH1的8 位构成13位计数器(TL1的高3位无效)

3、方式1
16位方式,由TL1的8位和TH1的8位 构成16位计数器

4、方式2
8位自动装入时间常数方式。由TL1构成8位计数器, THl仅用来存放时间常数。启动T1前,TL1和TH1装 入相同的时间常数,当TL1计满后,除定时器回零标 志TF1置位,具有向CPU请求中断的条件外,TH1中 的时间常数还会自动地装入TL1,并重新开始定时或 计数

5、方式3
2个8位方式。工作方式3只适用于定时 器0。如果使定时器1为工作方式3,则定时 器1将处于关闭状态。

6、汇编编程举例
利用定时器/计数器每隔1ms控制产生宽度为2个机器周期的负脉冲,由 P1.0送出,设时钟频率为12MHz ORG 0000H AJMP MAIN ORG 000BH AJMP T0INT ORG 100H MAIN: MOV TH0,#0DDH MOV TL0,#18H SETB TRO LOOP: SJMP LOOP ORG 200H T0INT: CLR P1.0 SETB P1.0 MOV TH0,#0DDH MOV TL0,#18H RETI

7、C51编程举例
#include <reg52.h> sbit pinPulse=P1^0; void T0Int(void); void T0Int(void) interrupt 1 { pinPulse=0; pinPulse=1; TH0=0xdd; TL0=0x18; } void main(void) { TH0=0xdd; TL0=0x18; ET0=1; EA=1; TR0=1; while(1); }

二、串行接口
MCS—51单片机具有一个采用通用异 步接收器/发送器(UART)工作方式的全双 工串行通信接口,可以同时发送、接收数 据。它具有两个相互独立的接收、发送缓 冲器,两个缓冲器共用一个地址(99H),发 送缓冲器只能写入,不能读出,接收缓冲 器只能读出,不能写入。同时,该串行接 口也可作为同步移位寄存器使用,其中帧 格式可有8位、10位和11位,并能置成多种 波特率。

1、异步通信格式

波特率(Baud Rate) 波特率,即数据传送速率,表示每秒钟传送二进制代 码的位数,它的单位是位/秒。举例:数据传送的速率每秒 为120个字符,每个字符包含10个代码位(一个起始位、一个 停止位、8个数据位),这时,传送的波特率为: 10×120位/秒=1200波特(bps)

2、串行口控制寄存器SCON (98H)
D7 D6 D5 D4 D3 D2 D1 D0

SM0

SM1
SM0 0 0

SM2

REN TB8
说明

RB8

TI
波特率 fosc/12 可变

RI

SM1 0 1

工作方式 0 1

同步移位寄存器 10位异步收发

1
1

0
1

2
3

11位异步收发
10位异步收发

fosc/32 或fosc/64
可变

.REN: 允许接收控制位,用软件置1或清0

TI: RI: TB8: RB8: SM2:

发送中断标志位,软件清0 接收中断标志位,软件清0 准备发送的第9位数据位,软件置1或0 接收到的第9位数据 用于主—从式多机通信的控制位。若SM2=1,则允许多机通信

4、关于多机通信
SM2:在工作方式2和工作方式3中,用于主—从式多机通 信的控制位。若SM2=1,则允许多机通信。多机通信规定, 第9位数据(D8)为l,说明本帧为地址;若第9位数据为0,则 本帧为数据,当一个MCS—51(主机)与多个MCS—51(从机)通 信时,所有从机的SM2都置为1。主机首先发送一帧地址,即 某从机地址编号,其中第9位为1,被寻址的某个从机收到地 址信息后,将其中的第9位装入RB8。从机依据RB8的值来决 定从机是否再接收主机的信息。若RB8=0,说明是数据帧, 则使接收中断标志位RI=0,信息丢失;若RB8=1,说明是 地址帧,数据装入接收/发送缓冲器,并置中断标志RI=1, 中断所有从机,被寻址的目标从机使SM2=0,以接收主机发 来的一帧数据,其它从机仍然保持SM2=1。若SM2=0,则不 属于多机通信情况,接收到一帧数据后,无论第9位是0还是 1,都置中断标志RI=1,接收到的数据装入接收/发送缓冲 器中。工作方式1时,若SM2=1,则只有接收到有效停止位 时,中断标志RI才置1,以便接收下一帧数据。在工作方式0 时,SM2应为0。

三、中断系统
1、中断结构图 2、中断控制寄存器 3、中断响应条件 4、中断响应过程 5、中断响应示意图 6、汇编编程举例 7、C51编程举例

1、中断结构图

2、中断控制寄存器
同级内部优先级

外部中断0 定时器0 外部中断1 定时器1 串行口

最高

最低

IE
全局中断允许位

EA

× ×

ES ET1 EX1 ET0 EX0
INT0 中断允许位 T0 中断允许位

串行口中断允许位 1-打开 0-关闭

INT1 中断允许位 T1 中断允许位

IP
串行口中断优先位

×

× ×

PS PT1 PX1 PT0 PX0 (B8H)
INT0 中断优先位 T0 中断优先位

INT1 中断优先位 1-高优先 0-低优先 T1 中断优先位

3、中断的响应条件

中断源有请求,CPU允许所有中断源请求(EA= 1),中断允许寄存器IE相应位置1。这样,在每个机 器周期内,单片机对所有中断源都进行顺序检测, 并可在任一个周期的S6期间,找到所有有效的中断 请求,并对其优先级排队,只要满足下列条件:
1. 无同级或高级中断正在服务; 2. 现行指令执行到最后一个机器周期且已结束; 3. 若现行指令为RETI或需访问特殊功能寄存器IE或 IP的指令时,执行完该指令且紧随其后的另一条 指令也已执行完。 单片机便在紧接着的下一个机器周期S1期间响应 中断,否则将丢弃中断查询的结果。

4、中断响应过程

单片机一旦响应中断,首先置位响应的 优先级有效触发器,然后执行一个硬件子 程序调用,把断点地址压入堆栈保护,然 后将对应的中断入口地址值装入程序计数 器PC,使程序转向该中断人口地址,以执 行中断服务程序。 单片机响应中断后,只保护断点而不保 护现场(如累加器A、程序状态字寄存器 PSW的内容),且不能清除串行口中断标志 TI和RI,也无法清除外部中断请求信号 INT0和INT1。故用户在编制程序时应予以 考虑。

5、中断响应示意图

特定程序入口地址: 0000H 复位
中断向量地址 中断源

0003H 000BH 0013H 001BH 0023H

外部中断0 定时器0 外部中断1 定时器1 串行口

6、汇编编程举例 利用定时器T0定时,在P1.0端口输出周期性的方波信号, 方波周期为2ms,已知晶振频率为6MHz 。
ORG LJMP ORG LJMP ORG START:MOV MOV MOV SETB SETB HERE: SJMP CTC0: MOV MOV CPL RETI 0000H START 000BH CTC0 0100H TMOD,#01H TL0,#18H TH0,#0FCH EA ET0 HERE TL0,#18H TH0,#0FCH P1.0

7、C51编程举例
#include <reg52.h> sbit pinPulse=P1^0 void T0Int(void) interrupt 1 { TL0=0x18; TH0=0xfc; pinPulse=~pinPulse; } void main(void) { TMOD=0x01; TL0=0x18; TH0=0xfc; EA=1; ET0=1; while(1); }

第五章 51单片机的扩展应用
一、并行扩展设计 二、串行扩展设计 三、键盘及显示接口设计 四、A/D、D/A接口设计 五、LED、LCD接口设计

一、串行扩展I/O口举例

三、键盘及显示接口设计
1、键盘接口电路举例 2、LED显示接口电路举例 3、LCD显示接口电路举例

1、键盘接口电路举例
(1)独立式键盘 (2)矩阵式键盘

(1)独立式键盘

VCC

(2)矩阵式键盘

输 出 行 线 输 入 列 线

LED数码管

8×8点阵模块(1)

8×8点阵模块(2)

点阵的基本连接方式

显示图像的基本原理
? 如下图所示,假设显示数字“0” ? 1 2 3 4 5 6 78 ? ? ●●●●●●●● ? ●●●●●●●● ? ●●●●●●●● ? ●●●●●●●● ? ●●●●●●●● ? ●●●●●●●● ? ●●●●●●●● ? 00 00 3E 41 41 41 3E 00 ? 因此,形成的列代码为 00H,00H,3EH,41H,41H,3EH,00H, 00H;只要把这些代码分别送到相应的列线上面,即可实现“0”的 数字显示。

LCD显示接口电路举例

基本特性
? 1602的屏一般为标准屏,接口定义基本一 样,但由于厂家的差异,默认对比度不完 全相同,请读者在对比度调节端子自行加 装电位器调节。内侧16引脚的座子为1602 的插座。下图是1602液晶屏的实物图片, 货物以实物为准。屏的引脚处标有引脚数。 部分屏标有定义(视厂家而定)。本款配 屏的引脚定义如下:

数据端口
? ? ? ? ? ? GND(地) VCC(电源正极5V) V0(对比度调节端,通常直接接地) RS(读控制) RW(写控制) E(使能端)

数据端口
? ? ? ? ? ? ? ? ? ? DB0(数据端口最低端) DB1 DB2 DB3 DB4 DB5 DB6 DB7(数据端口最高端) BLA(背光正极) BLK(背光负极)

ADC0809的原理
ADC0809是带有8位A/D转换器、8路多路 开关以及微处理机兼容的控制逻辑的 CMOS组件。它是逐次逼近式A/D转换器, 可以和单片机直接接口。

ADC0809原理图


更多相关文档:

单片机开发板的制作步骤

搜试试 3 帮助 全部 DOC PPT TXT PDF XLS 百度文库 专业资料 工程科技 机械...单片机开发板是用于学习 51、STC、AVR 型号的单片机实验设备。根据单片机使 用的...

如何学习单片机及选择单片机开发板

如何学习单片机及选择单片机开发板 单片机,对于电子专业的人来说,是最重要的、...单片机开发板学习课件 84页 1下载券 DF51单片机开发板学习课... 11页 免费 ...

学习51单片机开发板

搜试试 3 帮助 全部 DOC PPT TXT PDF XLS 百度文库 专业资料 工程科技 电子/电路学习51单片机开发板_电子/电路_工程科技_专业资料...

单片机开发板设计

搜 试试 3 帮助 全部 DOC PPT TXT PDF XLS 百度文库 专业资料 工程科技 ...有助于当代大学生及涉及单片机领域的工作者们更深入的 了解和学习单片机开发机...

全功能 51单片机开发板 学习板

29.所有单片机所有 I/O 和外部资源接口均引出,完全可以让学员能够 触类旁通、...69页 7下载券 51单片机开发板学习课件... 84页 2下载券喜欢此文档的还喜欢 ...

单片机开发板使用说明书

搜试试 3 帮助 全部 DOC PPT TXT PDF XLS ...单片机开发板使用说明书_电子/电路_工程科技_专业...学习应用查询法和中断法实现键盘的处理; 二、 实验...

自制单片机开发板全过程(傻瓜式教程)

搜 试试 7 帮助 全部 DOC PPT TXT PDF XLS 百度文库 教育专区 高等教育 ...51单片机开发板制作全过程1.自制单片机之一……想法与计划学习了一段时间的 51...

单片机开发板介绍

搜 试试 7 帮助 全部 DOC PPT TXT PDF XLS 百度文库 专业资料 工程科技 ...兼容单片机芯片,不需要任何编程器就可以学习开发单 片机, 让学习和工作更接近...

学习开发板经验

开发板学习课件 84页 免费 Mini2440开发板学习1 20页 免费 CC2530开发板学习教程 18页 4下载券 C51单片机学习开发板 7页 免费 PIC32开发板学习 41页 1下载券...

单片机学习开发板实习报告

搜试试 7 帮助 全部 DOC PPT TXT PDF XLS 百度文库 实用文档 总结/汇报 ...单片机学习开发板实习报告_实习总结_总结/汇报_实用文档。单片机学习开发板实习...
更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com