多路数据采集系统

第一章 设计目的、要求及意义

数据采集系统用于将模拟信号转换为计算机可以识别的数字信号,该系统目的是便于对某些物理量进行监视。数据采集系统的好坏取决于他的精度和速度. 设计时,应在保证精度的情况下尽可能的提高速度以满足实时采样、实时处理、实时控制的要求。在科学研究中应用该系统可以获得大量动态; 是研究瞬间物理过程的重要手段; 亦是获取科学奥秘的重要手段之一。本文采用新颖的方法完成设计, 用到的集成芯片主要有8051单片机、ADC0808等。ADC0808主要作用是对八路模拟信号进行选择采集, 并将其转化为八位数字信号, 再送至主控制器(8051单片机) ,采集完毕后, 再由主控制器将信号传输到数码管显示出来。

本系统以单片机为核心,设计一个3路数据采集系统,采用3路模拟量输入设计,工作范围是0-5V 。要求对输入的3个通道的模拟量进行巡回采样,并将采集的信号数据经A/D转换后以10进制数在LED 显示器上显示,并能通过按键切换所选通道的采样数据。

经过这次课程设计进一步的去培养学生的工程设计能力和工程设计思想,同样把书本的知识应用到实际当中去,考察了学生的实际操作能力和理论知识与实际应用相结合的能力。为将来进入工厂中进行生产奠定好一个良好的基础。

第二章 系统总体方案选择与说明

为了充分利用学校的有效资源,我们仅仅对本课题做一个简单的设计,并且在网上下载Protues 软件,运行后进行初步的仿真实验。

三路模拟信号数值测量显示电路由A/D转换、数据处理及显示控制等组成。A/D转换由集成电路0808完成,0808具有8路模拟输入端口,地址线(23-25脚)可决定对哪一路模拟输入作A/D转换,22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个2μS 宽高电平脉冲时,就开始A/D转换。7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE 脚为高电平时,A/D转换数据从端口输出。单片机的P0、P2端口作四位LED 数码管显示控制,P1端口作A/D转换数据读入用,P3端口用作ADC0808的A/D转换控制。数据处理则只由AT89C51来完成,从P2,P3端口读入数据,通过P0及P2端口将数据传给LED 显示。

当然,还有很多的电阻器等等一些防止电路出现故障的外围设备这里不做详细的解说。该方案简单具有低价格,程序少的,运算得快的优点。

第三章 系统方框图与工作原理

3.1 系统框图

选用ADC0808的0,1,2通道,分别输入0V ~5V 直流电压,来模拟要采集的信号,将各路模拟信号分别转换成8位二进制数字信号传送给AT89C51的P1口,然后通过AT89C51芯片进过数据处理和分析通过P0和P2口送给数码管显示。同时AT89C51芯片控制着ADC0808的通道地址。系统框图如图3.1

图3.1 系统框图

3.2 系统工作原理

系统通过检测P2.4-P2.6的高低电平,通过AT89C51改变ADC0808通道地址,实现能在任意时间切换不同通道的要求。ADC0808转换成二进制数后,立即送给单片机,然后单片通过相应的数据处理和分析,通过P0口把处理后的结果输送给LED 数码管显示ADC0808装换后的结果,同时在LED 数码管上显示当前的工作通道编号。

第四章 各单元硬件设计说明

4.1 A/D转换单元

多路数据采集系统,通过多路模拟开关控制多路之间的切换,实现单片A /D 芯片对多路数据信号的逐个采集。

模数转换的核心是模数转换器(ADC),即A /D 芯片。它将输入的模拟信号进行量化,即把连续的模拟信号转换为计算机能处理的离散数字信号。因此,数据采集系统的性能在很大程度上取决于A /D 芯片的性能。A /D 芯片的主要参考指标是:量化误差、零位偏置误差、增益误差和非线性误差等。其设计如图4.1。

图4.1 A/D转换单元设计图

4.2 数据处理单元

数据处理单元是以芯片AT89C51为核心。AT89C51是一种带4K 字节FLASH 存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。故只用片内存储器就足够装下我们所编的程序,故无需扩展外部ROM 。改芯片有4个端口P0﹑P1﹑P2﹑P3。P0口单片机内部无上拉电阻,但其是双向I/O口。其它三个端口内部有上拉电阻,故其驱动功率大,但它们是准双向I/O口,只有当端口为高电平时,才能输入。因为本系统使用的是内部程序存储器,所以EA 端必须接高电平。单片机使用内部时钟电路,晶振使用12MHZ ,机器周期为1μS 。其具体设计如图4.2所示。

图4.2 数据处理单元电路图

4.3 ADC0808说明

ADC0808 由一个8 路模拟开关、一个地址锁存与译码器、一个A/D 转换器和一个三态输出锁存器组成。多路开关可选通8 个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。三态输出锁器用于锁存A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。ADC0809 各脚功能如下:

D7-D0:8 位数字量输出引脚。 IN0-IN7:8 位模拟量输入引脚。 VCC :+5V 工作电压。 GND :地。

REF (+):参考电压正端。 REF (-):参考电压负端。 START :A/D 转换启动信号输入端。 ALE :地址锁存允许信号输入端。 (以上两种信号用于启动A/D 转换)EOC :转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。

OE :输出允许控制端,用以打开三态数据输出锁存器。 CLK :时钟信号输入端(一般为500KHz )。

4.4 LED 显示器

本LED 显示器可自动轮流显示8路输入模拟电压的数字值,最小分辨精度为0.02V ,最大显示数值为255(输入为5V 时),模拟输入最大值为5V 。

表一 LED 数码显示器的字形(段)码

第五章 软件设计与说明

5.1 程序流程图

系统程序流程图如图5.1所示。

图5.1 系统程序流程图

5.2 软件说明

由流程图可知,系统程序可分成初始化程序、DEAL1、DEAL2、DEAL3﹑WAIT ﹑判值大小﹑显示等程序。下面分别说明。

5.2.1 初始化程序

初始化程序如下: START: M OV

MOV MOV

LED_0,#00H LED_1,#00H LED_2,#00H LED_3,#00H DPTR,#TABLE A,#86H 34H,A P3.4 P3.5 P3.6 P2.4

; 选择ADC0808的通道0

MOV

MOV

; 送段码表首地址

MOV MOV CLR CLR CLR

CLR

可以看出初始化程序包括对LED 数码管全部清零,将P2.4置0,使数码管开机显示第一路数据。 5.2.2 DEAL程序

DEAL1: CLR

P2.7 ; 蜂鸣

LCALL DELAY CLR CLR CLR

P3.4 P3.5 P3.6

; 显示1.

; 选择通道0,显示第一路数据

MOV A,#86H MOV

34H,A

LJMP WAIT

P2.7 P2.7

; 蜂鸣

DEAL2: CLR

SETB

LCALL DELAY SETB SETB CLR CLR

P2.4 P3.4 P3.5 P3.6

; 显示2.

; 选择通道1,显示第二路数据

MOV A,#0DBH MOV

34H,A

LJMP WAIT

P2.7 P2.7

; 蜂鸣

DEAL3: SETB

CLR

LCALL DELAY SETB CLR SETB CLR

P2.4 P3.4 P3.5 P3.6

; 显示3.

; 选择通道2,显示第三路数据

MOV A,#0CFH MOV

34H,A

LJMP WAIT

这三段程序基本相似,均是先通过P2.7口使蜂鸣器产生蜂鸣,然后通过改变P3.4,P3.5,P3.6来选择通道0,1,2,然后再通过显示器显示是哪一路信号。

5.2.3 DISP、 DISP0子程序

DISP: MOV A,LED_0

; 数码百十个位显示子程序

MOVC A,@A+DPTR CLR MOV

LCALL SETB MOV

MOVC CLR MOV

LCALL SETB MOV

MOVC CLR MOV

LCALL SETB

RET

DISP0: CLR MOV MOV

LCALL P2.3 P0,A

DELAY P2.3 A,LED_1

A,@A+DPTR P2.2 P0,A

DELAY P2.2 A,LED_2

A,@A+DPTR P2.1 P0,A

DELAY P2.1

P2.0

; 通道路数数码显示子程序

A,34H P0,A

DELAY

SETB RET

P2.0

显示程序嵌套了延时子程序,包含了数码管编码表。四位数码管采用动态扫描显示,当位选信号为低电平时选中,数码管然后给其位选,关闭段选,延时5ms ,然后选中下一个数码管,再给位选,再关闭段选,再延时5ms 如此往复循环实现动态扫描 5.2.4 延时程序

DELAY: MOV D1:

MOV DJNZ DJNZ RET

R6,#10 R7,#250 R7,$

;1t 延时5毫秒 ;1t ;2t ;2t ;2t

R6,D1

时间T 的计算:T=[1+(1+2*250+2)+2]*1μs=5033μs

第六章 调试结果与说明

6.1 调试仿真说明

由于硬件的局限,本系统通过软件进行调试,采用Protues 及Keil 软件进行调试。首先按照设计好的硬件电路进行连接。然后逐步调试各项功能。通过反复调试,发现并排除软件与硬件存在的各类问题,以达到系统设计的要求。

6.2调试结果

6.2.1 刚开机状态

如图6.1所示。

图6.1 开机显示图

6.2.2 按钮切换调试

按下第二路数据采集按钮后,如图6.2。

图6.2 第二路数据显示

按下第三路数据采集按钮后,如图

6.3

图6.3 第三路数据显示

6.2.3 改变输入,输出状态情况

分别把RV1,RV2,RV3从0变到最大,输出显示情况分别如图6.4,图6.5,图6.6。

图6.4 改变RV1后的状态

图6.5 改变RV2后的状态

图6.6 改变RV3后的状态

第七章 使用说明

开机后通过按下按钮开关来改变输出显示所采集的信号。按下第一路数据开关后,将采集第一路数据信息;按下第二路数据开关后,将采集第二路数据信息;按下第三路数据开关后,将采集第三路数据信息。通过调节RV1,RV2,RV3的大小可以模拟输入的信号的改变。

第八章 总 结

经过这此单片机课程设计, 我学会了很多东西。

比如,对汇编语言的理解就已经有了一个更进一步的理解,同时也对那些我们已经学过的各种计算机语言进行了一个简单的对比。在经过大一的语言课程设计和大三的电子电路课程设计以及此次单片机课程设计。使我养成了模块化工程设计方法的习惯,在设计功能模块时候,得先确定是什么功能模块,并绐模块读取地址或数据和存储地址或传出变量。只要这样,在需要时候进行调用或中断就可以了。

经过这次经历,我不仅加深了对单片机理论的理解,还熟悉和掌握了单片机的许多基础设计语言和模拟单片机软件程序,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福为意愿出发,做自己力所能及的,别人却没想到的事。

使之不断地战胜自己,超越前人。这个设计过程中,我遇到过许多次失败的考验,就比如,自己对实际生活中的不了解给整个设计带来的困扰,真想要就此罢休,然而,就在想要放弃的那一刻,我明白了,原来结果并不那么重要,更应该引起我们重视的是创作的这一整个过程。

这次课程设计让我受益匪浅,无论从知识上还是其他的各个方面。上课的时候的学习从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味。但在实习中见过甚至使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。在这次课程设计中又让我体会到了合作与团结的力量,当遇到不会或是设计不出来的地方,我们就会在QQ 群里讨论或者是同学之间相互帮助。团结就是力量,无论在现在的学习中还是在以后的工作中,团结都是至关重要的,有了团结会有更多的理念、更多的思维、更多的情感。

单片机是很重要的一门课程,老师和一些工作的朋友都曾说过,如果学好一门单片机,就凭这个技术这门手艺找一个好工作也不成问题。尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习,学好了单片机也就多了一项生存的本钱。最后感谢老师对我们的精心指导和帮助,感谢同学们对我的帮助。

参考文献

1. 刘大茂主编. 单片机原理与应用. 上海:上海交通大学出版社,

2001

2. 沈红卫主编. 单片机原理及接口技术. 北京:北京航空航天大学

出版社,2002

3. 王迎旭主编. 单片机原理及应用. 北京:机械工业出版社,2004 4. 苏凯等主编.MCS-51系列单片机系统原理与设计. 北京:冶金

工业出版社,2003

5. 周向红主编. 51系列单片机应用与实践教程. 北京:北京航空航

天大学出版社,2008

6. 李全利、迟荣强. 《单片机原理及接口技术》. 高等教育社.2004 7. 孙和平、杨宁、白晶. 《单片微机原理与接口技术》. 北京:冶

金工业出版社 2003

附 录

附录A

系统原理图

附录B 程序清单

LED_0 EQU LED_1 EQU LED_2 EQU LED_3 EQU ADC EQU ST BIT OE

BIT

EOC BIT

ORG START: M OV MOV

MOV

MOV MOV

MOV MOV CLR CLR CLR

CLR WAIT: CLR

SETB 30H

; 存放4个数码管的段码

31H 32H 33H

35H

; 存放转换后的数据

P3.2 P3.0 P3.1

00H

LED_0,#00H LED_1,#00H LED_2,#00H LED_3,#00H

DPTR,#TABLE

; 送段码表首地址

A,#86H 34H,A

P3.4 P3.5 P3.6

; 选择ADC0808的通道0 P2.4

ST

ST

CLR

JNB ST ; 启动转换 ; 等待转换结束

; 允许输出

; 暂存转换结果 EOC,$ SETB OE MOV ADC,P1

CLR

MOV

MOV

DIV

MOV

MOV

MOV

DIV

MOV

MOV

LCALL

LCALL

JNB

JNB

JNB

LJMP

DEAL1: CLR

LCALL

CLR

CLR

OE ; 关闭输出 A,ADC ; 将AD 转换结果转换成BCD 码B,#100 AB LED_2,A A,B B,#10 AB LED_1,A LED_0,B DISP ; 显示AD 转换结果 DISP0 P2.6,DEAL3 P2.5,DEAL2 P2.4,DEAL1 WAIT P2.7 DELAY P3.4 P3.5

CLR P3.6 MOV A,#86H MOV 34H,A LJMP WAIT DEAL2: CLR

SETB

LCALL

SETB

SETB

CLR

CLR

MOV

MOV

LJMP

DEAL3: SETB

CLR

LCALL

SETB

CLR

SETB

CLR

MOV

MOV

LJMP

P2.7 P2.7 DELAY P2.4 P3.4 P3.5 P3.6 A,#0DBH 34H,A WAIT P2.7 P2.7 DELAY P2.4 P3.4 P3.5 P3.6 A,#0CFH 34H,A WAIT

DISP: MOV

A,LED_0 ; 数码显示子程序 MOVC A,@A+DPTR CLR

MOV

LCALL

SETB

MOV

MOVC

CLR

MOV

LCALL

SETB

MOV

MOVC

CLR

MOV

LCALL

SETB

RET

DISP0: CLR

MOV

MOV

LCALL

SETB

P2.3 P0,A DELAY P2.3 A,LED_1 A,@A+DPTR P2.2 P0,A DELAY P2.2 A,LED_2 A,@A+DPTR P2.1 P0,A DELAY P2.1 P2.0 ; 数码显示子程序 A,34H P0,A DELAY P2.0

DELAY: MOV D1: MOV DJNZ DJNZ RET TABLE: D B DB END R6,#10 ; 延时5毫秒 R7,#250 R7,$ R6,D1 3FH,06H,5BH,4FH,66H 6DH,7DH,07H,7FH,6FH

第一章 设计目的、要求及意义

数据采集系统用于将模拟信号转换为计算机可以识别的数字信号,该系统目的是便于对某些物理量进行监视。数据采集系统的好坏取决于他的精度和速度. 设计时,应在保证精度的情况下尽可能的提高速度以满足实时采样、实时处理、实时控制的要求。在科学研究中应用该系统可以获得大量动态; 是研究瞬间物理过程的重要手段; 亦是获取科学奥秘的重要手段之一。本文采用新颖的方法完成设计, 用到的集成芯片主要有8051单片机、ADC0808等。ADC0808主要作用是对八路模拟信号进行选择采集, 并将其转化为八位数字信号, 再送至主控制器(8051单片机) ,采集完毕后, 再由主控制器将信号传输到数码管显示出来。

本系统以单片机为核心,设计一个3路数据采集系统,采用3路模拟量输入设计,工作范围是0-5V 。要求对输入的3个通道的模拟量进行巡回采样,并将采集的信号数据经A/D转换后以10进制数在LED 显示器上显示,并能通过按键切换所选通道的采样数据。

经过这次课程设计进一步的去培养学生的工程设计能力和工程设计思想,同样把书本的知识应用到实际当中去,考察了学生的实际操作能力和理论知识与实际应用相结合的能力。为将来进入工厂中进行生产奠定好一个良好的基础。

第二章 系统总体方案选择与说明

为了充分利用学校的有效资源,我们仅仅对本课题做一个简单的设计,并且在网上下载Protues 软件,运行后进行初步的仿真实验。

三路模拟信号数值测量显示电路由A/D转换、数据处理及显示控制等组成。A/D转换由集成电路0808完成,0808具有8路模拟输入端口,地址线(23-25脚)可决定对哪一路模拟输入作A/D转换,22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个2μS 宽高电平脉冲时,就开始A/D转换。7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE 脚为高电平时,A/D转换数据从端口输出。单片机的P0、P2端口作四位LED 数码管显示控制,P1端口作A/D转换数据读入用,P3端口用作ADC0808的A/D转换控制。数据处理则只由AT89C51来完成,从P2,P3端口读入数据,通过P0及P2端口将数据传给LED 显示。

当然,还有很多的电阻器等等一些防止电路出现故障的外围设备这里不做详细的解说。该方案简单具有低价格,程序少的,运算得快的优点。

第三章 系统方框图与工作原理

3.1 系统框图

选用ADC0808的0,1,2通道,分别输入0V ~5V 直流电压,来模拟要采集的信号,将各路模拟信号分别转换成8位二进制数字信号传送给AT89C51的P1口,然后通过AT89C51芯片进过数据处理和分析通过P0和P2口送给数码管显示。同时AT89C51芯片控制着ADC0808的通道地址。系统框图如图3.1

图3.1 系统框图

3.2 系统工作原理

系统通过检测P2.4-P2.6的高低电平,通过AT89C51改变ADC0808通道地址,实现能在任意时间切换不同通道的要求。ADC0808转换成二进制数后,立即送给单片机,然后单片通过相应的数据处理和分析,通过P0口把处理后的结果输送给LED 数码管显示ADC0808装换后的结果,同时在LED 数码管上显示当前的工作通道编号。

第四章 各单元硬件设计说明

4.1 A/D转换单元

多路数据采集系统,通过多路模拟开关控制多路之间的切换,实现单片A /D 芯片对多路数据信号的逐个采集。

模数转换的核心是模数转换器(ADC),即A /D 芯片。它将输入的模拟信号进行量化,即把连续的模拟信号转换为计算机能处理的离散数字信号。因此,数据采集系统的性能在很大程度上取决于A /D 芯片的性能。A /D 芯片的主要参考指标是:量化误差、零位偏置误差、增益误差和非线性误差等。其设计如图4.1。

图4.1 A/D转换单元设计图

4.2 数据处理单元

数据处理单元是以芯片AT89C51为核心。AT89C51是一种带4K 字节FLASH 存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。故只用片内存储器就足够装下我们所编的程序,故无需扩展外部ROM 。改芯片有4个端口P0﹑P1﹑P2﹑P3。P0口单片机内部无上拉电阻,但其是双向I/O口。其它三个端口内部有上拉电阻,故其驱动功率大,但它们是准双向I/O口,只有当端口为高电平时,才能输入。因为本系统使用的是内部程序存储器,所以EA 端必须接高电平。单片机使用内部时钟电路,晶振使用12MHZ ,机器周期为1μS 。其具体设计如图4.2所示。

图4.2 数据处理单元电路图

4.3 ADC0808说明

ADC0808 由一个8 路模拟开关、一个地址锁存与译码器、一个A/D 转换器和一个三态输出锁存器组成。多路开关可选通8 个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。三态输出锁器用于锁存A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。ADC0809 各脚功能如下:

D7-D0:8 位数字量输出引脚。 IN0-IN7:8 位模拟量输入引脚。 VCC :+5V 工作电压。 GND :地。

REF (+):参考电压正端。 REF (-):参考电压负端。 START :A/D 转换启动信号输入端。 ALE :地址锁存允许信号输入端。 (以上两种信号用于启动A/D 转换)EOC :转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。

OE :输出允许控制端,用以打开三态数据输出锁存器。 CLK :时钟信号输入端(一般为500KHz )。

4.4 LED 显示器

本LED 显示器可自动轮流显示8路输入模拟电压的数字值,最小分辨精度为0.02V ,最大显示数值为255(输入为5V 时),模拟输入最大值为5V 。

表一 LED 数码显示器的字形(段)码

第五章 软件设计与说明

5.1 程序流程图

系统程序流程图如图5.1所示。

图5.1 系统程序流程图

5.2 软件说明

由流程图可知,系统程序可分成初始化程序、DEAL1、DEAL2、DEAL3﹑WAIT ﹑判值大小﹑显示等程序。下面分别说明。

5.2.1 初始化程序

初始化程序如下: START: M OV

MOV MOV

LED_0,#00H LED_1,#00H LED_2,#00H LED_3,#00H DPTR,#TABLE A,#86H 34H,A P3.4 P3.5 P3.6 P2.4

; 选择ADC0808的通道0

MOV

MOV

; 送段码表首地址

MOV MOV CLR CLR CLR

CLR

可以看出初始化程序包括对LED 数码管全部清零,将P2.4置0,使数码管开机显示第一路数据。 5.2.2 DEAL程序

DEAL1: CLR

P2.7 ; 蜂鸣

LCALL DELAY CLR CLR CLR

P3.4 P3.5 P3.6

; 显示1.

; 选择通道0,显示第一路数据

MOV A,#86H MOV

34H,A

LJMP WAIT

P2.7 P2.7

; 蜂鸣

DEAL2: CLR

SETB

LCALL DELAY SETB SETB CLR CLR

P2.4 P3.4 P3.5 P3.6

; 显示2.

; 选择通道1,显示第二路数据

MOV A,#0DBH MOV

34H,A

LJMP WAIT

P2.7 P2.7

; 蜂鸣

DEAL3: SETB

CLR

LCALL DELAY SETB CLR SETB CLR

P2.4 P3.4 P3.5 P3.6

; 显示3.

; 选择通道2,显示第三路数据

MOV A,#0CFH MOV

34H,A

LJMP WAIT

这三段程序基本相似,均是先通过P2.7口使蜂鸣器产生蜂鸣,然后通过改变P3.4,P3.5,P3.6来选择通道0,1,2,然后再通过显示器显示是哪一路信号。

5.2.3 DISP、 DISP0子程序

DISP: MOV A,LED_0

; 数码百十个位显示子程序

MOVC A,@A+DPTR CLR MOV

LCALL SETB MOV

MOVC CLR MOV

LCALL SETB MOV

MOVC CLR MOV

LCALL SETB

RET

DISP0: CLR MOV MOV

LCALL P2.3 P0,A

DELAY P2.3 A,LED_1

A,@A+DPTR P2.2 P0,A

DELAY P2.2 A,LED_2

A,@A+DPTR P2.1 P0,A

DELAY P2.1

P2.0

; 通道路数数码显示子程序

A,34H P0,A

DELAY

SETB RET

P2.0

显示程序嵌套了延时子程序,包含了数码管编码表。四位数码管采用动态扫描显示,当位选信号为低电平时选中,数码管然后给其位选,关闭段选,延时5ms ,然后选中下一个数码管,再给位选,再关闭段选,再延时5ms 如此往复循环实现动态扫描 5.2.4 延时程序

DELAY: MOV D1:

MOV DJNZ DJNZ RET

R6,#10 R7,#250 R7,$

;1t 延时5毫秒 ;1t ;2t ;2t ;2t

R6,D1

时间T 的计算:T=[1+(1+2*250+2)+2]*1μs=5033μs

第六章 调试结果与说明

6.1 调试仿真说明

由于硬件的局限,本系统通过软件进行调试,采用Protues 及Keil 软件进行调试。首先按照设计好的硬件电路进行连接。然后逐步调试各项功能。通过反复调试,发现并排除软件与硬件存在的各类问题,以达到系统设计的要求。

6.2调试结果

6.2.1 刚开机状态

如图6.1所示。

图6.1 开机显示图

6.2.2 按钮切换调试

按下第二路数据采集按钮后,如图6.2。

图6.2 第二路数据显示

按下第三路数据采集按钮后,如图

6.3

图6.3 第三路数据显示

6.2.3 改变输入,输出状态情况

分别把RV1,RV2,RV3从0变到最大,输出显示情况分别如图6.4,图6.5,图6.6。

图6.4 改变RV1后的状态

图6.5 改变RV2后的状态

图6.6 改变RV3后的状态

第七章 使用说明

开机后通过按下按钮开关来改变输出显示所采集的信号。按下第一路数据开关后,将采集第一路数据信息;按下第二路数据开关后,将采集第二路数据信息;按下第三路数据开关后,将采集第三路数据信息。通过调节RV1,RV2,RV3的大小可以模拟输入的信号的改变。

第八章 总 结

经过这此单片机课程设计, 我学会了很多东西。

比如,对汇编语言的理解就已经有了一个更进一步的理解,同时也对那些我们已经学过的各种计算机语言进行了一个简单的对比。在经过大一的语言课程设计和大三的电子电路课程设计以及此次单片机课程设计。使我养成了模块化工程设计方法的习惯,在设计功能模块时候,得先确定是什么功能模块,并绐模块读取地址或数据和存储地址或传出变量。只要这样,在需要时候进行调用或中断就可以了。

经过这次经历,我不仅加深了对单片机理论的理解,还熟悉和掌握了单片机的许多基础设计语言和模拟单片机软件程序,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福为意愿出发,做自己力所能及的,别人却没想到的事。

使之不断地战胜自己,超越前人。这个设计过程中,我遇到过许多次失败的考验,就比如,自己对实际生活中的不了解给整个设计带来的困扰,真想要就此罢休,然而,就在想要放弃的那一刻,我明白了,原来结果并不那么重要,更应该引起我们重视的是创作的这一整个过程。

这次课程设计让我受益匪浅,无论从知识上还是其他的各个方面。上课的时候的学习从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味。但在实习中见过甚至使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。在这次课程设计中又让我体会到了合作与团结的力量,当遇到不会或是设计不出来的地方,我们就会在QQ 群里讨论或者是同学之间相互帮助。团结就是力量,无论在现在的学习中还是在以后的工作中,团结都是至关重要的,有了团结会有更多的理念、更多的思维、更多的情感。

单片机是很重要的一门课程,老师和一些工作的朋友都曾说过,如果学好一门单片机,就凭这个技术这门手艺找一个好工作也不成问题。尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习,学好了单片机也就多了一项生存的本钱。最后感谢老师对我们的精心指导和帮助,感谢同学们对我的帮助。

参考文献

1. 刘大茂主编. 单片机原理与应用. 上海:上海交通大学出版社,

2001

2. 沈红卫主编. 单片机原理及接口技术. 北京:北京航空航天大学

出版社,2002

3. 王迎旭主编. 单片机原理及应用. 北京:机械工业出版社,2004 4. 苏凯等主编.MCS-51系列单片机系统原理与设计. 北京:冶金

工业出版社,2003

5. 周向红主编. 51系列单片机应用与实践教程. 北京:北京航空航

天大学出版社,2008

6. 李全利、迟荣强. 《单片机原理及接口技术》. 高等教育社.2004 7. 孙和平、杨宁、白晶. 《单片微机原理与接口技术》. 北京:冶

金工业出版社 2003

附 录

附录A

系统原理图

附录B 程序清单

LED_0 EQU LED_1 EQU LED_2 EQU LED_3 EQU ADC EQU ST BIT OE

BIT

EOC BIT

ORG START: M OV MOV

MOV

MOV MOV

MOV MOV CLR CLR CLR

CLR WAIT: CLR

SETB 30H

; 存放4个数码管的段码

31H 32H 33H

35H

; 存放转换后的数据

P3.2 P3.0 P3.1

00H

LED_0,#00H LED_1,#00H LED_2,#00H LED_3,#00H

DPTR,#TABLE

; 送段码表首地址

A,#86H 34H,A

P3.4 P3.5 P3.6

; 选择ADC0808的通道0 P2.4

ST

ST

CLR

JNB ST ; 启动转换 ; 等待转换结束

; 允许输出

; 暂存转换结果 EOC,$ SETB OE MOV ADC,P1

CLR

MOV

MOV

DIV

MOV

MOV

MOV

DIV

MOV

MOV

LCALL

LCALL

JNB

JNB

JNB

LJMP

DEAL1: CLR

LCALL

CLR

CLR

OE ; 关闭输出 A,ADC ; 将AD 转换结果转换成BCD 码B,#100 AB LED_2,A A,B B,#10 AB LED_1,A LED_0,B DISP ; 显示AD 转换结果 DISP0 P2.6,DEAL3 P2.5,DEAL2 P2.4,DEAL1 WAIT P2.7 DELAY P3.4 P3.5

CLR P3.6 MOV A,#86H MOV 34H,A LJMP WAIT DEAL2: CLR

SETB

LCALL

SETB

SETB

CLR

CLR

MOV

MOV

LJMP

DEAL3: SETB

CLR

LCALL

SETB

CLR

SETB

CLR

MOV

MOV

LJMP

P2.7 P2.7 DELAY P2.4 P3.4 P3.5 P3.6 A,#0DBH 34H,A WAIT P2.7 P2.7 DELAY P2.4 P3.4 P3.5 P3.6 A,#0CFH 34H,A WAIT

DISP: MOV

A,LED_0 ; 数码显示子程序 MOVC A,@A+DPTR CLR

MOV

LCALL

SETB

MOV

MOVC

CLR

MOV

LCALL

SETB

MOV

MOVC

CLR

MOV

LCALL

SETB

RET

DISP0: CLR

MOV

MOV

LCALL

SETB

P2.3 P0,A DELAY P2.3 A,LED_1 A,@A+DPTR P2.2 P0,A DELAY P2.2 A,LED_2 A,@A+DPTR P2.1 P0,A DELAY P2.1 P2.0 ; 数码显示子程序 A,34H P0,A DELAY P2.0

DELAY: MOV D1: MOV DJNZ DJNZ RET TABLE: D B DB END R6,#10 ; 延时5毫秒 R7,#250 R7,$ R6,D1 3FH,06H,5BH,4FH,66H 6DH,7DH,07H,7FH,6FH


相关内容

  • 光缆资源集中监测及管理系统
  • (19)中华人民共和国国家知识产权局*CN102523037A* (10)申请公布号 CN 102523037 A (43)申请公布日 2012.06.27(12)发明专利申请 (21)申请号 [1**********]6.4 (22)申请日 2011.11.23 (71)申请人上海市电力公司 地址 ...

  • 多路信号采集器的硬件电路设计
  • PLDCPLD FPGA应用 中文核心期刊<微计算机信息>(嵌入式与SOC)2008年第24卷第1-2期 文章编号:1008-0570(2008)01-2-0220-03 多路信号采集器的硬件电路设计 CircuitDesignofMulti-ChannelSignalAcquisiti ...

  • 一种多路视频信号分时远距离传输方法的实现
  • 一种多路视频信号分时远距离传输方法的实现 一种多路视频信号分时远距离传输方法的实现 摘要:研究复用一根电缆分时传输多路视频信号的方法,设计多路视频分时传输系统,用于一台主控设备对多个对象进行视频监控.阐述了系统的硬件组成及原理,给出了视频发射/接收及电子开关电路的设计思路,制定了主控计算机和多路微控 ...

  • 智能脱扣器
  • 一种智能脱扣器数据采集系统硬件设计 时间:2011-01-20 14:09:02 来源: 作者:不详 摘要: 随着现代电气智能化的发展,智能电器已经广泛应用于电力系统的分配控制方面,在监测电网的运行状态时,高速.高精地采集信号是十分重要的.文章对微控制器的智能数据采集系统的硬件电路进行了设计,实现了 ...

  • 一种智能制氧控制系统
  • 说明书摘要 本实用新型涉制氧设备,具体是一种智能制氧控制系统.一种智能制氧控制系统,包括氧分压检测单元.控制单元和制氧机,所述氧分压检测单元包括氧探针.多路开关.信号放大器和A/D转换器,所述控制单元包括CPU 处理器.逻辑控制单元.存储器.网口,所述氧探针依次通过所述多路开关.信号放大器与所述A/ ...

  • 计算机网络---物理层
  • 第3章 物理层 本章学习要求: 掌握:物理层与物理层协议的基本概念. 掌握:数据通信的基本概念. 了解:无线与卫星通信技术的基本概念. 掌握:数据编码的类型和基本方法. 了解:基带传输的基本概念. 掌握:频带传输的基本概念. 掌握:多路复用的分类与特点. 掌握:广域网中的数据交换技术. 掌握:同步数 ...

  • 数据采集与处理技术试卷
  • 一.绪论 (一).1."数据采集"是指什么? 将温度.压力.流量.位移等模拟量经测量转换电路输出电量后再采集转换成数字量后,再由PC 机进行存储.处理.显示或打印的过程. 2.数据采集系统的组成? 由数据输入通道,数据存储与管理,数据处理,数据输出及显示这五个部分组成. 3.数据 ...

  • 计算机网络原理及应用复习提纲
  • 第一章 计算机网络概述 知识点: 1.计算机网络发展历史四个阶段: 1)20世纪50年代至60年代:以单计算机为中心的联机系统,把多台远程终端设备通过公用电话网连接到一台中央计算机,构成所谓面向终端颁布的计算机系统. 2)20世纪60年代至70年代中期:计算机--计算机网络,采用"存储转发 ...

  • 第二章物理层
  • 一.判断题 10.通信介质分为有线介质和无线介质两类,有线介质一般包括双绞线.同轴电缆.光纤3种.( A ) 16.传输媒体分为两大类即导向传输媒体和非导向传输媒体. ( A ) 17.半双工通信的网络上的每个设备能够同时发送和接收数据.( B ) 18.数据可分为模拟数据和数字数据两大类.( A ...

  • 计算机网络期末试题及答案
  • 1.在计算机网络的定义中,一个计算机网络包含多台具有_自主_____功能的计算机:把众多计算机有机连接起来要遵循规定的约定和规则,即_通信协议______:计算机网络的最基本特征是__资源共享_______. 2.常见的计算机网络拓扑结构有:_总线型结构_.___星型结构_______. 环型结构_ ...