1 / 41

学习项目

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

dewei
Download Presentation

学习项目

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 单片机开发工具的使用 简易仪器仪表设计制作 秒表的设计制作 里程表的设计制作 LED电子显示屏的设计制作 LED流水灯设计制作 简易计算器的设计制作 五 四 三 七 六 八 二 学习项目 单片机最小应用系统构建 一

  2. 智能控制电路项目实践 主讲: 李多友 项目七 LED电子显示屏的设计制作 唐山工业职业技术学院自动化工程系

  3. 任务1 任务2 16×16点阵显示屏设计制作 8×8点阵显示屏设计制作 项目七 LED电子显示屏的设计制作 任务3 显示内容远程控制

  4. 任务三 显示内容远程控制 一、任务要求 本任务要求由PC机发出不同数据,单片机接收后从P1口输出,控制LED的亮灭,从而验证接收数据是否正确。

  5. 二、案例展示 PC机更新数码显示内容

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

  7. 三、任务完成步骤 理论学习及方案设计; 电路设计与器件选择; 电路安装/程序设计; 功能验证。

  8. 四、任务评价与总结: 任务完成情况; 存在问题及改进内容; 工作页互查与评分。

  9. 1. 串行口工作方式1当SM0、SM1为01时,串行口工作在方式1,TXD(P3.1引脚)为发送端,RXD(P3.0引脚)为接收端。一帧数据为10位,其格式为: 51单片机串行口的工作方式

  10. 串行口以方式1发送时,CPU执行一条语句“ SBUF=outdata;”,数据写入发送缓冲器SBUF,启动发送器发送。 发送时TXD引脚将依次输出一位起始位(0)、8位数据位(先低位后高位)和一位停止位(1)。 发送完数据后,置中断标志TI为1。

  11. 当串行口置为方式1,且REN=1时,串行口处于方式1的接收状态。 接收器对RXD引脚状态进行采样时,如果接收到由1到0的负跳变时,就启动接收器,开始接收数据。当串行口置为方式1,且REN=1时,串行口处于方式1的接收状态。 接收器对RXD引脚状态进行采样时,如果接收到由1到0的负跳变时,就启动接收器,开始接收数据。

  12. 在方式1接收时,必须同时满足以下条件:RI=0和停止位为1或SM2=0。接收数据有效,进入SBUF,停止位进入RB8,并置中断请求标志RI置1。 任何一个条件不满足,则该组数据丢失,不再恢复。 重新检测RXD上1到0的负跳变,准备接收下一帧数据。 中断标志位必须由用户在程序中清0。在方式1接收时,必须同时满足以下条件:RI=0和停止位为1或SM2=0。接收数据有效,进入SBUF,停止位进入RB8,并置中断请求标志RI置1。 任何一个条件不满足,则该组数据丢失,不再恢复。 重新检测RXD上1到0的负跳变,准备接收下一帧数据。 中断标志位必须由用户在程序中清0。

  13. 方式1的波特率取决于定时器TI的溢出率和特殊功能寄存器PCON中最高位SMOD的值。 注意:PCON为电源控制寄存器,不可位寻址。它的低7位全都用于单片机的电源控制,只有最高位SMOD用于串行口波特率系数的控制。方式1的波特率取决于定时器TI的溢出率和特殊功能寄存器PCON中最高位SMOD的值。 注意:PCON为电源控制寄存器,不可位寻址。它的低7位全都用于单片机的电源控制,只有最高位SMOD用于串行口波特率系数的控制。

  14. 方式1波特率的计算公式为:定时器T1的溢出率即每秒钟溢出的次数,计算公式为: 其中,k为定时器T1的计数位数,N是定时器T1的预置初值,fosc为晶振频率。

  15. 选择定时器T1作为波特率发生器,通常将其设置为定时器方式2(且TCON的TR1=1,启动定时器),可以不用重新装入初值。 在实际使用时,一般是固定一个通信波特率,然后去计算T1的预置初值N。选择定时器T1作为波特率发生器,通常将其设置为定时器方式2(且TCON的TR1=1,启动定时器),可以不用重新装入初值。 在实际使用时,一般是固定一个通信波特率,然后去计算T1的预置初值N。

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

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

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

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

  20. 方式2的接收与方式1类似,当REN=1时,串行口接收数据。当接收器对RXD端输入,接收11位信息,其中一位起始0、8位数据位(先低位后高位)、一位可控1或0的第9位数据和一位停止位1。 当接收器收到第9位数据后,如RI=0且SM2=0或接收到的第9位数据位为1时,将收到的数据送入SBUF(接收数据缓冲器),第9位数据送入RB8,并对RI置1; 若以上两个条件均不满足,接收信息丢失。方式2的接收与方式1类似,当REN=1时,串行口接收数据。当接收器对RXD端输入,接收11位信息,其中一位起始0、8位数据位(先低位后高位)、一位可控1或0的第9位数据和一位停止位1。 当接收器收到第9位数据后,如RI=0且SM2=0或接收到的第9位数据位为1时,将收到的数据送入SBUF(接收数据缓冲器),第9位数据送入RB8,并对RI置1; 若以上两个条件均不满足,接收信息丢失。

  21. 当SM0、SM1为11时选择工作方式3,除了波特率可变与方式2有所区别之外,其余都与方式2相同。 方式2的波特率是固定的,其波特率为fosc/32或fosc/64,根据PCON中SMOD位的状态来选择波特率。当SM0、SM1为11时选择工作方式3,除了波特率可变与方式2有所区别之外,其余都与方式2相同。 方式2的波特率是固定的,其波特率为fosc/32或fosc/64,根据PCON中SMOD位的状态来选择波特率。

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

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

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

  25. RS-232C通信协议RS-232C标准是美国EIA(电子工业联合会)与BELL等公司一起开发并于1969年公布的通信协议,目前该通信协议在微机通信接口中广泛使用,在IBM PC机上的COM1、COM2接口,就是选用了RS-232接口。RS-232C标准包括了按位串行传输的电气和机械方面的规定,适用于数据终端设备和数据通信设备之间的接口。

  26. (1) 机械特性RS-232C接口规定使用25针连接器,连接器的尺寸及每个插针的排列位置都有明确的定义。在实际应用中,常常使用9针连接器代替25针连接器。连接器引脚定义如图所示。图7-8 9针和25针连接器引脚定义

  27. (2) 功能特性RS-232C接口的主要信号线的功能定义见表。 注:插针序号( )内为9针连接器的引脚号。 表7-5 RS-232C标准接口主要引脚功能

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

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

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

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

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

  33. 串口调试助手的设置,主要有:选择实际使用的串口(COM1还是COM2); 波特率和单片机端必须一致; 如单片机设置串行口为工作方式1,则选择没有校验位。 在串口调试助手界面,不论数据接收区还是数据发送区,均有十六进制和字符两种格式供选择。串口调试助手的设置,主要有:选择实际使用的串口(COM1还是COM2); 波特率和单片机端必须一致; 如单片机设置串行口为工作方式1,则选择没有校验位。 在串口调试助手界面,不论数据接收区还是数据发送区,均有十六进制和字符两种格式供选择。

  34. 程序分析 根据任务要求,示例程序#include “reg51.h” #define uchar unsigned char uchar getdata=0; main() { TMOD=0x20; TH1=0xf3; //波特率设定为2400(12MHz晶振)

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

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

  37. 使用串行口时必须进行初始化,即设置串行口的工作方式和波特率。 当串行口采用方式1和方式3时,由于采用定时器T1的溢出率作为波特率发生器,所以还要进行定时器T1的相关设置: 设置工作方式、定时器初值和启动定时器等; 波特率还与电源控制寄存器PCON的SMOD有关,所以也需进行设置。使用串行口时必须进行初始化,即设置串行口的工作方式和波特率。 当串行口采用方式1和方式3时,由于采用定时器T1的溢出率作为波特率发生器,所以还要进行定时器T1的相关设置: 设置工作方式、定时器初值和启动定时器等; 波特率还与电源控制寄存器PCON的SMOD有关,所以也需进行设置。

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

  39. 六、拓展训练 编写点阵显示电路显示内容PC机远程更新程序并调试。

  40. Thank You !

More Related