




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE61TOC\o"1-1"\h\z\u实验一I/O口控制实验 1实验二定时器输出PWM实验 4实验三蜂鸣器驱动实验 6实验四电子琴模拟实验 7实验七74HC138译码器实验 11实验八看门狗实验 12实验九查询式键盘实验 14实验十一8155I/O扩展实验 16实验十五继电器控制实验 20实验十六I2C总线实验 22实验十七实时时钟实验 27实验十八温度传感器温度控制实验 31实验十九2×16字符型液晶显示实验 35实验二十128×64点阵型液晶显示实验 38实验二十一红外发射接收实验 43实验二十二ISD1420语音控制实验 46实验二十三RS232串口通信实验 53实验二十六EEPROM外部程序存储器实验 55实验二十七ADC0809并行AD转换实验 57实验二十八TLC549串行AD转换实验 59实验二十九DAC0832并行DA转换实验 61实验三十LTC1446串行DA转换实验 64实验三十六微型打印机实验(选配) 66实验三十七USB通信实验 69实验三十八以太网通信实验 79实验三十九CPLD扩展接口实验(选配) 91实验一I/O口控制实验一、实验目的1、学习P1口的使用方法2、学习延时子程序的编写和使用二、实验说明P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1三、实验内容及步骤实验(一):用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。1、使用单片机最小应用系统。关闭该模块电源,用扁平数据线连接单片机P1口与八位逻辑电平显示模块JD10。2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3、打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加“P1口输出.ASM”源程序,进行编译,直到编译无误。4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序,观察发光二极管显示情况。发光二极管单只从右到左轮流循环点亮。实验(二):用P1.0、P1.1作输入接两个拨断开关,P1.2、P1.3作输出接两个发光二极管。程序读取开关状态,并在发光二极管上显示出来。1、用导线分别连接单片机最小应用系统的P1.0、P1.1到两个拨断开关,P1.2、P1.3到两个发光二极管。2、打开“P1_B.ASM”源程序,编译无误后,全速运行程序,拨动拨断开关,观察发光二极管的亮灭情况。向上拨为点亮,向下拨为熄灭。3、也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。(ISP烧录器的使用查看附录二)注:在做完实验时记得养成一个好习惯:把相应单元的短路帽和电源开关还原到原来的位置!以下将不在重诉。四、流程图及源程序1.流程图开始P1.0,P1.1开始P1.0,P1.1置一读入P1.0口值将读入的值输出到P1.2读入P1.1口值将读入的值输出到P1.3(B)P1口输入输出程序框图开始设置初始值设移位次数数据输出左一位延时移位次数完成?是否(A)P1口循环点灯程序框图2.源程序(一)实验一ORG0Loop:mova,#0FEhmovr2,#8Output:movP1,arlaAcallDelaydjnzr2,OutputLjmpLoopDelay:movr6,#0movr7,#0DelayLoop:;延时程序djnzr6,DelayLoopdjnzr7,DelayLoopretend(二)实验二KeyLeftBITP1.0;定义KeyRightBITP1.1LedleftBITP1.2LedRightBITP1.3ORG0SETBKeyLeft;欲读先置一SETBKeyRightLoop:Movc,keyleftMovLEDLeft,cMOVC,KeyRightMovLEDRIGHt,cLJMPLoopEND五、思考题(1)对于本实验延时子程序Delay:MOVR6,0MOVR7,0DelayLoop:DJNZR6,DelayLoopDJNZR7,DelayLoopRET本模块使用12MHz晶振,粗略计算此程序的执行时间为多少?六、电路图实验二定时器输出PWM实验一、实验目的1、了解脉宽调制(PWM)的原理2、学习用PWM输出模拟量3、熟悉51系列单片机的延时程序二、实验说明PWM是单片机上常用的模拟量输出方法,通过外接的转换电路,可以将脉冲的占空比变成电压。程序中通过调整占空比来调节输出模拟电压。占空比是制脉冲中高电平与低电平的宽度比。三、实验内容及步骤P1.0输出PWM信号接转换电路,转换电压值送数字电压表显示。1、选用89C51最小应用系统模块,用导线将P1.0接到PWM转换电压输入端,电压输出接电压表“+”端,电压表“-”端接地。2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3、打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加“PWM.ASM”源程序,进行编译,直到编译无误。4、全速运行程序,观察电压表显示值,并做记录,程序默认是占空比5:5的PWM。修改源程序LOOP程序段两次给累加器A的赋值,改为①“MOVA,#1”②“MOVA,#95、也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。(ISP烧录器的使用查看附录二)四、流程图及源程序1.源程序清单:;输出50%(5:5)占空比PWM;输出10%(1:9)占空比PWM;输出90%(9:1)占空比PWMORG20HOUTPUTBITP1.0LOOP:CLROUTPUTMOVA,#5CALLDELAYSERBOUTPUTMOVA,#5CALLDELAYLJMPLOOPDELAY:MOVR0,#0DLOOP:DJNZR0,DLOOPDJNZACC,DLOOPRETEND2.流程图开始开始输出低电平低电平延时输出高电平高电平延时五、思考题1、分析PWM转换电路的原理。2、改变延时子程序R0的值,观察转换电压如何改变。六、实验电路图实验三蜂鸣器驱动实验一、实验目的1、学习输入/输出端口控制方法2、了解音频发声原理二、实验说明本实验是利用89C51端口定时器输出控制端口,驱动扬声器发声,声音的频率高低由延时快慢控制。本实验是利用单片机唱歌的声音控制程序,请用户思考如何修改程序,可以让蜂鸣器发出不同频率,不同长短的声音。三、实验内容及步骤INT1输出音频信号接音频驱动电路,使蜂鸣器的发声。1、使用单片机最小应用系统和蜂鸣器模块。蜂鸣器模块的短路帽J1插到VCC方向,用导线将INT1接到蜂鸣器输入端。2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3、打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加“MUSIC.ASM”源程序,进行编译,直到编译无误。4、全速运行程序,扬声器周期性的发出“八月桂花”开声音。(添加“MUSIC1.ASM”程序为“祝你平安”歌曲)5、也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。(ISP烧录器的使用查看附录二)开始输出音频脉冲低电平延时开始输出音频脉冲低电平延时输出音频脉冲高电平延时五、电路图实验四电子琴模拟实验一、实验目的1、了解单片机系统发声原理2、进一步熟悉定时器编程方法二、实验说明1、利用定时器,可以发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调。2、定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平。由于定时参数不同,就发出了不同频率的脉冲。本实验中当有键按下,会发出连续脉冲,直到按键松开,才停止发音。发完后继续检测键盘,如果键还按下,继续发音。各音阶标称频率值:音阶1234567频率(HZ)261.1293.7329.6349.2392.0440.0493.9三、实验内容及步骤利用实验仪上提供的键盘,使数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音调。用P3.2口发出音频脉冲,驱动喇叭。1、单片机最小应用系统的P1口接查询式键盘,单片机INT0口接扬声器的SP+,SP-接GND,扬声器的J19打在23处,P1口接查询式键盘的JD3口2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3、打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加“电子琴.ASM”源程序,进行编译,直到编译无误。4、全速运行程序,按查询式键盘的1~7键,扬声器发出高低不同的声音。5、也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。(ISP烧录器的使用查看附录二)四、流程图及源程序1.流程图主程序框图主程序框图是否否是是否开始读入键值用键值查表得到音频相关数据启动定时开始发声1<键值<7按键已松开检测键输入按音频数据设置定时器关闭定时停止发声定时中断定时中断停止计时输出音频脉冲电平(高或低)音频脉冲电平反转保护现场恢复现场中断返回定时中断程序框图定时中断程序框图2.源程序:PulseBIT10h;脉冲ToneHighequ30h;高音调ToneLowequ31h;低音调Toneequ32h;音调SpeakerBITP3.2ljmpStartorg000bhTimer0Int:;定时中断pushPSWclrTR0movTH0,ToneHighmovTL0,ToneLowsetbTR0movC,PulsemovSpeaker,CCPLPulsepopPSWretiToneTable:dwDWTestKey:MOVP1,#0FFHMOVA,P1;读入键状态retKeyTable:DB0FEH,0FDH,0FBH,0F7H;键值表DB0EFH,0DFH,0BFH,07FHGetKey:MOVR6,#10ACALLDELAYMOVA,P1CJNEA,#0FFH,K01;确有键按下LJMPMLOOPK01:MOVR3,#8;8个键MOVR2,#0;键码MOVB,A;暂存键值MOVDPTR,#K0TABK02:MOVA,R2MOVCA,@A+DPTR;从键值表中取键值CJNEA,B,K04;键值比较MOVA,R2;得键码RETK04:INCR2;不相等,到继续访问键值表MOVA,#0FFH;键值不在键值中,即多键同时按下LJMPMLOOPDelay:;延时子程序movr7,#0DelayLoop:djnzr7,DelayLoopdjnzr6,DelayretStart:movsp,#70hmovTMOD,#01;TimermovIE,#82h;EA=1,IT0=1movTone,#0MLoop:callTestKeyjzMLoopcallGetKeymovb,ajzMLoop;=0,<1anla,#8jnzMLoop;>7decbmova,brla;a=a*2movb,amovdptr,#ToneTablemovca,@a+dptrmovToneHigh,amovTH0,amova,bincamovca,@a+dptrmovToneLow,amovTL0,asetbTR0movP1,#OFFHWait:mova,P1CJNEA,#OFFH,WAITMOVR6,#10ACALLDELAYclrTR0ljmpMLoopend五、思考题1、请思考实验是怎样在硬件与软件上实现发声的?2、本程序中断子程序的调用是怎样进行的?六、电路图实验七74HC138译码器实验一、实验目的掌握74138电路的基本知识及由软件编译的译码器控制方式二、实验步骤由软件控制138译码器的工作方式,可以改变A,B,C的端口而改变其译码输出JD6口接8位发光二极管JD10,显示译码输出值。1、最小系统的P1口接74LS138上的JD5口,而JD6口接到八位逻辑显示JD10,A,B,C接八位逻辑电平输出的K2,K1,K0。(K2为低位,K0为高位,如要选择Y1,则K2、K1、K0对应的值为001)2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3、打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加“74138.ASM”源程序,进行编译,直到编译无误4、编译无误后,全速运行程序。改变K0,K1,K2的状态观察发光二极管的显示,是否与控制端口的对应。5、也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中。(ISP烧录器的使用查看附录二)三、程序ORG0000HLJMPMAINORG1000HMAIN:MOVSP,#60hMOVR4,#0DJNZR4,$;设置138译码器的使能CLRP1.5CLRP1.4SETBP1.3;138译码器数据输入CLRP1.0;对应138的A可以改变相应状态的值而改变138译码器的输出CLRP1.1;对应138的BSETBP1.2;对应138的CSJMP$END实验八看门狗实验一、实验目的1、掌握“看门狗”(MAX813L)复位控制的硬件接口技术2、掌握“看门狗”(MAX813L)复位控制驱动程序的设计方法二、实验说明为了控制系统不受外界干扰而出现死机现象,可采用MAX813L复位监控芯片,该芯片具备复位及监视跟踪两大功能。主要功能:·精密电源电压、监控4.65V·200ms复位脉冲宽度·V1=1V时保证复位RESET有效。·TTL/CMOS兼容的防抖动人工复位输入·独立的监视跟踪定时器1.6S溢出时间。·电源故障或欠电压报警的电压监控·加电,掉电有电压降低时输出复位信号。·低电平有效的人工复位输入。各引脚的功能和意义如图:(1)MR:人工复位输入、当输入降至0.8V时产生复位脉冲,低电平有效的输入可用开关短路到地或TTL/CMOS逻辑驱动,不用时浮空。(2)Vcc:+5V输入。(3)GND:地。(4)PFI:电源故障比较器输入,高PFI低于1.25V时PFO输出低电平吸收电流;否则PFO输出保持高电平,如果不用将PFI接地或Vcc。(5)PFO:电源故障比较器输出,高PFI低于1.25V时,输出低电平且吸收电流;否则PFO输出保持高电平。(6)WDI:监视跟踪定时器输入,WDI保持高或低电平时间长达1.6S,WDI输出低电平,WDI浮空或接高阻三态门将禁止监控跟踪定时器功能,只要发生复位,内部监视跟踪定时的清零。(7)RESET:复位输出(低电平有效)。(8)WDO:监视跟踪定时器输出,当内部监视跟踪定时器完成1.6S计数后,本脚输出低电平,直到下一次监视跟踪定时器清零,才再变为高电平,在低电源或Vcc低于复位门限电压时,WDO就保持低电平,只要Vcc上升到复位门跟电压以上后WDO就变为高电平而没有滞后。三、实验内容及步骤利用MAX813L实现单片机上电自动复位,手动复位,“看门狗”自动检测。对于上电复位和手动复位在电源打开,或者按实验装置的复位按钮就可以实现。1、单片机最小应用系统的P1.0接看门狗的WDI,看门狗的RESET接八位逻辑电平显示的L0,PF0、WD0悬空。可观察到LED延时1.6s闪烁。2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3、打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加“看门狗.ASM”源程序,进行编译,直到编译无误。4、编译无误后,运行程序。改变延时程序然后观察LED的变化,要求在1.6s以内,P1.0的信号要变化一次,否则单片机会自动复位。5、也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。(ISP烧录器的使用查看附录二)四、源程序ORG0000HSTART:CALLWDOGCALLDELAYLJMPSTARTWDOG:SETBP1.0;复位看门狗NOPNOPNOPNOPCLRP1.0RETDELAY:MOVR4,#02H;此处改延时程序,看灯的变化情况。AA:MOVR5,#0FFHAA1:MOVR6,#0FFHAA2:NOPDJNZR6,AA2DJNZR5,AA1DJNZR4,AARETEND注意:DELAY子程序可以自己定义,观察DELAY延时时间小于或者大于1.6秒单片机的复位的变化。五、思考题试在任何具体的应用程序中插入”看门狗”的应用。实验九查询式键盘实验一、实验目的掌握查询式键盘的接口和编程方法。二、实验内容本实验提供了8个按键的小键盘,如果有键按下,则相应输出为低电平,否则输出为高电平。MCU判断有键按下后,要有一定的延时,防止由于键盘抖动而引起误操作。编写一个程序,能读出键盘操作的编号,并在数码显示器上显示。三、实验电路本实验所需电路请参见系统原理图的第一部分和独立式键盘电路。四、实验程序参考框图(a)主程序框图(b)键盘扫描子程序框图五、实验步骤1、把7279阵列式键盘的J9四只短路帽打在上方,J10打在VCC处,用8P排线将JD7和八位动态数码显示的JD11相连,JD8和JD12相连,查询式键盘的JD3和最小系统的P1口相连。2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3、打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加“查询式键盘.ASM”源程序,进行编译,直到编译无误。4、全速运行,键盘上按下某个键,观察数显是否与该键号一致,键号从左至右为0~7。5、也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。(ISP烧录器的使用查看附录二)六、思考题1、程序如何确保每按一次键,只处理一次。七、原理图实验十一8155I/O扩展实验一、实验目的1、了解8155芯片结构及接口方式2、掌握8155输入、输出的编程方法二、实验说明1、本实验利用8155可编程并行口芯片,实现数据的输入、输出。实验中8155的PA口、PB口作为输出口。与8255比,8155具有更强的功能,因为它除能提供并行接口外还包括有256字节RAM存储器和14位定时器/计数器。8155具有三个可编程I/O口,其中PA、PB为八位口,PC口为6位口。PA口、PB口为通用的输入输出口,主要用于数据的I/O传送,他们都是数据口,因此只有输入输出两种工作方式。2、了解实验用到的芯片引脚及功能:8155是一种可编程多功能接口芯片,功能丰富,使用方8155的引脚图便,特别适合于扩展少量RAM8155的引脚图分引脚功能如下:(1)AD0~AD7——地址/数据总线,双向三态。1)8155有256字节静态RAM,每一字节均有相应地址,输入输出数据均通过AD0~AD7口传送。2)8155内部有6个寄存器:A口,B口,C口,命令状态寄存器,定时/计数器低8位,定时/计数器高6位加2位输出信号形式,6个寄存器有各自相应的地址。地址及写入或读出的数据均通过AD0~AD7传送。3)AD0~AD7传送数据的方向由RD,WR信号控制。(2)CE——片选信号,输入,低电平有效。(3)WR——写信号,输入,低电平有效。(4)RD——读信号,输入,低电平有效。(5)PA0~PA7——A口8位通用I/O线。(6)PB0~PB7——B口8位通用I/O线。(7)PC0~PC5——C口6位I/O线既可作通用I/O口,又可作A口和B口工作于选通方式下的控制信号。(8)IO/M——I/O与RAM选择信号。8155内部I/O口与RAM是分开编址的,因此要使用控制信号进行区分。IO/M=0,对RAM进行读写;IO/M=1,对I/O进行和计数器进行读写。3、本实验8155的端口地址由单片机的P0口和P2.7以及P2.0决定。控制口的地址为7F00H;PA口的地址为7F01H;PB口的地址为7F02H。三、实验内容及步骤本实验分两种情况来进行:(一)PA口作为输出口。(二)PA口作为输出口,PB口作为输入口。(一)PA口作为输出口,接八位逻辑电平显示,程序功能使发光二极管单只从右到左轮流循环点亮。1、单片机最小应用系统的P0口接8155的D0~D7口,8155的PA0~PA7接八位逻辑电平显示,单片机最小应用系统的P2.0、P2.7、RD、WR、ALE分别接8155的IO/M、CE、RD、WR、ALE,RESET接上最小系统的复位电路的RESET。2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3、打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加8155_A.ASM源程序,进行编译,直到编译无误。4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。5、也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。(ISP烧录器的使用查看附录二)(二)PA口作为输出口,PB口作为输入口,PA口读入键信号送八位逻辑电平显示模块显示。1、单片机最小应用系统的P0口接8155的D0~D7口,8155的PA0~PA7接八位逻辑电平显示,PB0~PB7口接查询式键盘模块,单片机最小应用系统的P2.0、P2.7、RD、WR、ALE分别接8155的IO/M、CE、RD、WR、ALE,RESET接上复位电路的RESET。2、打开8155_B.ASM源程序,编译无误后,全速运行程序。按查询式键盘各键,观察发光二极管的亮灭情况,发光二极管与按键相对应,按下为点亮,松开为熄灭。5、也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。(ISP烧录器的使用查看附录二)四、流程图及源程序置8155工作方式读8155PB口置8155工作方式读8155PB口写8155PA口开始延时置8155工作方式置8155PA口数据左移开始延时源程序如下:(一)PA口输出:org0hportaequ7F01h;A口Portbequ7F02h;B口caddrequ7F00h;控制字地址mova,#03h;方式0,PA、PB输出movdptr,#caddrmovx@dptr,aLoop:mova,#0FEhmovr2,#8Output:movdptr,#portamovx@dptr,acallDelayrladjnzr2,OutputljmpLoopDelay:movr6,#0movr7,#0DelayLoop:djnzr6,DelayLoopdjnzr7,DelayLoopretend(二)PA口输出,PB口输入ORG0modeequ01h;方式0,PA输出,PB输入PortAequ7F01h;A口PortBequ7F02h;B口CAddrequ7F00h;控制字地址SJMPSTARTorg30hmova,#modemovdptr,#caddrmovx@dptr,aSTART:movdptr,#PortBmovxa,@dptr;读入B口movdptr,#PortAmovx@dptr,a;输出到A口calldelaySjmpSTARTend五、思考题试用8155PA口作为输出口,PB作为输入口,PC作为输入口完成8155的输入、输出实验(其中PA口LED数码显示,PB接拨断开关,PC接查询式键盘实验模块)。六、电路图实验十五继电器控制实验一、实验目的1、学习I/O端口的使用方法2、掌握继电器的控制的基本方法3、了解用弱电控制强电的方法二、实验说明现代自动控制设备中,都存在一个电子电路的互相连接问题,一方面要使电子电路的控制信号能控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路和电气电路提供良好的电气隔离,以保护电子电路和人身的安全,继电器便能完成这一任务。继电器电路中一般都要在继电器的线圈两头加一个二极管以吸收继电器线圈断电时产生的反电势。本电路的控制端为高电平时,继电器常开触点吸合,LED灯被点亮当控制端口为低电平时,继电器不工作。三、实验内容及步骤用P1.0作为控制输出口,接继电器电路,使继电器重复吸合与断开。1、使用单片机最小应用系统模块,用导线连接P1.0端口到继电器CONTROL,K-OPEN接八位逻辑显示的任意一个口,K-MID接GND。2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。4、打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加“继电器控制.ASM”源程序,进行编译,直到编译无误。5、全速运行程序程序,观察二极管亮灭情况和听继电器开合的声音,继电器重复延时吸合与延时断开。5、也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。(ISP烧录器的使用查看附录二)四、流程图及源程序继电器吸合继电器吸合延时继电器断开开始延时源程序清单:OutputBITP1.0;P1.0输出ORG0000HLJMPSTARTORG0030HSTART:clrOutput;断开callDelaysetbOutput;吸合callDelayljmpSTARTDelay:movr6,#0movr7,#0DLoop:djnzr7,DLoopdjnzr6,DLoopretend五、思考题试用单片机的其他输入输出口控制继电器。六、电路图实验十六I2C总线实验一、实验目的1、了解I2C2、掌握用I2C总线方式读写串行EEPROM24C023、熟悉24C02的芯片的功能二、实验说明1、串行EEPROM(24C02)接口方法在新一代单片机中,无论总线型还是非总线型单片机,为了简化系统结构,提高系统的可靠性,都推出了芯片间的串行数据传输技术,设置了芯片间的串行传输接口或串行总线。串行总线扩展接线灵活,极易形成用户的模块化结构,同时将大大简化其系统结构。串行器件不仅占用很少的资源和I/O线,而且体积大大缩小,同时还具有工作电压宽,抗干扰能力强,功耗低,资料不宜丢失和支持在线编程等特点。目前,各式各样的串行接口器件层出不穷,如:串行EEPROM,串行ADC/DAC,串行时钟芯片,串行数字电位器,串行微处理器监控芯片,串行温度传感器等等。串行EEPROM是在各种串行器件应用中使用较频繁的器件,和并行EEPROM相比,串行EEPROM的资料传送的速度较低,但是其体积较小,容量小,所含的引脚也较少。所以,它特别适合于需要存放非挥发资料,要求速度不高,引脚少的单片机的应用。2、串行EEPROM及其工作原理串行EEPROM中,较为典型的有ATMEL公司的AT24CXX系列以及该公司生产的AT93CXX系列,较为著名的半导体厂家,包括Microchip,国家半导体厂家等,都有AT93CXX系列EEPROM产品。AT24CXX系列的串行电可改写及可编程只读存储器EEPROM有10种型号,其中典型的型号有AT24C01A/02/04/08/16等5种,它们的存储容量分别是1024/2048/4096/8192/16384位,也就是128/256/512/1024/2048字节。这个系列一般用于低电压,低功耗的工业和商业用途,并且可以组成优化的系统。信息存取采用2线串行接口。这里我们就24C02的结构特点,其它系列比较类似。3、结构原理及引脚AT24C02有地址线A0~A2,串行资料引脚SDA,串行时钟输入引脚SCL,写保护引脚WP等引脚。很明显,其引脚较少,对组成的应用系统可以减少布线,提高可靠性。各引脚的功能和意义如下:①VCC引脚,电源+5V。②GND引脚,地线。③SCL引脚,串行时钟输入端。在时钟的正跳沿即上升沿时把资料写入EEPROM;在时钟的负跳沿即下降沿时把资料从EEPROM中读出来。④SDA引脚,串行资料I/O端,用于输入和输出串行资料。这个引脚是漏极开路的埠,故可以组成“线或”结构。⑤A0,A1,A2引脚,是芯片地址引脚。在型号不同时意义有些不同,但都要接固定电平。⑥WP引脚,写保护端。这个端提供了硬件数据保护。当把WP接地时,允许芯片执行一般读写操作;当把WP接VCC时,则对芯片实施写保护。4、内存的组织及运行内存的组织:对于不同的型号,内存的组织不一样,其关键原因在于内存容量存在差异。对于AT24CXX系列的EEPROM,其典型型号的内存组织如下。AT24C01A:内部含有128个字节,故需要7位地址对其内部字节进行寻址AT24C02:内部含有256个字节,故需要8位地址对其内部字节进行读写。5、运行方式起始状态:当SCL为高电平时,SDA由高电平变到低电平则处于起始状态。起始状态应处于任何其它命令之前。停止状态:当SCL处于高电平时,SDA从低电平变到高电平则处于停止状态。在执行完读序列信号之后,停止命令将把EEPROM置于低功耗的备用方式(StandbyMode).应答信号:应答信号是由接受资料的器件发出的。当EEPROM接受完一个写入资料之后,会在SDA上发一个”0”应答信号。反之,当单片机接受完来自EEPROM的资料后,单片机也应向SDA发ACK信号。ACK信号在第9个时钟周期时出现。备用方式(StandbyMode):AT24C01A/02/04/08/16都具有备用方式,以保证在没有读写操作时芯片处于低功耗状态。在下面两种情况中,EEPROM都会进入备用方式:第一,芯片通电的时候;第二,在接到停止位和完成了任何内部操作之后。AT24C01等5种典型的EEPROM在进入起始状态之后,需要一个8位的“器件地址字”去启动内存进行读或写操作。在写操作中,它们有“字节写”,“页面写”两种不同的写入方法。在读操作中,有“现行地址读”,随机读和“顺序读”种各具特点的读出方法。下面分别介绍器件寻址,写操作和读操作。①器件寻址:所谓器件寻址(DeviceAddressing)就是用一个8位的器件地址字(DeviceAddressWord)去选择内存芯片。在逻辑电路中的AT24CXX系列的5种芯片种,即AT24C01A/02/04/08/16中,如果和器件地址字相比较结果一致,则读芯片被选中。下面对器件寻址的过程和意义加以说明。②芯片的操作地址D7D6D5D4D3D2D1D01010A2A1A0R/W用于内存EEPROM芯片寻址的器件地址字如图所示。它有4种方式,分别对应于1K/2K,4K,8K和16K位的EEPROM芯片。从图中看出:器件地址字含有3个部分。第一部分是高4位,它们称为EEPROMAT24C01A/02/04/08/16的标识第二部分称为硬布线地址,它们是标识后的3位。第三部分是最低位,它是读/写操作选择位。第一部分:器件标识,器件地址字的最高4位。这4位的内容恒为”1010”,用于标识EEPROM器件AT24C01A/02/04/08/16。第二部分:硬布线地址,是与器件地址字的最高4位相接的低3位。硬布线地址的3位有2种符号:Ai(i=0~2),Pj(j=0~2)其中Ai表示外部硬布线地址位。对于AT24C10A/02这两种1K/2K位的EEPROM芯片,硬布线地址为“A2,A1,A0”。在应用时,“A2,A1,A0”的内容必须和EEPROM芯片的A2,A1,A0的硬布线情况,即逻辑连接情况相比较,如果一样,则芯片被选中;否则,不选中。AT24C01/02:真正地址=字地址。第三部分:读/写选择位,器件地址字的最低位,并用R/W表示。当R/W=1时,执行读操作;当R/W=0时,执行写操作。当EEPROM芯片被选中时,则输出“0”;如果EEPROM芯片没有被选中,则它回到备用方式。被选中的芯片。其以后的输入,输出情况视写入和读出的内容而定。③写操作:AT24C01A/02/04/08/16这5种EEPROM芯片的写操作有2种:一种是字节写,另一种是页面写。字节写:这种写方式只执行1个字节的写入。字节写的过程如图所示,其写入过程分外部写和内部写两部分,分别说明如下。在起始状态中,首先写入8位的器件地址。则EEPROM芯片会产生一个“0”信号ACK输出作为应答;接着,写入8位的字地址,在接受了字地址之后,EEPROM芯片又产生一个“0”应答信号ACK;随后,写入8位资料,在接受了资料之后,芯片又产生一个“0”信号ACK作为应答。到此为止,完成了一个字节写过程,故应在SDA端产生一个停止状态,这是外部写过程。在这个过程中,控制EEPROM的单片机应在EEPROM的SCL,SDA端送入恰当的信号。当然在一个字节写过程结束时,单片机应以停止状态结束写过程。在这时,EEPROM进入内部定时的写周期,以便把接受的数据写入到存储单元中。在EEPROM的内部写周期中,其所有输入被屏蔽,同时不响应外部信号直到写周期完成。这是内部写过程。内部写过程大约需要10ms时间。内部写过程处于停止状态与下一次起始状态之间。页面写:这种写入方式执行含若干字节的1个页面的写入。对于AT24C01A/02,它们的1个页面含8个字节;页面写的开头部分和字节写一样。在起始状态,首先写入8位器件地址;待EEPROM答当了“0”信号ACK之后,写入8位字地址;又待芯片应答了“0”信号ACK之后,写入8位资料。随后页面写的过程则和字节写有区别。当芯片接受了第一个8位资料并产生应答信号ACK之后,单片机可以连续向EEPROM芯片发送共为1页面的资料。对于AT24C01A/02,可发送共1个页面的8个字节(连第一个8位资料在内)。对于AT24C04/08/16,则共可发送1个页面共16个字节(连第一个8位资料在内)。当然,每发一个字节都要等待芯片的应答信号ACK之所以可以连续向芯片发送1个页面资料,是因为字地址的低3~4位在EEPROM芯片内部可实现加1,字地址的高位不变,用于保持页面的行地址。页面写和字节写两者一样可,都分为外部写和内部写过程。应答查询:应答查询是单片机对EEPROM各种状态的一种检测。单片机查询到EEPROM有应答“0”信号ACK输出,则说明其内部定时写的周期结束,可以写入新的内容。单片机是通过发送起始状态及器件地址进行应答查询的。由于器件地址可以选择芯片,则检测芯片送出到SDA的状态就可以知道其是否有应答了。④读操作:读操作的启动是和写操作类同的。它一样需要图所示的器件地址字。和写操纵不同的就是信号为时执行读操作。读操纵有3种方式,即现行地址读,随机读和顺序读。下面分别说明它们的工作过程。现行地址读:在上次读或写操纵完成之后。芯片内部字地址计数器会加1,产生现行地址。只要没有再执行读或写操作,这个现行地址就会在EEPROM芯片保持接电的期间一直保存。一旦器件地址选中EEPROM芯片,并且有R/W=1,则在芯片的应答信号ACK之后把读出的现行地址的资料送出。现行地址的资料输出时,就由单片机一位一位接受,接收后单片机不用向EEPROM发应答信号ACK“0”电平,但应保证发出停止状态的信号以结束现行地址读操作。现行地址读会产生地址循环覆盖现象,但和写操纵的循环覆盖不同。在写操纵中,地址的循环覆盖是现行页面的最后一个字节写入之后,再行写入则覆盖同一页面的第一个字节。而在现行地址读操纵中,地址的循环覆盖是在最后页面的最后一个字节读出之后,再行读出才覆盖第一个页面的第一个字节。随机读:随机读和现行地址读的最大区别在于随机读会执行一个伪写入过程以把字地址装入EEPROM芯片中,然后执行读出,显然,随机读有2个步骤。第一,执行伪写入——把字地址送入EEPROM,以选择需读的字节。第二,执行读出——根据字地址读出对应内容。当EEPROM芯片接收了器件地址及字地址时,在芯片产生应答信号ACK之后,单片机必须再产生一个起始状态,执行现行地址读,这时单片机再发出器件地址并且令R/W=1,则EEPROM应答器件地址并行输出被读数据。在资料读出时由单片机执行一位一位接收,接收完毕后,单片机不用发“0”应答信号ACK,但必须产生停止状态以结束随机读过程。应该注意:在随机读的第二个步骤是执行现行地址读的,由于第一个步骤时芯片接收了字地址,故现行地址就是所送入的字地址。顺序读:顺序读可以用现行地址读或随机读进行启动。它和现行地址读。随机读的最大区别在于:顺序读在读出一批资料之后才由单片机产生停止状态结束读操作;而现行地址读和随机读在读出一个资料之后就由单片机产生停止状态结束读操作。执行顺序读时,首先执行现行读或随机读的有关过程,在读出第一个资料之后,单片机输出“0”应答信号ACK。在芯片接收应答信号ACK后,就会对字地址进行计数加1,随后串行输出对应的字节。当字地址计数达到内存地址的极限时,则字地址会产生覆盖,顺序读将继续进行。只有在单片机不再产生“0”应答信号ACK,而在接收资料之后马上产生停止状态,才会结束顺序读操作。在对AT24CXX系列执行读写的2线串行总线工作中,其有关信号是由单片机的程序和EEPROM产生的。有两点特别要记住:串行时钟必须由单片机程序产生,而应答信号ACK则是由接收资料的器件产生,也就是写地址或资料时由EEPROM产生ACK,而读数据时由单片机产生。6、AT24CXX系列应用注意事项AT24CXX系列型号:AT24CXX系列EEPROM有13种型号。它们的容量不同,执行页历写时的页历定义不同,进行读写时的地址位数也不同,器件地址不同。有关主要指针在应用中要加以区别和注意。三、实验内容与步骤对24C02进行读,写、效验程控,充分了解I2C1、单片机最小应用系统的P1.0、P1.1接I2C总线接口的SDA、SCL,J5打在VCC处2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3、打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加“24C02读写程序.ASM”源程序,进行编译,直到编译无误。4、编译无误后,按程序的提示在主程序中设置断点,在软件的“VIEW”菜单中打开“MEMORYWINDOW”数据窗口(DATA),在窗口中输入D:30H难后回车,按程序提示运行程序,当运行到断点处时观察30H的数据变化。四、源程序(光盘中附带)五、电路图实验十七实时时钟实验一、实验目的1.学习模拟I2C2.了解实时芯片PCF8563的读写方法。3.掌握单片机读写实时时钟芯片PCF8563的模块程序设计方法。二、实验说明1.实时时钟(RTC)器件介绍实时时钟(RTC)器件是一种能提供日历/时钟、数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号源和参数设置存储电路。RTC具有计时准确、耗电低和体积小等特点,特别是在各种嵌入式系统中用于记录事件发生的时间和相关信息,如通信工程、电力自动化、工业控制等自动化程度高的领域的无人值守环境中。随着集成电路技术的不断发展,RTC器件的新品也不断推出,这些新品不仅具有准确的RTC,还有大容量的存储器、温度传感器是A/D数据采集通道等,已成为集RTC、数据采集和存储于一体的综合功能器件,特别适用于以微控制器为核心的嵌入式系统。RTC器件与微控制器之间的接口大都采用连线简单的串行接口,诸如I2C2.实时时钟芯片PCF8563PCF8563是低功耗CMOS时钟/日历芯片(引脚如图4.3.1所示),它提供一个可编程时钟输出,一个中断输出和一个掉电检测器,所有的地址和数据通过I2C引脚说明:1:OSCI振荡器输入2:OSCO振荡器输出3:/INT中断输出(开漏;低电平有效)4:VSS地5:SDA串行数据I/O图4.3.1PCF8563引脚6:SCL串行时钟输入7:CLKOUT时钟输出(开漏)8:VDD正电源PCF8563有16个8位寄存器:一个可自动增量的地址寄存器,一个内置32.768KHz的振荡器(带有一个内部集成的电容),一个分频器(用于给实时时钟RTC提供源时钟),一个可编程时钟输出,一个定时器,一个报警器,一个掉电检测器和一个I2C所有16个寄存器设计成可寻址的8位并行寄存器,但不是所有位都有用。前两个寄存器(内存地址00H,01H)用于控制寄存器和状态寄存器,内存地址02H~08H用于时钟计数器(秒~年计数器),地址09H~0CH用于报警寄存器(定义报警条件),地址0DH控制CLKOUT管脚的输出频率,地址0EH和0FH分别用于定时器控制寄存器和定时器寄存器。秒、分钟、小时、日、月、年、分钟报警、小时报警、日报警寄存器,编码格式为BCD,星期和星期报警寄存器不以BCD格式编码。表17-1PCF8563寄存器结构地址寄存器名称D7D6D5D4D3D2D1D000H控制/状态寄存器1TEST0STOP0TTESTC00001H控制/状态寄存器2000TI/TPAFTFAIETIE02H秒寄存器VL00~59BCD码格式数03H分寄存器-00~59BCD码格式数04H时寄存器-00~23BCD码格式数05H日寄存器-00~31BCD码格式数06H星期寄存器-00~06BCD码格式数07H月/世纪寄存器C00~12BCD码格式数08H年寄存器00~99BCD码格式数09H分钟报警寄存器AE00~59BCD码格式数0AH时钟报警寄存器AE00~23BCD码格式数0BH日报警寄存器AE00~31BCD码格式数0CH星期报警寄存器AE00~06BCD码格式数0DHCLKOUT频率寄存器FE-----FD1FD00EH定时控制寄存器TETD1TD00FH定时器倒计时数值寄存器定时器倒数计数数值3.PCF8563与MCU的连接硬件电路图17-1PCF8563的硬件电路图系统中用到的PCF8563与MCU采用的连接方式是模拟I2C总线进行数据传输的,硬件电路如图17-14.PCF8563读写子程序模块(1)写N个字节数据子程序模块(C51程序)bitNsend(ucharsla,ucharsuba,uchar*s,ucharno){uchari;Start_I2c();SendByte(sla);if(ack==0)return(0);for(i=0;i<no;i++){SendByte(*s);if(ack==0)return(0);s++;}Stop_I2c();return(1);}(2)读N个字节数据子程序模块(C51程序)bitRead(ucharsla,ucharsuba,uchar*s,ucharno){uchari;Start_I2c();SendByte(sla);if(ack==0)return(0);Start_I2c();SendByte(sla+1);if(ack==0)return(0);for(i=0;i<no-1;i++){*s=RcvByte();Ack_I2c(0);s++;}Ack_I2c(0);Stop_I2c();return(1);}(3)初始化PCF8563程序模块及其写数据程序(A51)FIRSTINT: MOV MTD,#00H ;送初始化命令字1 MOV MTD+1,#21H ;送初始化命令字2 MOV SLA,#PCF8563 ;送器件地址 MOV SUBA,#00H ;送子地址为00H MOV NUMBYTE,#02 ;写2个字节数据 LCALLIWRNBYTE ;调用写程序 RET(4)读取PCF8563数据程序模块(A51)RDSFM: MOV SLA,#PCF8563 ;送器件地址 MOV SUBA,#02H ;送子地址 MOV NUMBYTE,#3 ;读取3个字节 LCALLIRDNBYTE ;调用读字节子程序 RET三、实验内容及步骤1、7279阵列式键盘中的J9的短路帽打在上方,J10打在右边VCC处,JD7和JD8分别接数码显示的JD11和JD12。2、实时时钟的SDA接最小系统的T1,SCL接INT1。3、把89S52或89S51插到最小系统的40P插座中(ISP烧录器的使用查看附录二),把RCT.HEX文件烧录到S52/S51芯片中。运行程序,看八位数码管显示时钟,正确运行时在数码管上首先显示“00-00-00”,时间将不停的走动,把其中的一根导线断开一段时间,再接上可以看到时钟已经走了一段时间四、源程序(光盘中附带)五、实验思考题1.请思考如何实验时间在PCF8563长时间保存?2.根据实验程序请绘制流程图。实验十八温度传感器温度控制实验一、实验目的了解温度传感器电路的工作原理了解温度控制的基本原理掌握一线总线接口的使用二、实验说明这是一个综合硬件实验,分两大功能:温度的测量和温度的控制。1、DALLAS最新单线数字温度传感器DS18B20简介Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。DS18B20测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。DS18B20可以程序设定9~12位的分辨率,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如下:DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。LSByte:Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0232221202-12-22-32-4MSByte:Bit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8SSSSS262524这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。温度数据输出(二进制)数据输出(十六进制)+125000001111101000007D0h+8500000101010100000550h+2500000001100100010191h+10000000001010001000A2h+0.00000000000010000008h0℃00000000000000000000h-0.1111111111111000FFF8h-1111111101011110FF5Eh-1111111001101111FE6Fh-51111110010010000FC90hDS18B20温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。该字节各位的意义如下:TMR1R011111低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)分辨率设置表:R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。2、本实验在读取温度的基础上,完成类似空调恒温控制的实验。用加热电阻代替加热电机,制冷采用自然冷却。温度值通过LED显示电路以十进制形式显示出来,单片机发出指令信号,继电器吸合,红色LED点亮,加热电阻开始加热。三、实验内容及步骤1、把7279阵列式键盘的J9四只短路帽打在上方,J10打在VCC处,用8P排线将JD7和八位动态数码显示的JD11相连,JD8和JD12相连,DS18B20的CONTROL接P1.4,OUT接P1.02、安装好仿真器,用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头。3、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。4、打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加“DS18B20.ASM”源程序,进行编译,直到编译无误。5、全速运行程序,程序正常运行后,数码LED数显为“XX”为十进制温度测量值。按下自锁开关“控制”LED随之灯点亮加热源开始加热,温度也随着变化,当加热到设定的控制温度时如50度时,停止加热。5、也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。(ISP烧录器的使用查看附录二)四、源程序(光盘附带)五、电路图实验十九2×16字符型液晶显示实验一、实验目的1、了解字符型液晶显示器的工作原理。2、了解字符型液晶显示器控制方式二、实验说明字符型液晶显示器,是专门用于显示、数字、图形符号及少量自定义符号的显示器。由于LCD液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,自问世以来就得到了广泛应用。字符型液晶显示器模块在国际上已经规范化,在市场上内核为HD44780的较常见。TC1602A是一种16字×2行的字符型液晶显示模块,其显示面积为64.5×13.8mm2。本实验以TC1602A型LCD为例介绍其使用方法。1、模块特点可与8位或4位微处理器直接;内藏式字符发生器ROM可提供160种工业标准字符,包括全部大小写字母、阿拉伯数字及日文片假名,以及32个特殊字符或符号的显示;内藏RAM可根据用户的需要,由用户自定义字符或符号;+5V单电源供电;低功耗(10mW)2、引脚及其功能TC1602A共有16个引脚,其引脚及功能如表19-1所列。表19-1引脚功能引脚符号输入/输出功能说明1Vss电源地:0V2Vdd电源:5V3V1~V5LCD驱动电压:0~5V4RS输入寄存器选择:“0”为指令寄存器,“1”为数据寄存器5R/W输入“1”为读操作;“0”为写操作6E输入使能信号:E=1时,使能;E=0时,禁能7~10D0~D3输入/输出数据总线的低4位,与4位MCU连接时不用11~14D4~D7输入/输出数据总线的高4位15~16LED+/LED-电源背光3、TC1602A的内部结构TC1602A的内部结构主要由DDRAM、CGROM、IR、DR、BF、AC等大规模集成电路组成。1)DDRAM为数据显示用的RAM(DataDisplayRAM,简称DDRAM),用以存放要LCD显示的数据,只要标准的ASCII码放入DDRAM,内部控制线路就会自动将数据传送到显示器上,并显示出该ASCII码对应的字符。2)CGROM为字符产生器ROM(CharacterGeneratorRAM,简称CGRAM),可供使用者存储特殊造型的造型码,CGRAM最多可存8个造型。3)IR为指令寄存器(InstructionRegister,简称IR),负责存储MCU要写给的LCD的指令码,当RS及R/W引脚信号为0且Enable引脚
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海南科技职业大学《大学体育(Ⅳ)》2023-2024学年第二学期期末试卷
- 怀化学院《草地农业生态系统概论》2023-2024学年第二学期期末试卷
- 绍兴文理学院《大学生的卫生与健康》2023-2024学年第二学期期末试卷
- 西昌学院《新闻与纪实摄影》2023-2024学年第二学期期末试卷
- 吉林大学《纺织物理》2023-2024学年第二学期期末试卷
- 湖北轻工职业技术学院《虚拟现实开发与设计》2023-2024学年第二学期期末试卷
- 天津体育职业学院《医用化学实验》2023-2024学年第二学期期末试卷
- 北京邮电大学世纪学院《蒙台梭利教育活动设计与实施》2023-2024学年第二学期期末试卷
- 天津体育学院《服务营销》2023-2024学年第二学期期末试卷
- Adverb revision(教学设计)-2023-2024学年译林版(三起)英语六年级下册
- 湘教版三年级美术下册教案全册
- 重症监护-ICU的设置、管理与常用监测技术
- 法律顾问服务投标方案(完整技术标)
- 加油站合作协议书
- 新时代劳动教育教程(高校劳动教育课程)全套教学课件
- St完整版本.-Mary's-医院睡眠问卷
- 《化妆品稳定性试验规范》
- 《社区康复》课件-第四章 脑血管疾病患者的社区康复实践
- 生活化教学在小学道德与法治课堂实践 论文
- 2024年江苏农林职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 腰脊神经后支痛课件
评论
0/150
提交评论