




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理课程设计报告摘要随着技术的发展和进步,微型计算机的应用在各行各业迅猛发展,它已经成为每个专业技术人员必备的基础。本系统设计的温度显示是以8086微处理器为CPU,用ADC0809进行采样值的模数转换,将不同温度值送入8255中,。8255做可编程并行接口现实温度的电路,并将分离后的温度值得个位,十位,百位分别送入LED数码管进行精确显示。在此系统中,8255的功能是对LED数码管进行温度的读入,并进行位选和段选。当延时达到一定时间后,CPU即处理,使LED显示器显示当前的温度。程序由以下模块组成系统共有4个功能模块,分别为主控模块,A/D转换模块,显示模块,延时模块。关键词微型计算机,热水器,8255,A/D转换第1章设计原理11设计原理模拟热水器系统的总体设计原理是首先利用模数转换芯片ADC0809实现由模拟量转化为数字量,通常要经历采样,量化,编码三个步骤,将温度模拟量转换为数字量。再将转换出来的数字量通过CPU系统总线送给可编程并行通信接口芯片8255来实现读写操作,然后将数据通过LED数码显示管来显示出当前温度。具体做法是为了实现精确的表示出当前的温度值,显示温度的百位,十位,个位。我们先在数据段开辟一显示缓冲区,用来存储当前温度,初始化我们所要应用的芯片8255,ADC0809后,主程序开始,为了将温度模拟量转化为数字量,启动AD采样,读AD采样结果,将结果送变量。为了显示温度的百位,十位,个位,将样值分离,在通过8255的A口进行段选,B口进行位选。为了得到良好的显示效果,本程序调用了一段精确的延时程序,使各位在时间显示上有短暂的间隔。最后通过LED数码管显示出来,通过调节滑动变阻器改变温度,再显示,有此循环,就形成了精确的温度显示系统。12设计环境及设备1、设计环境PC机一台、WINDOWS98系统、实验箱、导线若干。2、设计所用设备ADC0809用来模数转换。8255并口用做接口芯片LED数码显示管相连。LED三个LED用于显示温度的百位、十位、个位。13设计系统框图模拟热水器系统总框图,如图11所示。图11系统框图14硬件接线图在实验箱上按照模拟热水器温度显示硬件接线图将传输线对应连接起来,芯片82555中PB0至PB7口与LED数码管的A至DP相连,是为了实现七段数码管的段选,PA0至PA2与LED的X6至X4相连,是为了实现位选,X4为百位的显示、X5为十位的显示、X6为个位的显示,如图12所示。系统总线芯片8255数码管显示单元LED0LED15V10KCPU系统总线8255芯片A/D采样值LED数码管显示XD0XD1XD2XD3XD4XD5XD6XD7XA1XA2IOWIORIOY0XD0XD1XD2XD3XD4XD5XD6XD7IOWIORCLKD0PB0D1PB1D2PB2D3PB3D4PB4D5PB5D6PB6D7PB7A0PA0A1PA1PA2WRRDPC0PC1CSABCDEFGDPX1X2X3D0D1D2D3D4IN0D5D6D7WRARDBCCLKADC0809芯片图12实验接线图15设计流程图主程序的流程图是对整个程序的逻辑的图象表示。首先是设置8255的各个端口地址。接着初始化8255、AD0809芯片,然后进行AD采样、结果转存、数制转换、温度显示、比较报警。小于最小大于最大开始初始化8255启动AD采样读取采样结果对采样结果进行制式转化并存储显示温度把温度与设定的最大和最小的限值相比高温警示灯亮低温警示灯亮第2章设计所用芯片218255芯片的内部结构及引脚2118255外部引线8255可编程外围接口芯片是INTEL公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用5V单电源供电,能在以下三种工作方式下工作方式0基本输入/输出方式方式1选通输入/输出方式方式2双向选通输入/输出方式8255引脚图如图31所示,各引脚功能如下。D7D0与CPU侧连接的八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0、A1片内寄存器选择输入信号;PA7PA0A口外设双向数据线;PB7PB0B口外设双向数据线;PC7PC0C口外设双向数据线;RESET复位输入信号。图218255引脚图2128255工作方式这些工作方式分别为工作方式0,工作方式1和工作方式2。1工作方式0,又称为基本工作方式。在此方式下,可分别将A口的8条线,B口的8条线,C口高4位对应的4条线和C口的低四位对应的四条线定义为输入或输出。故它们的输入输出共有16种不同的组合,如表31所示。表21工作方式表A组B组A口(PA0PA7)C口(PC4PC7)B口(PB0PB7)C口(PC0PC3)入入入入入入入出入入出入入入出出入出入入入出入出入出出入入出出出出入入入出入入出出入出入出入出出出出入入出出入出出出出入出出出出2工作方式1,既选通输入输出方式。在这种方式下,A口和B口仍作为数据的输出口和输入口,同时还要利用C口的某些位作为控制和状态信号。3工作方式2,又称双向输入输出方式。这种方式只有8255的口A才有。在A口工作于双向输入输出方式时,要利用C口的5条线才能实现。因此,B口只能工作在工作方式0或工作方式1,而C口剩下的3条线可以作为输入输出线使用或B口方式1下的控制线。2138255的控制字8255的控制字格式,如图22所示。76543210图228255的控制字格式图说明当控制字BIT71时,控制字的BIT6BIT3这4位用来控制A组,即A口的8位和C口的高4位,而控制字的低3位BIT2BIT0用来控制B组,包括B口的8位和C口的低4位。2、8255端口地址,如表32所示。表228255端口地址信号线寄存器编址A口60HB口61HC口62HIOY3控制寄存器63H控制C口抵4位1输入0输出控制B口8位1输入0输出方式选择0方式01方式1控制C口高4位0输出1输入控制A口8位0输出1输入方式选择00方式001方式11X方式2功能控制0位操作1方式选择22ADC08098255芯片的内部结构及引脚221ADC0809外部引线ADC0809转换器由一个8路单端模拟信号多路开关电路、地址锁存与译码、电路A/D转换器和三态输出锁存缓冲器组成,其引脚图,如图23所示。D0D7输出数据线;IN0IN78路模拟电压输入端;ADDA,ADDB,ADDC路地址输入;ADDA最低位,ADDC最高位;STALT启动信号输入端,下降沿有效;ALE路地址锁存信号,用来锁存ADDAADDC的地址输入,上升沿有效;EOC变换结束状态信号,高电平表示一次变换已结束;OE读允许信号,高电平有效;CLK时钟输入端;REF,REF参考电压输入端;VCC5V电源输入;GND地。图23ADC0809引脚图ADC0809由两部分组成模拟多路开关和A/D转换器。其核心是8位A/D转换器,它采用逐次逼近法,对8路模拟开关的一路进行转换。模拟多路包括8路模拟开关和3位锁存器与译码器,根据3位输入地址(ADDAADDBADDC)选择8路模拟输入当中的一路送到A/D转换器,如图34所示。图324ADC0809内部结构图322ADC0809工作方式ADC0809的工作过程是首先输入3位地址,并使ALE1,将地址存入地址锁存器中。此地址译码选通8路模拟输入之一到比较器。STALT上升沿将逐次逼近储存器复位,下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变成高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用做申请中断。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上,如表33所示。表23ADC0809工作方式表ADDC、ADDB、ADDA000001010011100101110111选中通道IN0IN1IN2IN3IN4IN5IN6IN7第3章具体模块设计31概述本系统设计的温度显示以8088微处理器作为CPU,用ADC0809进行采样值的模数转换,通过调节ADC0809中的滑动变阻器来改变温度的值,将每次改变的不同温度值送入8255中。8255做可编程并行接口显示温度的电路,并将分离后的温度值的个位、十位、百位分别送入LED数码管进行精确显示。在此系统中,8255的功能是对LED数码管进行温度的读入、并进行位选和段选。8255工作于方式0,每隔一段时间,8255的输出端就会输出一个脉冲的信号,此信号接LED数码管进行显示。,当延时达到一定时间后,CPU即处理,使LED显示器上的显示当前温度。程序由以下模块组成系统共有4个功能模块,分别为,主控模块,A/D转换模块,显示模块,延时模块。32具体模块设计1、主程序模块主控模块是系的核心模块,对8255控制端口进行初始化并读接口。定义数据段变量并为其分配空间,以便对温度值进行查表并显示。写控制字地址,并将其读入端口中。实现代码如下DATASEGMENTDTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71HVALUEDBDATAENDSCODESEGMENTASSUMECSCODE,DSDATA,SSSSTACKSTARTMOVAX,DATAMOVDS,AXMOVAL,80HMOVDX,MY8255_CONOUTDX,AL2、A/D转换模块A/D转换模块送入主控模块的子功能模块。首先启动A/D转换信号采用脉脉冲形式,脉冲下降沿有效。ALE为地址锁存允许,当输入通路选择地址线状态稳定后,利用此信号上升沿,将地址线的状态锁存入芯片的地址锁存器中(通常ALE与START引脚短接,由同一脉冲信号进行控制)。转换结束信号EOC在转换结束时由低电平变为高电平,该信号也可用作中断请求信号。ENABLE为输出允许,此信号为高电平时,接通“三态输出锁存器”,将转换结果送至计算机数据总线或I/O接口数据总线。A/D转换时钟脉冲CLOCK需要由外部电路提供。实现代码如下LPMOVDX,640HOUTDX,ALCALLADDLYINAL,DX3、分离并显示模块分离模块是将采样得到的温度值的百位、十位、个位分离出来并分别送入到显示模块中。在此模块中运用除法将商放入百位,再将余数用同样的方法进行分离,商为十位,余数为个位,最后把所得到的三个数分别放入指针所指的内存单元中。显示模块是将内存单元中所存的三个数值送到LED显示的功能模块,LED数据管是由六个字节构成,本系统只用三个字节分别显示温度的百位、十位和个位。利用8255的A端口和B端口分别进行段选和位选,使用之前先对两个端口进行初始化。实现代码如下MOVSI,1000MOVAH,00HMOVBL,100DIVBLMOVSI,ALMOVAL,AHMOVAH,00HMOVBL,10DIVBLMOVSI1,ALMOVSI2,AHMOVBX,OFFSETDTABLEMOVDI,0000HMOVAL,SIANDAX,00FFHADDBX,AXMOVAL,BXMOVDX,MY8255_AOUTDX,ALMOVAL,0FBHMOVDX,MY8255_BOUTDX,ALCALLDISPDLYMOVBX,OFFSETDTABLEMOVAL,SI1ANDAX,00FFHADDBX,AXMOVAL,BXMOVDX,MY8255_AOUTDX,ALMOVAL,0FDHMOVDX,MY8255_BOUTDX,ALCALLDISPDLYMOVBX,OFFSETDTABLEMOVAL,SI2ANDAX,00FFHADDBX,AXMOVAL,BXMOVDX,MY8255_AOUTDX,ALMOVAL,0FEHMOVDX,MY8255_BOUTDX,ALCALLDISPDLYJMPLP5、延时模块延时模块分为两部分A/D延时和显示延时。在A/D延时中,主要是为了使系统有充分的时间进行模数转换。在显示延时中,主要实现将温度的百位、十位、个位有足够的时间送入LED数码管显示单元中显示。A/D延时实现代码如下ADDLYPUSHCXPUSHAXMOVCX,100HA5MOVAX,0800HA6DECAXJNZA6LOOPA5POPAXPOPCXRET显示延时实现代码如下DISPDLYPUSHCXMOVCX,0FFHT1MOVAX,009FHT2DECAXJNZT2LOOPT1POPCXRET附录源代码MY8255_AEQU0600HMY8255_BEQU0602HMY8255_CEQU0604HMY8255_CONEQU0606HSSTACKSEGMENTSTACKDW16DUPSSTACKENDSDATASEGMENTDTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71HVALUEDBXDBDATAENDSCODESEGMENTASSUMECSCODE,DSDATA,SSSSTACKSTARTMOVAX,DATAMOVDS,AXMOVAL,80H初始化8255MOVDX,MY8255_CONOUTDX,ALLPMOVDX,640H启AD采样OUTDX,ALCALLADDLY调用延时程序INAL,DX读取采样结果MOVX,ALMOVSI,1000MOVAH,00H制式转化MOVBL,100取出百位存入SI中DIVBLMOVSI,ALMOVAL,AH取出十位存入SI1MOVAH,00HMOVBL,10DIVBLMOVSI1,ALMOVSI2,AH将个位存入SI2MOVBX,OFFSETDTABLE显示部分,取DTABLE的偏移地址MOVDI,0000HMOVAL,SIANDAX,00FFHADDBX,AXMOVAL,BXMOVDX,MY8255_B取825
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论