《微控制器应用系统综合设计》课程设计-多路压力参数实时采集与处理系统的设计.doc_第1页
《微控制器应用系统综合设计》课程设计-多路压力参数实时采集与处理系统的设计.doc_第2页
《微控制器应用系统综合设计》课程设计-多路压力参数实时采集与处理系统的设计.doc_第3页
《微控制器应用系统综合设计》课程设计-多路压力参数实时采集与处理系统的设计.doc_第4页
《微控制器应用系统综合设计》课程设计-多路压力参数实时采集与处理系统的设计.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

此文档收集于网络,如有侵权,请联系网站删除第一章 微控制器应用系统综合课程设计的目的意义1.1 设计目的微控制器应用系统综合设计是为测控专业微控制器技术课程而开设的课程设计教学环节,其目的在于培养学生综合运用理论知识来分析和解决实际问题的能力,是通过设计以微控制器为核心的单片机检测系统,加深学生对微控制器技术的了解,进一步掌握其程序设计与硬件接口技术。本课程的主要任务是运用所学微控制器技术、微机原理等方面的知识,设计出一台以80C32MCU为核心的单片机数据采集、通讯或测控系统,完成信息的采集、处理、输出及人机接口电路等部分的软、硬件设计。本课程设计涉及微控制器技术课程的基本概念和理论,主要要求学生掌握微控制器的指令系统、中断技术、总线扩展、模拟与数字I/O接口技术与通讯技术等,重点是培养学生掌握微控制器在自动化测控应用系统中的设计与开发方法。1.2 课程在教学计划中的地位和作用单片机(微控制器)是20世纪70年代中期发展起来的一种面向控制的大规模集成电路模块,具有功能强、体积小、可靠性高、价格低廉等特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域得到了广泛的应用,极大地提高了这些了领域的技术水平和自动化程度。目前,各高等院校相关专业都将单片机课程列为其教学计划的重要组成部分,纷纷开设单片机及相关课程。同时,在课程设计、毕业设计、电子设计竞赛等许多实践环节中,单片机都得到了广泛的应用。 单片微型计算机简称单片机,它在一块芯片上集成了计算机的所有基本功能部件。单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。单片机最突出的特点是面向控制,能针对性地解决各类工业控制问题,特别适用于较高速和较复杂的实时控制应用。从而使得它在现在的课程教学中显得尤为重要。第二章 多路压力参数实时采集与处理系统设计2.1 设计内容及要求设计一个可以采集两路参数、参数分辨率为8位的实时数据采集与处理系统。假定两路压力参数对应的直流电压在05V范围内变化,输出显示为02000Pa,要求对通道0每隔1s采样一次,共采集20次;对通道1每隔2s采样一次,共采集10次。并要求将不同通道采集的数据进行相应的处理后以电压值的形式分别显示在显示器的不同区域上。本课程设计的重点是培养学生利用微控制器的硬、软件开发技术进行微控制器系统的设计与开发能力。具体设计内容包括两个部分。2.1.1必做实验部分1步进电机控制2直流电机控制3扩展键盘显示接口实验4LED 16X16 点阵显示实验5LCD液晶显示接口实验6双积分式A/D芯片M C 14433的扩展接口实验7电机控制机电一体化实验平台实验8温度、压力测量与控制实验平台实验2.1.2选做设计部分由指导老师提供多个不同的微控制器系统设计题目,学生根据爱好自由选择,或经老师同意选择其它题目。本次选做的课程设计题目为多路压力参数实时采集与处理系统设计,设计要求如下:显示器上可以设计两个窗口,用来显示两个不同通道的压力值,同时在不同窗口上显示出相应通道号的提示信息。由此,设计中需要设计一个主程序和一至二个中断服务程序,即时钟中断服务程序或转换结束中断服务程序。设计相应的A/D、键盘和压力检测、处理与显示电路,可在线键盘参数设置、定时检测、显示和报警。共有两种设计方案可选,a多路ADC0809采样,LCD 显示,喇叭报警。b多路ADC0809采样,LED 显示,喇叭报警或灯光报警2.2 课程设计的要求本课程设计涉及微控制器技术课程的基本概念和理论,主要要求学生掌握微控制器的指令系统、中断技术、总线扩展、模拟与数字I/O接口技术与通讯技术等,重点是培养学生掌握微控制器在自动化测控应用系统中的设计与开发方法。课程设计的基本要求如下:1掌握单片微控制器硬件结构和工作原理、中断与定时系统、嵌入式应用、现场总线等基本概念和原理;2熟悉8/16位单片微控制器的主要功能单元和指令系统;3熟悉测控网络中嵌入式微控制器的应用和现场总线应用技术。4利用微控制器的接口技术进行简单的测控及自动化应用系统设计;5每人提交系统设计报告一份,现场演示验收设计系统。第三章 硬件设计3.1 设计思想硬件系统是指构成微机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入输入设备、输出接口电路和输出设备等组成。单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。本设计选用以AT89S51单片机为主控单元。显示部分:采用7段LED动态显示。按键部分,采用8279扩展键盘。数据采集部分,采用ADC0809芯片。多路压力参数实时采集与处理的系统设计采用双通道,将压力参数的模拟参数采集进来,再经A/D芯片转换成数字信号,再将信号经过处理后在LED上显示。双通道采集数据,对通道0每隔1s采样一次,共采集20次;对通道1每隔2s采样一次,共采集10次。功能模块,当EXEC键按下后,开始定时器T0与T1的初始化,等待中断。压力参数采集部分,设计了两个A/D采样子程序,分别为通道0和通道1的采样,通过键盘设置报警值,并判断当前采样值是否超过报警值,超过则报警;未超过则采样继续,程序继续往下执行,将采样值分别在8279键盘上的LED上显示,前三个数码管显示0通道以及该通道的采样值,采样值经A/D转换后以16进制的电压值显示,之后三个数码管则显示1通道的采样值,同样也是A/D转换后的16进制电压值形式显示,最后两个数码管则显示当前的报警值。89C51通道0通道1A/D 转 换键 盘 控 制灯光报警LED显示图3.1 系统硬件结构框图3.2 硬件电路设计系统原理图及其说明图3.2多路压力参数实时采集与处理系统硬件原理图3.21 CUP主控单元电路AT89C51片内配置有4KB Flash闪速程序存储器,可经受1000次以上的写入/擦出周期,并有程序存储器加密逻辑,给单片机产品的开发和生产带来了极大地方便89C51单片机有两种封装形式,40引脚双列直插(PDIP)封装形式和44引脚的方形(PLCC)封装方式。89C51采用地址总线(AB)、数据总线(DB)、和控制总线(CB)三种总线结构。并集成了CPU、RAM、ROM、定时器/计数器和多种功能的I/O口等基本功能部件。图3.3 CPU主控单元硬件原理图3.2.2 8279扩展键盘电路图3.4 8279扩展键盘硬件接线图如图3.4所示为8279键盘显示接口的硬件连线图,利用8279可以实现对键盘/显示器的自动扫描,以减轻对CPU负担,具有显示稳定,程序简单,不会出现误动作等特点。在外接键盘的键盘功能板上,按下相应的数字键或是功能键,数码管上显示相应数据。具体接线方式如下:1.将KEY区D0-D7用8芯排线连到BUS2区XD0-XD7上。2.将KEY区WR、RD、ALE分别连到BUS3区的XWR、XRD、ALE上。3.KEY区A0连到BUS1区得XA0上。4.KEY区RST连到AT89C51的RST上。5.KEY区CS连到BUS3的Y3上。3.2.3 ADC0809数据采集与处理电路该部分电路主要完成双通道数据的采集和转换功能,CLOCK端外接分频输出T4,参考电压为5V,74LS02的2、6接Y1,3接XWR,5接XRD,数据采集通道0输入接IN0端口,数据采集通道1输入接IN1端口。图3.5 A/D0809数据采集原理图3.3 所用到的芯片及其各自功能说明3.3.1 芯片列表 1.AT89C51芯片2.ADC0809芯片3.8279芯片4.74LS138芯片5.74LS393芯片6.74LS02芯片3.3.2 AT89C51的功能简介 AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3.6所示。 图3.6 AT89C51芯片管脚图1.主要特性与MCS-51 兼容4K字节可编程FLASH存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24MHz三级程序存储器锁定1288位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路2.管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.3.3 ADC0809的功能简介ADC0809是采用逐次逼近法的8位A/D转换芯片,28引脚双列直插式封装,片内除A/D转换部分外还有8路模拟开关部件。最多允许8路模拟量分时输入,共用一个A/D转换器。 图3.7 ADC0809内部逻辑结构与引脚图1主要特性1)8路输入通道,8位A/D转换器,即分辨率为8位。2)具有转换起停控制端。3)转换时间为100s(时钟为640kHz时),130s(时钟为500kHz时)4)单个+5V电源供电5)模拟输入电压范围0+5V,不需零点和满刻度校准。6)工作温度范围为-40+85摄氏度7)低功耗,约15mW。2.引脚功能 ADC0809芯片有28条引脚,采用双列直插式封装,下面说明各引脚功能。IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路ALE:地址锁存允许信号,输入,高电平有效。START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。REF(+)、REF(-):基准电压。Vcc:电源,单一+5V。GND:地。3.ADC0809的工作过程首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。(1)定时传送方式对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128s,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。(2)查询方式A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。(3)中断方式把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。3.3.4 8279的功能简介8279是可编程的键盘、显示接口芯片。它既具有按键处理功能,又具有自动显示功能,在单片机系统中应用很广泛。8279内部有键盘FIFO/传感器,双重功能的8x8=64B RAM,键盘控制部分可控制8x8=64个按键或8x8阵列方式的传感器。该芯片能自动消抖并具有双键锁定保护功能。显示RAM容量为16x8,即显示器最大配置可达16位LED数码显示。图3.8 8279芯片引脚1.管脚、引线与功能8279采用40引脚封装,其管脚、引线功能如图3.8所示。其引脚功能如下:D0D7(数据总线):双向、三态总线,和系统数据总线相连;用于CPU和8279间的数据/命令传递。 CLK(系统时钟):输入线,为8279提供内部时钟的输入端。RESET(复位):输入线,当RESET=1时,8279复位,其复位状态为:16个字符显示;编码扫描键盘-双键锁定;程序时钟编码为31。CS(片选):输入线,当CS=0时8279被选中,允许CPU对其读、写,否则被禁止。A0(数据选择):输入线。当A0=1时CPU写入数据为命令字,读出数据为状态字;A0=0时CPU读、写的字节均为数据。 RD、WR(读、写信号):输入线。低电平有效,来自CPU的控制信号,控制8279的读、写操作。 IRQ(中断请求):输出线。高电平有效。 在键盘工作方式中,当FIFO/传感器RAM存有数据时,IRQ为高电平。CPU每次从RAM中读出数据时,IRQ变为低电平。若RAM中仍有数据,则IRQ再次恢复高电平。 在传感器工作方式中,每当检测到传感器状态变化时,IRQ就出现高电平。 SL0SL3(扫描线):输出线。用来扫描键盘和显示器。它们可以编程设定为编码(4中取1)或译码输出(16取1)。RL0RL7(回复线):输入线。它们是键盘矩阵或传感矩阵的列(或行)信号输入线。 SHIFT(移位信号):输入线、高电平有效。该输入信号是键盘数据的最高位(D7),通常用来扩充键开关的功能,作为控制功能键用。 在选通输入方式时,该信号的上升沿可将来自RL0RL7的数据存入FIFO RAM中。在传感器输入下,该信号无效。 OUTA0OUTA3(A组显示信号):输出线。 OUTB0OUTB3(B组显示信号):输出线。 这两组引线都是显示数据输出线,与多位数字显示的扫描线SL0SL3同步,两组可以独立使用,也可以合并使用。 BD(显示消隐):输出线。低电平有效。该信号在数字切换显示或使用消隐命令时,将显示消隐。3.3.5 74LS138的功能简介74LS138为3 线8 线译码器,共有 54/74S138和 54/74LS138两种线路结构型式,其工作原理如下:当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。利用 G1、/(G2A)和/(G2B)可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器,用与非门组成的3线-8线译码器74LS138。管脚如图3.9所示。图3.9 74LS138芯片引脚3.3.6 74LS393的功能简介1.特点:独立时钟的双 4 位二进制计数器每个计数器都有直接清除有效提高系统密度缓冲输出减小集电极转换的可能性 2.说明:这种双单片电路有八个主从触发器和附加门,以构成两个独立的4 位二进制计数器,可以构成N 位二进制计数器。每个计数器又有一个清除输入和一个时钟输入。由于每个计数级都有并行输出,所以系统定时信号可以获得输入计数频率的任何因子。 图3.10 74LS194管脚图第四章 软件设计4.1 汇编语言设计特点单片机能执行的程序,可以用多种语言来编写,单从语言结构及其与单片机的关系来看,可分为三大类型:机器语言,汇编语言和高级语言。在单片机的应用系统程序设计时,常用的是汇编语言和C语言,本系统采用汇编语言来编写程序,汇编语言具有直观、易懂、易用且易于记忆等优点。用汇编语言编写的程序占用内存少,执行速度快,尤其适用于实时应用场合的程序设计。因此,在单片机应用系统中主要应用汇编语言来编写程序。YYNYEXEC键按下?N开 始系统初始化定时器标志位初始化开定时器中断等待中断返回DOS定时中断服务程序保护现场1/20秒计数器加11/20秒计数器=20?2秒计数器加1调0通道采样子程序2秒计数器=2?调1通道采样子程序秒计数器清0中断返回N4.2 总体设计流程图图4.1多路压力参数采集系统主程序流程图 图4.2 定时中断服务程序流程图4.3 流程图及其说明键盘管理子程序模块,在程序运行过程中,可通过键盘在线设置报警值,并将其显示在LED数码管上。在采样程序运行过程中可以通过LAST键来设置报警值,程序运行时按下LAST键可以进入报警值的设置,当输入两位16进制的报警值后系统自动保存新的报警值,使得程序下次运行到报警子程序时将采样值与设置的报警值比较来判断是否报警。图4.3 键盘管理子程序流程图NY开 始调通道0采集子程序调用数码管显示调报警子程序LAST键是否按下键入自设报警值调数码管显示调报警子程序返回双通道采样子程序,两个通道分别采用不同的采样方式,并在不同区域显示采样值,采样将模拟量转换成数字量并显示。进入中断服务程序时,判断秒计数器是否达到20和秒计数器是否等于2来决定是否调用采样子程序。双通道的采样子程序流程图分别如图4.4和图4.5所示。 报警子程序部分采用LED灯光报警,当采样值与报警值是比较后高于报警值时便会产生报警,LED灯闪烁报警,当采样值低于报警值时LED灯熄灭,不报警。报警子程序流程图如图4.6所示。开 始送0通道地址调报警子程序调数据采集子程序调用数码管显示1返回开 始送1通道地址调报警子程序调数据采集子程序调用数码管显示2返回图4.4 通道0 数据采集子程序图4.5 通道1 数据采集子程序NY开 始当前采样值与预设值比较Led灯闪烁报警恢复寄存器中采样值调延时子程序当前值设置值?开 始图4.6 报警子程序流程图第五章 系统调试及使用说明5.1系统调试调试过程中主要遇到的是软件方面的问题,硬件方面的问题较少,仅有一次我所用的设备有个LED灯显示出了问题,换了一个新的后便可以了。软件方面,刚开始着手设计该系统时,在LED的显示程序花了点时间,首先通过A/D0809将采集的数据存储在寄存器中,接着便是要把采集到的数据显示在8279扩展键盘上指定的LED数码管上,8279扩展键盘共有8个数码管,一开始采集的数据总是不能实时的显示在数码管上,最后分析改正程序,调试了5、6次终于能在指定的数码管上实时的显示采集进来的数据。单通道的采样显示设计成功了,双通道也就很容易的出来了。接下来设计键盘功能设置模块是设计整个系统过程中花的时间最长的。首先,在采样过程中可以随时进行键盘的设置,主要设置报警值,并且设置报警之后,以新的报警值为标准,系统自动判断是否超过报警值从而决定是否报警。为了满足要求我一一调试程序,一步一步满足,记得当时我的程序能够设置报警值并在相应LED数码管上显示,但是系统不能以新设置的报警值报警,于是再改程序,改正后调试发现设置功能不起作用,系统在采样过程中不响应键盘设置子程序,如此反复改了好多次,最后一个礼拜的设计终于是调试成功,最后要做的就是将报警子程序加进去就行了,这部分是比较简单的,调试了一两次就成功了。最后运行程序时,没有错误,各部分功能都能很好的实现。5.2使用说明按照系统硬件原理图3.2接线,接通电源,此时8279扩展键盘上8个数码管从左至右分别显示:000100,第7和第8个数码管初始不显示。左边3个数码管为0通道显示,第1个0表示通道0,第2和第3个0表示0通道的初始值为零,第4个数码管到第6个数码管为1通道显示,1表示1通道,00为初始值。按下8279扩展键盘上的EXEC功能键,系统便开始运行,此时可以看到第2和第3个数码管上显示0通道的采样值,第5和第6个数码管上显示1通道的采样值。运行时可以随时按下LAST功能键来设置新报警值,设置过程中会在第7和第8个数码管上显示当前设置的新报警值。若采样值超过报警值led灯会开始闪烁报警。当采样值低于报警值时led灯停止闪烁,报警解除。第六章 收获、体会通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑的。这次单片机课程设计不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,因此可以针对性地学习和巩固自己的不懂和已学的知识。 经过半个多月的努力,顺利的完成了单片机课设。这是一个磨练意志的过程。从课题的选择开始,流程框图的设计、硬件和软件系统的设计、到最后的Proteus软件仿真完成,这其中经历了很多困难,但是更重要的是在这个过程中我得到了很大的锻炼。一方面通过C51单片机等一些器件的设计让我学习和掌握了单片机技术的基础知识和技术要点,也使以前学的很多知识都得到了运用;另一方面在用Proteus软件画电路图时,然后再转换成一维的WORD中进行编辑,这个过程中让我掌握了计算机辅助的设计技术。当然,这是一个需要不断的尝试,不断的校核,不断的修改,最后完成一个合理的设计的过程。需要的是细心和耐心。在很大程度上培养了我拼搏的工作精神。使我受益匪浅,更加明确了自己专业的方向。通过本次课设,我学到了更多的关于单片机技术方面的许多专业知识,其实如何有效和快速的找到资料也是本次课程设计给我的启发,利用好图书馆和网络,是资源的到最好的利用。与他人交流思想是取得成功的关键,在交流中,不仅强化了自己原有的知识体系,也扩展了自己的思维。课程设计过程中遇到不懂的难题可以向老师或者是同学请教,这样不仅可以让自己学到更多,同时讨论过程中使得和你讨论的同学双方都能有对单片机更深的认识。这是一个通过思考、发问、自己解惑并动手、提高的过程。我会在以后的学习中不断学习,积累经验,完善自己。这里我要感谢我的课程设计指导老师,吴老师!没有吴老师的细致讲解和耐心的检查,也就没有我的多路参数采集系统的设计成功,非常感谢!附录 源程序及说明 ORG 0000H AJMP MAIN ORG 000BH AJMP T0INT ORG 001BH AJMP T1INT ORG 0030HMAIN: MOV SP,#53H MOV 30H,#86H MOV 31H,#40H LCALL KEY82 ;调键盘管理子程序 MOV R5,#20H MOV IE,#8AH MOV IP,#0AH MOV TMOD,#51H ;设置定时器工作方式 MOV R5,#20H MOV TL0,#58H ;定时50ms MOV TH0,#9EH MOV TL1,#0B0H ;定时100ms MOV TH1,#3CH MOV R2,#2 SETB TR0 ;开T0中断 SETB TR1 ;开T1中断MAIN1: ACALL AD0 ACALL AD1 SJMP MAIN1;*定时器中断服务子程序*T0INT: MOV TL0,#58H MOV TH0,#9EH DJNZ R5,BACK1 MOV R5,#20H BACK1: RETIT1INT: MOV TL1,#0B0H MOV TH1,#3CH DJNZ R2,BACK2 MOV R2,#2 BACK2: RETI;*EXEC键控制采样是否开始*KEY82 : MOV DPTR,#0B001H ;初始化显示MOV A,#00HMOVX DPTR,AMOV A,#32HMOVX DPTR,AMOV A,#0DFHMOVX DPTR,ACSH:MOVX A,DPTRJB ACC.7,CSHMOV DPTR,#0B000H ;第一个数码管显示0 ,表示通道 0MOV A,#0CHMOVX DPTR,AINC DPTRMOV A,#80HMOVX DPTR,AMOV DPTR,#0B001H ;第3个数码管显示1 ,表示通道1MOV A,#83HMOVX DPTR,AMOV A,#9FH MOV DPTR,#0B000HMOVX DPTR,AINC DPTRMOV A,#83HMOVX DPTR,AMOV DPTR,#0B001H ;初始显示0MOV A,#81HMOVX DPTR,AMOV A,#0CHMOV DPTR,#0B000HMOVX DPTR,AINC DPTRMOV A,#81HMOVX DPTR,AMOV DPTR,#0B001H ;初始显示0MOV A,#82HMOVX DPTR,AMOV A,#0CHMOV DPTR,#0B000HMOVX DPTR,AINC DPTRMOV A,#82HMOVX DPTR,AMOV DPTR,#0B001H ;初始显示0MOV A,#84HMOVX DPTR,AMOV A,#0CHMOV DPTR,#0B000HINC DPTRMOV A,#84HMOVX DPTR,AMOV DPTR,#0B001H ;初始显示0MOV A,#85HMOVX DPTR,AMOV A,#0CHMOV DPTR,#0B000HMOVX DPTR,AINC DPTRMOV A,#85HMOVX DPTR,AE_KEYSM:MOV DPTR,#0B001H ;判断EXEC执行键是否按下 MOVX A,DPTR ANL A,#07H CJNE A,#00H,E_K AJMP E_KEYSME_K: MOV B,#0E1H MOV DPTR,#0B000H MOVX A,DPTR CJNE A,B,E_KEYSM RET;*双通道采样*AD0: MOV A,#01H ;0通道采样显示 MOV DPTR,#9000H MOVX DPTR,A MOVX A,DPTR MOV R0,A LCALL F1 ;调键盘设置子程序 MOV A,R0 SWAP A ANL A,#0FH MOV DPTR,#TAB MOVC A,A+DPTR MOV R1,A MOV DPTR,#0B001H MOV A,#81H MOVX DPTR,A MOV A,R1 MOV DPTR,#0B000H MOVX DPTR,A INC DPTR MOV A,#81H MOVX DPTR,A MOV A,R0 ANL A,#0FH MOV DPTR,#TAB MOVC A,A+DPTR MOV R1,A MOV DPTR,#0B001H MOV A,#82H MOVX DPTR,A MOV A,R1 MOV DPTR,#0B000H MOVX DPTR,A INC DPTR MOV A,#82H MOVX DPTR,A MOV A,R0 MOV R1,30H CJNE R1,#88H,AL LCALL ALARM1 ;设置报警值后检测报警 SJMP TOAL: LCALL ALARM ;未设置报警值检测报警TO: LCALL DELAY LCALL DELAY RETAD1: MOV A,#02H ;1通道采样显示 MOV DPTR,#9000H MOVX DPTR,A MOVX A,DPTR MOV R0,A MOV A,R0 SWAP A ANL A,#0FH MOV DPTR,#TAB MOVC A,A+DPTR MOV R1,A MOV DPTR,#0B001H MOV A,#84H MOVX DPTR,A MOV A,R1 MOV DPTR,#0B000H MOVX DPTR,A INC DPTR MOV A,#84H MOVX DPTR,A MOV A,R0 ANL A,#0FH MOV DPTR,#TAB MOVC A,A+DPTR MOV R1,A MOV DPTR,#0B001H MOV A,#85H MOVX DPTR,A MOV A,R1 MOV DPTR,#0B000H MOVX DPTR,A INC DPTR MOV A,#85H MOVX DPTR,A MOV A,R0AL1: LCALL ALARM ;未设置报警值检

温馨提示

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

评论

0/150

提交评论