单片机AD转换模块设计.doc_第1页
单片机AD转换模块设计.doc_第2页
单片机AD转换模块设计.doc_第3页
单片机AD转换模块设计.doc_第4页
单片机AD转换模块设计.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

信息工程学院 电子信息工程专业 单片机课程设计报告题 目 单片机A/D转换模块设计 姓 名 学 号 班 级 指导教师 年 月 日要求:1指导教师按照课程设计大纲要求完成学生课程设计指导工作。2课程设计任务书由指导教师照大纲要求填写,内容要全面。3课程设计报告由参加本学生填写。课程设计结束时交指导教师。(打印稿一份,电子稿一份)4指导教师要根据每一位学生课程设计任务完成情况,认真审核设计报告,并在课程设计结束时,给出客观、准确的评语和成绩。5课程设计任务书和报告要语言流畅,图表正确规范。6本表要用钢笔、圆柱笔填写或打印,字迹工整。课程设计任务书班级 姓名 学号 课程设计题目 单片机A/D转换模块设计 课程设计起止日期 年 月 日 至 年 月 日 实习地点 课程设计内容与要求(包括:设计任务及要求、设计原理、所需仪器设备、验收标准)设计要求及任务:A/D模块:(1) 设计任务及要求及格:实现标准电压(05V)的A/D转换,并将转换数据在LED上显示。 中:在及格的基础上能对来自光纤传感器上的信号进行A/D转换并在及格的基础上能实现十进制LED显示。 良:对使用的光纤传感器进行标定,得到标定曲线或表,并将距离值显示在LED上。 优:距离显示精度0.01mm(2) 设计原理首先仔细研究电路原理图,根据原理图计算出ADC0809的地址,当单片机的WR信号有效时,产生一个启动信号,给0809的START引脚送入脉冲,对选中的通道进行转换,然后读取转换数据,同时调用LED显示调用程序,当执行完上述步骤,再次启动转换0809,进行下一次的转换,接着中断结束返回,程序结束。(3) 所需仪器设备光纤传感器,实验板,仿真器,串联分压电路,万用表 指导教师 年 月 日1、 设计原理与技术方法:包括:电路工作原理分析与原理图、元器件选择、电路调试方法与结果说明;软件设计说明书与流程图、软件源程序代码、软件调试方法与运行结果说明。(1) 电路工作原理分析与原理图1 工作原理因为模拟信号在时间上是连续的,所以,在将模拟信号转换成数字信号时,必须在选定的一系列时间点上对输入的模拟信号进行采样,然后将这些采样值转换成数字量输出。ADC0809是逐次比较型A/D转换器 , 逐次比较型A/D转换器是集成ADC芯片中使用最广泛的一种类型。它由电压比较器、逻辑控制器、D/A转换器及数码寄存器组成。逐次比较型A/D转换器的特点是转换速度较快,且输出代码的位数多,精度高。ADC0809可以将模拟电压值转换为数字量,用START与ALE信号开启ADC0809,当读写信号有效时则启动转换,启动之后等待转换完成(通过查询来实现),经过转换完成,本设计使用查询方式,没有转换完成则继续等待,转换完成则执行数字量的显示。A/D转换器的主要技术参数 :分辨率:分辨率是指输出数字量变化一个最小单位(最低位的变化),对应输入模拟量需要变化的量。 输出位数越多,分辨率越高。通常以输出二进制码的位数表示分辨率。相对精度:相对精度是指实际转换值偏离理想特性的误差。通常以数字量最低位所代表模拟输入 值来衡量,如相对精度不超过1/2LSB 。转换时间 :转换时间是指A/D转换器从接到转换命令起到输出稳定的数字量为止所需要的时间。它反映A/D转换器的转换速度。此外,还有输入电压范围、功率损耗等。集成A/D转换器典型芯片ADC0809的内部结构和各引脚的功能介绍 :ADC0809是较流行的中速廉价型单通道八位全MOS A/D转换器,它内部含时钟电路,只要外接一个电阻和一个电容就可由自身提供时钟信号,允许模拟输入信号是差动的或不共地的电压信号。ADC0809的工作过程如下:先送出控制信号使CS、WR为低电平,从而启动A/D转换器;当A/D转换器转换结束时有一低电平信号从A/D转换器的EOC端口输出;与之相连的系统得到这一信号后便可送出控制信号(读信号)使CS、RD为低电平,这时,转换后的数据便出现在D7D0端口上供系统读取。ADC0809是用CMOS工艺制成的逐次比较型A/D转换器,采用28引脚双列直插式封装。课程设计报告注:此表可加附页a. 模拟信号输入IN0IN7: IN0-IN7 为八路模拟电压输入线,加在模拟开关上,工作时采用时分割的方式,轮流进行A/D 转换。b. 地址输入和控制线 :地址输入和控制线共4 条,其中ADDA、ADDB 和ADDC 为地址输入线,用于选择IN0-IN7 上哪一路模拟电压送给比较器进行A/D 转换。ALE 为地址锁存允许输入线,高电平有效。当ALE 线为高电平时,ADDA、ADDB和ADDC 三条地址线上地址信号得以锁存,经译码器控制八路模拟开关通路工作。c. 数字量输出及控制线(11 条):START 为“启动脉冲”输入线,上升沿清零,下降沿启动ADC0809 工作。EOC 为转换结束输出线,该线高电平表示AD 转换已结束,数字量已锁入“三态输出锁存器”。D0-D7 为数字量输出线,D7 为最高位。OE为“输出允许”线,高电平时能使D0-D7 引脚上输出转换后的数字量。d. 电源线及其他(5 条):CLOCK 为时钟输入线,用于为ADC0809 提供逐次比较所需,一般为640kHz 时钟脉冲。Vcc 为+5V 电源输入线,GND 为地线。+VREF 和-VREF 为参考电压输入线,用于给电阻网络供给标准电压。+VREF 常和VDD 相连,-VREF 常接地。 ADC0809 芯片性能特点: 是一个逐次逼近型的A/D 转换器,外部供给基准电压;单通道转换时间116us;分辨率为8 位,带有三态输出锁存器,转换结束时,可由CPU 打开三态门,读出8 位的转换结果;有8 个模拟量的输入端,可引入8 路待转换的模拟量。ADC0809 的数据输出结构是内部有可控的三态缓冲器,所以它的数字量输出信号线可以与系统的数据总线直接相连。内部的三态缓冲器由OE 控制,当OE 为高电平时,三态缓冲器打开,将转换结果送出;当OE 为低电平时,三态缓冲器处于阻断状态,部数据对外部的数据总线没有影响。因此,在实际应用中,如果转换结束,要读取转换结果,则只要在OE 内引脚上加一个正脉冲,ADC0809 就会将转换结果送到数据总线上。1 设计原理图: A/D转换原理图:(见附录一) 工作原理: 首先根据原理图计算出ADC0809的地址,用IN0脚转换,ADDA,ADDB,ADDC引脚为000,即A0,A1,A2为000。地址锁存ALE和启动转换引脚START连接到74LS02芯片的1引脚,由74LS138的连线确定A15,A14,A13为001,确定启动0809的地址为2000H。控制LED显示的74LS373的LE端接74LS138的Y3脚,即A15,A14,A13为011,确定其地址为60H。由于LED显示采用动态显示,所以要确定各位地址,第四位与74LS138的Y7脚相连,即A15,A14,A13为111,确定第四位的地址为0E0H;第三位与74LS138的Y6脚相连,即A15,A14,A13为110,确定第三位的地址为0C0H。首先用中断方式启动0809的转换,在从中断中读取转换数据,调用显示程序送入LED相应的位显示出对应的十六进制数。同时,把外接滑动电阻电路与热敏电阻传感器电路,实现标准电压(05V)的A/D转换和热敏电阻传感器信号在十进制LED上输出。 (二)电路调试方法与结果说明: 硬件电路的调试方法:确定各个元件单元是否正确工作 1.测试发光二极管是否正确工作,首先根据原理图确定发光二极管的选通地址,控制发光二极管的74LS373的LE端与74LS138的0脚输出相连,即A15,A14,A13为000,其次编写程序点亮二极管,如果正确点亮的话说明发光二极管部分正常工作。 2.测试数码显示管是否正常工作,同理先计算出LED的字型口和字位口地址,逐一点亮显示,如果能够按照编写的程序正常显示数字即可正常工作,最后就可以对其他硬件进行检查甚至焊接。 调试结果:二极管能够正常工作,LED能正常显示,至此硬件调试结束。 软件设计说明书与流程图 软件设计说明:硬件调试的软件是通过给发光二极管和LED赋值,能够根据所编写的程序实现正常显示即可。ADC0809转换软件设计采用查询的方式,等待0809转换完毕后会引起P3.3为低电平,如果查询P3.3为低电平则进行LED的十六进制数字显示,显示完毕后再次启动转换等待转换结束。程序流程图:(三)软件源程序代码及格十六进制显示源代码: ORG 0000H AJMP START ORG0013H ;int1的入口地址 AJMP MOVD START: MOV R1,#30H ;设立数据存储区指针 SETB IT1 ;选择INT1为边沿触发方式,设置中断优先级 SETB EA ; CPU开放中断INT1 SETB EX1 ; 允许外部中断1中断 MOV SP,#70H ;入口 MOV 31H,#00H MOV 32H,#00HMAIN: MOV DPTR,#2000H ;0809地址 MOVX DPTR,A ;启动转换LOOP: LCALL DISPLAY;调用显示程序,等待中断 SJMP LOOP MOVD: PUSH ACC PUSH PSW ;入栈保存 CLR EA CLR EX1 ;关中断 MOV DPTR,#2000H ;0809地址 MOVX A,DPTR ;读取数据 MOV R1,A LCALL DISPLAY SETB EA SETB EX1 ;开中断 POP PSW POP ACC ;出栈 MOV DPTR,#2000H MOVX DPTR,A ;重新启动转换 RETI -将十六进制数高位与低位分别放入不同的内存单元中-DISPLAY:MOV R1,#30H MOV A,R1 ;数据处理 ANL A,#0FH ;屏蔽高位 MOV31H,A ;最低位保存至31H单元 MOVA,R1 SWAP A ;翻转高低位 ANL A,#0FH ;屏蔽高位 MOV32H,A ;第二位保存至32H单元-程序显示- MOV A,31H ;取出低位 MOV DPTR,#TAB ;读表头 MOVC A,A+DPTR ;查表 CLR P3.6 ;138的E1 E2 低电平有效 MOVP2,#60H ;选中74LS373芯片 MOV P0,A ;当LE有效时把数据A锁存 MOVP2,#0E0H ;显示最低位 LCALL DELAY MOV A,32H ;取出高位 MOV DPTR,#TAB MOVC A,A+DPTR CLR P3.6 MOVP2,#60H ;选中74LS373芯片 MOV P0,A MOVP2,#0C0H ;显示第2位 LCALL DELAY RET-延时子程序-DELAY: MOV R5,#0FH ;延时子程序 DL4: MOV R4,#5FH DL5: NOP NOP DJNZ R4,DL5 DJNZ R5,DL4 RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H ;LED共阳级段码 DB 80H,90H,88H,83H,0A7H,0A1H,86H,8EH,0FFH END及格程序运行结果:经过调试运行程序,达到及格要求输出0-5V的A/D转换并在LED上准确输出。中十进制LED显示程序: ORG 0000H AJMP START ORG0013H ;int1的入口地址 AJMP MOVDSTART: MOV R1,#30H ;设立数据存储区指针 SETB IT1 ;选择INT1为边沿触发方式,设置中断优先级 SETB EA ; CPU开放中断INT1 SETB EX1 ; 允许外部中断1中断 MOV SP,#70H ;入口 MOV 31H,#00H MOV 32H,#00H MOV 33H,#00HMAIN: MOV DPTR,#2000H ;0809地址 MOVX DPTR,A;启动转换LOOP: LCALL DISPLAY ;调用显示程序,等待中断 SJMP LOOPMOVD: PUSH ACC PUSH PSW ;入栈保存 CLR EA CLR EX1 ;关中断 MOV DPTR,#2000H ;0809地址 MOVX A,DPTR ;读取数据 MOV R1,A LCALL DISPLAY SETB EA SETB EX1 ;开中断 POP PSW POP ACC ;出栈 MOV DPTR,#2000H MOVX DPTR,A ;重新启动转换 RETI ; 中断返回继续执行DISPLAY:MOV R1,#30H MOV A,R1 ;数据处理 MOV B,#100 DIV AB MOV 33H,A MOV A,#10 XCH A,B DIV AB MOV 32H,A MOV 31H,B MOV A,31H ;取出个位 MOV DPTR,#TAB ;读表头 MOVC A,A+DPTR ;查表 CLR P3.6 ;138的E1 E2 低电平有效(清除) MOVP2,#60H ;选中74LS373芯片 MOV P0,A ;当LE有效时把数据A锁存 MOVP2,#0E0H ;显示最低位 LCALL DELAY MOV A,32H ; 取出十位 MOV DPTR,#TAB MOVC A,A+DPTR CLR P3.6 MOVP2,#60H ;选中74LS373芯片 MOV P0,A MOVP2,#0C0H ;显示第2位 LCALL DELAY MOV A,33H ; 取出百位 MOV DPTR,#TAB MOVC A,A+DPTR CLR P3.6 MOVP2,#60H ;选中74LS373芯片 MOV P0,A MOVP2,#0A0H ;显示第2位 LCALL DELAY RETDELAY: MOV R5,#0FH ;延时子程序 DL4: MOV R4,#5FH DL5: NOP NOP DJNZ R4,DL5 ; R4-1是否等于0,如果为零顺序执行,否则跳到标号DL5 DJNZ R5,DL4 ; R5-1是否等于0,如果为零顺序执行,否则跳到标号DL4 RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,90H,88H,83H,0A7H,0A1H,86H,8EH,0FFH END中程序运行结果:经过连接热敏电阻传感器,运行程序,发现程序正常运行达到中的要求并能转换成十进制输出。(四)软件源程序代码软件调试方法与运行结果说明软件调试:打开伟福仿真软件的界面,打开文件选中写好的程序,另存为.asm的文件,设置好仿真器进行编译,首先改正语法错误,语法改正后再进行程序功能的调试,如果不能显示可以采用执行单步检查。 执运行结果:运行及格程序时,始终无法正确显示十六进制数,经调试发现时在中断等待时 , 没有调用显示,加上语用语句后显示正常。运行中程序,调试热敏电阻传感器符合中要求输出,无异常问题。二、课程设计工作记录:包括:设计步骤与时间安排、调试步骤与时间安排、课题完成结果说明(一)设计步骤与时间安排2010年6月12到2010年6月13日:在指导老师给出参考设计题目之后,认真研究, 选择实习所研究的模块;确定选题之后, 检索资料,通过去图书馆借阅有关书籍还有上网查资料等,基本搜集到了实习所需的大量知识材料,形成设计结构框图,即设计思路清晰确定了选题,并开始进行资料查找。2010年6月14日到 2010年6月19日: 根据选题所给出的设计要求的花了一周的时

温馨提示

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

评论

0/150

提交评论