多路大数据采集系统设计报告材料.doc

上传人:李司机 文档编号:1119463 上传时间:2022-06-27 格式:DOC 页数:31 大小:235.67KB
返回 下载 相关 举报
多路大数据采集系统设计报告材料.doc_第1页
第1页 / 共31页
多路大数据采集系统设计报告材料.doc_第2页
第2页 / 共31页
多路大数据采集系统设计报告材料.doc_第3页
第3页 / 共31页
多路大数据采集系统设计报告材料.doc_第4页
第4页 / 共31页
多路大数据采集系统设计报告材料.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《多路大数据采集系统设计报告材料.doc》由会员分享,可在线阅读,更多相关《多路大数据采集系统设计报告材料.doc(31页珍藏版)》请在三一办公上搜索。

1、word1 / 31目目 录录第 1 章绪论设计目的与要求 21.1 绪论 21.2 设计目的 21.3 设计要求 2第 2 章系统总体方案选择与说明3硬件设计框图32.2 软件设计框图 4第 3 章数据采集系统概述、工作原理与其说明5数据采集系统概述 5工作原理与其说明 5第 4 章各单元硬件设计与说明 7单片机的时钟源 74.2 ADC0809模数转换芯片 104.3 程序存储器和数据存储器电路设计 11第 5 章软件设计与说明 12设计条件 125.3 模块程序设计 15第 6 章调试步骤与使用说明 21第 7 章设计总结 22参考文献 23附录 24A、系统电路原理图:24B、程序 2

2、5电气信息学院课程设计评分表 31word2 / 31第第 1 1 章章 绪论设计目的与要求绪论设计目的与要求1.11.1 绪绪 论论随着计算机技术的飞速开展和普与,数据采集系统也迅速地得到应用。在生产过程中,应用这一系统可对生产现场的工艺参数进展采集,监视和记录,为提高产品质量,降低本钱提供信息和手段。在科学研究中,应用数据采集系统可获得大量的动态信息,是研究瞬间物理过程的有力工具,也是获取科学奥秘的重要手段之一。总之,不论在哪个应用领域中,数据采集与处理越与时,工作效率就越高,取得的经济效益也越高。本设计采用 ATMEGA16 单片机作为数据采集系统的控制核心,系统分为数据采集模块、A/D

3、 转换模块、系统控制模块、键盘模块、显示模块等几局部。1 1. .2 2 设设计计目目的的利用单片机为核心设计一个多路数据采集系统,要求每个通道的信号经 A/D 转换后以 10 进制数在 LED 显示器上显示,并能够通过键盘操作切换显示不同通道的采样值。1 1. .3 3 设设计计要要求求本课题要求利用单片机为核心设计一个八路数据采集系统,要求每个通道的信号经A/D 转换后以 10 进制数在 LED 显示器上显示,并能够通过键盘操作切换显示不同通道的采样值。本系统中包括8 路模拟量输入,围0-5V。要求对 8 个通道的模拟量进展巡回采样,再将采集的数据进展工程量化转换后在LED 显示器上显示,

4、并能通过按键切换所选通道的采样数据。word3 / 31第第 2 2 章章系系统统总总体体方方案案选选择择与与说说明明典型数据采集系统配置如图 2.1 所示,有的已实现集成化,多个传感器的预处理电路输出接入多路模拟开关,然后经过取样/保持电路和 A/D转换后进入 CPU 系统。生产工艺现场传感器1传感器2传感器R.预处理系统多路模拟开关.A/D转换器计算机或其他微处理 器 图 2.2 典型数据采集系统配置图(1) 传感器是经典的利用各种原理将被测物理量转化为电信号。(2) 预处理模块是将模拟信号进展调整、放大,在模拟电路方便实现的根底上对信号进展自动补偿、自动校正,抑制温漂的模块。(3) 数据

5、采集 A/D 模块将模拟信号进展采样、量化,转化为数字信号.(4) 计算机可能为 PC 机、单片机或其他专用处理器,具有数据存储、记忆与信息处理功能,具有判断、决策处理功能。word4 / 312.22.2 软件设计框图软件设计框图信号选择单通道/八通道循环A/D 转换并送到 70H77H 单元选择被测通道,并确定存储地址指定内容送到显示器A/D 转换值存入 78H7AH 单元 通道选择信号随动显示循环显示A/D 转换值存入 78H7AH 单元 A/D 转换并送到 70H77H 单元移动指针指向下通道存储地址选择被测通道,并确定存储地址指定内容送到显示器开始word5 / 31第第 3 3 章

6、章 数数据据采采集集系系统统概概述述、工工作作原原理理与与其其说说明明3.13.1 数据采集系统概述数据采集系统概述数据采集是信息科学的一个主要组词成局部,信息技术的核心是信息获取,通信和计算机技术,常被称为 3C 技术,其息获取是根底和前提。数据采集是获取信息的主要手段,它随着科学技术的进步而得到迅速开展。目前各种各样的数据采集系统已得到广泛应用,新型数据采集系统仍不断涌现。随着科学技术的开展与普与,数字设备正越来越多地取代模拟设备,在生产过程控制和科学研究等广泛领域中,计算机控制技术正发挥着越来越主要的作用,然而外部世界的大局部信息是以连续变化的物理量形式出现的,例如温度、压力、位移、速度

7、等。要将这些信息送入计算机进展处理,就必须先将这些连续的物理量离散化,并进展量化编码,从而变成数字量,这个过程就是数据采集。数据采集系统是计算机与外部世界联系的桥梁。数据采集技术是信息科学的主要组成局部,它是以传感器技术、信号检测与处理、电子学、计算机技术等方面技术为根底而形成的一个综合应用技术学科,已广泛应用于国民经济和国防建设的各个领域,并且随着科学技术的开展,尤其是计算机技术的开展与普与,数据采集技术有广阔的开展前景。工作原理与其说明工作原理与其说明1 、采用 80C52 单片机和 ADC0809 构成一个八路数据采集系统。2 、能够顺利采集各个通道的信号。3 、采集信号的动态围:05V

8、。4 、每个通道采样速率:100 sps。5 、在面包板上完成电路,将采集的数据送入单片机 70H77H 存储单元。word6 / 316 、编写相应的单片机采集程序到达规定的性能:8 路输入模拟信号数值显示电路由 A/D 转换、数据处理与显示控制等组成。A/D 转换由集成电路 0809 完成。0809 具有 8 路模拟输入端口,地址线2325 脚可决定对哪一路模拟输入作 A/D 转换。第 22 脚为地址锁存控制,当输入为高电平时,对地址信号进展锁存;6 脚为测试控制,当输入一个 2 微秒宽脉冲时,就开始 A/D 转换;7 脚为 A/D 转换完毕标志,当A/D 转换数据完毕时,7 脚输出高电平

9、;9 脚为 A/D 转换数据输出允许控制,当 OE 脚为高电平时,A/D 转换数据从端口输出;10 脚为 0809 的时钟输入端,利用单片机 30 脚的六分频晶振信号再通过 74hc193 二分频得到。单片机的 P1、P3 端口作 4 位 LED 数码管显示控制,P0 端口作 A/D 转换数据读入用,P2 端口用作 A/D 转换控制。word7 / 31第第 4 4 章章 各单元硬件设计与说明各单元硬件设计与说明单片机的时钟源单片机的时钟源单片机时钟源电容 C1、C2 和晶振(6MHz)组成 8031 的外部时钟源电路如图 ,将C1、C2 和晶振组成的回路称为 LC 并联谐振回路,晶振起电感的

10、作用,谐振频率由晶振的频率所决定,8031 单片机的晶振可以选 12MHz12MHz。电容 C1、C2 的取值一般在 20Pf100pF 之间(在 60pF70pF 时,频率比拟稳定)。图单片机时钟源采用 80C52 单片机作为数据处理与显示芯片,80C52 的芯片管脚图如下:图 3.1 80C52 单片机引脚图word8 / 31各管脚说明:VCC40: 供电电源 GND20:接地P03239口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。

11、在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进展校验时,P0输出原码,此时 P0 外部必须被拉高。P118口:P1 口是一个部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。P22128口:P2 口为一个部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入

12、时, P2 口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进展存取时, P2 口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进展读写时,P2 口输出其特殊功能存放器的容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。P31017口:P3 口管脚是 8 个带部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平, P3 口将输出电流ILL这是由于上拉的缘故。 P3 口作

13、为 AT89C51 的一些特殊功能口,管脚 备选功能 word9 / 31表 4.1 80C52 单片机 P3 口引脚功能端口引脚第二功能RXD (串行输入口)TXD串行输出口 (外部中断 0)0INT外部中断 11INTT0定时器 0T1定时器 1外部数据存储器写选通WR外部数据存储器都选通RDRST9:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。PSEN29:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两 /PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。EA / VPP31:当/EA 保持低电平时,如此在

14、此期间外部程序存储器0000H-FFFFH,不管是否有部程序存储器。注意加密方式1 时,/EA 将部锁定为 RESET;当/EA 端保持高电平时,此间部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源VPP。 XTAL118:反向振荡放大器的输入与部时钟工作电路的输入。 XTAL219:来自反向振荡器的输出。电容 C1、C2 和晶振(6MHz)组成 8031 的外部时钟源电路,将 C1、C2和晶振组成的回路称为 LC 并联谐振回路,晶振起电感的作用,谐振频率由晶振的频率所决定,8031 单片机的晶振可以选 12MHz12MHz。电容C1、C2 的取值一般在 20Pf10

15、0pF 之间(在 60pF70pF 时,频率比拟稳定)。word10 / 314 4. .2 2 A AD DC C0 08 80 09 9模模数数转转换换芯芯片片本系统采用 ADC0809 来转换模拟信号,其管脚图如下:ADC0908 引脚功能说明:图 4.2 ADC0809 引脚图ADC0809 引脚功能说明 IN0IN715,2628:8 路模拟量输入端。 2-12-8.17.18.19.20.21:8 位数字量输出端。 ADDA、ADDB、ADDC2325:3 位地址输入线,用于选通 8 路模拟输入中的一路 ALE22:地址锁存允许信号,输入,高电平有效。 START6: AD 转换启

16、动脉冲输入端,输入一个正脉冲 至少 100ns 宽使其启动脉冲上升沿使 0809 复位,下降沿启动 A/D转换。 EOC7: AD 转换完毕信号,输出,当 AD 转换完毕时,此端输出一个高电平 转换期间一直为低电平 。 OE9:数据输出允许信号,输入,高电平有效。当AD 转换完毕时,此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK10:时钟脉冲输入端。要求时钟频率不高于640KHZ。 word11 / 31REF+、REF-12.16:基准电压。 Vcc11:电源,单一 5V。GND13:地。4.34.3 程序存储器和数据存储器电路设计程序存储器和数据存储器电路设计EPROM271

17、6 是 8031 单片机的程序存储器,用于存放指令,常数与表格。其地址围为 0000H07FFH。片选端接地,表示 2716 总是处于选通状态。CS开机后,由 8031 的PSEN 控制端(低电平有效),自动执行从 0000H 开始的程序。如果从OEEPROM 中取常数或查表,如此需要执行 MOVCA,A+DPTR 指令。RAM6116 是 8031 单片机的数据存储器,用于存放采集的数据与数据的计算与处理结果等。它的地址围也是 0000H07FFH,但不会与 EPROM2716的地址发生冲突。因为它的片选端是通过 8031 的地址线控制的。当地SC址线 P26 =0 时,RAM6116 才选

18、通。8031执行 MOVXDPTR,A 指令可以产生信号,将累加器 A 的容送片外数据存RW储器。执行 MOVX A,DPTR 指令可以产生信号,将片外数据存储器由 DPTR 指RD定的地址单元中的容送至累加器 A。DPTR 表示 16 位的地址计数器的容,它可以通过执行 MOVDPTA,#addrl6 指令被赋值。word12 / 31第第 5 5 章章 软件设计与说明软件设计与说明设计条件设计条件本系统 8 路模拟量输入,围 0-5V。要求对 8 个通道的模拟量进展巡回采样,再将采集的数据进展工程量转换后在 LED 显示器上显示,并能通过按键切换所选通道的采样数据。编程思想:根据硬件电路图

19、,我们应用汇编语言进展编程。首先在 P2.4和 P2.3 引脚提供正脉冲,启动 A/D 转换,因转换需要一定的时间,所以需延时等待;然后读取数据,利用软件编程,将二进制数转换为十进制数,送到数码管显示;从左到右轮流点亮显示器各位,对于显示器的每一位来说,每隔一段时间点亮一次,利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁,利用单片机的 P1 口提供显示段码,P3 口的低四位提供位码,数码管的第一位显示通道数,后三位显示 0255 的采集数据。流程图如下所示:word13 / 315.1 主程序流程图5.2.1 主程序流程图将转换结果的个位送到数码管显示单片机初始化

20、转换是否完毕将采集的数据通道送到数码管显示将转换结果的十位送到数码管显示8 路数据是否采集完完毕将转换结果的百位送到数码管显示启动 A/D 转换开始YNYNword14 / 31开始启动测试AD 转换完毕 P3.7=1?取数据 P2.5=10809 地址加 1地址小于8?完毕YNNY5.2.2 模数转换流程图word15 / 315 5. .3 3 模模块块程程序序设设计计1、初始化程序 系统上电时,将 70H77H 存单元清 0,P2 口置 1.CLEARMEMIO: CLR A MOV P2,A;P2 口置 0 MOV R0,#70H;存循环清零70H7BH MOV R2,#0CH LOO

21、PMEM: MOV R0,A INC R0DJNZ R2,LOOPMEMMOV A,#OFFH MOV P0,A;P0,P1,P3 端口置 1 MOV P1,A MOV P3,ARET;子程序返回2、主程序在刚上电时,因 70H77H 存单元的数据为 0,如此每一通道的数码管显示值都是 000.当进展一次测量后,将显示出每一通道的 AD 转换值。每个通道的数据显示时间在 1S 左右。主程序在调用显示程序和测试程序之间循环,其流程图如。汇编程序:START: LCALL CLEARMEMIO;初始化MAIN: LCALL DISPLAY;显示数据一次LCALL TEST;测量一次 AJMP MA

22、IN;返回 MAIN 循环word16 / 31NOP;PC 值出错处理NOP;空操作NOP;空操作LJMP START;重新复位启动DISPLAY: MOV R3,#08H;8 路信号循环显示控制MOV R0,#70H;显示数据初值70H77HMOV 7BH,#00H;显示通道路数07DISLOOP1:MOV A,R0;显示数据转为 3 位十进制 BCDMOV B,#100;7AH、79H、78H 显示单元DIV AB;显示数据除 100MOV 7AH,A;商入 7AHMOV A,#10;A 放入数 10XCH A,B;余数与数 10 交换 DIV AB;余数除 10MOV 79H,A;商入

23、 79HMOV 78H,B;余数入 78H MOV R2,#0FFH;每路显示时间控制 4ms*255DISLOOP2:LCALL DISP;调 4 位 LED 显示程序 DJNZ R2,DISPLOOP2;每路显示是时间控制INC R0;显示下一路INC 7BH;通道显示数值加 1DJNZ R3,DISLOOP1;8 路显示未完转 DISLOOP1 再循环RET;8 路显示完子程序完毕word17 / 31DISP: MOV R1,#78H;赋显示数据单元首地址 MOV R5,#0FEH;扫描字PLAY:MOV P1,#0FFH;关显示 MOV A,R5;取扫描字 ANL P3,A;开显示

24、MOV A,R1;取显示数据 MOV DPTR,#TAB;取段码表首地址 MOVC A,A+DPTR;查显示数据对应段码 MOV P1,A;段码放入 P1 口 LCALL DL1MS;显示 1ms INC R1;指向下一地址 MOV A,P3;取 P3 口扫描字 JNB ACC.3,ENDOUT;4 位显示完转 ENDOUT RL A;扫描字循环左移 MOV R5,A;扫描字放入 R5 暂存 MOV P3,#0FFH;显示暂停 ALMP PLAY;转 PLAY 循环 ENDOUT:MOV P3,#0FFH;显示数据,端口置 1 MOV P1,#0FFH RET;子程序返回LED 数码显示管用共

25、阳段码表,分别对应 09,最后一个是“熄灭符TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,word18 / 311ms 延时子程序,LED 显示用DL1MS: MOV R6,#14HDL1: MOV R7,#19HDL2: DJNZ R7,DL2 DJNZ R6,DL1 RET3、显示子程序采用动态扫描法实现 4 位数码管的数值显示。测量所得的 AD 转换数据放 70H77H 存单元中。测量数据在显示时需经过转换成十进制BCD 码放在 78H7BH 中,其中 7BH 存放通道表指数。存放器 R3 用作 8路循环控制,R0 用

26、作显示数据地址指针。4、模数转换测量子程序 模数转换测量子程序是用来控制对 0809 八路模拟输入电压的 AD 转换,并对应的数值移入 70H77H 存单元,其流程图如。TEST: CLR A;清累加器 AMOV P2,A;清 P2 口MOV R0,#70H;转换值存放首地址MOV R7,#08H;转换 8 次控制LCALL TESRART;启动测试WAIT: P3.7,MOVD;等 A/D 转换完毕信号后转 MOVD: AJMP WAIT;P3.7 为 0,等待TESTART:SETB P2.3;锁存测试通道地址 NOP;延时 2 微秒 NOP CLR P2.3;测试通道地址锁存完毕word

27、19 / 31 SETB P2.4;启动测试,发开始脉冲 NOP;延时 2 微秒 NOPCLRP2.4;发启动脉冲完毕 NOP;延时 4 微秒 NOP NOP NOP;子程序调用完毕 RET取 A/D 转换数据至 70H77H 存单元MOVD: SETB P2.5;0809 输出允许 MOV A,P0;将 A/D 转换值入 A MOV R0,A;放入存单元 CLR P2.5;关闭 0809 输出 INC R0;存地址加 1 MOV A,P2;通道地址移入 A INC A;通道地址加 1 MOV P2,A;通道地址送 0809 CLR C;清进位标志CJNE A,#08H,TESTCON;通道地

28、址不等于 8 转 TESTCON 在测试 JC TESTCON;通道地址小于 8 转 TESTCON在测试CLR A;大于或等于 8,A/D 转换完毕,恢复端口MOV P2,A;P2 口置 0 MOV A, #0FFHword20 / 31 MOV P0,A;P0 口置 1 MOV P1,A;P1 口置 1 MOV P3,A;P3 口置 1 RET;取 A/D 转换数据完毕TESTCON: LCALL TESTART;再发测试启动脉冲LJMP WAIT;跳至 WAIT,等待 A/D 转换完毕信号END;程序完毕word21 / 31第第 6 章调试步骤与使用说明章调试步骤与使用说明由于程序比拟

29、多,整体调试不容易发现和改正错误,故采取子程序调试的方法,但要明确子程序的具体功能。例如:调试显示子程序时,只将显示子程序进展汇编,确认无误后单步执行,观察 CPU 窗口和 DATA窗口以与 CODE 窗口相应单元的变化是否跟预期的一样。如果有问题找出问题所在。采取各个击破的方法调试好各个子程序。确定各子程序无误后,再调试完整的程序,要注意各子程序之间的衔接以与和主程序之间的调用和返回。运行后,观察有无键盘显示功能。假如运行结果不正确,首先应根据程序运行的实际现象分析判断哪些因素可引起相关故障,再通过调试方法逐一认证和排除。通过反复调试,发现并排除软件与硬件存在的各类问题,以满足系统设计的预期

30、目的。word22 / 31第第 7 7 章设计总结章设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术开展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次单片机课程设计,我仍感慨颇多,确实,从选题到定稿,从理论到实践,在接近两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设

31、计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够结实,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在同学们的探讨下在蔡教师的辛勤指导下,终于游逆而解。同时,在蔡

32、教师那里我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导教师再次表示忠心的感谢!word23 / 31参考文献参考文献1. 单片机应用系统设计 何立民 编 北航2. 单片机原理与应用 王迎旭 主编 机械工程3. 51 系列单片机设计实例 楼然苗 等编 北航4. 51 单片机应用系统开发典型实例戴家 等编 中国电力5.单片微型计算机原理与接口技术光东 等编 华中科技大学6. 单片机实用系统设计技术房小翠 编 国防工业word24 / 31附录附录A、系统电路原理图:系统电路原理图:word25 / 31系统电路原理图B B、程序、程序7077H 存放采样值,78H7

33、BH 存放显示数据,一次个位,十位百位,通word26 / 31道标志。主程序和中断程序入口ORG 0000H;程序执行开始地址LJMP START;跳至 START 执行ORG 0003H;外中断 0 中断入口地址RETI ;中断返回不开中断ORG 000BH ;定时器 T0 中断入口地址RETI ;中断返回不开中断ORG 0013H ;外中断 1 中断入口地址RETI ;中断返回不开中断ORG 001BH ;定时器 T1 中断入口地址RETI;中断返回不开中断ORG 0023H ;串行口中断入口地址RETI ;中断返回不开中断ORG 002BH ;定时器 T2 中断入口地址RETI ;中断

34、返回不开中断初始化程序中的各变量CLEARMEMIO: CLR AMOV P2,A;P2 口置 0 MOV R0,#70H;存循环清零70H7BH MOV R2,#0CH LOOPMEM: MOV R0,AINC R0 DJNZ R2,LOOPMEMword27 / 31MOV A,#OFFHMOV P0,A;P0,P1,P3 端口置 1MOV P1,AMOV P3,ARET ;子程序返回主程序START: LCALL CLEARMEMIO;初始化MAIN: LCALL DISPLAY;显示数据一次LCALL TEST;测量一次AJMP MAIN;返回 MAIN 循环NOP;PC 值出错处理N

35、OP;空操作NOP;空操作LJMP START;重新复位启动DISPLAY: MOV R3,#08H;8 路信号循环显示控制MOV R0,#70H;显示数据初值70H77HMOV 7BH,#00H;显示通道路数07DISLOOP1:MOV A,R0 ;显示数据转为 3 位十进制 BCD 码存入MOV B,#100;7AH、79H、78H 显示单元DIV AB;显示数据除 100MOV 7AH,A;商入 7AHword28 / 31MOV A,#10;A 放入数 10XCH A,B;余数与数 10 交换DIV AB;余数除 10MOV 79H,A;商入 79HMOV 78H,B;余数入 78H

36、MOV R2,#0FFH;每路显示时间控制 4ms*255 DISLOOP2:LCALL DISP;调 4 位 LED 显示程序DJNZ R2,DISPLOOP2;每路显示是时间控制INC R0;显示下一路INC 7BH;通道显示数值加 1DJNZ R3,DISLOOP1;8 路显示未完转 DISLOOP1 再循环RET;8 路显示完子程序完毕DISP: MOV R1,#78H;赋显示数据单元首地址 MOV R5,#0FEH;扫描字PLAY:MOV P1,#0FFH;关显示 MOV A,R5;取扫描字 ANL P3,A;开显示 MOV A,R1;取显示数据 MOV DPTR,#TAB;取段码表

37、首地址 MOVC A,A+DPTR;查显示数据对应段码 MOV P1,A;段码放入 P1 口 LCALL DL1MS;显示 1ms INC R1;指向下一地址 MOV A,P3;取 P3 口扫描字word29 / 31 JNB ACC.3,ENDOUT;4 位显示完转 ENDOUT RL A;扫描字循环左移 MOV R5,A;扫描字放入 R5 暂存 MOV P3,#0FFH;显示暂停 ALMP PLAY;转 PLAY 循环 ENDOUT: MOV P3,#0FFH;显示数据,端口置 1 MOV P1,#0FFH RET;子程序返回LED 数码显示管用共阳段码表,分别对应 09,最后一个是“熄灭

38、符TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,1ms 延时子程序,LED 显示用DL1MS: MOV R6,#14HDL1: MOV R7,#19HDL2: DJNZ R7,DL2 DJNZ R6,DL1 RET模数转换测量子程序TEST:CLR A;清累加器 AMOV P2,A;清 P2 口MOV R0,#70H;转换值存放首地址MOV R7,#08H;转换 8 次控制LCALL TESRART;启动测试WAIT: P3.7,MOVD;等 A/D 转换完毕信号后转 MOVD: AJMP WAIT;P3.7 为 0,等待T

39、ESTART:SETB P2.3;锁存测试通道地址word30 / 31 NOP;延时 2 微秒 NOP CLR P2.3;测试通道地址锁存完毕 SETB P2.4;启动测试,发开始脉冲 NOP;延时 2 微秒 NOPCLRP2.4;发启动脉冲完毕 NOP;延时 4 微秒 NOP NOP NOP;子程序调用完毕 RET取 A/D 转换数据至 70H77H 存单元MOVD: SETB P2.5;0809 输出允许 MOV A,P0;将 A/D 转换值入 A MOV R0,A;放入存单元 CLR P2.5;关闭 0809 输出 INC R0;存地址加 1 MOV A,P2;通道地址移入 A INC

40、 A;通道地址加 1 MOV P2,A;通道地址送 0809 CLR C;清进位标志CJNE A,#08H,TESTCON;通道地址不等于 8 转 TESTCON 在测试JC TESTCON;通道地址小于 8 转 TESTCON 在测试CLR A;大于或等于 8,A/D 转换完word31 / 31毕,恢复端口 MOV P2,A;P2 口置 0 MOV A, #0FFH MOV P0,A;P0 口置 1 MOV P1,A;P1 口置 1 MOV P3,A;P3 口置 1 RET;取 A/D 转换数据完毕TESTCON: LCALL TESTART;再发测试启动脉冲 LJMP WAIT;跳至 WAIT,等待 A/D 转换完毕信号END;程序完毕

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号