版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题目:51系列单片机教学实验板硬件设计51系列单片机教学实验板硬件设计摘要在全国高等院校电子信息类专业中,已普遍开设单片机及其相关课程。单片机课程是大中专院校电子类专业实践性、应用性和工程性很强的专业基础课或专业选修课。从加强学生能力培养的要求来看,这类课程仅在课堂上讲授基本原理是不够的,必须在教学中加强实践环节,让学生有足够的实践机会。其中,单片机实验板就是一个很好的学习单片机的工具。目前,市场上单片机实验板的种类较多。此次设计的实验板的特点是将各种单元电路合理的拼凑在一块大印刷电路板上,构成一个有机的整体。设计中利用Protel99SE软件先设计原理图,然后进行元件封装,PCB出图,最后是制板。它与传统的教学实验板相比有如下的优点:⑴价格低廉;⑵使用简单方便,只要有带RS232串口的PC机就能进行实验;⑶功能全,基本上具备单片机常用的接口,如数模转换、模数转换、存储器、LED数码管显示、键盘人机接口、串行接口、温度传感器接口等等。采用本仿真开发实验板,可使初学者迅速掌握单片机原理及应用,熟悉汇编语言、单片机C语言。关键词:单片机;实验板;接口电路;C语言
51SeriesSingle-chipTeachingExperimentalBoardHardwareDesignAbstract
Nationalinstitutionsofhigherlearningintheprofessionalcategoryofelectronicinformation,hasgenerallybeenthecreationofsingle-chipanditsrelatedprograms.Single-chipcollegeisthecourseprofessionalpracticeofelectronicinstitutions,appliedandengineeringfoundationforastrongprofessionalorprofessionalelectivecourses.Fromtherequirementsofstudentscapacity-buildingperspective,suchcoursesaretaughtonlythebasicprinciplesoftheclassroomisnotenough,wemuststrengthentheteachingpractice,toallowsufficientopportunitytopractice.Amongthem,single-chipexperimentalboardisagoodlearningtoolforthestudents.Atpresent,moretypesofexperimentalplateinthesingle-chipmarket.Thedesignedboardischaracterizedbyavarietyofunitscircuitwillbereasonabletogetheronalargeprintedcircuitboardandthenconstituteanorganicwhole.ThedesignmakeuseofProtel99SEsoftwaretodesignschematicdiagram,andthenpackagingcomponents,PCBmap,andfinallythesystemboard.Itcomparedtothetraditionalteachinghasthefollowingadvantages:⑴Theprizecheap.⑵Useitsimple,thereisaslongasRS232serialportwiththePCmachineswillbeabletocarryoutsuchexperiments.⑶Widefeatures,theboardbasicallyhastheinterfacewithcommonlyusedsingle-chip,full-to-analogconverter,analog-to-digitalconversion,memory,LEDdigitaldisplay,keyboardman-machineinterface,serialinterface,temperaturesensorinterfaceandsoon.Thedevelopmentoftheuseofthesimulationexperimentboard,beginnerscanquicklygrasptheprincipleandapplicationofsingle-chip,andisfamiliarwithassemblylanguage,microcontrollerClanguage.Beginnersusethedevelopmentofthesimulationexperimentboard,canquicklygrasptheprincipleandapplicationofsingle-chip,andarefamiliarwithassemblylanguage,Single-chipClanguage.Keywords:microcomputer;experimentalplate;interfacecircuit;Clanguage目录TOC\o"1-7"\h\z\u摘要 IAbstract II第一章引言 11.1研究背景和意义 1研究现状 2本文主要的研究工作 2第二章实验板硬件电路设计 42.1实验板的MCU选型 42.1.1单片机选型原则 42.1.2AT89S51单片机简介 52.2实验板总体简介 82.2.1单片机实验教学功能 82.2.2硬件总体逻辑结构 92.3单片机最小系统的电路说明 92.4模数转换器ADC0809的接口电路 92.4.1ADC0809芯片及内部结构简介 9信号引脚 92.4.3MCS-51单片机与ADC0809的接口 92.4.4转换数据的传送 9数模转换器DAC0832的接口电路 92.4.1DAC0832简介 92.4.2DAC0832的工作方式 92.4.3电压输出电路的连接 92.4.4DAC0832与单片机的连接 9数据/程序存储器24C02 9芯片简介 92.5.224C02与单片机的连接 92.6并行接口芯片8255A的接口电路 92.6.18255A的基本特性 92.6.28255A的外部特性和内部结构 9外部引脚 92.6.2.28255内部结构 92.6.38255A的编程命令 92.7LCD1602液晶显示 92.7.1LCD1602的引脚图 92.7.21602液晶显示的指令命令 92.7.3LCD1602与单片机的接口电路 9动态LED显示与键盘 9数码管的分类 9显示接口简介 9静态显示概念 92.8.2.2动态显示概念 92.8.3动态显示接口电路 92.9键盘电路 92.9.1键盘简介 92.9.2独立式按键 92.9.2.1独立式按键结构 92.9.2.2独立式按键的软件结构 92.9.3矩阵式键盘的结构及原理 92.9.4键盘的编码 92.9.5键盘的工作方式 92.9.5.1定时扫描方式 92.9.5.2中断扫描方式 92.9.5.3键盘电路 92.10DS18B20温度传感器接口 92.10.1DS18B20温度传感器简介 92.10.2DS18B20的特性。 92.10.3DS18B20的外形和内部结构 92.10.4DS1820与单片机的连接 92.11RS-232串行接口 92.11.1串行通信基本原理 9异步串行通信的字符格式 9串行通信的传送速率 92.11.2RS-232C总线标准 92.11.3单片机串口通讯的硬件电路 92.12实验板蜂鸣器驱动电路 92.14实验板PCB设计 9第三章实验板软件设计及调试 9实验板流水灯程序 9实验板A/D采样程序 9实验板串口程序 9第四章设计总结 9参考文献 9附录A 9附录B 9附录C 9附录D 9附录E 9附录F 9致谢 9第一章引言我设计的这款实验板最大限度地利用了单片机软硬件资源,充分考虑多功能、多用途、高可靠性及可扩展性,具有很高的性价比。有利于调动学生的学习兴趣,在实践中快速提高了学生的设计能力。
传统的单片机实验系统因其购买成本高、系统使用烦琐,已经越来越不适合当前以培养学生实际能力为主要方向的高等教育,本系统可以让学生基本上人手一套,使用方便,功能齐全,真正达到让学生理论与实践的结合,深刻学习单片机的理论知识目的。研究背景和意义完整的单片机实验教学和开发系统应包括微型计算机、编程器(又叫烧录器)、软硬件仿真器、实验电路板等。编程器用于把编译好的程序写入单片机的ROM里面,把写好后的芯片插到实验板上面进行试验。单片机仿真器用来实时仿真调试单片机程序及硬件电路,随时发现问题,修改程序,提高编写程序的效率。硬件实验板,作为单片机实验的外围电路部分,可以进行相关实验电路的单片机编程实验,测试单片机程序能否实现实验电路的功能。目前,单片机的实验教学中存在诸多问题,如:⑴单片机课堂教学往往多以理论教学为主,实验课教学为辅,实验教学也多是进行验证性实验。但单片机是一门实践性很强的学科,只学习理论不做实验练习,很难真正地把单片机方面的知识理解掌握,也很难真正成为单片机应用领域的高级人才。⑵学生实验时也存在着不少问题,单片机实验室由于存在着场地和时间限制等问题,学生除了上课外,平时难得有机会实践。个人配备单片机实验开发系统,因成本较高,很多学生无法承受。同时一般单片机实验箱由于是成品,学生很难参与到其中的细节设计中去,一般单片机实验箱也只是起验证实验的作用,学生动手能力很难得到训练与提高。⑶单片机教材陈旧,实验设备不足、落后,一般学校很少有学生人手一套实验开发系统进行单片机实验及开发。实验板与计算机之间用通信电缆连接,可以互相通信。这样,实验题目可以与时俱进,随时更新,根据学生知识能力水平,实验教学内容可深可浅,更加符合多层次学习单片机的需求。该单片机实验教学仿真系统不仅能胜任于学生的课程实验、毕业设计、课外科技活动(如电子设计竞赛)等各个不同的实验与实践阶段,并且使用该系统有利于实验者进行自主开发实验,有利于培养学生的创新精神和创造能力。研究现状目前单片机已经引起各行业极大关注,展现出广阔的应用前景。很多大型公司都设计开发并生产专业的单片机仿真器,编程器以及单片机实验板,以供大中专院校进行教学培训、实验研究以及个人学习使用。早期的单片机实验教学和开发系统,如北京启东达爱思电子生产的达爱思系列微机实验开发系统,可以做单片机、微机、控制等课程的实验。上海埃威航空电子(原上海航虹高科技)生产的AEDK51系列单片机实验系统,包括AEDK51W(AEDK320W)型仿真机和EXP51实验板,可以做传统的单片机实验,如基本I/O口实验、定时计数器实验、A/D和D/A转换实验、电动机、电子琴、打印机以及并行扩展接口实验等。南京伟福实业开发的伟福单片机仿真实验系统,由板上仿真器、实验仪、伟福仿真软件、开关电源构成。其不仅能做传统的51系列单片机实验,还提供了强大的逻辑分析、波形输出和程序跟踪功能,可以让学生直观地观察到单片机内部及外部电路工作的波形。上述几个公司生产的仿真器大都价格昂贵,凭学生个人的能力是不可能买到的,因而需要设计出功能完全,价格便宜,便于携带的实验板。本文就是论述简单实用实验板的设计与开发。本文主要的研究工作本文的主要工作包括单片机实验教学仿真系统的硬件设计和软件设计两个方面。鉴于单片机串行扩展总线技术的发展,本文的主要研究工作就是设计并实现硬件仿真系统部分的实验板和根据单片机课程实验教学的内容给出典型的实验例程。因此,硬件设计部分需要完成的工作主要有实验板原理图,PCB电路板的绘制设计和制作,这也是软件部分设计、调试和正常运行的基础。其中硬件设计需要做的主要工作如下:⑴单片机最小应用系统⑵单片机基本实验电路部分;⑶扩展多样化接口软件部分主要进行了以下几个方面的工作:⑴使用汇编或C51语言编写单片机控制通用实验电路的实验程序。程序检查无误后可通过仿真功能实现对各部分实验电路的控制。⑵深入理解实验板程序,从原理上理解清楚实验板的工作原理及PC机传送的各项操作指令的执行情况。⑶PC机调试、仿真、实验板程序。在此使用德国KEIL公司的KeilC51集成开发环境uVision3,深入理解该实验板的应用。
第二章实验板硬件电路设计实验板的MCU选型据不完全统计,目前全世界微处理器的品种和数量已超过1000多种,流行的体系结构达30多种。其中,8051体系占一多半。生产8051单片机的半导体厂家有20多家,共350多种衍生品。一个好的单片机实验教学仿真系统必须有与之适合的MCU,文中选用了ATEMEL公司生产的单片机AT89S51。2.1.1单片机选型原则对于MCU的选择,主要基于以下几个原则:⑴应用典型MCS-51单片机是美国INTEL公司于1980年推出的产品,典型产品有8031(内部没有程序存储器,实际使用方面已经被市场淘汰)、8051(芯片采用HMOS,功耗是630mW,是89C51的5倍,实际使用方面已经被市场淘汰)和8751等通用产品,一直到现在,MCS-51内核系列兼容的单片机仍是应用的主流产品(比如目前流行的SST89E564RD、AT89S51等),各高校及专业学校的培训教材仍与MCS-51单机作为代表进行理论基础学习。⑵兼容性强8051是早期的最典型的代表作,由于MCS-51单片机影响极深远,许多公司都推出了兼容系列单片机,就是说MCS-51内核实际上已经成为一个8位单片机的标准。其他公司的51单片机产品都是和MCS-51内核兼容的产品而已。同样的一段程序,在各个单片机厂家的硬件上运行的结果都是一样的。⑶性价比高任何系统中对微控制器的选择都要考虑成本的因素,若忽略成本的因素,使产品的价格过高,在市场上将没有竞争力。为节省成本,本单片机实验板外围电路多、接口多,所以要求MCU功能强大。根据以上原则,我们选用了市场上普遍应用的ATMEL公司的89S51系列单片机,其应用广泛、兼容性强、功能强大、价格低廉。AT89S51单片机简介⑴单片机的特点单片机芯片的集成度很高,它将微型计算机的主要部件都集成在一块芯片上,具有以下特点:①体积小、重量轻、价格便宜、耗电少;
②根据工控环境要求设计,且许多功能部件集成在芯片内部,其信号通道受外界影响小,故可靠性高,抗干扰性能优于采用一般的CPU;③控制功能强,运行速度快。其结构组成与指令系统都着重满足工控要求。有丰富的条件分支转移指令和很强的位处理功能及I/O口逻辑操作功能;④片内存储器的容量不可能很大;引脚也嫌少,I/O引脚常不够用,且兼第二功能以至第三功能,但存储器和I/O接口都易于扩展。⑵单片机引脚及参数简介AT89S51单片机是单片机实验板的核心部分,以下是AT89S51单片机的主要参数及简介。①主要性能参数:·与MCS-51产品指令系统完全兼容·4K字节可重擦写Flash闪速存储器·1000次擦写周期·全静态操作:0Hhz-24Mhz·128×8字节内部RAM·32个可编程I/O口·3个16位定时/计数器·6个中断源图2-1单片机引脚图②引脚功能说明:·Vcc:电源电压·GND:地·P0口:P0是一组8位漏极开路双向I/O口也即地址/数据总线复用口,作为输出口使用时,每位以吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据线复用,在访问期间激活内部上拉电阻。Flash编程和程序校验期间P0口接受低8位地址。·P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1口的输出缓冲级可驱动(吸收或输出电阻)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。·P2口:P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电阻)4个TTL逻辑门电路。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。·P3口:P3口是一组带内部上拉电阻的8位双向I/O口,P1口的输出缓冲级可驱动(吸收或输出电阻)4个TTL逻辑门电路。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表2-1所示:表2-1P3口第二功能说明端口引脚第二功能RXD9(串行输入口)TXD(串行输出口)(外中断0)(外中断1)T0(定时/计数器0)T1(定时/计数器1)(外部存储器写选通)(外部存储器读选通)·RST:复位输入,当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。·ALE/:当访问外部程序存储器或数据存储器时,ALE(地址锁存器允许)输出脉冲用于锁存地址的低8位字节,即使不访问外部存储器,ALE仍以时钟频率的1/6输出固定的正脉冲信号,因此它可以对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲()。·:程序储存允许()输出是外部程序存储器的读选通信号,当AT89S51由外部存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。在次期间,当访问外部数据存储器,这两次有效的信号不出现。·/Vpp:外部访问允许。欲使MCU仅访问外部程序存储器(地0000H-FFFFH),EA端必须保持低电平(接地)。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。·XTAL1:振荡器反相放大器及内部时钟发生器的输入端。·XTAL2:振荡器反相器的输出端。AT89S51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端,这个放大器与作为反馈元件的片外时应晶体或陶瓷谐振器,在本实验板中采用的是内部晶振电路。振荡电路参见下图:图2-2内部晶振电路图2-3外部晶振电路实验板总体简介本文设计的单片机实验教学仿真系统性能稳定,综合功能极强。它集仿真、编程、实验于一体,可以进行系统全面的单片机实验项目的学习和应用开发。单片机实验教学功能该系统提供了丰富的硬件资源和接口,以方便更好的进行单片机实验的教学以及学生更快更好地学习单片机供了汇编语言或C51的源代码,是教师进行单片机教学、学生提高电子技能的好帮手。该系统可以实现以下实验功能:⑴单片机I/O口控制实验⑵按键中断实验⑶定时器实验⑷数码管动态显示实验⑸4×4矩阵键盘识别实验⑹电子时钟实验⑺LCD1602液晶显示控制实验⑻RS-232串行通信实验⑼扩展存储器读写实验⑽8255并口扩展实验⑾A/D0809转换实验⑿D/A0832转换实验⒀DS18B20数字温度采集实验⒁8路发光二极硬件总体逻辑结构图2-4系统主板硬件总体逻辑结构图如上图所示,这是单片机实验板的总体结构图,它大致说明了实验板所包含的主要功能及扩展接口。单片机最小系统的电路说明(1)时钟电路系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89S51单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C6和C7构成并联谐振电路,接在放大器图2-5单片机晶振电路的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的选石英晶体振荡器的值为,电容应尽可能的选择陶瓷,电容值约为25pf。在焊接刷电路板时,石英晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。(2)复位电路复位是由外部的复位电路来实现的。由于51单片机是高电平复位并且高电平的持续时间要大于2个机器周期,图2-6是单片机上电复位与手动复位电路图,其中二极管的作用是:掉电后给电容提供了放电通路,保证再上电是RES引脚为高电平,使CPU可靠复位。正常工作是二极管反偏,而断电后Vcc逐渐下降,当Vcc=0时,Vcc与地等电位,电容通过二极管迅速放电,放电通路为C5正极→电源Vcc端(与地等电位)→二极管正极→二极管负极→C5负极。按下手动复位按钮时,电容C通过R46放电,当电容C放图2-6单片机复位电路电结束后,RES引脚电位由R55、R46分压比决定。由于R55<<R46,因此RES引脚为高电平,CPU进入复位状态。松开复位按钮,电容C充电,RST引脚电位下降,是CPU脱离复位状态R2的作用在于限制复位按钮按下瞬间电容C5的放电电流,避免产生火花,以保护按钮的触点。(3)具有八路发光二极管显示各种流水灯。(4)可以完成各种奏乐,报警等发声音类。2.4模数转换器ADC0809的接口电路2.4.1ADC0809芯片及内部结构简介ADC0809为8路模拟信号的分时采集,片内8路模拟选通开关,以及相应的通道抵制锁存用译码电路,其转换时间为100μs左右。ADC0809的内部逻辑结构图如图2-7所示。图2-7ADC0809内部逻辑结构图2-7中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换,这是一种经济的多路数据采集方法。地址锁存与译码电路完成对A、B、C3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连。表2-2为通道选择表。CBA被选的通道000001010011100101110111IN0IN1IN2IN3IN4IN5IN6IN7信号引脚ADC0809芯片为28引脚为双列直插式封装,其引脚排列见图2-8。对ADC0809主要信号引脚的功能说明如下:
IN7~IN0——模拟量输入通道
ALE——地址锁存允许信号,对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。START——转换启动信号,START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持低电平。A、B、C——地址线。通道端口选择线,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。其地址状态与通道对应关系见表2-2。CLK——时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHz的时钟信号。EOC——转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。图2-8ADC0809引脚图D7~D0——数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高。OE——输出允许信号,用于控制三态输出锁存器向单片机输出转换得到的数据。
OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。Vcc——+5V电源。
Vref+、Vref-——参考电源。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref+=+5V,Vref-=-5V).2.4.3MCS-51单片机与ADC0809的接口图2-9ADC0809与MCS-51单片机的连接电路连接主要涉及两个问题。一是8路模拟信号通道的选择,二是A/D转换完成后转换数据的传送。如图2-9所示模拟通道选择信号A、B、C分别接最低三位地址A2、A3、A4即(、、),而地址锁存允许信号ALE由和控制。采用中断方式查询是否转换完毕,因而在EOC端加一非门电路进行电平的转换。此外,通道地址选择以作写选通信号。由于芯片内无时钟,可利用单片机的ALE引脚。由于ALE的频率是单片机时钟频率的1/6,如果单片机的时钟频率采用12MHz,则ALE的输出频率为2MHz,再二分频后是1MHz,正好符合ADC0809对时钟频率的要求。从图2-9中可以看到,把ALE信号与START信号接在一起了,这样连接使得在信号的前沿写入(锁存)通道地址,紧接着在其后沿就启动转换,节省转换的时间。2.4.4转换数据的传送A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。(1)定时传送方式对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。(2)查询方式A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可却只转换是否完成,并接着进行数据传送。(3)中断方式把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。不管使用上述那种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。不管使用上述那种方式,只要一旦确认转换结束,便可通过指令进行数据传送。数模转换器DAC0832的接口电路D/A转换器的作用是将二进制的数字量转换为相应的模拟量。D/A转换器的主要部件是电阻开关网络,其主要网络形式有权电阻网络和R–2R梯形电阻网络,其工作原理这里不作介绍。集成D/A芯片类型很多,按生产工艺分有双极型、MOS型等;按字长分有8位、10位、12位等;按输出形式分有电压型和电流型。另外,不同生产厂家的产品,其型号各不相同。例如,美国国家半导体公司的D/A芯片为DAC系列,如DAC0832等;美国模拟器件公司的D/A芯片为AD系列,如AD558等。2.4.1DAC0832简介DAC0832是美国国家半导体公司采用CMOS工艺生产的8位D/A转换集图2-10DAC0832逻辑框图成电路芯片。它具有与微机连接简单、转换控制方便、价格低廉等特点,因而得到了广泛的应用。图2-11DAC0832的结构与引脚DAC0832的逻辑结构框图如图2-11所示。片内有R–2RT型电阻网络,用于对参考电压提供的两条回路分别产生两个电流信号IOUT1和IOUT2。DAC0832采用8位输入寄存器和8位DAC寄存器二次缓冲方式,这样可以在D/A输出的同时,送入下一个数据,以便提高转换速度。每个输入数据为8位,可以直接与微机的数据总线相连,其逻辑电平与TTL电平兼容。DI7DI0——D/A转换器的数字量输入引脚。其中DI0为最低位,DI7为最高位。——片选信号输入端,低电平有效。——输入寄存器的写信号,低电平有效。ILE——输入寄存器选通信号,高电平有效。ILE信号和、共同控制选通输入寄存器。当、均为低电平,而ILE为高电平时,LE1=0,输入数据被送至8位输入寄存器的输出端;当上述三个控制信号任一个无效时,LE1变高,输入寄存器将数据锁存,输出端呈保持状态。——从输入寄存器向DAC寄存器传送D/A转换数据的控制信号,低电平有效。——DAC寄存器的写信号,低电平有效。当和同时有效时,输入寄存器的数据装入DAC寄存器,并同时启动一次D/A转换。VCC——芯片电源,其值可在+5+15V之间选取,典型值取+15V。AGND——模拟信号地。DGND——数字信号地。Rfb——内部反馈电阻引脚,用来外接D/A转换器输出增益调整电位器。VREF——D/A转换器的基准电压,其范围可在−10+10V内选定。该端连至片内的R–2RT型电阻网络,由外部提供一个准确的参考电压。该电压精度直接影响着D/A转换精度。IOUT1——D/A转换器输出电流1,当输入全1时,输出电流最大;当输入为全0时,输出电流最小,即为0。IOUT2——D/A转换器输出电流2,它与IOUT1有如下关系:IOUT1+IOUT2=常数。D/A转换没有形式上的启动信号。实际上将数据写入第二级寄存器的控制信号就是D/A转换器的启动信号。另外,它也没有转换结束信号,D/A转换的过程很快,一般还不到一条指令的执行时间。DAC0832的工作方式DAC0832内部有两个寄存器,能实现三种工作方式:双缓冲、单缓冲和直通方式。①双缓冲工作方式是指两个寄存器分别受到控制。当ILE、和信号均有效时,8位数字量被写入输入寄存器,此时并不进行A/D转换。当和信号均有效时,原来存放在输入寄存器中的数据被写入DAC寄存器,并进入D/A转换器进行D/A转换。在一次转换完成后到下一次转换开始之前,由于寄存器的锁存作用,8位D/A转换器的输入数据保持恒定,因此D/A转换的输出也保持恒定。②单缓冲工作方式是指只有一个寄存器受到控制。这时将另一个寄存器的有关控制信号预先设置成有效,使之开通,或者将两个寄存器的控制信号连在一起,两个寄存器作为一个来使用。③直通工作方式是指两个寄存器的有关控制信号都预先置为有效,两个寄存器都开通。只要数字量送到数据输入端,就立即进入D/A转换器进行转换。这种方式应用较少。2.4.3电压输出电路的连接DAC0832以电流形式输出转换结果,若要得到电压形式的输出,需要外加I/V转换电路,常采用运算放大器实现I/V转换。图2-12给出了DAC0832的电压输出电路。对于单极性输出电路,输出电压为:式中D为输入数字量的十进制数。因为转换结果IOUT1接运算放大器的反向端,所以式中有一个负号。若VREF=+5V,当D=0255(00HFFH)时,VOUT=-(04.98)V。图2-12DAC0832的电压输出电路(a)单极性输出;(b)双极性输出2.4.4DAC0832与单片机的连接图2-13DAC0832与单片机的连接如图2-13所示,由于DAC0832内部有数据锁存器,其数据输入引脚可直接与CPU的数据总线相连。图中和接地,即DAC0832内部的第2级寄存器接成直通式,只由第1级寄存器控制数据的输入,当和同时有效时(ILE始终为有效的高电平),DI7DI0的数据被送入其内部的D/A转换电路进行转换。数据/程序存储器24C02芯片简介串行24C02是基于IIC-BUS的存储器件,遵循二线制协议,由于其具有接口方便,体积小,数据掉电不挥发等特点,在仪器仪表及工业自动化控制中得到大量的应用图2-1424C02管脚配置IIC总线协议定义如下1、只有在总线空闲时才允许启动数据传送2、在数据传送过程中当时钟线为高电平时数据线必须保持稳定状态,不允许有跳变。时钟线为高电平时数据线的任何电平变化将被看作总线的起始或停止信号。表2-3管脚描述管脚名称功能A0、A1、A2器件地址选择SDA串行数据/地址SCL串行时钟WP写保护Vcc工作电压GND地起始信号:时钟线保持高电平期间数据线电平从高到低的跳变作为IIC总线的起始信号。
停止信号:时钟线保持高电平期间数据线电平从低到高的跳变作为IIC总线的停止信号。IIC总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器,数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式。通过器件地址输入端A0、A1、A2和可以实现将最多将8个24C02连接到总线上。2.5.224C02与单片机的连接24C02与单片机的接口非常简单,如图2-15所示。就这两根线(SCL、SDA)连到单片机IO口上,另外加上10K上拉电阻即可。其它的,有A2、A1、A0三根线,全接地就行了。写保护端接无效状态。A0,A1,A2为器件地址线,WP为写保护引脚,SCL,SDA为二线串行接口,符合I2C总线协议。在一般单片机系统中,24C02数据受到干扰的情况是很少的。图2-1524C02与单片机的连接并行接口芯片8255A的接口电路.18255A的基本特性①具有两个8位(A口和B口)和两个4位(C口高/低4位)并行I/O端口的接口芯片。②能适应CPU与I/O接口之间的多种数据传送方式的要求。③PC口的使用比较特殊,除作数据口外,当工作在1方式和2方式时,它的大部分引脚被分配作专用联络信号;PC口可以进行按位控制;在CPU读取8255A状态时,PC口又作1,2方式的状态口用等等。2.6.28255A的外部特性和内部结构外部引脚8255A是一个单+5V电源供电,40个引脚的双列直插式组件,其外部引线如图2-16所示。①与系统总线的连接信号D0~D7:双向数据线,用于CPU向8255A发送命令、数据和8255A向CPU回送状态、数据和8255A向CPU回送状态、数据。:读信号,低电平有效。:写信号,低电平有效。RESET:复位信号,高电平有效。它清除控制寄存器并将8255A的A、B、C三个端口均置为输入方式;输入寄存器和状态寄存器被复位,并且屏蔽中断请求;24条面向外设信号线呈现高阻悬浮状态。②与外部设备的连接信号PA0~PA7:端口A的输入/输出线。PB0~PB7:端口B的输入/输出线。PC0~PC7:端口C的输入/输出线。图2-168255引脚图这24根信号线均可用来连接I/O设备和传送信息。其中,A口和B口只作输入/输出的数据口用,尽管有时也利用它们从I/O设备读取一些状态信号,如打印机的“忙”(Busy)状态信号、A/D转换器的“转换结束”(EOC)状态信号,但对A口和B口来说,都是作8255A的数据口读入,而不是作8255A的状态口读入的。C口的作用与8255A的工作方式有关,它除了作数据口以外,还有其他用途,故C口的使用比较特殊,单独介绍如下:a.作数据口;b.作状态口;c.作专用(固定)联络(握手)信号线;d.作按位控制用。.2.28255内部结构8255A的内部结构如图2-17所示。8255芯片内部主要由控制寄存器、状态寄存器和数据寄器组成,它由以下4个部分组成。图2-178255逻辑框图①数据总线缓冲器。这是一个三态双向8位缓冲器,它是8255A与CPU系统数据总线的接口。②读/写控制逻辑。读/写控制逻辑由读信号、写信号、选片信号以及端口选择信号A1、A0等组成。③输入/输出端口A、B、C。8255A包括3个8位输入输出端口(port)。每个端口都有一个数据输入寄存器和一个数据输出寄存器。④A组和B组控制电路。控制A、B和C三个端口的工作方式。表2-48255各端口与寄存器的选择A1A0读操作内容00001PA→口数据总线(→CPU)数据00101PB→口数据总线(→CPU)数据01001PC→口数据总线(→CPU)数据写操作00010PA口←数据总线(←CPU)数据00110PB口←数据总线(←CPU)数据01010PC口←数据总线(←CPU)数据01110控制寄存器←数据总线控制字无操作情况1××××总线悬浮(三态)0××11总线悬浮01101控制口不能读2.6.38255A的编程命令(1)方式命令作用:指定8255A的工作方式及其方式下3个并行端口(PA、PB、PC)的功能,是作输入还是作输出。格式:8位,其中最高位是特征位,一定要写1,其余各位定义如下,应根据用户的设计要求填写1或0。表2-58255的工作方式1D6D5D4D3D2D1D0特征位A组工作方式00(方式0)01(方式1)1x(方式2)PA口0(方式0)1(方式1)C口高四位0(输出)1(输入)B组工作方式0(方式0)1(方式1)PB口0(输出)1(输入)C口低四位0(输出)1(输入)Ⅰ.方式0的特点①0方式是一种基本输入/输出工作方式。通常不用联络信号,或不使用固定的联络信号。基本I/O方式是指查询方式传送,也包括无条件传送。②在0方式下,彼此独立的两个8位和两个4位并行口,都能被指定作为输入或者输出用,共有16种不同的使用状态。③在0方式下不设置专用联络信号线,需要联络时,可由用户任意指定C口中的哪根线完成某种联络功能,这与后面要讨论的在1方式、2方式下设置固定的专用联络信号线不同。④双向I/O,一次初始化只能指定端口(PA、PB和PC)作输入或输出,不能指定端口同时既作输入又作输出。Ⅱ.方式1的特点①1方式是一种选通输入/输出方式或叫应答方式,因此,需设置专用的联络信号线或应答信号线,以便对I/O设备和CPU两侧进行联络。这种方式通常用于查询(条件)传送或中断传送。数据的输入输出都有锁存功能。②PA和PB为数据口,而PC口的大部分引脚分配作专用(固定)的联络信号的C口引脚,用户不能再指定作其他作用。③各联络信号线之间有固定的时序关系,传送数据时,要严格按照时序进行。④输入/输出操作过程中,产生固定的状态字,这些状态信息可作为查询或中断请求之用。状态字从PC口读取。⑤单向传送。一次初始化只能设置在一个方向上传送,不能同时作两个方向的传送。Ⅲ.方式2的特点①PA口为双向选通输入/输出或叫双向应答式输入/输出。一次初始化可指定PA口既作输入口又作输出口。②设置专用的联络信号线和中断请求号信线,因此,方式2下可采用中断方式和查询方式与CPU交换数据。③各联络线的定义及其时序关系和壮态基本上是在方式1下输入和输出两种操作的组合。方式2是一种双向选通输入输出方式,它把A口作为双向输入/输出口,把C口的5根线(PC3~PC7)作为专用应答线,所以,8255A只有A口才有方式2。(2)按位置位/复位命令作用:指定PC口的某一位(某一个引脚)输出高平或低电平。格式:8位,其中最高位是特征位,一定要写0,其余各位的定义如下,应根据用户的设计要求填写1或0.表2-6PC口的置位与复位0D6D5D4D3D2D1D0特征位不用(写0)位选择000(C口0位)0001(C口1位)……111(C口7位)1置位(高电平)0复位(低电平)2.7LCD1602液晶显示2.7.1LCD1602的引脚图1602采用标准的16脚接口,如图2-18,其中:第1脚:VSS为地电源
第2脚:VDD接5V正电源
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:RS为寄存器选择,高电平时选择数据寄存图2-181602的引脚图器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址。当RS为低电平、RW为高电平时可以读忙信号,当RS为高电平、RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15~16脚:分别为LCD背光电源正极和LCD背光电源负极。2.7.21602液晶显示的指令命令1602液晶模块内部的字符发生存储器(CGROM)已经存储160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”表2-71602指令表指令RSR/WD7D6D5D4D3D2D1D0清显示0000000001光标返回000000001×置输入模式00000001I/DS显示开/关控制0000001DCB光标或字符显示000001S/CR/L××置功能00001DLNF××置字符发生存贮器地址0001字符发生存贮器地址(AGG)置数据存贮器地址001显示数据存贮器地址(ADD)读忙标志或地址01BF计数器地址(AG)写数据到CGRM或DDRAM10要写的数据从CGRAM或DDRAM读数据00要读的数据1602的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置
指令2:光标复位,光标返回到地址00H
指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符指令7:字符发生器RAM地址设置指令8:DDRAM地址设置指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙指令10:写数据指令11:读数据2.7.3LCD1602与单片机的接口电路LCD1602与单片机的连接也非常简单如图数据端口要接10k左右的上拉电阻。V0端口接一可变电阻,用以调节液晶显示的对比度。液晶显示模块是一个图2-191602与单片机的连接慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,表2-8是LCD1602的内部显示地址.比如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在表2-81602内部显示地址00010203040506070809101112131415404142434445464748494A4B4C4D4E4F第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是:01000000B(40H)+10000000B(80H)=11000000B(C0H)动态LED显示与键盘数码管的分类
1)数码管结构数码管由8个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字09、字符AF、H、L、P、R、U、Y、符号“”及小数点“”。数码管的外形结构如图2-20(a)所示。数码管又分为共阴极和共阳极两种结构,分别如图2-20(b)和图2-20(c)所示。
图2-20数码管结构图(a)外形图(b)共阴极(c)共阳极共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。2)数码管工作原理共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。3)数码管字形编码要使数码管显示出相应的数字或字符,必须使段数据口输出相应的字形编码。对照图2-20,字型码各位定义为:数据线D0与a字段对应,D1与b字段对应……,依此类推。如使用共阳极数码管,数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮。如要显示“0”,共阳极数码管的字型编码应为:11000000B(即C0H);共阴极数码管的字型编码应为:00111111B(即3FH)。依此类推,可求得数码管字形编码如表2-10所表2-9数码管字型编码表LED七段数码管有静态显示和动态显示两种方式,下面分别加以叙述。显示接口简介静态显示概念静态显示是指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止这种显示方式的各位数码管相互独立,公共端恒定接地(共阴极)或接正电源(共阳极)。每个数码管的8个字段分别与一个8位I/O口地址相连,I/O口只要有段码输出,相应字符即显示出来,并保持不变,直到I/O口输出新的段码。采用静态显示方式,较小的电流即可获得较高的亮度,且占用CPU时间少,编程简单,显示便于监测和控制,但其占用的口线多,硬件电路复杂,成本高,只适合于显示位数较少的场合。2.8.2.2动态显示概念动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常,各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的位选线(公共阴极或阳极)由另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码。依此规律循环,即可使各位数码管显示将要显示的字符。虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。采用动态显示方式比较节省I/O口,硬件电路也较静态显示方式简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多的时间2.8.3动态显示接口电路在本实验板中采用的是共阳极数码管按位扫描软件译码,各位笔端引脚a~dp并联在一起。为了控制各LED数码管轮流工作,各显示为的公共端与位译码(采用软件译码时不用)、锁存器及驱动电路相连,这样可一次输出每一显示位的笔端代码和位扫描码,轮流点亮各LED数码管显示管,实现按位动态显示。在动态显示方式中,各LED数码管轮流工作,为了防止出现闪烁现象,LED刷新频率必须大于25Hz,同一LED数码管相临两次点亮时间间隔要小于40ms对于具有N个LED数码管的动态显示点亮来说,如果LED显示刷新频率为f,那么刷新周期为1/f,每一位的显示时间为1/(f×N)s。显然,位数越多,每一位的显示时间就越多,在驱动电流一定的情况下,亮度就越低(正因为如此,在动态LED显示电路中,需适当增大驱动电流,一般取20~35mA,以抵消因显示时间图2-21LED数码管显示短引起的亮度下降)。实验表明:为了保证一定的亮度,在驱动电流取30mA,每位显示时间不能小于1ms。2.9键盘电路2.9.1键盘简介机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如图2-22所示,抖动时间的长短与开关的机械特性有关,一般为510ms。在触点抖动期间检测按键的通与断状态,可能导致判图2-22防抖动示意图断出错,即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械动所致的检测误判,必须采取去抖动措施。这一点可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖。在硬件上可采用在键输出端加R-S触发器(双稳态触发器)或单稳态触发器构成去抖动电路。软件上采取的措施是:在检测到有按键按下时,执行一个10ms左右(具体时间应视所使用的按键进行调整)的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态。同理,在检测到该键释放后,也应采用相同的步骤进行确认,从而可消除抖动的影响。2.9.2独立式按键单片机控制系统中,往往只需要几个功能键,此时,可采用独立式按键结构。2.9.2.1独立式按键结构独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如图2-23所示。独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。图2-23独立式键盘2.9.2.2独立式按键的软件结构独立式按键的软件常采用查询式结构。先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。2.9.3矩阵式键盘的结构及原理矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,其结构如图2-24所示。由图可知,一个4×4的行、列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。图2-24矩阵键盘矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。2.9.4键盘的编码对于独立式按键键盘,因按键数量少,可根据实际需要灵活编码。对于矩阵式键盘,按键的位置由行号和列号惟一确定,因此可分别对行号和列号进行二进制编码,然后将两值合成一个字节,高4位是行号,低4位是列号。如图2-24中的8号键,它位于第2行,第0列,因此,其键盘编码应为20H。采用上述编码对于不同行的键离散性较大,不利于散转指令对按键进行处理。因此,可采用依次排列键号的方式对按排进行编码。以图中的4×4键盘为例,可将键号编码为:01H、02H、03H、…、0EH、0FH、10H等16个键号。编码相互转换可通过计算或查表的方法实现。2.9.5键盘的工作方式对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘的工作方式有三种,即随机扫描、定时扫描和中断扫描。2.9.5.1定时扫描方式定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10ms)的定时,当定时时间到就产生定时器溢出中断。CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。图2-25定时扫描方式程序流程图图2-25中,标志1和标志2是在单片机内部RAM的位寻址区设置的两个标志位,标志1为去抖动标志位,标志2为识别完按键的标志位。初始化时将这两个标志位设置为0,执行中断服务程序时,首先判别有无键闭合,若无键闭合,将标志1和标志2置0后返回;若有键闭合,先检查标志1,当标志1为0时,说明还未进行去抖动处理,此时置位标志1,并中断返回。由于中断返回后要经过10ms后才会再次中断,相当于延时了10ms,因此,程序无须再延时。下次中断时,因标志1为1,CPU再检查标志2,如标志2为0说明还未进行按键的识别处理,这时,CPU先置位标志2,然后进行按键识别处理,再执行相应的按键功能子程序,最后,中断返回。如标志2已经为1,则说明此次按键已做过识别处理,只是还未释放按键。当按键释放后,在下一次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加油站建设项目可行性研究报告
- 《描写春天的句子》课件
- 《社会语言学》课件
- 房产建筑工程
- (部编版八年级《政治》课件)第1课时-法不可违
- 《简单的电路计算》课件
- 《柠檬酸发酵机制》课件
- 机构编制培训课件(机构编制政策要点及纪律要求)
- 中型电力施工合同模板
- 用户体验研究保密协议管理办法
- 2024年肠道传染病培训课件:疾病预防新视角
- 2024年度拼多多店铺托管经营合同2篇
- 2023年北京肿瘤医院(含社会人员)招聘笔试真题
- 2024年化学检验员(中级工)技能鉴定考试题库(附答案)
- 旅行社分店加盟协议书(2篇)
- 勘察工作质量及保证措施
- 城镇燃气经营安全重大隐患判定及燃气安全管理专题培训
- 个人和企业间资金拆借合同
- 重大火灾隐患判定方法
- 2024年除雪服务定制协议样本版
- 七年级地理上册 3.2海陆变迁说课稿 (新版)商务星球版
评论
0/150
提交评论