C51单片机应用与C语言程序设计(第4版)-基于机器人工程对象的项目实践 课件 ch08 C51单片机显示接口编程与机器人应用_第1页
C51单片机应用与C语言程序设计(第4版)-基于机器人工程对象的项目实践 课件 ch08 C51单片机显示接口编程与机器人应用_第2页
C51单片机应用与C语言程序设计(第4版)-基于机器人工程对象的项目实践 课件 ch08 C51单片机显示接口编程与机器人应用_第3页
C51单片机应用与C语言程序设计(第4版)-基于机器人工程对象的项目实践 课件 ch08 C51单片机显示接口编程与机器人应用_第4页
C51单片机应用与C语言程序设计(第4版)-基于机器人工程对象的项目实践 课件 ch08 C51单片机显示接口编程与机器人应用_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8讲C51单片机显示接口编程与机器人应用“十三五”职业教育国家规划教材

工作导向创新实践教材程序设计(第4版)LED数码管

LED数码管分为单位、双位、四位和八位4种类型。LED数码管实质上是一种基本单元为发光二极管的半导体发光器件,是由多个发光二极管封装在一起组成“8”字形的器件,其引线已在内部连接完成,只要引出它们的各个笔画和公共电极即可。LED数码管显示原理

都是靠点亮内部的发光二极管来发光的,所以数码管显示与LED的点亮有着密切的关系。任务1数码管显示元件清单:一位共阴极数码管,8个1kQ的电阻,导线若干。电路设计:首先,将共阴极数码管两个中间引脚的任意一个(公共端com)接至单片机的P1口,以便进行位选,然后,将数码管除去中间两个com引脚外的其他引脚分别接上一个1k2的电阻,再按照图8-3所示的模型将a~g以及dp引脚按顺序依次接到P2.0~P2.7,以便进行段选,如图8-5所示。任务1数码管显示共阴极数码管显示的源程序:任务1数码管显示电

路连接数码管显示电路连接如图8-6所示。任务2认识LCD显示器●LCD显示器的种类很多,本讲使用的是字符型LCD。字符型LCD是一种专门用于显示字母、数字、符号等的点阵式液晶显示模块。●每个显示字符均由5×7或5×11点阵组成。点阵字符位之间有一空点距的间隔,起到保持字符间距和行距的作用。●本讲所使用的LCD1602显示器可显示两行,每行由16个点阵字符组成,能显示所有ASCI字符,如图8-7所示,每个字符由5×7点阵组成。

LCD显示器任务2认识LCD显示器LCD显示器与C51单片机的连接●LCD1602通过RS、R/W器与AT89S52有8个数据引脚(D0~D7)与AT89S52相连,用于接收指令

和数据。AT89S52和E这3个端口控制LCD显示器。LCD显示器引脚说明见表8-1。●LCD显示的连接示意图如图8-8所示。编号符号脚说明编号符号引脚说明1GND电源地7D0双向数据口2Vce电源正极8D1双向数据口3Vo对比度调节9D2双向数据口4RS数据/命令选择10D3双向数据口5R/W读/写选择11D4双向数据口6E模块使能端12D5双向数据口编号符号引脚说明编号符号引脚说明13D6双向数据口15BLA背光源正极14D7双向数据口16BLK背光源地表8-1LCD显示器引脚说明任务2认识LCD显示器在LCD时序图中,在将E置高电平前,先设置好RS和R/W信号,在E下降沿到来之前,准备好写入的命令字或数据。只需在适当的地方加上延时,就可以满足要求了。LCD接口说明写数据输入:RS=H,R/W=L,E=下降沿脉冲,DB0~DB7=数据输出:无读状态输入:RS=L,R/W=H,E=H输出:DB0~DB7=状态字写指令

输入:RS=L,R/W=L,E=下降沿脉冲,DB0~DB7=指令码输出:无输入:RS=H,R/W=H,E=H输出:DB0~DB7=数据读数据任务3编写LCD驱动程序元件清单:(1)LCD1602(2)跳线(3)显示器电路连接:由于LCD的指令和数据都是8位的,因此在传输时要传输两次才能完成一次操作。电路的连接如图8-10所示。20%30%40%50%接通教学板电源。输入、保存并运行LCDdisplay.c。连接LCD显示器,观察显示器能否显示字符串。任务3编写LCD驱动程序例程:LCDdisplay.c任务3编写LCD驱动程序LCDdisplay.c是如何工作的两步走然后显示字符串先对LCD进行初始化初始化函数voidLCMInit(void)完全遵照任务1中LCD的初始化要求。初始化工作完成之后,主函数调用DisplayListChar(unsignedcharx,unsignedchary,unsignedchar*s)来显示字符串。在显示字符串之前,要用SetxyLCM()确定光标的位置,根据数据地址设置指令要求,若在第一行显示,则写指令0x80+y;若在第二行显示,则写指令0x80+0x40+y,即0xc0+y。★对指针变量的定义包括以下内容

(1)指针类型说明,即定义变量为一个指针变量。(2)指针变量名。(3)变量值(指针)所指向变量的数据类型。其一般形式为:类型说明符*变量名。任务3编写LCD驱动程序指针指针是C语言中广泛使用的一种数据类型。利用指针编程是C语言最主要的特点之一。利用指针变量可以表示各种数据结构,能方便地使用数组和字符串,并能像汇编语言一样处理内存地址,从而编出精练而高效的程序。★字符串的指针和指向字符串的指针变量:

(1)用字符数组存放一个字符串,然后输出该字符串。(2)用字符串指针指向一个字符串。任务4用LCD显示机器人运动状态C语言的编译预处理在C语言编译系统,先要对某些程序(这些程序可以是C语言提供的标准库函数,也可以是已经开发好的程序)进行预处理,然后将预处理的结果和源程序一起进行正常的编译处理,从而得到目标代码。预处理命令通常用“#”开头,主要包括以下两种。宏定义:它是一种最简单的宏替换。出现在各处的“名字”都将由“替换文本”替换。#define指令所定义的名字的作用域从其定义点开始,到被编译的源文件结束。在源程序中,任何形如#include

温馨提示

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

评论

0/150

提交评论