版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务任务工单《单片机应用技术》任务工单目录项目一任务1初识单片机与开发环境 项目一任务1初识单片机与开发环境1.1.1认识单片机创新型综合实验装置硬件资源1.实验目的(1)掌握单片机创新型综合实验装置的区域划分。(2)熟悉单片机创新型综合实验装置的板载功能区。2.实验原理(1)认识实验箱单片机创新型综合实验装置是一种可以应用于多种单片机实验的实验装置。用户可以根据自己的需要换用不同的单片机核心板来完成相应的单片机学习实验、系统开发等。图1单片机创新型综合实验装置实物图单片机实验开发装置的各类单元电路按功能被分为了一个一个的小区,每个小区的电路自成一体,并用插针引出必要的控制信号线。用户在使用的时候可以利用飞线将单片机核心板于功能电路之间、功能电路与功能电路之间进行连接,通过这种灵活的连接方式来实现用户需要的电路系统的搭建。为了方便用户利用示波器、逻辑分析调试电路,单片机实验箱主板上功能电路的控制信号线均采用“双接口”设计,所有的接口信号都“一式两份”,一组可以用来搭建功能电路,另外一组可以用来连接到测量仪器,来对该通路上的信号波形进行测量和监视,方便用户使用。3.实验步骤(1)认识单片机创新型综合实验装置各区域图2单主板功能分区(2)认识单片机创新型综合实验装置板载功能区各单元图形区域名称(待填)
1.1.2STC51核心板硬件资源1.实验目的(1)掌握单片机核心板特性。(2)熟悉单片机核心板硬件资源。2.实验原理(1)单片机核心板特性单片机核心板是配合单片机创新型综合实验装置使用的一款基于STC89C52单片机的核心板。该板使用完全开放的结构化设计方法,单片机的所有IO资源都可以被引出使用。该核心板可以完成各种与单片机相关的实验,包括I0数据传送,LED与开关按键的应用,,等。(2)单片机核心板硬件资源单片机核心板采用传统的双列直插集成电路,配合高品质集成电路插座进行安装,方便用户使用和更换。单片机核心板拥有以下硬件资源:1)标准的通用40引脚单片机芯片座,可以使用在硬件上与STC89C51相兼容的单片机,比如STC89C51,STC89C52,STC8A等等,用户可以根据自己的需要选用合适的单片机进行实验开发。2)单片机核心板标配STC89C52RC,具有8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。最高运作频率35MHz,6T/12T可选等等。3)单片机核心板提供最为常用的单片机ISP下载方式。4)标配11.0592MHz的。5)标准USB通信接口,用户可以利用该接口进行计算机串行通信和程序的下载。6)单片机核心板上的所有IO资源都可以通过插针引导出来,方便用户连接自己的实验装置。(3)单片机核心板接口介绍如图所示。U1为单片机;U7为CH340G,用于串行通信;P4为B型USB母座,用于通信及程序下载。图1单片机核心板器件分布单片机核心板上的单片机的32个IO口通过4个DC3-20引出,分别为P0、P1、P2、P3。P5为串行通信接口(P3.0/P31)。(4)单片机核心板跳线设置单片机核心板上有一组跳线,用于设置系统的一些工作状态,配置方法如表所示。表1跳线功能设置编号功能描述CH340G跳线
项目一任务2单片机最小系统与I/O口1.2.18255IO控制器实验1.实验目的(1)学习8255在单片机系统中的使用方法。2.实验原理(1)8255芯片简介8255芯片是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。8255作为单片机与外设的连接芯片,必须提供与单片机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:、、控制部分。1)与CPU连接部分根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0~A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下:①数据总线DB:编号为D0~D7,用于8255与单片机传送8位数据。②地址总线AB:编号为A0~A1,用于选择A、B、C口与控制寄存器。③控制总线CB:片选信号、复位信号、RST、写信号、读信号。当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。2)与外设接口部分根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。各通道的引脚编号如下:①A口:编号为PA0~PA7,用于8255向外设输入输出8位并行数据。②B口:编号为PB0~PB7,用于8255向外设输入输出8位并行数据。③C口:编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。3)控制器部分8255将3个通道分为两组,即PA0~PA7与PC4~PC7组成A组,PB0~PB7与PC0~PC3组成B组。相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下:①A组控制器:控制A口与上C口的输入与输出。②B组控制器:控制B口与下C口的输入与输出。(2)8255芯片特性。1)并行输入,输出的LSI芯片,可作为CPU总线与外围的接口。2)具有24个可编程设置的I/O口,即3组8位的I/O口为PA口,PB口和PC口。它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3)。A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或两种模式,而这些操作模式完全由控制寄存器的控制字决定。(3)8255芯片引脚功能。RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输。RD:读信号线,当这个输入引脚为低跳变沿时,即/RD产生一个低脉冲且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低跳变沿时,即/WR产生一个低脉冲且/CS=0时,允许CPU将数据或控制字写入8255。D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。8255具有3个相互独立的输入/输出通道端口,用+5V单电源供电,工作方式如表所示。表18255三种工作方式方式0方式1方式2PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。工作于三种方式中的任何一种;PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。不能工作于方式2;PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。不能工作于方式1或方式2。A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器。当A1=0,A0=0时,PA口被选择;当A1=0,A0=1时,PB口被选择;当A1=1,A0=0时,PC口被选择;当A1=1,A0=1时,控制寄存器被选择;(4)8255实际应用电路图18255IO控制器硬件原理图3.实验步骤(1)硬件资源连接表251单片机核心板与8255IO扩展板的连接方式51单片机核心板(可使用8P排线直接连接)。表351单片机核心板与8255IO扩展板的连接方式51单片机核心板(可使用4P+1P排线直接连接)。表4LED_开关编码板与8255IO扩展板的连接方式LED_开关编码板(可使用8P排线直接连接)。图28255IO控制器电路原理图(2)编译下载启动uVison5新建一个51单片机的工程,输入参考代码并编译下载。4.实验结果8255从A口读入开关送来的数据,通过B口送出后在上显示出来。
1.2.2脉冲编码开关实验1.实验目的(1)学习使用脉冲编码器作为输入设备设置系统参数。2.实验原理脉冲编码开关是一种广泛应用于较高档电子装置调节控制场合的,如电子仪器,智能家电等领域。它能按、能拧,按动时J70的“D”将输出一个“低”电平。旋转时,J70的“A”“B”将输出具有特定相位关系的脉冲信号。当顺时针、和逆时针旋转时的脉冲关系如图所示。编码器旋转角度越多,输出的脉冲,单片机系统通过编程来判断AB的相续关系以及输出的脉冲数,配合一定的防抖动程序来实现对脉冲编码器输出信号的读取。图1AB相时序关系利用这种特性,单片机读取脉冲编码开关输出的脉冲和旋转方向信息,并将结果显示在上。图2脉冲编码器电路原理图3.实验步骤(1)硬件资源连接表151单片机核心板与“脉冲编码器”区的连接方式51单片机核心板表251单片机核心板与“液晶显示”区的连接方式51单片机核心板(2)编译下载启动uVison5新建一个51单片机的工程,输入参考代码并编译下载。4.实验结果顺时针旋转编码器,液晶上的变量自增。逆时针旋转编码器,液晶上的变量自减。按动编码器,液晶屏上显示“”
1.2.3IO口读写实验1.实验目的(1)掌握基本的IO读写技巧。(2)熟悉集成开发环境uVision4的使用。2.实验原理(1)基本原理STC51单片机IO口读写实验的基本原理是通过单片机的IO口控制外部设备的输入输出。单片机的IO口可以作为输入口或输出口使用,通过设置相应的寄存器和引脚状态,可以实现对外部设备的控制。这个实验的基本原理是通过单片机的IO口读取外部设备的状态,然后根据状态控制其他外部设备的状态。这种输入输出的控制方式可以应用于很多实际场景,例如控制电机、传感器等外部设备的运行状态。(2)硬件原理利用单片机的读入数据,利用赋值语句将数据转发到另一个端口。图1拨动开关原理图图2LED原理图实验箱上发光管显示电路和拨动开关的电路,发光管采用驱动的方式点亮,当J4上的相应接口为电平时相应的LED点亮。3.实验步骤(1)硬件资源连接表1单片机核心板与发光管、拨码开关区连接方式51单片机核心板建议用8P排线进行连接。(2)编译下载启动uVision4新建一个51单片机的工程,输入参考代码并编译下载。4.实验结果拨动开关,会点亮或熄灭。
项目一任务3基本LED控制系统1.2.3流水灯实验1.实验目的(1)学习基本的数据处理方法、数据的传输、基本指令的使用。(2)学习延时子程序的编写和调用。2.实验原理(1)LED灯简介LED(LightEmittingDiode)发光二极管,是一种能够将转化为可见光的固态半导体器件,它可以直接把电能转化为光能。LED的“心脏”是一个半导体晶片,晶片的一端附在一个支架上作为负极,另一端作为,整个晶片被环氧树脂密封。1)贴片LED灯特点:①发光原理是属于,而非藉由加热或放电发光,所以元件寿命比钨丝灯泡长约50~100倍,约十万小时。②无需暖灯时间,点亮响应速度比一般电灯快(约3~400ns)。③电光转换效率高,耗电量小,比灯泡省约1/3~1/20的能源消耗。④耐震性佳、可靠度高、系统运转成本低。⑤易小型、薄型、轻量化,无形状限制,容易制成各式应用。2)LED的工作原理如图所示,发光二极管正向导通LED灯点亮。图1发光二极管正向导通3.实验步骤(1)硬件资源连接表151单片机核心板与主板上LED的接线方式51单片机核心板图2发光管电路(2)编译下载启动uVision4新建一个51单片机的工程,输入参考代码并编译下载。4.实验结果LED1~LED7显示跑马灯的效果。
项目二任务1蜂鸣器与声音报警2.1.1逻辑驱动型蜂鸣器实验1.实验目的(1)学习逻辑驱动型蜂鸣器的使用方法。2.实验原理(1)蜂鸣器简介蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为(有源)蜂鸣器和(无源)蜂鸣器两种类型。图1无源蜂鸣器图2有源蜂鸣器1)蜂鸣器结构原理电式蜂鸣器主要由、、及、外壳等组成。多谐振荡器由晶体管或集成电路构成。当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。电磁式蜂鸣器由、、、及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性振动发声。2)蜂鸣器发声原理蜂鸣器的发声原理由振动装置和谐振装置组成,而蜂鸣器又分为无源他激型与有源自激型。无源蜂鸣器的工作发声原理是:方波信号输入谐振装置转换为声音信号输出,无源他激型蜂鸣器的工作发声原理如图所示图3无源蜂鸣器的驱动原理有源自激型蜂鸣器的工作发声原理是:直流电源输入经过振荡系统的放大取样电路在谐振装置作用下产生声音信号,有源自激型蜂鸣器的工作发声原理如图所示。图4有源蜂鸣器的驱动原理无源蜂鸣器是一个脉冲驱动型蜂鸣器,脉冲驱动型蜂鸣器是指:给这种蜂鸣器加载上具有一定频率的额定的工作电压,该蜂鸣器就会发出对应频率的信号,这种蜂鸣器可以配合一定的频率发生电路产生不同音调的声响,比如具有高低变化音调的报警声甚至音乐。这种蜂鸣器有时也被称作“无源”型蜂鸣器。有源蜂鸣器是一个电平驱动型蜂鸣器,电平驱动型蜂鸣器是指:给这种蜂鸣器直接加载上额定的工作电压时,该蜂鸣器就会发出一定频率的信号。这种蜂鸣器有时也被称作“有源”型蜂鸣器。这种蜂鸣器使用简单,可以方便地应用于一些需要简单音频报警的场合。这里的“源”不是指电源,而是指振荡源。内部带振荡源,上电会发出“滴滴”的声响。而内部不带振荡源,输入直流信号无法驱动无源蜂鸣器并使其鸣叫。必须用2K~5K的方波作为驱动信号。如图所示,AO3400是一种常用的NMOS场效应晶体管。常见电路中NMOS管在使用时D端连接着高电平而S端连接着低电平,当uG-uS>0且|uG-uS|>|uGS(th)|时D端到S端为导通状态,uGS(th)是开启电压,根据A03400技术手册可知开启电压uGS(th)在0.7V~1.4V之间。图5N沟道场效应晶体管结构图6蜂鸣器原理图所谓逻辑驱动型蜂鸣器的使用方法是:给这种蜂鸣器直接加载上额定的工作电压时,该蜂鸣器就会发出一定频率的音频信号。这种蜂鸣器使用简单,可以方便地应用于一些需要简单音频报警的场合。由于单片机IO引脚的驱动能力有限,所以在使用单片机驱动这种蜂鸣器进行发生时还需要一些必要的驱动电路,如图所示。图7逻辑驱动型蜂鸣器3.实验步骤(1)硬件资源连接表1STC51核心板上的P1.0口与“蜂鸣器区”的LOG引脚连接方式STC51核心板建议用8P排线进行连接。(2)编译下载启动uVision4新建一个51单片机的工程,输入参考代码并编译下载。4.实验结果逻辑驱动型蜂鸣器间断性地鸣响。
2.1.2脉冲驱动型蜂鸣器实验1.实验目的(1)学习脉冲驱动型蜂鸣器的使用方法。2.实验原理所谓脉冲驱动型蜂鸣器的使用方法是:给这种蜂鸣器加载上具有一定频率的额定的工作电压,该蜂鸣器就会发出对应频率的音频信号。这种蜂鸣器可以配合一定的频率发生电路产生不同音调的声响,比如具有高低变化音调的报警声甚至音乐。由于单片机IO引脚的有限,所以在使用单片机驱动这种蜂鸣器进行发生时还需要一些必要的驱动电路,如图所示。图1脉冲驱动型蜂鸣器3.实验步骤(1)硬件资源连接表1STC51核心板上的P1.0口与“蜂鸣器区”的LOG引脚连接方式STC51核心板建议用8P排线进行连接。(2)编译下载启动uVison5新建一个51单片机的工程,输入参考代码并编译并下载。4.实验结果蜂鸣器演奏《同一首歌》。
项目二任务3定时控制实践2.3.1实时时钟控制实验1.实验目的(1)学习I2C总线的读写技术。(2)学习实时时钟PCF8563的使用方法。(3)学习PCF8563的数据转换方法。2.实验原理51单片机核心板通过使用驱动时钟日历区时钟,在12864屏幕上显示时间。3.实验步骤(1)实验模块单片机核心板模块、时钟日历模块、12864显示模块(2)实验模块表151单片机核心板与时钟日历区接线方法51单片机核心板表251单片机核心板与液晶显示区接线方法51单片机核心板表351单片机核心板与矩阵键盘区接线方法51单片机核心板表451单片机核心板与蜂鸣器区接线方法51单片机核心板(3)编译下载启动uVison5新建一个51单片机的工程,输入参考代码并编译下载。4.实验结果12864显示时间、日期,可使用函;设置时钟芯片初始时间,设置完成后,屏蔽该函数,再次下载运行,断电后,实时时钟继续运行。
项目三任务1数码管静态显示3.1.1数码管静态显示实验1.实验目的(1)学习利用74HC164驱动七段数码管显示的方法。(2)学习利用单片机输出74HC164所需要的串行数据和移位脉冲。2.实验原理(1)数码管简介数码管的一种是器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个用于显示小数点的发光二极管单元DP(decimalpoint),其基本单元是发光二极管。图1数码管工作原理示意图一般的数码管拥有七个发光二极管(三横四纵)用以显示十进制0至9的数字,一位发光二极管显示小数点,也可以显示英文字母,包括十六进制中的英文A至F(b、d为小写,其他为大写)。七段数码管分为共阳极及共阴极,共阳极的七段数码管的正极(或阳极)为八个发光二极管的共有正极,如图“共阳极”所示,其他接点为独立发光二极管的负极(或阴极),使用者只需把正极接电,不同的负极接地就能控制七段数码管显示不同的数字。共阴极的七段数码管与共阳极的只是接驳方法相反而已,如图“共阴极”所示。(2)数码管静态显示原理静态驱动也称。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是,,缺点是,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器(本实验采用74HC164)进行驱动,增加了硬件电路的复杂性。(3)74HC164简介74HC164、74HCT164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。图274HC164引脚示意图其工作电压范围为:2.0V-6.0V;封装形式一般为:SOP14和DIP14。表1引脚功能符号管脚名称管脚号说明A,B1,2QA-QH数据输出3,4,5,6,10,11,12,13CLK8CLR9该端口输入为低时,所有输入无效,所有输出口清零,该端口为高时,发送数据VDD14GND7数据通过两个输入端(DSA或DSB)之一串行输入;任意输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。74HC164工作原理等同于移位寄存器,如图所示。图3逻辑功能框图每个触发器的输出端Q接到右边一个触发器的输入端D。因为从时钟信号CP的上升沿加到触发器上开始到输出端新状态稳定地建立起来有一段延迟时间,所以当时钟信号同时加到触发器上时,每个触发器接收的都是左边一个触发器中原来的数据,相当于移位寄存器。其功能如表所示。表2功能表Inputs输入Outputs输出CLRCLKABQAQB……QHLXXXLLLHLXXQA0QB0QH0H↑HHHQAnQGnH↑LXLQAnQGnH↑XLLQAnQGn表中“H”表示,“L”表示,“×”表示,“↑”表示;参考时序图可知:QA0…QH0等于在稳定态输入条件建立前QA…QH的相应电平;QAn…QHn等于在最近的时钟输入条件(↑)建立前QA…QH的相应电平,表示移位一位。如输入的是0x88,二进制表示10001000,假设顺序排布,那么10001000对应的是QA=1,QB=0,QC=0,QD=0,QE=1,QF=0,QG=0,QH=0。图474HC164时序图(4)实际应用电路分析图5数码管应用电路图数码管实际应用电路由两路74HC164分别驱动两路数码管,两路数码管共地(共阴极),U2处74HC164的A、B输入端接U1处74HC164的QH,由于74HC164是移位寄存器,这就导致U2驱动的数码管显示总是稍滞后于U1驱动的数码管。3.实验步骤(1)硬件资源连接STC51核心板上的P1.0连接主板“数码管静态显示”区J3的CLK,P1.1连接到SDA。其中P1.0用于送出移位脉冲,P1.1用于送出串行数据。表351单片机核心板与静态数码管区接线方式51单片机核心板图6数码管静态显示电路(2)编译下载启动uVison5新建一个51单片机的工程,输入参考代码并编译下载。4.实验结果DS1和DS2循环显示0、1、2、4、3、4、5、6、7、8、9、A、B、C、D、E、F。
项目三任务2数码管动态显示3.2.1数码管动态扫描1.实验目的(1)学习七段数码管动态扫描显示的现实方法。2.实验原理数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是的,能够节省大量的端口,而且功耗更。对于多个八段数码管可以采用动态扫描的方法来显示数据,一次点亮一个数码管,稍等片刻后再点亮下一个数码管,如此循环,由于人眼的视觉“暂留”作用,看上去好像所有的数码管是同时点亮的。。3.实验步骤(1)硬件资源连接表1STC51核心板与主板上“动态扫描数码管”区的连接方式STC51核心板图1七段数码管显示电路(2)编译下载启动uVison5新建一个51单片机的工程,输入参考代码并编译下载。4.实验结果8个数码管从低到高显示0、1、2、3、4、5、6、7。
3.2.2日历时钟实验1.实验目的(1)学习I2C总线的读写技术。(2)学习实时时钟PCF8563的使用方法。(3)学习PCF8563的数据转换方法。2.实验原理PCF8563是PHILIPS公司推出的一款工业级内含I2C总线接口功能的具有极低功耗的多功能时钟/日历芯片。PCF8563的多种报警功能、定时器功能、时钟输出功能以及中断输出功能能完成各种复杂的定时服务,甚至可为单片机提供看门狗功能。是一款性价比极高的时钟芯片,它已被广泛用于电表、水表、气表、电话、传真机、便携式仪器以及电池供电的仪器仪表等产品领域。PCF8563有16个8位寄存器:一个可自动增量的,一个内置32.768KHz的一个分频器(用于给实时时钟RTC提供源时钟)一个可编程时钟输出,一个定时器,一个报警器,一个掉电检测器和一个400KHzI2C总线接口。所有16个寄存器设计成可寻址的8位并行寄存器,但不是所有位都有用。前两个寄存器(内存地址00H,01H)用于控制寄存器和状态寄存器,内存地址02H~08H用于时钟计数器(秒~年计数器),地址09H~0CH用于报警寄存器(定义报警条件),地址0DH控制CLKOUT管脚的输出频率,地址0EH和0FH分别用于定时器控制寄存器和定时器寄存器。秒、分钟、小时、日、月年、分、钟报警、小时报警、日报警寄存器,编码格式为BCD,星期和星期报警寄存器不以BCD格式编码。当一个RTC寄存器被读时,所有计数器的内容被锁存,因此,在传送条件下,可以禁止对时钟日历芯片的错读。(1)寄存器概况1)地址寄存器名称控制/状态寄存器1TEST0STOP0TESTC00001H控制/状态寄存器2000TI/TPAFTFAIETIE0DHCLKOUT频率寄存器FEFD1FD00EH定时器控制寄存器TETD1TD00FH定时器倒计数数值寄存器定时器倒计数数值。2)BCD寄存器(2)地址寄存器名称Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0。02H秒:VL00~59BCD码格式数03H分:00~59BCD码格式数04H时:00~23BCD码格式数05H日:06H星期:0~607H月/世纪:C--01~12BCD码格式数08H年:00~99BCD码格式数09H分钟报警:0AH小时报警:AE-00~23BCD码格式数0BH日报警:AE-01~31BCD码格式数0CH星期报警:AE-0~6(3)开始和停止STOP和START状态之间总线空置,数据线(SDA)和时钟线(SCL)保持在高电平。SCL高电平时SDA下降沿,为启动条件(S);SCL高电平时SDA上升沿为停止条件(P),参见图。图1IIC时序图(4)位传送每个时钟脉冲传送一个数据位,SDA线上的数据在时钟脉冲高电平时应保持稳定,否则将成为。(5)标志位在START和STOP之间,发射器发送给接收器的数据数量没有限制。在每个8位字节后加一个标志位,发射器便产生一个高电平的标志位,这时主设备产生一个附加标志位时钟脉冲。“从接收器”必须在接收到每个字节后产生一个标志位,“主接收器”也必须在接收“从发射器”传送的每个字节后产生一个标志位。在标志位时钟脉冲出现时,SDA线应保持低电平(应考虑起动和保持时间)。发射器应在从设备接收到最后一个字节时变为低电平,而使接收器产生标志位,这时主设备即可产生停止条件。(6)I2C总线协议用I2C总线传递数据前,接收的设备应先标明地址,在I2C总线起动后,这个地址与第一个传送字节一起被传送出去。PCF8563可以作为一个从接收器或从传送器,此时的时钟信号线SCL只能输入信号线,数据信号线SDA则为一条双向信号线。有关I2C总线的定义和操作,以及PCF8563的各种操作可参看相应的文件。3.实验步骤(1)硬件资源连接表151单片机核心板与时钟日历区接线方法51单片机核心板表251单片机核心板与液晶显示区接线方法51单片机核心板(2)编译下载启动uVison5新建一个51单片机的工程,输入参考代码并编译下载。使用程序中的time_init();函数,使用方法参见函数说明。屏蔽掉程序中的时间初始化函数,断电后实时时钟还在运行,上电后时间显示在LCD12864。图2PCF8563电路原理图4.实验结果12864显示时间、日期,可使用函数;设置时钟芯片初始时间,设置完成后,屏蔽该函数,再次下载运行,断电后,实时时钟继续运行。
项目三任务3LED点阵显示3.3.1点阵LED显示实验1.实验目的(1)学习点阵LED的工作原理和使用方法。2.实验原理(1)74HC595介绍74HC595和74hc164一样是在单片机系统中常用的芯片之一,他的作用就是把串行的信号转为,常用在各种数码管以及点阵屏的驱动芯片,使用74HC595可以节约单片机mcu的io口资源,用3个io就可以控制8个数码管的引脚,他还具有一定的驱动能力,可以免掉三极管等放大电路,所以这块芯片是驱动数码管的神器.应用非常广泛。(2)74HC595的数据端:1)QA--QH:八位并行输出端,可以直接控制数码管的8个段。2)QH':。3)SI:串行数据输入端。(3)74hc595的控制端说明1)SCLR(10脚):低电平时将移位寄存器的数据清零。通常我将它接Vcc。2)SCK(11脚):上升沿时数据寄存器的数据移位。;下降沿移位寄存器数据不变。(脉冲宽度:5V时,大于几十纳秒就行了。我通常都选微秒级)(4)控制移位寄存器SCK上升沿数据移位SCK下降沿数据保持RCK(12脚):上升沿时移位寄存器的数据进入存储寄存器,下降沿时存储寄存器数据不变。通常我将RCK置为低电平,当移位结束后,在RCK端产生一个正脉冲(5V时,大于几十纳秒就行了。我通常都选微秒级),更新显示数据。(5)控制存储寄存器RCK上升沿移位寄存器的数据进入存储寄存器RCK下降沿存储寄存器数据不变OE(13脚):高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。注:74164和74595功能相仿,都是8位串行输入转并行输出移位寄存器。74164的驱动电流(25mA)比74595(35mA)的要小,14脚封装,体积也小一些。74595的主要优点是,在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管没有闪烁感。与74hc164只有数据清零端相比,74hc595还多有输出端时能/禁止控制端oe,可以使输出为高阻态。所以是用这块芯片会更方便。74HC595是具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。数据在SHcp(见时序图)的上升沿输入,在STcp(见时序图)的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。表174HC595真值表SISCKSCLRRCKOEXXXHXXXLXLX上沿HX上沿HX移位寄存器存储H下沿HXXX上沿XXX下沿X输出存储器状态保持图174HC595时序图(6)74HC138介绍:74HC138为3线-8线译码器,和两种线路结构型式,其工作原理如下:当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。利用G1./(G2A)和/(G2B)可级联扩展成24线译码器;若外接一个反相器还可级联扩展成32线译码器。若将选通端中的一个作为数据输入端时,74HC138还可作数据分配器。图274HC138真值表图374HC138逻辑图由图可以看出,同时又是这三个变量的全部最小项的译码输出,所以也把这种译码器叫做最小项译码器。74HC138有三个附加的控制端,这三个控制端也叫做“”输入端,利用片选的作用可以将多篇连接起来以扩展译码器的功能。带控制输入端的译码器又是一个完整的数据分配器。在电路中如果把作为“数据”输入端(同时),而将作为“地址”输入端,那么从送来的数据只能通过所指定的一根输出线送出去。这就不难理解为什么把叫做地址输入了。例如当=101时,门的输入端除了接至输出端的一个以外全是高电平,因此的数据以反码的形式从输出,而不会被送到其他任何一个输出端上。图42个74HC138作为4线-16线译码器第1片74HC138工作而第2片74HC138禁止,将的0000~0111这8个代码译成8个低电平信号。第2片74HC138工作,第1片74HC138禁止,将的1000~1111这8个代码译成8个低电平信号。这样就用两个3线-8线译码器扩展成一个4线-16线的译码器了。同理,也可一用两个带控制端的4线-16线译码器接成一个5线-32线译码器。3.实验步骤(1)硬件资源连接STC51核心板上的P0,P2接“点阵LED”的J16,J17(列);P1,P3接“点阵LED”的J14,J15(行),高低位按高低顺序对应,阵列自上而下扫描,如图所示。表2STC51核心板与“点阵LED”区的连接方式STC51核心板图5点阵LED显示电路(2)编译下载启动uVison5新建一个51单片机的工程,输入参考代码并编译下载。4.实验结果LED点阵上循环显示字样。
项目三任务4液晶显示(LCD1602)3.4.1字符液晶显示实验1.实验目的(1)学习1602字符型液晶显示屏的使用方法。2.实验原理(1)1602字符型LCD简介字符型液晶显示模块是一种专门用于显示字母.数字.符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。(2)脚功能说明1602LCD采用标准的14脚或16脚接口,各引脚接口说明如表所示:表11602LCD引脚说明编号符号引脚说明编号符号引脚说明1VSS9D22VDD10D33VL11D44RS12D55R/W13D66E14D77D015BLA8D116BLK具体引脚说明:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器.低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。(3)1602LCD的指令说明1602液晶模块内部的控制器共有11条控制指令,如表所示:表21602LCD控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3设置输入模式00000001I/DS4显示开/关控制0000001DCB5光标/字符移动000001S/CR/L**6设置功能00001DLNF**7设置字符发生存贮器地址0001字符发生存贮器地址8设置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数据到CGRAM或DDRAM01要写的数11从CGRAM或DDRAM读数据10读出的数据1602液晶控制指令的具体说明:1602液晶模块的读写操作.屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平.0为低电平)指令1:。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移;S:屏幕上所有文字是否左移或者右移,高电平表示有效,低电平则无效。指令4:显示开关控制,D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示。C:控制光标的开与关,高电平表示有光标,低电平表示无光标。B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位,S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线。N:低电平时为单行显示,高电平时双行显示。F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:。指令8:。指令9:读忙信号和光标地址,BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:。指令11:(4)1602LCD的读写时序图如图所示。图1LCD1602的读操作时序图图2LCD1602的写操作时序3.实验步骤(1)硬件资源连接1602字符液晶部分的电路图部分如图所示。将STC51核心板上的P0口与液晶屏J11的BD0-BD7连接(注意P0.0~P0.7和BD0BD7对应)。将STC51核心板上的P3.0接液晶屏的RS,P3.1接RW,P3.2接E。表3STC51核心板与液晶屏区的硬件连接方式STC51核心板图31602字符液晶电路图(2)编译下载启动uVison5新建一个51单片机的工程,输入参考代码并编译下载。4.实验结果1602液晶屏上显示“”.“”的字样。
3.4.2图形液晶显示实验1.实验目的(1)学习12864图形液晶显示屏的使用方法。2.实验原理(1)12864液晶显示屏12864液晶是一种统称,只说明类屏的一个特征,就是128*64个点构成。对于液晶屏的特性则没有说明。12864是一种经常应用于单片机系统中的显示器件。由于12864液晶屏可以显示个像素点阵,因此,这种液晶屏常用来显示一些图形,或者显示一些字体较为复杂的文字,比如中文。1)引脚说明如图所示:图112864液晶引脚描述2)内部资源①DDRAM:(DataDisplayRam),数据显示RAM,往里面写,屏幕就会显示。图2DDRAM地址与屏幕显示对应关系如下:第一行:80H81H82H83H84H85H86H87H第二行:第三行:第四行:98H99H9AH9BH9CH9DH9EH9FHDDRAM数据读写:所有的数据读写都是先送地址,然后进行读写。对DDRAM写数据时,确保在基本指令集下(使用指令0x30开启),然后写入地址,之后连续写入两个字节的数据。读数据时,在基本指令集下先写地址,然后假读一次,之后再连续读2个字节的数据,读完之后地址指针自动加一,跳到下一个字,若需要读下一个字的内容,只需再执行连续读2个字节的数据。这里的假读需要注意,不仅读CGRAM需要假读,读其他的GDRAM,DDRAM都需要先假读一次,之后的读才是真读,假读就是读一次数据,但不存储该数据,也就是说送地址之后第一次读的数据时错误的,之后的数据才是正确的。(dummy为假读)②CGROM:(CharacterGenerationROM),字符发生ROM。里面存储了中文汉字的字模,也称作中文字库,编码方式有GB2312(中文简体)和BIG5(中文繁体)。③CGRAM:(CharacterGenerationRAM),字符发生RAM,12864内部提供了64×2B的CGRAM,可用于用户自定义4个16×16字符,每个字符占用32个字节。3)CGRAM:(数据读写)CGRAM的结构就是上面所示了,这里再补充一些读写CGRAM的内容,读写之前先写地址,写CGRAM的指令为0x40+地址。但是我们写地址时只需要写第一行的地址,例如第一个字符就是0x40+00H,然后连续写入2个字节的数据,之后地址指针会自动加一,跳到下一行的地址,然后再写入2个字节的数据。其实编程实现就是写入地址,然后连续写入32个字节的数据。读数据也是先写首地址,然后假读一次,接着连续读32个字节的数据。4)GDRAM:(GraphicDisplayRAM):图形显示RAM,这一块区域用于绘图,往里面写啥,屏幕就会显示啥,它与DDRAM的区别在于,往DDRAM中写的数据是字符的编码,字符的显示先是在CGROM中找到字模,然后映射到屏幕上,而往GDRAM中写的数据时图形的点阵信息,每个点用1bit来保存其显示与否。5)GDRAM的读写:首先说明对GDRAM的操作基本单位是一个字,也就是2个字节,就是说读写GDRAM时一次最少写2个字节,一次最少读2个字节。①写数据:先开启扩展指令集(0x36),然后送地址,这里的地址与DDRAM中的略有不同,DDRAM中的地址只有一个,那就是字地址。而GDRAM中的地址有2个,分别是字地址(列地址/水平地址X)和位地址(行地址/垂直地址Y),上图中的垂直地址就是00H~31H,水平地址就是00H~15H,写地址时先写垂直地址(行地址)再写水平地址(列地址),也就是连续写入两个地址,然后再连续写入2个字节的数据。②读数据:先开启扩展指令集,然后写行地址、写列地址,假读一次,再连续读2字节的数据(先高字节后低字节)。6)HCGROM:(HalfheightCharacterGenerationROM):半宽字符发生器,就是字母与数字,也就是码。12864液晶带字库和不带字库液晶屏的区别在于:带字库的液晶内置汉字字符库调用对应的代码就行。不带字库的得自行编译所要显示的内容字库,要是显示内容多的话,工作量也相应增大不少。在本实验设备中使用的是无字库12864液晶显示。7)基本操作说明①读状态输入:RS=L,R/W=H,CS1或CS2=H,E=高脉冲。输出:。②写指令输入:RS=L,R/W=L,D0~D7=指令码,CS1或CS2=H,E=高脉冲。输出:。③读数据输入:RS=H,R/W=H,CS1或CS2=H,E=H)读数据49输出:。④写数据输入:RS=H,R/W=L,D0~D7=数据,CS1或CS2=H,E=高脉冲。输出:。图312864时序图图412864时序参数8)状态字说明表1状态字寄存器STA7STA6STA5STA4STA3STA2STA1STA0D7D6D5D4D3D2D1D0STA0~STA4:未用。STA5:液晶显示状态,1为关闭,0为显示。STA6:未用。STA7:读/写操作使能,1为禁止,0为允许。对控制器每次进行读/写操作之前,都必须进行读/写检测,以确保STA7为0。9)RAM地址映射内部有128列X64行的点阵液晶显示器。LCD显示屏由两片控制器控制,每片控制器内部带有64行×64列(64X64/8=512字节)的RAM缓冲区,分8页寻址,一页包含8行X64(列)点,占据64字节。对应关系如图所示。图5RAM地址映射图10)指令说明①初始化设置显示开关设置:指令码3FH(开)、3EH(关)。显示初始化设置:指令码COH(设置显示初始行)。②数据控制控制器内部设有一个数据地址页和一个数据地址列指针,用户可通过它们来访问内部的全部512字节RAM。数据页指针设置:B8H+页码(0~7),设置数据地址页指针。数据列指针设置:40H+列码(0~63),设置数据地址列指针。③初始化过程写指令C0H,设置显示初始行;写指令3FH,显示初始行。11)XY地址计数器XY地址计数器是一个9位计数器。高3位是X地址计数器,低6位为Y地址计数器,XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器。X地址计数器是没有记数功能的,只能用指令设置。为DDRAM的Y地址指针。Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0到63。(2)应用电路图6图形液晶显示硬件原理图3.实验步骤(1)硬件资源连接12864LCD的电路图见图4.5.6;将STC51核心板上的P0口与图形液晶屏J12的BD0-BD7连接,注意P0.0~P0.7和BD0-BD7一一对应;将STC51核心板上的P2.0接图形液晶屏的CS1,P2.1接CS2,P2.2接R_S,P2.3接R_W,P2.4接E。表2STC51核心板与液晶屏区的硬件连接方式STC51核心板图712864图形LCD电路图(2)编译下载启动uVison5新建一个51单片机的工程,输入参考代码并编译下载。4.实验结果12864液晶屏上显示“”,“”
项目四任务1独立按键与矩阵键盘4.1.1PS2键盘读取实验1.实验目的(1)学习PS2键盘接口的数据传输格式。(2)学习利用单片机编程的方法读取PS2键盘数据的方法。2.实验原理PS2是PC机常见的一种外设接口,通常用来连接输入设备,比如:、、等。PS2接口使用串行总线传输数据,一根为串行时钟,另一根为串行数据,单片机通过读取这两个信号来接收外设送来的数据。3.实验步骤(1)硬件资源连接标准的PC键盘接“PS2-Keyboard”接口。表151单片机核心板与鼠标键盘接口的连接方式51单片机核心板表251单片机核心板与“液晶显示”区的连接方式51单片机核心板标准的PC键盘接“PS2-Keyboard”接口。图1PS2键盘接口电路(2)编译下载启动uVison5新建一个51单片机的工程,输入参考代码并编译下载。4.实验结果液晶屏的下排将显示用户按下的PC键盘上对应的字码。实验源代码请参见03-项目配套参考例程。5.拓展实验液晶屏下排显示汉字。
4.1.2PS2鼠标读取实验1.实验目的(1)学习PS2鼠标接口的数据传输格式。(2)学学习利用单片机编程的方法读取PS2鼠标数据的方法。2.实验原理PS2是PC机常见的一种外设接口,通常用来连接输入设备,比如:、、条码读取仪等。PS2接口使用串行总线传输数据,一根为串行时钟,另一根为串行数据,单片机通过读取这两个信号来接收外设送来的数据。3.实验步骤(1)硬件资源连接标准的PS2接口的鼠标接“PS2-Mouse”接口。表151单片机核心板与鼠标键盘接口的连接方式51单片机核心板表251单片机核心板与“液晶显示”区的连接方式51单片机核心板表351单片机核心板与蜂鸣器区的连接方式51单片机核心板图1PS2鼠标接口电路(2)编译下载启动uVison5新建一个51单片机的工程,输入参考代码并编译下载。。4.实验结果液晶屏上显示鼠标对应XY轴的情况,单击鼠标左键或者右键,液晶屏会有对应文字提示,蜂鸣器也会随着鼠标按键的点击而鸣叫。实验源代码请参见03-项目配套参考例程。5.拓展实验LED(D9)会随着鼠标按键的点击而闪烁。
4.1.3矩阵键盘读取实验1.实验目的(1)学习利用“线反转法”读取4X4矩阵键盘的方法。2.实验原理实验中要用到4×4键盘,系统需要完成4×4键盘的扫描,确定有键按下后需要获取其键值,根据预先存放的键值表,逐个进行对比,从而进行按键的识别,并将相应的按键值进行显示。键盘扫描的实现过程如下:对于4×4键盘,通常连接为4行*4列,因此要识别按键,只需要知道是哪一行和哪一列即可,为了完成这一识别过程,首先输出4列中的第一列为低电平,其它列为高电平,然后读取行值;然后再输出4列中的第二列为低电平,读取行值,依此类推,不断循环。系统在读取行值的时候会自动判断,如果读进来的行值全部为高电平,则说明,否则如果读进来的行值发现不全为高电平,则说明键盘整列中必定有至少一个按键按下,读取此时的行值和当前的列值,即可判断到当前的按键位置。获取到行值和列值以后,组合成一个8位的数据,根据实现不同的编码在对每个按键进行匹配,找到键值后在液晶上显示。该实验中,使用反转法去读取键盘值。首先将列线作为输出线,行线作为输入线。置输出线全部为0,此时行线中呈低电平0的为按键所在行,如果全部都不是0,则没有按键按下。其次将第一步反过来,即将行线作为输出线,列线作为输入线。置输出线全部为0,此时列线呈低电平的为按键所在的列。这样,就可以确定了按键的位置(X,Y),当然还要注意软件去抖动。一般情况下,“线反转法”读取键盘信息有两步操作。第一步:将行线编程为输入线,列线编程为输出线,并使输出线输出全为0,则行线中电平由高到低所在行为按键行为。第二部:同第一步完全相反,行线编程为输出,列线编程为输入,并使输出线输出为全0电平,则列线中电平由高到低所在列为按键。3.实验步骤(1)硬件资源连接表151单片机核心板与“矩阵键盘”区的连接方式51单片机核心板表251单片机核心板与“液晶显示”区的连接方式51单片机核心板图14X4矩阵键盘(2)编译下载启动uVison5新建一个51单片机的工程,输入参考代码并编译下载。4.实验结果液晶显示屏上排显示键盘按键的位码,下排显示该按键所表示的字符。比如第一行第一列的按键“编号”为0,但它表示数字“”。
项目四任务2单片机中断系统4.2.1单片机中断实验1.实验目的(1)学习51单片机外中断的原理和设置方法。(2)学习简单的中断服务子程序的撰写方法。2.实验原理中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为。实现这种功能的部件称为,请示CPU中断的请求源称为。微型机的中断系统一般允许多个中断源,当几个中断源同时向CPU请求中断,要求为它服务的时候,这就存在CPU优先响应哪一个中断源请求的问题。通常根据中断源的轻重缓急排队,处理最紧急事件的中断请求源,即规定每一个中断源有一个优先级别。CPU总是先响应优先级别最高的中断请求。当CPU正在处理一个中断源请求的时候(执行相应的中断服务程序),发生了另外一个优先级比它还高的中断源请求。如果CPU能够暂停对原来中断源的服务程序,转而去处理优先级更高的中断请求源,处理完以后,再回到原低级中断服务程序,这样的过程称为。这样的中断系统称为,没有中断嵌套功能的中断系统称为。可以用关总中断允许位(EA/IE.7)或相应中断的允许位屏蔽相应的中断请求,也可以用打开相应的中断允许位来使CPU响应相应的中断申请,每一个中断源可以用软件独立地控制为开中断或关中断状态,部分中断的优先级别均可用软件设置。高优先级的中断请求可以打断低优先级的中断,反之,低优先级的中断请求不可以打断高优先级的中断。当两个相同优先级的中断同时产生时,将由查询次序来决定系统先响应哪个中断。3.实验步骤(1)硬件资源连接将STC51核心板的P1口和LED显示电路的J4口相连接,STC51核心板上的IN(P3.2)和按键开关K1相连。表151单片机核心板与发光管、拨码开关、轻触开关区接线方式51单片机核心板图1发光管微动开关电路(2)编译下载启动uVison5新建一个51单片机的工程,输入参考代码并编译下载。4.实验结果按动一次K1,发光管按二进制加的方式被熄灭。注意:由于没有加入程序,因此偶尔会出现按键一次,P1自增好几位的情况。
项目四任务3中断综合应用4.3.1红外遥控接收实验1.实验目的(1)学习红外遥控信号的接收解码方法。2.实验原理红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有、、、等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。(1)红外遥控系统通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,发射部分包括、;接收部分包括、、。(2)遥控发射器及其编码遥控发射器专用芯片很多,根据编码格式可以分成脉冲宽度调制和脉冲相位调制两大类,这里我们以运用比较广泛,解码比较容易的脉冲宽度调制来加以说明,现以LC7461组成发射电路为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。上述“0”和“1”组成的42位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的分析。然后再通过红外发射二极管产生红外线向空间发射,7461产生的遥控编码是连续的42位二进制码组,其中前26位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后16位为8位的操作码和8位的操作反码用于核对数据是否接收准确。当遥控器上任意一个按键按下超过36ms时,LC7461芯片的振荡器使芯片激活,将发射一个特定的同步码头,对于接收端而言就是一个9ms的低电平,和一个4.5ms的高电平,这个同步码头可以使程序知道从这个同步码头以后可以开始接收数据。解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”.“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右即可。根据红外编码的格式,程序应该等待9ms的起始码和4.5ms的结果码完成后才能读码。3.实验步骤(1)硬件资源连接表151单片机核心板与“红外传输”区的连接方式51单片机核心板表251单片机核心板与“液晶显示”区的连接方式51单片机核心板图1红外收发电路图(2)编译下载启动uVison5新建一个51单片机的工程,输入参考代码并编译下载。4.实验结果液晶屏上直接显示接收到的。
4.3.2红外遥控发射实验1.实验目的(1)学习红外遥控发射脉冲的单片机实现方法。2.实验原理(1)基本原理红外遥控是一种无线.非接触控制技术,具有,,,,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。由于红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所以,在设计红外线遥控器时,不必要像无线电遥控器那样,每套(发射器和接收器)要有不同的遥控频率或编码(否则,就会隔墙控制或干扰邻居的家用电器),所以同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方面。由于红外线为不可见光,因此对环境影响很小,再由红外光波动波长远小于无线电波的波长,所以红外线遥控不会影响其他家用电器,也不会影响临近的无线电设备。红外遥控的编码目前广泛使用的是:。RC-5Protocol的PPM(脉冲位置调制)遵循NEC协议,其特征如下:(1)8位地址和8位指令长度;(2)地址和命令2次传输(确保可靠性)(3)PWM脉冲位置调制,以发射红外载波的占空比代表“0”和“1”;(4)载波频率为38Khz;(5)位时间为1.125ms或2.25ms;NEC码的位定义:一个脉冲对应560us的连续载波,一个逻辑1传输需要2.25ms(560us脉冲+1680us低电平),一个逻辑0的传输需要1.125ms(560us脉冲+560us低电平)。而遥控接收头在收到脉冲的时候为低电平,在没有脉冲的时候为高电平,这样,我们在接收头端收到的信号为:逻辑1应该是560us低+1680us高,逻辑0应该是560us低+560us高。NEC遥控指令的数据格式为:、、、。同步码由一个9ms的低电平和一个4.5ms的高电平组成,地址码、地址反码、控制码、控制反码均是8位数据格式。按照低位在前,高位在后的顺序发送。采用反码是为了增加传输的可靠性(可用于校验)3.实验步骤(1)硬件资源连接表151单片机核心板与“红外传输”区的连接方式51单片机核心板表251单片机核心板与“矩阵键盘”区的连接方式51单片机核心板图1红外发射电路图(2)编译下载启动uVison5新建一个51单片机的工程,输入参考代码并编译下载。4.实验结果在运行接收程序的实验箱上查看接收到的数据。
项目四任务4串行通信基础4.4.1单片机串口实验1.实验目的(1)理解串行通信与并行通信的区别;(2)学会微控制器串口配置;(3)接收计算机串口助手发过来的数据,处理完成后再把数据发回串口助手显示。2.实验原理(1)硬件原理将CH340插入电脑端口(驱动存放在刻盘资料中,也可以下载如驱动精灵、鲁大师等软件自动安装)。将CH340上的RXD接入P3.1,将TXD接入P3.0,然后再将两者的GND相接。图1板载串口引脚图一般情况下,设备之间的通信方式可以分成并行通信和串行通信两种,它们之间的区别如表所示。表1并行通信与串行通信的对比区别类型并行通信串行通信传输原理优点缺点(2)串行通信的分类1)按照数据传送方向,分为:单工:数据传输只支持数据在一个方向上传输;半双工:允许数据在两个方向上传输。但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;它不需要独立的接收端和发送端,两者可以合并一起使用一个端口。全双工:允许数据同时在两个方向上传输。因此,全双工通信是两个单工通信方式的结合,需要独立的接收端和发送端。图2串行通讯的几种工作特点2)按照通信方式,分为:同步通信:带时钟同步信号传输。比如:SPI,IIC通信接口。异步通信:不带时钟同步信号传输。比如:UART(通用异步收发器),单总线。在同步通信中,收发设备上方会使用一根信号线来传输信号,在时钟信号的驱动下双方进行协调、同步数据。例如:通信过程中双方通常会统一规定在时钟信号的上升沿或者下降沿对数据线进行采样。在异步通信中不使用时钟信号进行数据同步,它们直接在数据信号中穿插一些用于同步的信号位,或者将主题数据进行打包,以数据帧的格式传输数据。通信中还需要双方规约好数据的传输速率(也就是波特率)等,以便于更好地同步。常用的波特率有4800bps、9600bps、115200bps等。在同步通信中,数据信号所传输的内容绝大部分是有效数据,而异步通信中会则会包含数据帧的各种标识符,所以同步通信效率高,但是同步通信双方的时钟允许误差小,稍稍时钟出错就可能导致数据错乱,异步通信双方的时钟允许误差较大。(3)常见的串行通信接口。表2常见的串行通信接口通信标准引脚说明通信方式通信方向UART(通用异步收发器)全双工1-wire(单总线)半双工SPI全双工I2C半双工1)波特率与定时器初值的关系波特率单片机或计算机在串口通信时的传输速率速率用波特率来表示,波特率定义每秒传输二进制代码的位数,即1波特=1位/秒,单位为bps(位/秒)。如果每秒传输240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),此时波特率为10位*240个/秒=2400bps。波特率的计算在串行通信中,收发双方对发送或接受的速率有约定。通过编程可对单片机串口设定为4种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定。串行口的4种工作方式对应三种波特率。由于输入的移位时钟来源不同,所以各种波特率的计算方式也不同,以下是4种方式波特率的计算方式。方式0的波特率=fosc/12。方式1的波特率=(2SMOD/32)*(T1溢出率)。方式2的波特率=(2SMOD/64)*fosc。方式3的波特率=(2SMOD/32)*(T1溢出率)。上述计算方式中,fosc为系统晶振频率,通常为12MHz或11.0592MHz,SMOD是PCON寄存器的最高位;T1溢出率就是T1定时器溢出的频率,只要算出T1定时器每溢出一次所需要的时间,那么T的倒数就是它的溢出率。2)STC89C52单片机串口介绍STC89C51RC/RD+系列单片机内部集成有一个功能很强的全双工串行通信口,与传统8051单片机的串口完全兼容。设有2个互相独立的接收、发送缓冲器,可以同时发送和接收数据。发送缓冲器只能写入而不能读出,接收缓冲器只能读出而不能写入,因而两个缓冲器可以共用一个地址(99H)。两个缓冲器统称为串行通信特殊功能寄存器SBUF。如图所示,除了两个独立的串行数据缓冲寄存器SBUF,我们还可以看到发送控制寄存器、接受控制器、输入移位寄存器以及若干控制门电路组成。虽然两个SBUF公用一个地址码,但在物理上是两个是独立的寄存器,由指令操作决定访问哪一个寄存器。执行写指令时,访问串口发送寄存器;执行读指令时,访问串行接受寄存器。接收器具有双缓冲结构,即在从接受寄存器中读出前一个已收到的字节之前,便能接受第二个字节,如过第二个字节已经接收完毕,第一个字节还没读出,则将失去其中一个字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年《中级超声波医学技术技能鉴定考试》必练题库(重点题)
- 2026中国米香型白酒行业需求动态与竞争趋势预测报告
- 2025年事业单位招聘考试公共基础知识物理化学试题及答案
- 2025年市政处年终总结
- 2026年肉类冷链配送协议
- 2026冷链物流对鲜食葡萄流通效率影响评估报告
- 2026农业无人机技术应用现状及商业化前景分析预测报告
- 2026云计算混合部署模式接受度与市场反应
- 2025专业技术人员继续教育公需课题库(附答案)
- 2025年AI情绪调节设备脑机接口技术进展
- 2026年广东广州市高三二模高考数学试卷试题(含答案详解)
- 2025广东潮州府城文化旅游投资集团有限公司及其下属企业招聘8人笔试历年参考题库附带答案详解
- 2026山东日照银行烟台分行社会招聘备考题库完整参考答案详解
- 2026年高考历史高分冲刺学习指南
- 商场消防教育培训制度
- 心包积液诊疗指南(2025年版)
- 2025年四川省达州市中考物理模拟试题(试卷+解析)
- 2026浙江浙大圆正科技创新服务有限公司招聘中层管理人员1人笔试参考题库及答案解析
- 高考地理总复习《内外力作用对地表形态的影响》专项测试卷(带答案)
- 2026春教科版一年级下册科学《身边的物体》教案
- 《汽车轮毂单元》
评论
0/150
提交评论