微机原理课程设计简易电压表的设计_第1页
微机原理课程设计简易电压表的设计_第2页
微机原理课程设计简易电压表的设计_第3页
微机原理课程设计简易电压表的设计_第4页
微机原理课程设计简易电压表的设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

.设计目的通过课程设计达到理论和实际应用相结合,提高对硬件微机结构和软件设计方法的理解。能够根据实际应用初步实现硬件和软件的基本设计,并且对硬件开发有更深层次的认识,为今后的软件开发打下坚实的基础。2.设计内容及要求基本内容:利用STARES598PCI实验仪的硬件资源8259中断控制器、8255可编程并行接口芯片和数码管、电位器和ADC0809设计一个简易电压表,编写响应的程序,使电压表能够正常运行,3位数码管显示电位器的电压,精确度要求小数点四位。基本任务:软件查询的方式获取AD转换结束信息附加任务:中断方式获取AD转换结束信息3.设计原理1、主体思想ADC0809是逐次逼近型A/D转换器,具有较好的精度和速度,其采集结果为8位二进制数,每采集一次一般需要100μs。设计程序时可采用中断方式读取A/D转换结果数据。在中断方式下,A/D转换结束后会自动产生EOC信号,将其与8259的中断输入端相接即可。电压模拟量可由实验箱上的电位器提供,电压范围0~5V,其经ADC0809转换得到的数字量范围为0~255,再将转换的结果通过软件编码得到相应的原始电压值并在LED数码管上显示。8255A输入输出模块8255A输入输出模块8259A中断处理模块8259A中断处理模块总体模块设计总体模块设计ADC0809数模转换模块ADC0809数模转换模块数码管显示模块数码管显示模块2、实验主要器材实验器材数量备注PC机1装有实验所需软件ES598PCI实验仪18255A芯片18259A芯片1ADC0809芯片1数码管1事先检验完好可用3、设计流程图4、相关电子元器件及其功能介绍(1)8255A芯片a.概述:Intel8086/8088系列的可编程外设接口电路(ProgrammablePeripheralInterface)简称PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。b.8255A工作方式:方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路c.8255A控制字格式:(a)工作方式控制字(b)c口按位置位/复位控制字(2)8259A芯片a.概述:8259A是专门为了对8085A和8086/8088进行中断控制而设计的芯片,它是可以用程序控制的中断控制器。单个的8259A能管理8级向量优先级中断。在不增加其他电路的情况下,最多可以级联成64级的向量优先级中断系统。8259A有多种工作方式,能用于各种系统。各种工作方式的设定是在初始化时通过软件进行的。在总线控制器的控制下,8259A芯片可以处于编程状态和操作状态.编程状态是CPU使用IN或OUT指令对8259A芯片进行初始化编程的状态b.初始化命令字:1)ICW1写入双数地址。2)ICW2写入单数地址。3)ICW3写入单数地址。4)ICW4写入单数地址5)初始化命令字的设置过程c.操作命令字:OCW1写入单数地址。2)OCW2写入双数地址。2)OCW2写入双数地址。3)OCW3写入双数地址。(五)d.主要功能:在有多个中断源的系统中,接受外部的中断请求,并进行判断,选中当前优先级最高的中断请求,再将此请求送到cpu的INTR端;当cpu响应中断并进入中断子程序的处理过程后,中断控制器仍负责对外部中断请求的管理。(3)ADC0809芯片a.概述:ADC0809是采样分辨率为8位的、以逐次逼近原理进行模—数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。b.主要特性:8路输入通道,8位A/D转换器,即分辨率为8位。具有转换起停控制端。转换时间为100μs单个+5V电源供电模拟输入电压范围0~+5V,不需零点和满刻度校准。工作温度范围为-40~+85摄氏度低功耗,约15mW。c.引脚功能:ADC0809芯片有28条引脚,采用双列直插式封装。引脚图见右图1-1IN0~IN7:8路模拟量输入端。2-1~2-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路ALE:地址锁存允许信号,输入,高电平有效。START:A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。图1-1图1-1OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。REF(+)、REF(-):基准电压。Vcc:电源,单一+5V。GND:地。d.工作过程:图1-2首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。(4)数码管七段式LED显示部件典型的七段式LED器件(b)共阳极LED(c)共阴极LED数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。4.实验原理图与硬件电路图实验原理图:硬件电路图:5.测试结果及问题分析1、测试结果当调节电位器左端旋转至右端时,数码管显示电压0.0000~4.9939,可通过改变电阻来改变电压值,再通过A/D转换为数字量通过数码管发出二极管显示数字。2、问题分析(1)要求将显示两位小数变更为显示四位小数,通过改写LED显示程序来改变,测试后达到要求。(2)数码管发光不稳定,闪烁比较严重,通过更改延时主程序参数问题得到解决。6.心得体会短短一周的微机原理与接口技术的课程设计就结束了,但是我在这段时间受益匪浅。设计之初,我仔细阅读了有关ADC0809、8259A和8255A方面的知识,了解了它们的芯片功能、工作原理及初始化等等。以前我们只在课堂上做过一些关于软件设计方面的题目,这次与硬件相结合不仅难度上有所提升,并且对自身能力的要求又提高了不少,不但需要较高的理论水平,而其还要求有实际的动手能力。这次的课程设计目的是提高实践能力,还包括汇编语言的编程能力以及对接口等硬件的分析和设计接口电路的能力,从而学以致用。总而言之,通过这次的课程设计,我不仅仅巩固了课堂上学习到的微机原理与接口技术方面的知识,也大大地补充了我对相关硬件功能的全面认识和理解,并且能够基本掌握它们的使用方法和操作环境。只有通过实际编程和微机及接口的硬件实践,才能真正掌握软硬件设计的方法,从中得到收益和提高。同时,在同学和老师的帮助下,自己独立完成这项课程设计,在这个过程中,不仅仅让我尝到了成功的喜悦以及付出的辛苦,更让我认识到了学习的正确方法,我们绝不能孤立自己,往往在困难肚子解决不了的时候,可以向周围的人寻求帮助,这样可以事半功倍,更加能及时发现自己的设计不足和错误之处。通过课程设计达到理论和实际应用相结合,提高对硬件微机结构和软件设计方法的理解。能够根据实际应用初步实现硬件和软件的基本设计,并且对硬件开发有更深层次的认识,为今后的软件开发打下坚实的基础。7.程序代码MODEEQU082H;10000010H,方式0,A和C输出PORTAEQU09000H;A口地址PORTBEQU09001H;B口地址PORTCEQU09002H;C口地址CONTROLEQU09003H;命令口地址CS0809EQU08000H;0809地址ICW1EQU00010011B;上升沿触发,单片8259A,需要ICW4ICW2EQU08H;中断类型号为40HICW4EQU00001001B;正常全嵌套,非自动EOI,工作在8086/8088方式OCW1EQU11111110B;IR1-IR7上的中断请求被屏蔽,只响应INT0中断CS8259AEQU0A000HCS8259BEQU0A001HDATASEGMENTNUMDB5DUP(?);开辟三个空间的缓存LEDMAP:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;数码管显示0到9的字型代码 DB7FH,6FHLEDDMAP:DB0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H DB0FFH,0EFH;包括小数点的显示DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATADELAYPROCNEAR;延时子程序PUSHBXPUSHCXMOVBX,0MOVCX,100A1:INCBXLOOPA1POPCXPOPBXRETDELAYENDPIENTERPROCNEAR;中断服务程序PUSHAXPUSHDXMOVDX,CS0809;0809端口地址INAL,DX;读入结果LED: ;转换为原始电压值显示程序 MOVBL,0C4H;乘以5/256*10000=196MULBL;AX=AL*BL,得16位结果PUSHAX;压栈,存入结果MOVBX,0001HPOPAXMULBX;将AX扩展为32位,结果在DX:AX中MOVBX,64H;100DIVBX;DX:AX/BX,得32位,商在AX中,余数在DX中DIVBL;AX/BL,得16位,商在AL中,余数在AH中MOV[SI],AL;整数部分,结果放进NUMMOVSI,OFFSETNUM;段码地址,指向七段码表MOVAL,AHMOVAH,00HMOVBL,0AHDIVBL;再除10MOV[SI+1],AL;AL中为小数点后第一位MOV[SI+2],AH;AH中为小数点后第二位DIVBL;再除10MOV[SI+3],AH;AL中为小数点后第三位DIVBLMOV[SI+4],AH;AH中为小数点后第四位MOVAL,[SI]MOVDI,OFFSETLEDDMAP;段码地址,查表,显示第一位包括小数点MOVAH,0ADDDI,AXMOVAL,[DI]MOVDX,PORTAOUTDX,ALMOVDX,PORTCMOVAL,11101111BOUTDX,AL;选通第一位数码管,整数位CALLDELAY MOVAL,[SI+1]MOVDI,OFFSETLEDMAPMOVAH,0ADDDI,AXMOVAL,[DI]MOVDX,PORTAOUTDX,ALMOVDX,PORTCMOVAL,11110111BOUTDX,AL;选通第二位数码管,小数点后第一位CALLDELAYMOVAL,[SI+2]MOVDI,OFFSETLEDMAPMOVAH,0ADDDI,AXMOVAL,[DI]MOVDX,PORTAOUTDX,ALMOVDX,PORTCMOVAL,11111011BOUTDX,AL;选通第三位数码管,小数点后第二位CALLDELAYMOVAL,[SI+3]MOVDI,OFFSETLEDMAPMOVAH,0ADDDI,AXMOVAL,[DI]MOVDX,PORTAOUTDX,ALMOVDX,PORTCMOVAL,11111101BOUTDX,AL;选通第四位数码管,小数点后第三位CALLDELAYMOVAL,[SI+4]MOVDI,OFFSETLEDMAPMOVAH,0ADDDI,AXMOVAL,[DI]MOVDX,PORTAOUTDX,ALMOVDX,PORTCMOVAL,11111110BOUTDX,AL;选通第五位数码管,小数点后第四位CALLDELAYMOVDX,CS0809MOVAL,0OUTDX,ALMOVDX,CS8259AXORAX,AX;AX置零MOVAL,20H;中断服务程序结束指令OUTDX,ALPOPDXPOPAXIRETIENTERENDPIINITPROCNEAR;初始化8259AMOVDX,CS8259A;偶地址MOVAL,ICW1;00010011B,上升沿触发,单片8259A,需要ICW4OUTDX,AL;写ICW1用偶地址MOVDX,CS8259B;奇地址MOVAL,ICW2;中断源IR0-IR7,中断类型号为40H-47HOUTDX,AL;写ICW2用奇地址MOVAL,ICW4;正常全嵌套,非自动EOI,工作在8086/8088方式OUTDX,AL;写ICW4用奇地址MOVAL,OCW1;11111110B,IR1-IR7上的中断请求被屏蔽,只响应INT0中断OUTDX,AL;写OCW1用奇地址RETIINITENDPSTARTPROCNEARMOVAX,DATAMOVDS,AXMOVSI,OFFSETNUMMOVDX,CONTROL;8255A控制端命令口MOVAL,MODEOUTDX,AL;输出8255控制字到命令口CLI;屏蔽外部中断CALLIINIT;调用初始化8259AMOVAX,0;初始化中断向量表MOVES,AXMOVDI,4*ICW2;中断号LEAAX,IENTER;设置中断入口地址(灯的显示)STOSWMOV[BX],AXMOVAX,SEG IENTERSTOSWMOVSI,OFFSET NUM;代码段地址为0MOVAL,0;初始值为0MOVDX,CS0809OUTDX,AL;启动模/数转换芯片STI;将处理器标志寄存器中断标志置1,允许中断LP: NOP;短暂延时程序,等待中断 JMPLPCODEENDSENDSTART主要参考文献李干林.微机原理及接口技术实验指导书.北京大学出版社,2010年10月周荷琴.微型计算机原理及接口技术(第四版).中国科学技术大学出版社,2008年1月目录TOC\o"1-2"\h\z\u第一章总论 1一、项目概况 1二、项目提出的理由与过程 6三、项目建设的必要性 8四、项目的可行性 12第二章市场预测 15一、市场分析 15二、市场预测 16三、产品市场竞争力分析 19第三章建设规模与产品方案 22一、建设规模 22二、产品方案 22三、质量标准 22第四章项目建设地点 25一、项目建设地点选择 25二、项目建设地条件 25第五章技术方案、设备方案和工程方案 28一、技术方案 28二、产品特点 30三、主要设备方案 32四、工程方案 32第六章原材料与原料供应 35一、原料来源及运输方式 35二、燃料供应与运输方式 35第七章总图布置、运输、总体布局与公用辅助工程 37一、总图布置 37二、运输 38三、总体布局 38四、公用辅助工程 39第八章节能、节水与安全措施 44一、主要依据及标准 44二、节能 44三、节水 45四、消防与安全 45第九章环境影响与评价 47一、法规依据 47二、项目建设对环境影响 48三、环境保护措施 48四、环境影响评价 49第十章项目组织管理与运行 50一、项目建设期管理 50二、项目运行期组织管理 52第十一章项目实施进度 55第十二章投资估算和资金筹措 56HYPERL

温馨提示

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

评论

0/150

提交评论