郭天祥十天学会单片机PPT课件(完全版).ppt

上传人:xt****7 文档编号:16917963 上传时间:2020-11-05 格式:PPT 页数:210 大小:4.63MB
收藏 版权申诉 举报 下载
郭天祥十天学会单片机PPT课件(完全版).ppt_第1页
第1页 / 共210页
郭天祥十天学会单片机PPT课件(完全版).ppt_第2页
第2页 / 共210页
郭天祥十天学会单片机PPT课件(完全版).ppt_第3页
第3页 / 共210页
资源描述:

《郭天祥十天学会单片机PPT课件(完全版).ppt》由会员分享,可在线阅读,更多相关《郭天祥十天学会单片机PPT课件(完全版).ppt(210页珍藏版)》请在装配图网上搜索。

1、十天学会单片机 完整版 十天学会单片机 完整版 第一讲 学单片机需要什么基础? 什么是单片机、单片机能做什么、怎么开始 学习单片机。 学单片机需要的一些预备知识 C51基础知识。 了解 TX-1C单片机学习板系统结构 如何用 TX-1C单片机学习板在短时间内掌握 51单片机和 C语言编程。 KEIL工程建立详细介绍及 KEIL软件使用方法 从点亮实验板上的一个发光二极管开始 学单片机需要什么基础? 1. 与以前所学的知识关联很少; 2. 只需要掌握很基本的数电模电知识,如 二进制、十进制、十六进制之间的转换, 与、或、非逻辑关系等; 3. 对各种器件的概念基本上是从 0开始; 4. 如果要用

2、C语言编程,需具备简单的 C语 言基础; 5. 所有人都站在了同一起跑线上 ; 什么是单片机 ? 单板机 将 CPU芯片、 存储器 芯片、 I/O接口 芯片和 简单的 I/O设备 (小键盘、 LED显示器)等装 配在一块印刷电路板上,再配上 监控程序 (固 化在 ROM中),就构成了一台单板微型计算 机(简称单板机)。 单板机 单板机的 I/O设备简单 , 软件资 源少 , 使用不方便 。 早期主要用 于微型计算机原理的 教学 及 简单 的测控系统 , 现在已很少使用 。 单片机 在一片集成电路芯片上集成微处理器、 存储器、 I/O接口电路,从而构成了 单芯片 微型计算机,即单片机 。 Int

3、el公司推出了 MCS-51系列单片机: 集成 8位 CPU、 4K字 节 ROM、 128字节 RAM、 4个 8位并口、 1个 全双工串行口、 2个 16位定时 /计数器。寻址 范围 64K,并有控制功能较强的布尔处理器。 单板机 单片机 单片机能做什么 实物展示 用到单片机的项目经验介绍 1. 手持粮库温度寻检设备 2. 毕设答辩打分器 3. 电话台灯 4. 自动感应水龙头 凡是与控制或简单计算有关的电子设备都可以用 单片机来实现,再根据具体实际情况选择不同性 能的单片机,如: atmel,stc,pic,avr,凌阳, 80C51, arm等 工业自动化:数据采集、测控技术。 智能仪器

4、仪表:数字示波器、数字信号源、 数字万用表、感应电流表等。 消费类电子产品:洗衣机、电冰箱、空调机、 电视机、微波炉、手机、 IC卡、汽车电子设 备等。 通讯方面:调制解调器、程控交换技术、手 机、小灵通等。 武器装备:飞机、军舰、坦克、导弹、航天 飞机、鱼雷制导、智能武器等。 等等 . 怎么开始学习? 实践第一。 补充必要的理论知识,即缺什么补什么。 做工程项目积累经验。(可在网络上搜集题 目,也可自己有什么想法大胆的去试验) 预备知识 电平特性 2进制与 16进制的表示及转换 二进制数的逻辑运算 8051单片机介绍 C51基础知识 关于电平特性 数字电路中只有两种电平:高和低 (本课程中)

5、定义单片机为 TTL电平: 高 +5V 低 0V RS232电平:计算机的串口 高 -12V 低 +12V 所以计算机与单片机之间通讯时需要加电 平转换芯片 max232(实验板上左下角)。 二进制 数字电路中的两种电平特性决定了它 0 0 6 110 1 1 7 111 2 10 8 1000 3 11 9 1001 4 100 10 1010 5 101 11 1011 十六进制 是二进制的简短表示形式。 十进制中的 0-15分别表示为十六进制的 0、 1、 2、 3、 4、 5、 6、 7、 8、 9、 A、 B、 C、 D、 E、 F 熟练掌握二进制与十六进制之间的转换。 规律:一般把

6、四个二进制数放在一起转换成 一个十六进制数,转换时先把二进制数转换 成十进制数,再把十进制数转换成十六进制 数。 如: 0001B - 1 - 1H B表示为二进制, H为十六进制 1001B - 9 - 9H 1010B - 10 - AH 0010 1100 - 44 - 2CH 各种进位制的对应关系 十进制 二进制 十六进制 十进制 二进制 十六进制 0 0 0 9 1001 9 1 1 1 10 1010 A 2 10 2 11 1011 B 3 11 3 12 1100 C 4 100 4 13 1101 D 5 101 5 14 1110 E 6 110 6 15 1111 F 7

7、 111 7 16 10000 10 8 1000 8 二进制数的逻辑运算 1. “与 ” “ 与 ” 运算是实现 “ 必须都有 , 否 则就没有 ” 这种逻辑关系的一种运算 。 运算符为 “ ”, 其运算规则如下 : 00=0, 01=10=0, 11=1 2. “或 ” “ 或 ” 运算是实现 “ 只要其中之一 有 , 就有 ” 这种逻辑关系的一种运算 , 其运算符为 “ +”。 “ 或 ” 运算规则如 下 : 0+0=0, 0+1=1+0=1, 1+1=1 3. “非 ” 运算 “ 非 ” 运算是实现 “ 求反 ” 这种逻 辑的一种运算 , 如变量 A的 “ 非 ” 运算 记作 。 其运

8、算规则如下 : A 10,01 4. “异或 ” “ 异或 ” 运算是实现 “ 必须不同 , 否则就没有 ” 这种逻辑的一种运算 , 运 算符为 “ ” 。其运算规则是 : 011,101,110,000 80C51系列介绍 Intel的: 80C31、 80C51、 87C51, 80C32、 80C52、 87C52等; ATMEL的: 89C51、 89C52、 89C2051等; Philips、华邦、 Dallas 、 STC Siemens(Infineon)等公司的许多产品 。 补充:关于型号的介绍 80C51是 MCS-51系列中的一个典型品种; 其它厂商 以 8051为基核

9、开发出的 CMOS工艺 单片机产品 统称为 80C51系列 。 当前常用的 80C51系列单片机主要产品有: 80C51的引脚封装 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 4 0 3 9 3 8 3 7 3 6 3 5 3 4 3 3 3 2 3 1 3 0 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 1 2 3 4 5 6 7 8 9 1 0 2 0 1 9 1 8 1 7 1 6 1 5 1 4 1 3 1 2 1 1 P 1 . 0 P 1 . 1 P 1 . 2 P 1 .

10、3 P 1 . 4 P 1 . 5 P 1 . 6 P 1 . 7 R S T / V P D P 3 . 0 / R X D P 3 . 1 / T X D P 3 . 2 / I N T 0 P 3 . 3 / I N T 1 P 3 . 4 / T 0 P 3 . 5 / T 1 P 3 . 6 / W R P 3 . 7 / R D X T A L 2 X T A L 1 V S S V C C P 0 . 0 P 0 . 1 P 0 . 2 P 0 . 3 P 0 . 4 P 0 . 5 P 0 . 6 P 0 . 7 E A / V P P A L E / P R O G P S

11、E N P 2 . 7 P 2 . 6 P 2 . 5 P 2 . 4 P 2 . 3 P 2 . 2 P 2 . 1 P 2 . 0 R S T P 3 . 0 / R X D P 3 . 1 / T X D X T A L 2 X T A L 1 P 3 . 2 / I N T 0 P 3 . 3 / I N T 1 P 3 . 4 / T 0 P 3 . 5 / T 1 G N D V C C P 1 . 7 P 1 . 6 P 1 . 5 P 1 . 4 P 1 . 3 P 1 . 2 P 1 . 1 / A I N 1 P 1 . 0 / A I N 0 P 3 . 7 注 : 类

12、似 的 还 有 P h i l i p s 公 司 的 8 7 L P C 6 4 , 2 0 引 脚 8 X C 7 4 8 / 7 5 0 / ( 7 5 1 ) , 2 4 引 脚 8 X 7 4 9 ( 7 5 2 ) , 2 8 引 脚 8 X C 7 5 4 , 2 8 引 脚 等 等 8 0 C 5 1 / 8 9 C 5 1 8 9 C 2 0 5 1 总线型 非总线型 P3第二功能各引脚功能定义: P3.0: RXD串行口输入 P3.1: TXD串行口输出 P3.2: INT0外部中断 0输入 P3.3: INT1外部中断 1输入 P3.4: T0定时器 0外部输入 P3.5

13、: T1定时器 1外部输入 P3.6: WR外部写控制 P3.7: RD外部读控制 总线( BUS)是计算机各部件之间传送信 息的公共通道。微机中有内部总线和外部总 线两类。内部总线是 CPU内部之间的连线。 外部总线是指 CPU与其它部件之间的连线。 外部总线有三种 : 数据总线 DB( Data Bus) , 地址总线 AB( Address Bus)和控制总线 CBControl Bus)。 CPU:由运算和控制逻辑组成,同时还包括 中断系统和部分外部特殊功能寄存器; RAM:用以存放可以读写的数据,如运算的 中间结果、最终结果以及欲显示的数据; ROM:用以存放程序、一些原始数据和表格

14、; I/O口:四个 8位并行 I/O口,既可用作输入, 也可用作输出; T/C:两个定时 /记数器,既可以工作在定时 模式,也可以工作在记数模式; 五个中断源的中断控制系统; 一个全双工 UART(通用异步接收发送器) 的串行 I/O口,用于实现单片机之间或单片机 与微机之间的串行通信; 片内振荡器和时钟产生电路,石英晶体和微 调电容需要外接。最高振荡频率取决于单片 机型号及性能。 C51知识 C语言是一种编译型程序设计语言,它兼顾 了多种高级语言的特点,并具备汇编语言的 功能。目前,使用 C语言进行程序设计已经 成为软件开发的一个主流。用 C语言开发系 统可以大大缩短开发周期,明显增强程序的

15、 可读性,便于改进、扩充和移植。而针对 8051的 C语言日趋成熟,成为了专业化的实 用高级语言。 C语言作为一种非常方便的语言而得到广泛 的支持,很多硬件开发都用 C语言编程,如: 各种单片机、 DSP、 ARM等 . C语言程序本身不依赖于机器硬件系统,基 本上不作修改就可将程序从不同的单片机中 移植过来。 C提供了很多数学函数并支持浮点运算,开 发效率高,故可缩短开发时间,增加程序可 读性和可维护性。 C-51的特点 C-51与 ASM-51相比,有如下优点: 1. 对单片机的指令系统不要求了解,仅 要求对 8051 的存贮器结构有初步了解; 2. 寄存器分配、不同存贮器的寻址及数 据类

16、型等细节可由编译器管理; 3. 程序有规范的结构,可分成不同的函 数,这种方式可使程序结构化; 4. 提供的库包含许多标准子程序,具有 较强的数据处理能力; 5. 由于具有方便的模块化编程技术,使 已编好程序可容易地移植; C 51的数据类型 基本数据类型 类型 符号 关键字 数的表示范围 所占位数 整 型 字 符 型 实 型 有 无 (signed) int 16 -3276832767 (signed) short 16 -3276832767 (signed) long 32 -21474836482147483647 16 unsigned int 065535 32 04294967

17、295 unsigned long int unsigned short int 16 065535 有 float 32 3.4e-383.4e38 有 double 64 1.7e-3081.7e308 有 char 8 -128127 无 unsigned char 8 0255 C语言中的基本数据类型 类型 符号 关键字 数的表示范围 所占位数 整 型 字 符 型 实 型 有 无 (signed) int 16 -3276832767 (signed) short 16 -3276832767 (signed) long 32 -21474836482147483647 16 unsi

18、gned int 065535 32 04294967295 unsigned long int unsigned short int 16 065535 有 float 32 3.4e-383.4e38 有 double 64 1.7e-3081.7e308 有 char 8 -128127 无 unsigned char 8 0255 C 51的数据类型扩充定义 sfr:特殊功能寄存器声明 sfr16:sfr的 16位数据声明 sbit:特殊功能位声明 bit:位变量声明 例: sfr SCON = 0X98; sfr16 T2 = 0 xCC; sbit OV = PSW2; 例: 数据

19、类型 变量名 char var1; bit flags; unsigned char vextor10; int wwww; 注意:变量名不能用 C语言中的关 键字表示。 C-51数据的存储类型 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语言基本相同: + - * / (加 减 乘 除) = (位右移 位左移) 单片机主要掌握以下几点 最小系统能够运行

20、起来的必要条件。 1.电源 2.晶振 3.复位电路 对单片机任意 IO口的随意操作 1.输出控制电平高低 2.输出检测电平高低。 定时器:重点掌握最常用的方式 2 中断:外部中断、定时器中断、串口中断 串口通信:单片机之间、单片机与计算机间 KEIL的使用 掌握 KEIL工程的建立和软件的开发; 掌握 KEIL中软件仿真的基本应用; 掌握用 KEIL直接硬件仿真 TX-1C单片机学习 板的方法 Main 函数 格式: void main() 特点:无返回值,无参。 任何一个 C程序有且仅有一个 main函 数,它是整个程序开始执行的入口。 例: void main() 总程序从这里开始执行 ;

21、 其他语句; 课后练习 对照 TX-1C单片机学习板原理图写程序 用位操作和总线操作两种方法完成以下题目 1.熟练建立 KEIL工程 2.点亮第一个发光管 . 3.点亮最后一个发光管 4.点亮 1、 3、 5、 7 5.点亮二、四、五、六 6.尝试让第一个发光管闪烁 7.尝试设计出流水灯程序 自己动手实践需要硬件材料 DIP40脚座一个。 杜邦线,单头带冒, 40根。 单排针 两排。 小电路板一块。 DS12C887 一片(旧 10元,新 22元)。 焊锡、 单片机工作的基本时序 机器周期和指令周期 ( 1) 振荡周期 : 也称时钟周期 , 是指为单片机提 供时钟脉冲信号的振荡源的周期, TX

22、实验板上为 11.0592MHZ。 ( 2) 状态周期 : 每个状态周期为时钟周期的 2 倍 , 是振荡周期经二分频后得到的。 ( 3) 机器周期 : 一个机器周期 包含 6 个状态周 期 S1S6, 也就是 12 个时钟周期 。 在一个机器周 期内 , CPU可以完成一个独立的操作。 ( 4) 指令周期 : 它是指 CPU完成一条操作所需 的全部时间。 每条指令执行时间都是有一个或几个 机器周期组成。 MCS - 51 系统中 , 有单周期指令、 双周期指令和四周期指令。 第二讲 如何申请免费样片 简单延时程序 子程序调用 带参数子程序设计 C51库函数的方便调用 如何驱动蜂鸣器 如何驱动继

23、电器 集电极开路的概念及应用。 While (表达式) 语句(内部也可为空) 特点:先判断表达式,后执行语 句。 原则:若表达式不是 0,即为真 ,那么执行语句。否则跳出 while 语句。 For (表达式 1;表达式 2;表达式 3) 语句(内部可为空) 执行过程: 1.求解一次表达式 1. 2.求解表达式 2,若其值为真(非 0 即为真),则执行 for中语句。然后 执行第 3步。否则结束 for 语句,直 接跳出,不再执行第 3步。 3.求解表达式 3. 4.跳到第 2步重复执行。 集电极开路典型图 P 0i Q1 9013 V C C GND O U T P U T 课后练习 1.

24、第一个发光管以间隔 200ms闪烁 2. 8个发光管由上至下间隔 1s流动,其中每个管亮 500ms,灭 500ms,亮时蜂鸣器响,灭时关闭蜂鸣器,一直重复下去。 3. 8个发光管来回流动,第个管亮 100ms,流动时让蜂鸣器发出 “滴滴”声。 4. 用 8个发光管演示出 8位二进制数累加过程。 5. 8个发光管间隔 200ms由上至下,再由下至上,再重复一次 ,然后全部熄灭再以 300ms间隔全部闪烁 5次。重复此过程 。 6. 间隔 300ms第一次一个管亮流动一次,第二次两个管亮流动 ,依次到 8个管亮,然后重复整个过程。 7. 间隔 300ms先奇数亮再偶数亮,循环三次;一个灯上下循环

25、 三次;两个分别从两边往中间流动三次;再从中间往两边流 动三次; 8个全部闪烁 3次;关闭发光管,程序停止。 第三讲 数码管是如何显示出字符的 数码管静态显示与动态显示原理 中断概念 单片机的定时器应用 显示器及其接口 单片机系统中常用的显示器有: 发光二极管 LED(Light Emitting Diode)显示器、 液晶 LCD(Liquid Crystal Display)显示器、 CRT显示器 等。 LED、 LCD显示器有两种显示结构:段显示( 7 段、米字型等)和点阵显示( 5 8、 8 8点阵等)。 使用 LED显示器时,要注意区分这两种不同的接法。为了显 示数字或字符,必须对数

26、字或字符进行编码。七段数码管加上一 个小数点,共计 8段。因此为 LED显示器提供的编码正好是一个字 节。 TX实验板用共阴 LED显示器,根据电路连接图显示 16进制数 的编码已列在下表。 a b cde g GND f dp GND a b c e f g d dp a b c d e f g dp dp g f e d c b a 5V (a ) (b )共阴极 共阳极 共阴数码管码表 0 x3f , 0 x06 , 0 x5b , 0 x4f , 0 x66 , 0 x6d , 0 1 2 3 4 5 0 x7d , 0 x07 , 0 x7f , 0 x6f , 0 x77 , 0

27、x7c , 6 7 8 9 A B 0 x39 , 0 x5e , 0 x79 , 0 x71 , 0 x00 C D E F 无显示 LED数码显示方式及电路 静态显示方式 LED显示器工作方式有两种:静态显示方式和动态显示 方式。静态显示的特点是每个数码管的段选必须接一个 8位 数据线来保持显示的字形码。当送入一次字形码后,显示字 形可一直保持,直到送入新字形码为止。这种方法的优点是 占用 CPU时间少,显示便于监测和控制。缺点是硬件电路比 较复杂,成本较高。 动态显示 动态显示的特点是将所有位数码管的段选线 并联在一起,由位选线控制是哪一位数码管有效。 选亮数码管采用动态扫描显示。所谓动

28、态扫描显 示即轮流向各位数码管送出字形码和相应的位选, 利用发光管的余辉和人眼视觉暂留作用,使人的 感觉好像各位数码管同时都在显示。动态显示的 亮度比静态显示要差一些,所以在选择限流电阻 时应略小于静态显示电路中的。 A L E WR RD R X D T X D I N T 0 E A / V P 31 X1 19 X2 18 R E S E T 9 RD 17 WR 16 I N T 0 12 I N T 1 13 T0 14 T1 15 P 10 1 P 11 2 P 12 3 P 13 4 P 14 5 P 15 6 P 16 7 P 17 8 P 00 39 P 01 38 P 02

29、 37 P 03 36 P 04 35 P 05 34 P 06 33 P 07 32 P 20 21 P 21 22 P 22 23 P 23 24 P 24 25 P 25 26 P 26 27 P 27 28 P S E N 29 A L E / P 30 T X D 11 R X D 10 V C C 40 GND 20 U1 8 9 C5 2 P S E N P 10 P 11 P 12 P 13 P 14 P 15 P 16 P 17 T0 T1 I N T 1 P 00 P 01 P 02 P 03 P 04 P 05 P 06 P 07 P0 0 P0 1 P0 2 P0 3

30、P0 4 P0 5 P0 6 P0 7 P 20 P 21 P 22 P 23 P 24 P 25 P 26 P 27 P2 0 P2 1 P2 2 P2 3 a bf c g d e D P Y 11 7 4 2 1 10 5 a b c d e f g 3 dp dp a bf c g d e dp a bf c g d e dp a bf c g d e dp C0 6 C2 8 C3 9 C4 12 L E D D P Y 4 - L E D 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 R 1K P0 0 P0 1 P0 2 P0 3 P0 4 P0

31、5 P0 6 P0 7 5V K9 9 K 1 0 A K 1 5 F P 10 P 11 P 12 P 13 P14 P15 P16 P17 E A / V P 31 X1 19 X2 18 R E S E T 9 RD 17 WR 16 I N T 0 12 I N T 1 13 T0 14 T1 15 P 1 0 1 P 1 1 2 P 1 2 3 P 1 3 4 P 1 4 5 P 1 5 6 P 1 6 7 P 1 7 8 P 0 0 39 P 0 1 38 P 0 2 37 P 0 3 36 P 0 4 35 P 0 5 34 P 0 6 33 P 0 7 32 P 2 0 21

32、P 2 1 22 P 2 2 23 P 2 3 24 P 2 4 25 P 2 5 26 P 2 6 27 P 2 7 28 P S E N 29 A L E / P 30 T X D 11 R X D 10 V C C 40 GND 20 U1 89C 52 P 1 0 P 1 1 P 1 2 P 1 3 P 1 4 P 1 5 P 1 6 P 1 7 K0 0 K1 1 K2 2 K3 3 K5 5 K6 6 K7 7 K8 8 K4 4 K 1 1 B K 1 2 C K 1 3 D K 1 4 E 中断系统 3.1 80C51的中断系统 3.1.1 80C51的中断系统结构 一、中断的

33、概念 CPU在处理某一事件 A时,发生了另一事件 B请求 CPU迅速去处理( 中断发生 ); CPU暂时中断当前的工作,转去处理事件 B ( 中断响应和中断服务 ); 待 CPU将事件 B处理完毕后,再回到原来事 件 A被中断的地方继续处理事件 A( 中断返 回 ),这一过程称为 中断 。 MCS-51单片机的中断系统结构 执行主 程序 主程序 继续执行 主程序 断点 中断请求 中断响应 执行 中断 处理 程序 中断返回 引起 CPU中断的根源,称为 中断源 。中断源向 CPU提出 的中断请求。 CPU暂时中断原来的事务 A,转去处理事件 B。 对事件 B处理完毕后,再回到原来被中断的地方(即

34、 断点 ), 称为中断返回。实现上述中断功能的部件称为 中断系统 (中 断机构)。 主 程 序 A 响 应 返 回 断 点 R E T I 中 断 服 务 程 序 B 随着计算机技术的应用,人们发现中断技 术不仅解决了快速主机与慢速 I/O设备的数据 传送问题,而且还具有如下优点: 分时操作 。 CPU可以分时为多个 I/O设备 服务,提高了计算机的利用率; 实时响应 。 CPU能够及时处理应用系统的 随机事件,系统的实时性大大增强; 可靠性高 。 CPU具有处理设备故障及掉电 等突发性事件能力,从而使系统可靠性提高。 80C51中断系统的结构 80C51的中断系统有 5个中断源 ( 8052

35、有 6 个) , 2个优先级,可实现二级中断嵌套 。 E X 0 E A P X 0 0 1 E T 0 P T 0 0 1 E X 1 P X 1 0 1 E T 1 P T 1 0 1 E S P S 0 1 1 R I T I S C O N T C O N I E 0 T F 0 I E 1 T F 1 1 0 1 0 1 I T 0 I T 1 I N T 0 I N T 1 T 0 T 1 R X T X I E I P 1 1 1 1 1 1 1 1 0 硬 件 查 询 自 然 优 先 级 自 然 优 先 级 中 断 入 口 中 断 入 口 高 级 低 级 中 断 源 中 断 源

36、 1、 ( P3.2) 可由 IT0(TCON.0)选择其为低电平 有效还是下降沿有效 。 当 CPU检测到 P3.2引脚上 出现有效的中断信号时 , 中断标志 IE0(TCON.1) 置 1, 向 CPU申请中断 。 E X 0 E A P X 0 0 1 E T 0 P T 0 0 1 E X 1 P X 1 0 1 E T 1 P T 1 0 1 E S P S 0 1 1 R I T I S C O N T C O N I E 0 T F 0 I E 1 T F 1 1 0 1 0 1 I T 0 I T 1 I N T 0 I N T 1 T 0 T 1 R X T X I E I

37、P 1 1 1 1 1 1 1 1 0 硬 件 查 询 自 然 优 先 级 自 然 优 先 级 中 断 入 口 中 断 入 口 高 级 低 级 中 断 源 中 断 源 E X 0 E A P X 0 0 1 E T 0 P T 0 0 1 E X 1 P X 1 0 1 E T 1 P T 1 0 1 E S P S 0 1 1 R I T I S C O N T C O N I E 0 T F 0 I E 1 T F 1 1 0 1 0 1 I T 0 I T 1 I N T 0 I N T 1 T 0 T 1 R X T X I E I P 1 1 1 1 1 1 1 1 0 硬 件 查

38、询 自 然 优 先 级 自 然 优 先 级 中 断 入 口 中 断 入 口 高 级 低 级 中 断 源 中 断 源 2、 (P3.3) 可由 IT1(TCON.2)选择其为低电平 有效还是下降沿有效 。 当 CPU检测到 P3.3引脚上 出现有效的中断信号时 , 中断标志 IE1(TCON.3) 置 1,向 CPU申请中断 。 E X 0 E A P X 0 0 1 E T 0 P T 0 0 1 E X 1 P X 1 0 1 E T 1 P T 1 0 1 E S P S 0 1 1 R I T I S C O N T C O N I E 0 T F 0 I E 1 T F 1 1 0 1

39、 0 1 I T 0 I T 1 I N T 0 I N T 1 T 0 T 1 R X T X I E I P 1 1 1 1 1 1 1 1 0 硬 件 查 询 自 然 优 先 级 自 然 优 先 级 中 断 入 口 中 断 入 口 高 级 低 级 中 断 源 中 断 源 3、 TF0( TCON.5) , 片内定时 /计数器 T0 溢出中断请求标志 。 当定时 /计数器 T0发生 溢出时 , 置位 TF0, 并向 CPU申请中断 。 E X 0 E A P X 0 0 1 E T 0 P T 0 0 1 E X 1 P X 1 0 1 E T 1 P T 1 0 1 E S P S 0

40、1 1 R I T I S C O N T C O N I E 0 T F 0 I E 1 T F 1 1 0 1 0 1 I T 0 I T 1 I N T 0 I N T 1 T 0 T 1 R X T X I E I P 1 1 1 1 1 1 1 1 0 硬 件 查 询 自 然 优 先 级 自 然 优 先 级 中 断 入 口 中 断 入 口 高 级 低 级 中 断 源 中 断 源 4、 TF1( TCON.7),片内定时 /计数器 T1 溢出中断请求标志。当定时 /计数器 T1发生 溢出时,置位 TF1,并向 CPU申请中断。 E X 0 E A P X 0 0 1 E T 0 P T

41、 0 0 1 E X 1 P X 1 0 1 E T 1 P T 1 0 1 E S P S 0 1 1 R I T I S C O N T C O N I E 0 T F 0 I E 1 T F 1 1 0 1 0 1 I T 0 I T 1 I N T 0 I N T 1 T 0 T 1 R X T X I E I P 1 1 1 1 1 1 1 1 0 硬 件 查 询 自 然 优 先 级 自 然 优 先 级 中 断 入 口 中 断 入 口 高 级 低 级 中 断 源 中 断 源 5、 RI( SCON.0)或 TI( SCON.1),串行口 中断请求标志。当串行口接收完一帧串行数 据时置

42、位 RI或当串行口发送完一帧串行数据 时置位 TI,向 CPU申请中断。 二 、 中断请求标志 1、 TCON的中断标志 IT0( TCON.0),外部中断 0触发方式控制位。 当 IT0=0时,为电平触发方式。 当 IT0=1时,为边沿触发方式(下降沿有效)。 IE0( TCON.1),外部中断 0中断请求标志位。 IT1( TCON.2),外部中断 1触发方式控制位。 IE1( TCON.3),外部中断 1中断请求标志位。 TF0( TCON.5),定时 /计数器 T0溢出中断请求标志位。 TF1( TCON.7),定时 /计数器 T1溢出中断请求标志位。 2、 SCON的中断标志 RI(

43、 SCON.0),串行口接收中断标志位。当允 许串行口接收数据时,每接收完一个串行帧,由 硬件置位 RI。注意, RI必须由软件清除。 TI( SCON.1),串行口发送中断标志位。当 CPU将一个发送数据写入串行口发送缓冲器时, 就启动了发送过程。每发送完一个串行帧,由硬 件置位 TI。 CPU响应中断时,不能自动清除 TI, TI必须由软件清除。 一、中断允许控制 CPU对中断系统所有中断以及某个中断源的开放和屏 蔽是由中断允许寄存器 IE控制的。 3.1.3 80C51中断的控制 EX0(IE.0),外部中断 0允许位; ET0(IE.1),定时 /计数器 T0中断允许位; EX1(IE

44、.2),外部中断 0允许位; ET1(IE.3),定时 /计数器 T1中断允许位; ES( IE.4),串行口中断允许位; EA (IE.7), CPU中断允许(总允许)位。 二、中断优先级控制 80C51单片机有两个中断优先级,即可实现二级 中断服务嵌套。每个中断源的中断优先级都是由中断 优先级寄存器 IP中的相应位的状态来规定的 。 PX0( IP.0),外部中断 0优先级设定位; PT0( IP.1),定时 /计数器 T0优先级设定位; PX1( IP.2),外部中断 0优先级设定位; PT1( IP.3),定时 /计数器 T1优先级设定位; PS ( IP.4),串行口优先级设定位;

45、PT2 (IP.5) ,定时 /计数器 T2优先级设定位。 PX0( IPH.0),外部中断 0优先级设定位; PT0( IPH.1),定时 /计数器 T0优先级设定位; PX1( IPH.2),外部中断 0优先级设定位; PT1( IPH.3),定时 /计数器 T1优先级设定位; PS ( IPH.4),串行口优先级设定位; PT2 (IPH.5) ,定时 /计数器 T2优先级设定位。 而 80C52单片机有四个中断优先级,即可实现四级 中断服务嵌套。每个中断源的中断优先级由中断优 先级寄存器 IP和 IPH中的相应位的状态来规定的 。 同一优先级中的中断申请不止一个时,则有中 断优先权排队

46、问题。同一优先级的中断优先权排队, 由中断系统硬件确定的自然优先级形成,其排列如 所示: 设置 52单片机的 4个中断源 ,使他们的优顺 序为 T1,INT1,INT0,T0. IPH = 0X08; PT1 = 1; IP = 0X40; PX1 = 1; 80C51单片机的中断优先级有三条原则: CPU同时接收到几个中断时, 首先响应优先级别最 高的中断请求 。 正在进行的中断过程 不能被新的同级或低优先级的 中断请求所中断 。 正在进行的低优先级中断服务, 能被高优先级中断 请求所中断 。 为了实现上述后两条原则, 中断系统内部设有两 个用户不能寻址的优先级状态触发器。 其中一个置 1,

47、 表示正在响应高优先级的中断,它将阻断后来所有 的中断请求;另一个置 1,表示正在响应低优先级中 断,它将阻断后来所有的低优先级中断请求。 3.2 80C51单片机中断处理过程 中断响应条件 中断源有中断请求; 此中断源的中断允许位为 1; CPU开中断(即 EA=1)。 以上三条同时满足时, CPU才有可能响应 中断 。 3.2.1 中断响应条件和时间 3.3 80C51的定时 /计数器 实现定时功能, 比较方便的办法是利用单 片机内部的定时 /计数器 。也可以采用下面三 种方法: 软件定时 :软件定时不占用硬件资源,但占用了 CPU时间,降低了 CPU的利用率。 采用时基电路定时 :例如采

48、用 555电路,外接必要 的元器件(电阻和电容),即可构成硬件定时电路。 但在硬件连接好以后,定时值与定时范围不能由软 件进行控制和修改,即不可编程。 采用可编程芯片定时 :这种定时芯片的定时值及定 时范围很容易用软件来确定和修改,此种芯片定时 功能强,使用灵活。在单片机的定时 /计数器不够用 时,可以考虑进行扩展。 3.3.1 定时 /计数器的结构和工作原理 一、定时 /计数器的结构 定时 /计数器的实质是加 1计数器( 16位),由高 8位和低 8 位两个寄存器组成。 TMOD是定时 /计数器的工作方式寄存 器,确定工作方式和功能; TCON是控制寄存器,控制 T0、 T1的启动和停止及设

49、置溢出标志 。 G A T E C / T M 1 M 0 G A T E C / T M 1 M 0 T H 1 T L 1 T H 0 T L 0 T 1 方 式 T 0 方 式 T 1 引 脚 T 0 引 脚 机 器 周 期 脉 冲 内 部 总 线 T M O D T C O N 外 部 中 断 相 关 位 T F 1 T R 1 T F 0 T R 0 二、定时 /计数器的工作原理 加 1计数器 输入的计数脉冲有两个来源 ,一个是由 系统的时钟振荡器输出脉冲经 12分频后送来;一个 是 T0或 T1引脚输入的外部脉冲源。每来一个脉冲 计数器加 1,当加到计数器为全 1时,再输入一个脉

50、冲就使计数器回零,且计数器的溢出使 TCON中 TF0或 TF1置 1,向 CPU发出中断请求(定时 /计数 器中断允许时)。如果定时 /计数器工作于定时模 式,则表示定时时间已到;如果工作于计数模式, 则表示计数值已满。 可见,由溢出时计数器的值减去计数初值才是加 1计数器的计数值 。 设置为定时器模式时 ,加 1计数器是对内部机器周期 计数( 1个机器周期等于 12个振荡周期,即计数频率 为晶振频率的 1/12)。 计数值 N乘以机器周期 Tcy就 是定时时间 t 。 设置为 计数器模式时 ,外部事件计数脉冲由 T0或 T1 引脚输入到计数器。在每个机器周期的 S5P2期间采 样 T0、

51、T1引脚电平。当某周期采样到一高电平输入, 而下一周期又采样到一低电平时,则计数器加 1,更 新的计数值在下一个机器周期的 S3P1期间装入计数 器。由于检测一个从 1到 0的下降沿需要 2个机器周期, 因此要求被采样的电平至少要维持一个机器周期。当 晶振频率为 12MHz时 ,最高计数频率不超过 1/2MHz, 即计数脉冲的周期要大于 2 s。 3.3.2 定时 /计数器的控制 80C51单片机定时 /计数器的工作由两个特殊功 能寄存器控制。 TMOD用于设置其工作方式; TCON用于控制其启动和中断申请。 一、工作方式寄存器 TMOD 工作方式寄存器 TMOD用于设置定时 /计数器的 工作

52、方式,低四位用于 T0,高四位用于 T1。其格式 如下: GATE:门控位。 GATE 0时,只要用软件使 TCON中的 TR0或 TR1为 1,就可以启动定时 /计数器工作; GATA 1时, 要用软件使 TR0或 TR1为 1,同时外部中断引脚或也为高电 平时,才能启动定时 /计数器工作。即此时定时器的启动多 了一条件。 :定时 /计数模式选择位。 0为定时模式; =1 为计数模式。 M1M0:工作方式设置位。定时 /计数器有四种工作方式, 由 M1M0进行设置。 C/T C/TC/T 二、控制寄存器 TCON TCON的低 4位用于控制外部中断 ,已在前面介绍。 TCON的高 4位用于

53、控制定时 /计数器的启动和中断申请。其格式如下: TF1( TCON.7): T1溢出中断请求标志位。 T1计数溢出时由硬件自 动置 TF1为 1。 CPU响应中断后 TF1由硬件自动清 0。 T1工作时, CPU 可随时查询 TF1的状态。所以, TF1可用作查询测试的标志。 TF1也可 以用软件置 1或清 0,同硬件置 1或清 0的效果一样。 TR1( TCON.6): T1运行控制位。 TR1置 1时, T1开始工作; TR1置 0时, T1停止工作。 TR1由软件置 1或清 0。所以,用软件可控制定时 / 计数器的启动与停止。 TF0( TCON.5): T0溢出中断请求标志位,其功能

54、与 TF1类同。 TR0( TCON.4): T0运行控制位,其功能与 TR1类同。 3.3.3 定时 /计数器的工作方式 一、方式 0 方式 0为 13位计数 ,由 TL0的低 5位(高 3位未用)和 TH0 的 8位组成。 TL0的低 5位溢出时向 TH0进位, TH0溢出时, 置位 TCON中的 TF0标志,向 CPU发出中断请求。 T F 1 T R 1 T F 0 T R 0 G A T E C / T M 1 M 0 G A T E C / T M 1 M 0 1 SomeNop( ); SCL = 1; SomeNop( ); SDA = 0; SomeNop( ); ( 2)终

55、止信号 void I2cStop(void) SDA = 0; SomeNop( ); SCL = 1; SomeNop( ); SDA = 1; SomeNop( ); 8.2.2 I2C总线器件的扩展 一、 扩展电路 二、串行 E2PROM的扩展 ( 1)串行 E2PROM典型产品 AT24C01: 128字节( 128 8位); AT24C02: 256字节( 256 8位); AT24C04: 512字节( 512 8位) AT24C08: 1K字节( 1K 8位); AT24C16: 2K字节( 2K 8位); ATMEL公司的 AT24C系列: ( 2)写入过程 AT24C系列 E

56、2PROM芯片地址的固定部分为 1010, A2、 A1、 A0引脚接高、低电平后得到确定 的 3位编码。形成的 7位编码即为该器件的地址码。 单片机进行写操作时,首先发送该器件的 7位地 址码和写方向位“ 0”(共 8位,即一个字节),发 送完后释放 SDA线并在 SCL线上产生第 9个时钟信 号。被选中的存储器器件在确认是自己的地址后, 在 SDA线上产生一个应答信号作为相应,单片机收 到应答后就可以传送数据了。 传送数据时,单片机首先发送一个字节的被写入器件的 存储区的首地址,收到存储器器件的应答后,单片机就逐个 发送各数据字节,但每发送一个字节后都要等待应答。 AT24C系列器件片内地

57、址在接收到每一个数据字节地址后 自动加 1,在芯片的“一次装载字节数”(不同芯片字节数不 同)限度内,只需输入首地址。装载字节数超过芯片的“一 次装载字节数”时,数据地址将“上卷”,前面的数据将被 覆盖。 当要写入的数据传送完后,单片机应发出终止信号以结束 写入操作。写入 n个字节的数据格式 : ( 3)读出过程 单片机先发送该器件的 7位地址码和写方向位“ 0”(“伪 写”),发送完后释放 SDA线并在 SCL线上产生第 9个时钟信 号。被选中的存储器器件在确认是自己的地址后,在 SDA线 上产生一个应答信号作为回应。 然后,再发一个字节的要读出器件的存储区的首地址,收 到应答后,单片机要重复一次起始信号并发出器件地址和读 方向位(“ 1”),收到器件应答后就可以读出数据字节,每 读出一个字节,单片机都要回复应答信号。当最后一个字节 数据读完后,单片机应返回以“非应答”(高电平),并发 出终止信号以结束读出操作。 移位操作 左移时最低位补 0,最高位移入 PSW的 CY位 右移时最高位保持原数,最低位移除。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!