41

学习项目

  • Upload
    dewei

  • View
    40

  • Download
    2

Embed Size (px)

DESCRIPTION

单片机开发工具的使用. 简易仪器仪表设计制作. 秒表的设计制作. 里程表的设计制作. LED 电子显示屏的设计制作. LED 流水灯设计制作. 简易计算器的设计制作. 五. 四. 三. 七. 六. 八. 二. 学习项目. 单片机最小应用系统构建. 一. 智能控制电路项目实践. 主讲: 李多友. 项目七 LED 电子显示屏的设计制作. 唐山工业职业技术学院 自动化工程系. 任务 1. 任务 2. 16×16 点阵显示屏设计制作. 8×8 点阵显示屏设计制作. 项目七 LED 电子显示屏的设计制作. 任务 3. 显示内容远程控制. - PowerPoint PPT Presentation

Citation preview

Page 1: 学习项目
Page 2: 学习项目

学习项目单片机最小应用系统构建单片机最小应用系统构建一

单片机开发工具的使用单片机开发工具的使用二

LEDLED 流水灯设计制作流水灯设计制作三

简易计算器的设计制作简易计算器的设计制作四

里程表的设计制作里程表的设计制作五

秒表的设计制作秒表的设计制作六

LEDLED 电子显示屏的设计制作电子显示屏的设计制作七

简易仪器仪表设计制作简易仪器仪表设计制作八

Page 3: 学习项目

项目七 LEDLED 电子显示屏的设计制作电子显示屏的设计制作项目七 LEDLED 电子显示屏的设计制作电子显示屏的设计制作

唐山工业职业技术学院 自动化工程系

主讲: 李多友

智能控制电路项目实践

Page 4: 学习项目

项目七 LEDLED 电子显示屏的设计制作电子显示屏的设计制作

16×16 点阵显示屏设计制作任务任务 22

显示内容远程控制任务任务 33

8×8 点阵显示屏设计制作任务任务 11

Page 5: 学习项目

任务三 显示内容远程控制

一、任务要求

本任务要求由 PC 机发出不同数据,单片机接收后从 P1 口输出,控制 LED 的亮灭,从而验证接收数据是否正确。

Page 6: 学习项目

二、案例展示

PC 机更新数码显示内容

Page 7: 学习项目

学习单片机串行口工作方式 1-3 的使用;学习 RS232 通信协议;学习串口调试软件的使用;查询串行接口芯片的类型及使用方法;选择器件进行电路安装;编写控制程序验证结果。(波特率选用 2400bps )

任务提示:

Page 8: 学习项目

三、任务完成步骤

理论学习及方案设计;电路设计与器件选择;电路安装 / 程序设计;功能验证。

Page 9: 学习项目

任务完成情况;存在问题及改进内容;工作页互查与评分。

四、任务评价与总结:

Page 10: 学习项目

1. 串行口工作方式 1当 SM0 、 SM1 为 01 时,串行口工作在方式 1 , TX

D ( P3.1 引脚)为发送端, RXD ( P3.0 引脚)为接收端。一帧数据为 10 位,其格式为:

起始位 8 位数据 停止位

0 D0 D1 D2 D3 D4 D5 D6 D7 1

51 单片机串行口的工作方式

Page 11: 学习项目

串行口以方式 1 发送时, CPU 执行一条语句“ SBUF=outdata;” ,数据写入发送缓冲器 SBUF ,启动发送器发送。

发送时 TXD 引脚将依次输出一位起始位( 0 )、 8 位数据位 ( 先低位后高位 ) 和一位停止位( 1 )。

发送完数据后,置中断标志 TI 为 1 。

Page 12: 学习项目

当串行口置为方式 1 ,且 REN=1 时,串行口处于方式 1 的接收状态。

接收器对 RXD 引脚状态进行采样时,如果接收到由 1 到 0 的负跳变时,就启动接收器,开始接收数据。

Page 13: 学习项目

在方式 1 接收时,必须同时满足以下条件:RI=0 和停止位为 1 或 SM2=0 。接收数据有效,

进入 SBUF ,停止位进入 RB8 ,并置中断请求标志RI 置 1 。

任何一个条件不满足,则该组数据丢失,不再恢复。

重新检测 RXD 上 1 到 0 的负跳变,准备接收下一帧数据。

中断标志位必须由用户在程序中清 0 。

Page 14: 学习项目

方式 1 的波特率取决于定时器 TI 的溢出率和特殊功能寄存器 PCON 中最高位 SMOD 的值。

注意: PCON 为电源控制寄存器,不可位寻址。它的低 7位全都用于单片机的电源控制,只有最高位 SMOD 用于串行口波特率系数的控制。

Page 15: 学习项目

方式 1 波特率的计算公式为:

定时器 T1 的溢出率即每秒钟溢出的次数,计算公式为:

其中, k为定时器 T1 的计数位数, N 是定时器 T1 的预置初值, fosc为晶振频率。

的溢出率定时器波特率 T132

2SMOD

N

fk

osc

2

1

12T1的溢出率定时器

Page 16: 学习项目

选择定时器 T1 作为波特率发生器,通常将其设置为定时器方式 2 (且 TCON 的 TR1=1 ,启动定时器),可以不用重新装入初值。

在实际使用时,一般是固定一个通信波特率,然后去计算 T1 的预置初值 N 。

Page 17: 学习项目

初值计算公式:

例如,系统的时钟频率为 12MHz,通信波特率为 2400 位 /秒,当 SMOD=1 时,那么定时器 T1 的预置初值为:

1232

f2256 osc

波特率

SMOD

N

HEN 623012322400

10122256

61

Page 18: 学习项目

2. 串行口工作方式 2 和方式 3

当 SM0 、 SM1 为 10 时,串行口为工作方式2 ,一帧数据为 11 位,其中包括一位起始位 0 、 8位数据位 ( 先低位后高位 ) 、一位可编程位 (D8 位 )和一位停止位 1 。

Page 19: 学习项目

发送时可编程位装入 SCON 中的 TB8 ,根据需要装入 0 或 1 。它由软件置位或清零,可作为多机通信中地址 /数据的标志位,也可作为数据的奇偶校验位。一帧数据的格式为:

起始位 8 位数据 可编程位 停止位

0 D0 D1 D2 D3 D4 D5 D6 D7 D8 1

Page 20: 学习项目

方式 2 的发送与方式 1 类似,单片机在数据写入 SBUF之前,先将数据的可编程位写入 TB8 。 CPU 执行一条给 SBUF赋值的命令后,便立即启动发送器发送,发送完毕,置发送请求标志位为 1 。必须用软件将TI 清 0 。

Page 21: 学习项目

方式 2 的接收与方式 1 类似,当 REN=1 时,串行口接收数据。当接收器对 RXD 端输入,接收 11位信息,其中一位起始 0 、 8 位数据位 ( 先低位后高位 ) 、一位可控 1 或 0 的第 9位数据和一位停止位 1 。

当接收器收到第 9位数据后,如 RI=0 且 SM2=0 或接收到的第9位数据位为 1 时,将收到的数据送入 SBUF( 接收数据缓冲器 ) ,第 9位数据送入 RB8 ,并对 RI 置 1 ;

若以上两个条件均不满足,接收信息丢失。

Page 22: 学习项目

当 SM0 、 SM1 为 11 时选择工作方式 3 ,除了波特率可变与方式 2 有所区别之外,其余都与方式 2相同。

方式 2 的波特率是固定的,其波特率为 fosc/32 或 fosc/64 ,根据 PCON 中 SMOD 位的状态来选择波特率。

Page 23: 学习项目

计算公式为:

方式 3 的波特率是可变的,其计算方法与方式1相同。

oscf64

2SMOD波特率

Page 24: 学习项目

在双机通信中,只要双方的波特率一致就能够完成通信;但是在标准的异步通信协议中,只有几种波特率是适用的,例如 1200bps , 2400bps , 4800bps , 9600bps……等等。 如果想得到标准波特率,可以很多通信专用的晶振,例如 3.6864MHz、 11.0592MHz……的晶振。

Page 25: 学习项目

表 7-4 常用波特率和定时器 T1 的参数关系

TC /

波特率 fOSCSMOD

定时器 T1

模式 初始值

方式 0 : 1M方式 2 : 375K

方式 1 、 3 : 62.5K

19.2K9.6K4.8K2.4K1.2K

137.5K110110

12MHz12MHz12MHz11.059M

Hz11.059M

Hz11.059M

Hz11.059M

Hz11.059M

Hz11.059M

Hz6MHz12MHz

×1110000000

××000000000

××222222221

××

FFHFDHFDHFAHF4HE8H1DH72H

FEEBH

Page 26: 学习项目

RS-232C 通信协议

RS-232C 标准是美国 EIA(电子工业联合会)与 BELL等公司一起开发并于 1969年公布的通信协议,目前该通信协议在微机通信接口中广泛使用,在 IBM PC 机上的 COM1 、 COM2 接口,就是选用了 RS-232 接口。

RS-232C 标准包括了按位串行传输的电气和机械方面的规定,适用于数据终端设备和数据通信设备之间的接口。

Page 27: 学习项目

( 1 ) 机械特性RS-232C 接口规定使用 25针连接器,连接器的尺寸及每个插针

的排列位置都有明确的定义。在实际应用中,常常使用 9针连接器代替25针连接器。连接器引脚定义如图所示。

图7-8 9针和 25针连接器引脚定义

1 6 2 7 3 8 4 9 5 1 14 2 15 3 16 4 17 5 18 6 19 7 20 8 21 9 22 10 23 11 24 12 25 13

Page 28: 学习项目

( 2 ) 功能特性RS-232C 接口的主要信号线的功能定义见表。

表 7-5 RS-232C 标准接口主要引脚功能

插针序号 符号 功能 方向

2 ( 3 ) TXD 发送数据 输出

3 ( 2 ) RXD 接收数据 输入

4 ( 7) RTS 请求发送 输出

5( 8 ) CTS 清除发送 输入

6( 6) DSR 数据通信设备准备好 输入

7( 5) GND 信号地

8 ( 1 ) DCD 数据载体检测 输入

20 ( 4 ) DTR 数据终端准备好 输出

22 ( 9) RI 振铃指示 输入

注:插针序号( )内为 9针连接器的引脚号。

Page 29: 学习项目

( 3 ) 电气特性 RS-232C 采用负逻辑,规定逻辑 0 : +3V~ +15V;逻辑 1 : -3V~ -15V。 RS-232C 标准的信号传输的最大电缆长度为几十米,传输速率小于 20KB/s 。

Page 30: 学习项目

( 4 ) 电平转换 鉴于 89C51 单片机输入、输出电平均为 TTL/CMOS 电平,而计算机配置的是 RS-232C 标准串行接口,使用的是 RS-232C 标准电平(逻辑0 : +3V~ +15V, 逻辑 1 :约 -3V~ -15V),二者的电气规范不一致,因此要完成 PC 机与单片机的数据通信,必须进行电平转换。

Page 31: 学习项目

电平转换可以选用 MAXIM公司生产的MAX232 电平转换专用芯片,它是一个包含两路接收器和驱动器的 IC 芯片,其内部有一个电源电压变换器,可以把输入的+ 5V电压变换成为 RS-232C 输出电平所需的±10V电压。所以,采用此芯片接口的串行通信系统只需要单一的+ 5V电源就可以了。

Page 32: 学习项目

MAX232 芯片内部有两路电平转换电路,实际应用中,可以从两路发送接收器中任选一路作为接口,但要注意其发送和接收的引脚必须对应。引脚T1in或 T2in 可以直接接 TTL/CMOS 电平的单片机的串行发送端 TXD ; R1out 或 R2out可以直接接 TTL/CMOS 电平的单片机的串行接收端 RXD ;T1out 或 T2out可以直接接 PC 的 RS-232 串行口的接收端 RXD ; R1in或 R2in 可以直接接 PC 的RS-232 串行口的发送端 TXD 。

Page 33: 学习项目

4. 串口调试助手

当单片机和 PC 机通信时, PC 机方面的通信程序可以使用汇编语言编写,也可以使用其他高级语言(例如 VB 、 BC )来编写。最方便的方法是使用串口调试助手,无需自己再编写程序。

Page 34: 学习项目

串口调试助手的设置,主要有:选择实际使用的串口( COM1还是 COM2 );

波特率和单片机端必须一致;如单片机设置串行口为工作方式 1 ,则选择没

有校验位。在串口调试助手界面,不论数据接收区还是数

据发送区,均有十六进制和字符两种格式供选择。

Page 35: 学习项目

程序分析 根据任务要求,示例程序

#include “reg51.h” #define uchar unsigned char uchar getdata=0; main() { TMOD=0x20; TH1=0xf3; //波特率设定为 2400 ( 12MHz晶振)

Page 36: 学习项目

TL1=0xf3; TR1=1; SCON=0x50; EA=1; ES=1; while(1); // 等待 }

Page 37: 学习项目

void CHUANKOU() interrupt 4 { EA=0; RI=0; getdata=SBUF; P1=getdata; SBUF=getdata; while(!TI); TI=0; EA=1;}

Page 38: 学习项目

使用串行口时必须进行初始化,即设置串行口的工作方式和波特率。

当串行口采用方式 1 和方式 3 时,由于采用定时器 T1 的溢出率作为波特率发生器,所以还要进行定时器 T1 的相关设置:

设置工作方式、定时器初值和启动定时器等;波特率还与电源控制寄存器 PCON 的 SMOD

有关,所以也需进行设置。

Page 39: 学习项目

当串行口采用方式 2 时,波特率固定为 fosc/32 或 fosc/64 ,由电源控制寄存器 PCON 的 SMOD 选择。波特率与定时器 T1无关。

当串行口采用方式 0 时,波特率是固定的 fosc/12 ,无需设置。

Page 40: 学习项目

六、拓展训练

编写点阵显示电路显示内容 PC 机远程更新程序并调试。

Page 41: 学习项目