电子专业课设报告八路数据采集循环显示_第1页
电子专业课设报告八路数据采集循环显示_第2页
电子专业课设报告八路数据采集循环显示_第3页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计说明书课程设计名称:专业课程设计课程设计题目:八路数据循环采集显示学院名称:信息工程学院专业:电子信息工程班级: 100414 班学号:10041402姓名: 高飞红评分:教师: 徐琦王忠2013_年 7 月 3 日摘要数据采集是指将位移、流量、温度、压力等模拟量采集、转换成数字量后, 再由计算机进行存储、处理、显示或打印。数据采集技术是信息科学的一个重要 组成部分,信号处理技术、计算机技术,传感器技术是现代检测技术的基础。数 据采集技术则正是这些技术的先导,也是信息进行可靠传输,正确处理的基础。 在工业生产中,对生产现场的工艺参数进行采集、监视和记录,这样能提高产品 的质量、降低成本

2、。在科学实验中,对应用数据进行实时采集,这样获得大量的 动态信息,是研究物理过程动态变化的有效手段,也是获取科学奥秘的重要手段 之一。数据采集系统性能的好坏, 取决于它的精度和速度, 在精度保证的条件下提 高采样速度,满足实时采集、实时处理和实时控制的要求。本设计待测的输入电压为8路,电压范围为05V,使用目前广泛使用的AT89C51 来做控制系统,用ADC080来进行模拟电压的采集及模数转换,实现采集8路数据, 并将结果在四位一体数码管上进行显示。 该系统主要包括几大模块: 数据采集模 块、A/D转换模块、控制模块、显示模块。显示部分由数码管显示构成。该数字 电压表具有电路简单,成本低等优点

3、,可以方便地进8路A/D转换量的测量。关键词:电压采集、ADC0809 A/D转换、单片机89C51数码管显示目录第一章 设计内容及要求1.1 设计要求 11.2 提高要求 1第二章系统框图与工作原理22.1 硬件组成框图 22.2 软件系统框图2.3 工作原理分析 4第三章器件说明53.1 ADC0809 模数转换芯片 53.2 AT89C51 单片机 63. 3 4个共阴7段数码管显示器 7第四章 硬件各模块设计说明 94.1 模拟数据输入电路4.2 AD转换电路 94.3 数码管显示电路 104.4 方式控制电路 11第五章软件子程序设计说明135.1 ADC 模数转换程序 135.2

4、数据处理子程序 145.3 数码管显示程序 16第六章系统调试及结果分析196.1 硬件调试及分析 196.2 软件调试及分析 206.3 调试结果 20结论 22参考文献 2324附录 1 八路数据采集的原理总图25附录 2 程序清单及注释第一章设计内容及要求1.1 设计要求(1) 对8路模拟电压信号进行采集并循环显示(2) 模拟电压变换范围为:0 - 5V(3) 测量精度小于土 2%(4) 测量温度用3位LED显示器显示,1位显示循环通道8路模拟量一变换单片机显 示1.2提高要求(1) 通过按键模块的操作可以选择 8路循环显示,也可以选择某条单路显示(2) 做出的八路采集器,应该在精度和采

5、集信号的稳定程度方面加以强化。(3) 做出的产品在实际中能够经久耐用。第二章系统框图与工作原理数据采集系统包括模拟信号的输入、转换及处理。模拟信号变成数字形式后 顺序存储、传输、处理和显示。数据收集的基本手段是模数转换,它是将来自各 式各样传感器的模拟量实时地、准确地测量或汇集起来,送入计算机实时处理, 并输出相应的控制信号以实现对物理系统的控制或记录。2.1硬件组成框图滑动变阻器0|* 丨1模拟11电压0809 中滑动变阻器7T采集行转 进ADMCS-51单片机换图2.1硬件系统框图数码管显示如图2.1所示,该系统主要包括几大模块:数据采集模块、 A/ D转换模块、控 制模块、显示模块。采用

6、AT89C5作为控制模块,ADC080作为A/D转换模块的核 心,ADC080本身具有8路模拟量输入端口,通过C B A, 3位地址输入端,能从 8路中选择一路进行转换。如每隔一段时间依次轮流改变 3位地址输入端的地址, 就能依次对8路输入电压进行测量。数码管的显示采用软件译码动态显示,通过按键模块的操作可以选择8路循环显示,也可以选择某条单路显示2.2软件程序框图图2.2程序流程框图编程思想:首先在启动A/D转换,因转换需要一定的时间,所以需延时等待;然后读取数据,利用软件编程,将二进制数转换为十进制数,送到数码管显示; 从左到右轮流点亮显示器各位, 对于显示器的每一位来说, 每隔一段时间点

7、亮一 次,利用人的视觉暂留功能可以看到整个显示, 但必须保证扫描速度足够快, 字 符才不闪烁,数码管的第四位显示通道数,前三位显示0255的采集数据。2.3 工作原理分析依据综合课程设计的要求,利用 ADC0809 设计一个单通道模拟电压采集显示 电路,要求对所接通道变化的模拟电压值进行采集, 采集来的数字量送至数码管 指示出来,通过相关转换在数码管上精确显示出来。数据采集电路是系统的主要组成部分, ADC080具有8路模拟量输入通道IN0 IN7,通过3位地址输入端C B A(引脚2325)进行选择。引脚22为地址锁存控 制端ALE当输入为高电平时,C、B、A引脚输入的地址锁存于ADC080

8、内部锁存 器中,经内部译码电路译码选中相应的模拟通道。 引脚6为启动转换控制端 START, 当输入一个2 US宽的高电平脉冲时,就启动ADC080开始对输入通道的模拟量进 行转换。引脚7为A/D转换器,当开始转换时,EOCI号为低电平,经过一段时间, 换结束,转换结束信号E0(输出高电平,转换结果存放干ADC080内部的输出数据 寄存器中。引脚9脚为A/D转换数据输出允许控制端0E当0E为高电平时,存放 于输出数据锁存器中的数据通过 ADC080的数据线DO-D7输出。引脚10为ADC0809 的时钟信号输人端CLOCK显示数码管分别用两个锁存器来控制它的位选和段选, 利用软件编程启动AD专

9、换之后,采用延时的方式等待数据送至P2口进行数据的处 理,即将十六进制转换为BC格式,处理之后送至P0口进行数据的显示,P1.5和 P1.6分别控制数码管的段选的位选信号。第 4 页 共 40 页第三章器件说明3.1 ADC0809模数转换芯片1) ADC0809内部逻辑结构ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻 辑的CMOS组件。它是逐次逼近式 A/D转换器,可以和单片机直接接口。图内部逻辑结构由上图可知,ADC0809由一个8路模拟开关、一个A/D转换器和一个三态输 出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转

10、换。三态输出锁器用于锁存 A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据2)ADC引脚结构ADC0809各脚功能如下:D7-D0: 8位数字量输出引脚。IN0-IN7 : 8位模拟量输入引脚。VCC : +5V工作电压。GND :地。REF( +):参考电压正端。REF(-):参考电压负端。START : A/D转换启动信号输入端。ALE :地址锁存允许信号输入端。(以上两种信号用于启动A/D转换).EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平OE:输出允许控制端,用以打开三态数据输出锁存器。CLK :时钟信号输入端(一般为 500K

11、HZ)。A、B、C:地址输入线。LW3LN2DV4EbTlTTV5TTVOIN6ADSTTBSTCKOCALED7OE136CLK5VCCTlVBJ5F 十DOCJIND VRKF-DIL2Z7 26 25232271 T5L71.615图3.1.2ADC0809芯片引脚3.2 AT89C51 单片机AT89C52具有以下标准功能:8k字节Flash,256字节RAM 32位I/O 口线, 看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中 断结构,全双工串行口,片内晶振及时钟电路。另外, AT89S52可降至0Hz静 态逻辑操作,支持2种软件可选择节电模式。掉电保护方式下

12、,RAh内容被保存, 振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。其引脚图,如图3.2所示占r.7遵A A2 二1 i1*3 1ie9FllMiP14 Pl士 PMpirBinT1ItJEAjVFm. to血泄rWKPIOPOLI a3 72 1 3 3J*脣2庁2 T20P271 ;* LI -ft- T!IDrlllI-.11)fi p r p p p F Dpo ClR3DALKTFP 3E1=T11311图3.2 80C52单片机引脚它一共有40个引脚,引脚又分为四类。其中有四个电源引脚,用来接入单片 机的工作电源。工作电源又分主电源、备用电源和编程电源。还有两个时

13、钟引脚 XTAL1 XTAL2还有由P0口、P1 口、P2口、P3口的所有引脚构成的单片机的输入 /输出(10 )引脚。最后一种是控制引脚,控制引脚有四条,部分引脚具有复位 功能。综上所述,单片机的引脚特点是:1. 单片机多功能,少引脚,使得引脚复用现象较多。2. 单片机具有四种总线形式:P0和P2组成的16位地址地址总线;P0分时复用 为8位数据总线;ALE PSEN RST EA和P3口的 INTO、INT1、TO、T1、WR RD以 及P1 口的T2、T2EXA成控制总线;而P3的RXDTX组成串行通信总线。3.3 4个共阴7段数码管显示器实验中我们采用的是四位共阴数码管,其管脚图如下:

14、AlA2 A3 b图3.3四位共阴数码管静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个 段码都由一个单片机的I/O端口进行驱动,或者使用如 BCD码二-十进制译码器 译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口 多,如驱动5个数码管静态显示则需要5X 8= 40根I/O端口来驱动,要知道一 个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器 进行驱动,增加了硬件电路的复杂性。第四章 硬件各模块设计说明4.1模拟数据输入电路为了使电路更加的直观,增加系统的可读性,将电位器的输出电压作为数据 采集模块的输入,模块图如下图所

15、示。RV4RV3RV2RV150k50kRV0RV7RV5 10四.:=W!D5Qk50K50k图4.1模拟数据输入图在此模块图中,使用了八个滑动变阻器,通过改变电位器是的电阻值,从而是INi端电压值发生改变,进而达到改变采集模块输入数据的目的。4.2 AD转换电路多路数据采集系统,通过多路模拟开关控制多路之间的切换,实现单片A/ D芯片对多路数据信号的逐个采集。模数转换的核心是模数转换器(ADC),即A/ D芯片。它将输入的模拟信号进行量化,即把连续的模拟信号转换为计算机能处理 的离散数字信号。模块图如下图所示。U1 CLOCK)U1JNO 2627JN2 2S7311N42IN5 3In

16、64716NO 3N1 IN2 !NIN4 Ig NpD 4 ADDS ADDC4l_EVREF(+) /REF(-j:f ljCLOCKSSTARTMHouriG:JF2 oursOUT4C-IJT5 cureOUT7 OUU2120二 ij 匸 jT uA DCOmF 1U3:A/4L804图4.2 ADC0809转换模块图上图所示原理图工作过程为:ALE的上升沿将A、B、C端选择的通道地址 锁存到8位A/D转换器的输入端。START的下降验启动8位A/D转换器进行转 换。A/D转换开始使EOC端输出低电平。A/D转换结束,EOC输出高电平。该 信号通常可作为中断申请信号。OE为读出数据允

17、许信号。OE端为高电平时, 可以读出转换的数字量。4.3数码管显示电路显示部分由4个八段共阴数码管和两片74LS373组成,数码管为动态扫描显 示,动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各 位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使 人的感觉好像各位数码管同时都在显示。模块图如下图所示。图431数码管显示电路此图为显示部分,其中第四个数码管实现所采集的通道号, 前面三个数码管 显示此通道的电压值,上电后系统正常工作,显示去最先显示通道0以及通道0的电压值,一秒后切换到通道

18、1,这样依次递增,当通道7显示完以后,又回到此模块为数码管的驱动电路,两片 74LS373实现数码管的动态扫描显示,U4 作为数码管的段选驱动,U5为位选驱动。4.4方式控制电路键盘模块实现的功能只显示某一通道的通道号和钙通道电压值。如下如所 示。R51DK图4.4方式控制电路此图中,按键采用的连接方式为矩阵式,这种方式的优点是,能充分利用资源,增加系统的可靠性。此键盘实现的功能是当按下第一个键是,数码管就只显0通道号和0通道的电压值,当释放按键,系统继续循环显示。加入此模块后, 能够更加直观地观察和检测每一个通道的电压值。矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组,在键盘中按键

19、数量较多时,为了减少I/O 口的占用,通常将按键排列成矩阵形式,如图 1 所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一 个按键加以连接。这样,一个端口就可以构成4*4=16个按键,比之直接将端口线 用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构 成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键 数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O 口作为输出端,而列线所 接的I/O 口则作为输入。这样,当按键没有按下

20、时,所有的输入端都是高电平, 代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样, 通过读入输入线的状态就可得知是否有键按下了。第五章软件设计与说明5.1 ADC模数转换程序模数转换测量子程序是用来控制对0809八路模拟输入电压的 AD转换,转换后的数值存于P2口中,其流程图如。5启动ADf贯叩!延时,等待转换完成1梅采样值给A1r转换成BCD码县示返回图5.1模数转换流程图START:CLR P3.6;STARTS位低NOPNOPNOPNOP;延时usSETB P3.6 ;将START引脚点平拉高NOPNOPNOPNOP ;延时 usCLR P3.6;又将 START拉低

21、RE:JB P3.7,RE;检测 AD 转换是否完成ACALL D10ms1;调用延时子程序ACALL AD;调用 AD 转换程序ACALL DISPRET;调用显示子程序5.2 数据处理子程序ADC0809转换之后输出的结果是8位二进制数。由公式 可知,当ADC080输出为(111111111)时,输入电压值 V =5. 00V当ADC0809俞出为(00000000)时,输 入电压值为0.000V;当ADC0809俞出为(10000000)时,输入电压值 V =2 . 50V。 由于单片机进行数学运算时结果只取整数部分, 因此当输出为 (10000000) 时计算 出的电压值V =2. O

22、OV很不准确。为了提高精确度,必须把小数部分保留,具 体运算方式如公式 (2) 。个位: Dout*196/10000 十分位: (Dout*196/1000)%10 百分位: (Dout*196/100)%10 千分位:( Dout*196/10 )%10 由此得到较为精 确的数值。图5.2十六进制转换为三位 BCD码Loopl子程序程吊流程圏AD:MOV R0,P2;将才采集好的值存于R0中MOV A,R0 ;将值存于寄存器A中MOV B,#51 ;给B赋值DIV AB; A/BMOV 30H,A;将最高位存于H中MOV A,B;将余数存于A中CLR F0;清 F0SUBB A,#1AH;

23、将 A 与相减MOV F0,C;借位存于 F0MOV A,#10 ;给 A 赋值为MUL ABMOV B,#51DIV ABJB F0,LOOP1ADD A,#5;此段为最高位转化LOOP1:MOV 31H,AMOV A,BCLR F0SUBB A,#1AHMOV F0,CMOV A,#10MUL ABMOV B,#51DIV ABJB F0,LOOP2ADD A,#5 ;此段为次高位的转化LOOP2:MOV 32H,A;最低位存于H中RET5.3 数码管显示程序DISP:MOV R4,#00HSETB P1.5SETB P1.6;显示最高位LOOP3: MOV DPTR,#TABMOV A,

24、30HMOVC A,A+DPTR;将最高位存入A中;查表ADD A,#80H;显示小数点SETB WELA2;位选选通NOPCLR WELA2;清位选SETB WELA1;置位选MOV P0,A;将显示值送P0 口显示MOV P0,#0FEH;延时 usNOPCLR WELA1ACALL D10ms1;次高位显示MOV DPTR,#TABMOV A,31H;将最次位存入A中MOVC A,A+DPTR;查表SETB WELA2MOV P0,#0FDHNOPCLR WELA2SETB WELA1MOV P0,ANOPCLR WELA1ACALL D10ms1;最低位显示MOV DPTR,#TABM

25、OV A,32HMOVC A,A+DPTR SETB WELA2 MOV P0,#0FBH NOPCLR WELA2 SETB WELA1 MOV P0,A NOPCLR WELA1ACALL D10ms1;通道号显示MOV DPTR,#TABMOV A,33HMOVC A,A+DPTR SETB WELA2 MOV P0,#0F7H NOPCLR WELA2 SETB WELA1 MOV P0,A NOPCLR WELA1 ACALL D10ms1 DJNZ R4,LOOP3 RE第六章 系统调试及结果分析6.1 硬件调试及分析第一步 目测。检查外部的各种元件或者是电路是否有断点。第二步 用

26、万用表测试。 先用万用表复核目测中有疑问的连接点, 再检测 各种电 源线与地线之间是否有短路现象。第三步 加电检测。给板加电,检测所有插座或是器件的电源端是否符合要求值第四步 联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器 件内部故障、 器件连接逻辑错误的一种硬件检查。 动态调试的一般方法是由近及 远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块, 当调试电路时, 与该元件无关的器件全部从用户系统中去掉, 这样可以将故障范 围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中, 在

27、对各块电路功能及各电路间可能存在的相互联系进行调试。 由分到合的调试既 告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及 远的分层,然后分层调试。 调试时,仍采用去掉无关元件的方法, 逐层调试下去, 就会定位故障元件了。在调试过程中我们发现在5V量程下,标准电压表的显示值2.50V,而数码管 显示 2.406;标准电压表显示 4.44V, 数码管示值为 4.420。数码管显示结果有误 差是由于ADC0809俞出的二进制码数转换为BCD码数的换算方法有一定误差导 致。起初我们开始用的ADC寸钟电路是单片机内部 ALE经过D触发器分频得到的, 但在实际电路中却不起作用,测 A

28、LE引脚无法检测到信号,导致0809无法采集 到模拟信号,得到的全为5V电压,最后我们采用的是直接外接一个 0.5M的外部 时钟电路给ADC0809芯片。模拟数据采集中原本设想的的是调节其中某一电位 器,其相对应的那一路电压发生改变, 但在实际运行过程中其相邻几路电压也随 之变化,经过分析,可能是模拟地和数字地不能接在一起,调整之后,问题得到 解决。6.2 软件调试及分析由于程序比较多,整体调试不容易发现和改正错误,故采取子程序调试的 方法,但要明确子程序的具体功能。例如:调试显示子程序时,只将显示子 程序进行汇编,确认无误后单步执行,观察CPU窗口和DATA窗口以及 CODE窗口相应单元的变

29、化是否跟预期的一样。如果有问题找出问题所在。采取各 个击破的方法调试好各个子程序。确定各子程序无误后,再调试完整的程序,要注意各子程序之间的衔接以 及和主程序之间的调用和返回。运行后,观察有无键盘显示功能。若运行结 果不正确,首先应根据程序运行的实际现象分析判断哪些因素可引起相关故 障,再通过调试方法逐一认证和排除。通过反复调试,发现并排除软件与硬 件存在的各类问题,以满足系统设计的预期目的。在试验中,耗时最多的是终端服务程序, 程序中不但要考虑寄存器的复用问题, 还要 考虑在运行中断服务程序时将改变一些值。 所以在中断程序开始就将一些需要保 存的值推入堆栈, 在中断程序结束时弹出堆栈。 但在

30、调试中, 在判断按了某个键 后,跳到 RETI 时忘了将压入堆栈的值弹出堆栈,程序没有报错,但键值读不出 来,一直检查,最后才发现了问题所在。改变位置后,程序就能够出来,按下指 定键后能够实现试验所要求的功能。6.3 调试结果上电之后, 程序开始从 0 通道开始循环采样。 数码管显示每一路模拟电压采样 的值并且能够显示通道号。 为了是功能更加完善, 我们多加了一个矩阵键盘。 在 此基础上按相应键号后, 从特定的通道开始进行循环采样并显示改变输入信号和 通道值。所有功能实现后,将采样值和实测值比较,误差比较大,且实测值的小 数位大于 5 时,第一位的小数的误差在 5之内,刚开始怀疑是硬件问题,

31、将八个 通道的值都比较后发现都存在一样的问题, 开始怀疑是软件问题。 在检查软件时 发现在判断是否加 5的标志的建立存在问题。 仔细分析后将问题解决后就能够将 误差控制在百分之二内。采集通道号01234567实际值(V)2.41.43.00.42.41.32.12.4显示值(V)2.41.32.90.42.51.42.02.4通过实际显示值与万用表测得的数据可知, 我们的八路采集系统是可靠的, 可以很好的采集到格各路的数据并且准确的显示出来!第21页共40页总结经过这此单片机课程设计 , 同学们学会了很多东西。比如,对汇编语言的理解就已经有了一个更进一步的理解, 同时也对那些同 学们已经学过的

32、各种计算机语言进行了一个简单的对比。 在经过大一的语言课程 设计和大三的电子电路课程设计以及此次单片机课程设计。 使同学们养成了模块 化工程设计方法的习惯, 在设计功能模块时候, 得先确定是什么功能模块, 并绐 模块读取地址或数据和存储地址或传出变量。 只要这样, 在需要时候进行调用或 中断就可以了。经过这次经历, 同学们不仅加深了对单片机理论的理解, 还熟悉和掌握了单 片机的许多基础设计语言和模拟单片机软件程序, 将理论很好地应用到实际当中 去,而且同学们还学会了如何去培养他们的创新精神, 从而不断地战胜自己, 超 越自己。创新, 是要同学们学会将理论很好地联系实际, 并不断地去开动自己的

33、大脑,从为人类造福为意愿出发,做自己力所能及的,别人却没想到的事。使之 不断地战胜自己, 超越前人。这个设计过程中, 同学们遇到过许多次失败的考验, 就比如,自己对实际生活中的不了解给整个设计带来的困扰,真想要就此罢休, 然而,就在想要放弃的那一刻,同学们明白了,原来结果并不那么重要,更应该 引起同学们重视的是创作的这一整个过程。这次课程设计让同学们受益匪浅, 无论从知识上还是其他的各个方面。 上课 的时候的学习从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味。 但在实习中见过甚至使用了单片机及其系统, 能够理论联系实际的学习, 开阔了 眼界,提高了单片机知识的理解和水平。 在这次课程

34、设计中又让我体会到了合作 与团结的力量,当遇到不会或是设计不出来的地方,同学们就会在QC群里讨论或者是同学之间相互帮助。 团结就是力量, 无论在现在的学习中还是在以后的工 作中,团结都是至关重要的,有了团结会有更多的理念、更多的思维、更多的情 感。单片机是很重要的一门课程,老师和一些工作的朋友都曾说过,如果学好 一门单片机, 就凭这个技术这门手艺找一个好工作也不成问题。 尽管同学们在课 堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习,学好了单片机也就多了一项生存的本钱。最后感谢老师对学生的精心指导和帮 助,感谢同学们对我的帮助参考文献1 孙涵芳 MCS-51 系列单片机原

35、理及应用M 北京航空航天大学出版社 1996-42 夏继强. 单片机实验与实践教程 . 北京:北京航空航天大学出版社 , 20013 尹建华、张惠群微型计算机原理与接口技术.第2版M.北京:高等教育出版社, 20084 陈黎娟. 单片机技术实践教程 . 南昌:南昌航空大学出版社 , 2009-3 张先庭单片机原理、接口与C51应用程序设计.第1版M.北京:国防 工业出版社, 2011-12附录八路数据采集的原理总图第24页共40页附录二;位选信号接 P1.6;位选信号接 P1.7;R3清;给卩3 口赋值;P3.0为高转AN;P3.1为高转AN;P3.2为高转AN;P1 口清启动 AD 转换;将

36、R3值存于H中调用显示子程序通道号显示,当为时重新回到 跳到主函数延时;P3.0为高转ANA;P3.1为高转ANB程序清单及注释WELA1 BIT P1.6WELA2 BIT P1.7 ORG 0000HAJMP MAIN MAIN:MOV R3,#00HLK: MOV P3,#00111000BJB P3.0,ANJB P3.1,ANJB P3.2,ANMOV P1,R3 ACALL STARTMOV 33H,R3 ACALL DISP INC R3 CJNE R3,#08H,LK AJMP MAINAN: ACALL D10MSJB P3.0,ANAJB P3.1,ANBJB P3.2,A

37、NCAJMP LK;P3.2为高转ANCANA:MOV P3,#00000001B; P3口赋值 x01JB P3.5,AN0;当P3.5为高,则跳到通道显示通道的数据JB P3.4,AN1;当P3.4为高,则跳到通道显示通道的数据JB P3.3,AN2;当P3.3为高,则跳到通道显示通道的数据AJMP MAINANB:MOV P3,#00000010B;P3 口赋值 x02JB P3.5,AN3;当P3.5为高,则跳到通道显示通道的数据JB P3.4,AN4;当P3.4为高,则跳到通道显示通道的数据JB P3.3,AN5;当P3.3为高,则跳到通道显示通道的数据AJMP MAINANC:MO

38、V P3,#00000100B;P3口赋值 x04JB P3.5,AN6;当P3.5为高,则跳到通道显示通道的数据JB P3.4,AN7;当P3.5为高,则跳到通道显示通道的数据AJMP MAINAN0:CLR P1.0CLR P1.1通道信号采集与显示CLR P1.2; 000为通道地址MOV 33H,#00HACALL DISP ;通道号显示为ACALL STARTACALL DISPAJMP LKAN1:SETB P1.0 ;通道信号采集与显示CLR P1.1CLR P1.2 ;001为通道地址MOV 33H,#01HACALL DISP;显示通道号ACALL STARTACALL DI

39、SPAJMP LKAN2:CLR P1.0 ;通道信号采集与显示SETB P1.1CLR P1.2MOV 33H,#02HACALL DISPACALL STARTACALL DISPAJMP LKAN3:SETB P1.0 ;通道信号采集与显示SETB P1.1CLR P1.2MOV 33H,#03HACALL DISPACALL STARTACALL DISPAJMP LKAN4:CLR P1.0 ;通道信号采集与显示CLR P1.1SETB P1.2MOV 33H,#04HACALL DISPACALL STARTACALL DISPAJMP LKAN5:SETB P1.0 ;通道信号采

40、集与显示CLR P1.1SETB P1.2MOV 33H,#05HACALL DISPACALL STARTACALL DISPAJMP LKAN6:CLR P1.0 ;通道信号采集与显示SETB P1.1SETB P1.2MOV 33H,#06HACALL DISPACALL START;调用START子程序,开始AD转换ACALL DISP;调用显示子程序, 将所得的值在数码管显示AJMP LKAN7:SETB P1.0 ;通道信号采集与显示SETB P1.1SETB P1.2MOV 33H,#07HACALL DISPACALL START;调用START子程序,开始AD转换ACALL DISP;调用显示子程序, 将所得的值在数码管显示AJMP LK;AD采集开始子程序START:CLR P3.6; STARTS位低NOPNOPNOPNOP ;延时 usSE

温馨提示

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

最新文档

评论

0/150

提交评论