压力检测系统设计_第1页
压力检测系统设计_第2页
压力检测系统设计_第3页
压力检测系统设计_第4页
压力检测系统设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

-.z单片机系统课程设计成绩评定表设计课题:压力检测系统设计学院名称:电气工程学院专业班级:自动1304学生:博**:202123020417指导教师:王黎周刚攀峰设计地点:31-505设计时间:2015-12指导教师意见:成绩:签名:年月日.z单片机系统课程设计单片机系统课程设计课程设计名称:压力检测系统设计专业班级:自动1304学生**:博**:202123020417指导教师:王黎周刚攀峰课程设计地点:31-505课程设计时间:2015-12单片机系统课程设计任务书学生博专业班级自动1304**202123020417题目压力检测系统设计课题性质工程设计课题来源自拟指导教师王黎周刚攀峰主要容〔参数〕利用89C51单片机设计一个压力检测系统设计,实现功能如下:通过压力传感器将压力转换成电信号,再经过运算放大器进展信号放大,送至8位A/D转换器,然后将模拟信号转换成单片机可以识别的数字信号,再经单片机转换成LED显示器可以识别的信息,最后显示输出。而在显示的过程过键盘,向计算机系统输入各种数据和命令,让单片机系统处于预定的功能状态,显示需要的值。任务要求〔进度〕第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。第5-6天:软件设计,编写程序。第7-8天:实验室调试。第9-10天:撰写课程设计报告。要求容完整、图表清晰、文理流畅、格式规、方案合理、设计正确,篇幅合理。主要参考资料[1]迎新.单片微型计算机原理、应用及接口技术〔第2版〕[M].:国防工业,2004[2]伟福LAB6000系列单片机仿真实验系统使用说明书[3]阎石.数字电路技术根底〔第五版〕.:高等教育,2006审查意见系〔教研室〕主任签字:年月日目录1绪论41.1压力检测系统概述42总体方案设计原理42.1基于单片机的智能压力检测的原理42.2压力传感器52.2.1压力传感器的选择5金属电阻应变片的工作原理52.3A/D转换器62.3.1A/D转换模块器件选择62.3.2A/D转换器的简介62.4单片机72.4.1AT89C51单片机简介72.4.2主要特性82.4.3管脚说明92.5单片机于键盘的接口技术92.5.1键盘功能及构造概述92.5.2单片机与键盘的连接102.6LED显示接口122.6.1LED显示器12七段数码显示器13数码管静态显示接口143软件设计153.1A/D转换器的软件设计153.1.1ADC0832芯片接口程序的编写153.2单片机与键盘的接口程序设计173.3LED数码管显示程序设计18总结21参考文献21附录A22附录B231绪论1.1压力检测系统概述压力是工业生产过程中的重要参数之一。压力的检测或控制是保证生产和设备平安运行必不可少的条件。实现智能化压力检测系统对工业过程的控制具有非常重要的意义。本设计主要通过单片机及专用芯片对传感器所测得的模拟信号进展处理,使其完成智能化功能。介绍了智能压力传感器外围电路的硬件设计,并根据硬件进展了软件编程。本次设计是基于AT89C51单片机的测量与显示。是通过压力传感器将压力转换成电信号,再经过运算放大器进展信号放大,送至8位A/D转换器,然后将模拟信号转换成单片机可以识别的数字信号,再经单片机转换成LED显示器可以识别的信息,最后显示输出。而在显示的过程过键盘,向计算机系统输入各种数据和命令,让单片机系统处于预定的功能状态,显示需要的值。本设计的最终结果是,将软件下载到硬件上调试出来了需要显示的数据,当输入的模拟信号发生变化的时候,通过A/D转换后,LED将显示不同的数值。2总体方案设计原理2.1基于单片机的智能压力检测的原理本次设计是以单片机组成的压力测量,系统中必须有前向通道作为电信号的输入通道,用来采集输入信息。压力的测量,需要传感器,利用传感器将压力转换成电信号后,再经放大并经A/D转换为数字量后才能由计算机进展有效处理。然后用LED进展显示,而键盘的作用是改变输入量的系数的。它的原理图如图1.1所示。压力压力传感器放大器显示单片机A/D转换键盘图1.1压力测量仪表原理方框图我们这次主要做的是A/D转换,单片机键盘和显示,我们选用的A/D转换器是ADC0832,单片机为AT89C51,键盘为4乘4的键盘,显示为4位数码管显示。根据硬件电路编程,调试出来并显示结果。2.2压力传感器2.2.1压力传感器的选择压力传感器是压力检测系统中的重要组成局部,由各种压力敏感元件将被测压力信号转换成容易测量的电信号作输出,给显示仪表显示压力值,或供控制和报警使用。力学传感器的种类繁多,如电阻应变片压力传感器、半导体应变片压力传感器、压阻式压力传感器、电感式压力传感器、电容式压力传感器谐振式压力传感器及电容式加速度传感器等。而电阻应变式传感器具有悠久的历史。由于它具有构造简单、体积小、使用方便、性能稳定、可靠、灵敏度高动态响应快、适合静态及动态测量、测量精度高等诸多优点,因此是目前应用最广泛的传感器之一。电阻应变式传感器由弹性元件和电阻应变片构成,当弹性元件感受到物理量时,其外表产生应变,粘贴在弹性元件外表的电阻应变片的电阻值将随着弹性元件的应变而相应变化。通过测量电阻应变片的电阻值变化,可以用来测量位移加速度、力、力矩、压力等各种参数。2.2.2金属电阻应变片的工作原理应变式压力传感器是把压力的变化转换成电阻值的变化来进展测量的,应变片是由金属导体或半导体制成的电阻体,是一种将被测件上的应变变化转换成为一种电信号的敏感器件。它是压阻式应变传感器的主要组成局部之一。当金属丝受外力作用时,其长度和截面积都会发生变化,从上式中可很容易看出,其电阻值即会发生改变,假设金属丝受外力作用而伸长时,其长度增加,而截面积减少,电阻值便会增大。当金属丝受外力作用而压缩时,长度减小而截面增加,电阻值则会减小。只要测出加在电阻的变化〔通常是测量电阻两端的电压〕,即可获得应变金属丝的应变情。2.3A/D转换器模拟量输入通道的任务是将模拟量转换成数字量。能够完成这一任务的器件称之为模数转换器,简称A/D转换器。本次设计的中A/D转换器的任务是将放大器输出的模拟信号转换位数字量进展输出。2.3.1A/D转换模块器件选择目前单片机在电子产品中已得到广泛应用,许多类型的单片机部已带有A/D转换电路,但此类单片时机比无A/D转换功能的单片机在价格上高几元甚至很多,我们采用一个普通的单片机加上一个A/D转换器,实现A/D转换的功能,这里A/D转换器可选ADC0832、ADC0809等;串行和并行接口模式是A/D转换器诸多分类中的一种,但却是应用中器件选择的一个重要指标。在同样的转换分辨率及转换速度的前提下,不同的接口方式会对电路构造及采用周期产生影响。对A/D转换器的选择我们通过比拟ADC0809和ADC0832来决定。这两个转换器都是常见的A/D转换器,其中ADC0809的并行接口A/D转换器,ADC0832是串行接口A/D转换器。我们所做的设计选择ADC0832,A/D转换在单片机接口中应用广泛,串行A/D转换器具有功耗低、性价比拟高、芯片引脚少等特点。2.3.2A/D转换器的简介在这次设计中我们A/D转换器选用两通道输入的八位ADC0832,ADC0832[3]是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢送,其目前已经有很高的普及率。ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变得更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。有关引脚说明如下:•CS片选使能,低电平芯片使能。•CH0模拟输入通道0,或作为IN+/-使用。•CH1模拟输入通道1,或作为IN+/-使用。•GND芯片参考0电位〔地〕。•DI数据信号输入,选择通道控制。•DO数据信号输出,转换数据输出。•CLK芯片时钟输入。•Vcc/REF电源输入及参考电压输入〔复用〕。正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。它的构造示意图如图2.6所示。图2.3ADC0832构造示意图2.4单片机随着电子技术的开展,单片机的功能将更加完善,因而单片机的应用将更加普及。它们将在智能化仪器、家电产品、工业过程控制等方面得到更广泛的应用。单片机将是智能化仪器和中、小型控制系统中应用最多的有种微型计算机。2.4.1AT89C51单片机简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本,如图2.9所示。AT89C51单机为很多嵌入式控制系统提供灵活性高且廉价的方案。图2.4AT89C51单片机的构造示意图2.4.2主要特性·与MCS-51兼容

·4K字节可编程闪烁存储器

寿命:1000写/擦循环

数据保存时间:10年

·全静态工作:0Hz-24Hz

·三级程序存储器锁定

·128*8位部RAM

·32可编程I/O线

·两个16位定时器/计数器

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片振荡器和时钟电路2.4.3管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写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的一些特殊功能口。2.5单片机于键盘的接口技术2.5.1键盘功能及构造概述键盘是单片机系统实现人机对话的常用输入设备。操作员通过键盘,向计算机系统输入各种数据和命令,亦可通过使用键盘,让单片机系统处于预定的功能状态。键盘按照其部不同电路构造,可分为编码键盘和非编码键盘二种。编码键盘本身除了带有普通按键之外,还包括产生键码的硬件电路。使用时,只要按下编码键盘的*一个键,硬件逻辑会自动提供被按下的键的键码,使用十分方便,但价格较贵。由非编码键盘组成的简单硬件电路,仅提供各个键被按下的信息,其他工作由软件来实现。由于价格廉价,而且使用灵活,因此广泛应用在单片机应用系统中。非编码键盘按照其键盘排列的构造,又可分为独立式按键和行列式按键两种类型。2.5.2单片机与键盘的连接键盘与单片机的连接在单片机系统中键盘中按钮数量较多时,为了减少I/O口的占用,常常将按钮排列成矩阵形式,如2.13图所示。在矩阵式键盘中,每条水平线和垂直线在穿插处不直接连通,而是通过一个按钮加以连接。这样,一个端口〔如P1口〕就能组成4*4=16个按钮,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比方再多加一条线就能组成20键的键盘,而直接用端口线则只能多出一键〔9键〕。由此可见,在需要的键数比拟多时,采用矩阵法来做键盘是合理的。在实际应用中,4×4键盘主要由数字0~9和功能键组成。这里给出一个比拟常用的键盘排列方式,如表2.5所示。表2.5按键表123命令456功能789确认0上移下移退出按照键盘与单片机的连接方式可分为独立式键盘与矩阵式键盘。独立式键盘相互独立,每个按键占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他按键的工作状态。如图2.12所示这种按键软件程序简单,但占用I/O口线较多〔一根口线只能接一个键〕,适用于键盘应用数量较少的系统中。图2.5.1独立式按键接口电路于独立是按键接口电路要比拟矩阵式构造的键盘显然比直接法要复杂一些,识别也要复杂一些如图2.13所示。图2.5.2单片机矩阵式键盘接口电路上图中列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按钮没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。具体的识别及编程方法如下所述。矩阵式键盘的按钮识别方法确定矩阵式键盘上何键被按下介绍一种“行扫描法〞。行扫描法行扫描法又称为逐行〔或列〕扫描查询法,是一种最常用的按钮识别方法,如上图所示键盘,介绍过程如下。判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相穿插的4个按钮之中。假设所有列线均为高电平,则键盘中无键按下。判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置*根行线为低电平时,其它线为高电平。在确定*根行线位置为低电平后,再逐行检测各列线的电平状态。假设*列为低,则该列线与置为低电平的行线穿插处的按钮就是闭合的按钮。2.6LED显示接口本次设计是利用89C51单片机串行口和74LS164移位存放器实现多个LED显示的一种方法,利用该方法设计的多路LED显示系统具有硬件构造简单、软件编程容易和价格低廉等特点.2.6.1LED显示器LED显示器中的发光二极管共有两种连接方法:·共阳极接法把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V。阴极端输入低电平的段发光二极管导通点亮,输入高电平的则不点亮。·共阴极接法把发光二极管的阴极连在一起构成公共阴极。使用时会共阴极接地,阳极端输入高电平的段发光二极管导通点亮,输入低电平的则不点亮。图2.6.1LED显示用LED显示器显示十六进制数的字型代码如下表所示:表2.6十六进制数字形代码2.6.2七段数码显示器七段LED显示器需要由驱动电路驱动。在七段LED显示器中,共阳极显示器,用低电平驱动;共阴极显示器,用高电平驱动。点亮显示器有静态和动态两种方式。2.6.3动态显示所谓动态显示就是一位一位地轮流点亮各位显示器〔扫描〕,对于显示器的每一位而言,每隔一段时间点亮一次。在同一时刻只有一位显示器在工作〔点亮〕,利用人眼的视觉暂留效应和发光二极管熄灭时的余辉效应,看到的却是多个字符“同时〞显示如图2.17所示。图2.6.1四位动态显示的电路显示器亮度既与点亮时的导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高较稳定的显示。动态显示器的优点是节省硬件资源,本钱较低。但在控制系统运行过程中,要保证显示器正常显示,CPU必需每隔一段时间执行一次显示子程序,占用CPU大量时间,降低了CPU的工作效率,同时显示亮度较静态显示器低。假设显示器的位数不大于8位,则控制显示器公共极电位只需一个8位I/O口〔称为扫描口或字位口〕,控制各位LED显示器所显示的字形也需要一个8位口〔称为数据〕。2.6.4LED数码管静态显示接口在单片机应用系统中,数码管显示器显示常用两种方法:静态显示和动态扫描显示。基于LED的优点在本次设计中采用了数码管的静态显示。所谓静态显示,就是每一个数码管显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。能供应单独锁存的I/O接口电路很多,常用的串并转换电路74LS164,他的电路如图2.18所示。图2.6.2静态LED显示电路MCS-51单片机串行口方式为移们存放器方式,外接4片74LS164作为4位LED数码管显示器的静态显示接口,把AT89C51的R*D作为数据输出线,T*D作为移位时钟脉冲。74LS164为TTL单向8位移位存放器,可实现串行输入,并行输出。其中A、B〔第1、2脚〕为串行数据输入端,2个管脚按逻辑与运算规律输入信号,共公一个输入信号时可并接。CLK〔第8脚〕为时钟输入端,可连接到串行口的T*D端。每一个时钟信号的上升沿加到CLK端时,移位存放器移一位,8个时钟脉冲过后,8位二进制数全部移入74LS164中。R〔第9脚〕为复位端,当R=0时,移位存放器各位复0,只有当R=1时,时钟脉冲才起作用。Q1…Q8〔第3-6和10-13管脚〕并行输出端分别接LED数码管显示器的hga各段对应的管脚上。在74LS164获得时钟脉冲的瞬间〔是在脉冲的下降沿〕,如果数据输入端〔第1,2管脚〕是高电平,则就会有一个1进入到74LS164的部,如果数据输入端是低电平,则就会有一个0进入其部。在给出了8个脉冲后,最先进入74LS164的第一个数据到达了最高位,再来一个脉冲,第一个脉冲就会从最高位移出。6片7LS164首尾相串,而时钟端则接在一起,这样,当输入8个脉冲时,从单片机R*D端输出的数据就进入到了第一片74LS164中了,而当第二个8个脉冲到来后,这个数据就进入了第二片74LS164,而新的数据则进入了第一片74LS164,这样,当第六个8个脉冲完成后,首次送出的数据被送到了最左面的74LS164中,其他数据依次出现在第一、二、三、四、五片74LS164中。3软件设计3.1A/D转换器的软件设计单片机控制系统常要用到AD转换,根据输出格式,常用的AD转换方式可分为并行AD和串行AD。并行方式一般在转换后可直接接收,但芯片的引脚比拟多;串行方式所用芯片引脚少,封装小,但需要软件处理才能得到所需要的数据。可是单片机I/O引脚本来就不多,使用串行器件可以节省I/O资源。ADC0832是8位逐次逼近模数转换器,可支持两个单端输入通道和一个差分输入通道。一样功能的器件还有ADC0834,ADC0838,ADC0831。所不同的是它们的输入通道数量不同。它们的通道选择和配置都是通过软件设置。ADC0832芯片接口程序的编写单片机串行工作方式时,串行口是作为同步移位存放器使用。这时以P3.3端作为数据移位的入口和出口,而由P3.6端提供移位时钟脉冲。单片机串行口方式0与ADC0832的接口,单片机P2.0接ADC0832的CS,P3.6接0832的CLK作为时钟信号输出端,P3.7接0832的DO和DI作为启动位、配置位的发送端以及A/D转换后输出数据的接收端。由于ADC0832在CS变低后的前3个周期,DO端为高阻态;转换开场后,DI线制止,因此,DI端和DO端可连接在一起。ADC0832的时钟频率最高为400kHz,单片机晶振可选用4MHz,在T*D的输出频率为4MHz/12=333.3kHz,符合要求。ADC0832输出的串行数据共15位,由两段8位数据组成,前一段是最高位在先,后一段是最高在后,两段数据的最低位共用。只有在时钟的下降沿,ADC0832的串行数据才移出一位。由单片机控制时钟信号的发送,并由P3.6发出,以到达控制ADC0832输出数据位的目的。为了得到一列完整的8位数据,单片机分两次采集含有不同位的数据,再合成一列完整的8位数据。ADC0832通过部多路器来控制选择通道,处理器的控制命令通过DI引脚输入。如下流程图所示,当模拟信号输入开场后,首先是CS使能信号也就是片选信号有效,这时是低电平有效,如果片选是高电平时停顿转换。当时钟信号有效时输入通道的控制字来确定所选择的通道,读取数据后就开场将模拟量转换位数字量,A/D转换完毕后,单片机读取数值,如果没转换完,又回到使能开场。图3.1ADC0832数据读取程序流程3.2单片机与键盘的接口程序设计AT89C51单片机的P1口用作键盘I/O口,键盘的列线接到P1口的低4位,键盘的行线接到P1口的高4位。列线P1.0-P1.3分别接有4个上拉电阻到正电源+5V,并把列线P1.0-P1.3设置为输入线,行线P1.4-P.17设置为输出线。4根行线和4根列线形成16个相交点。检测当前是否有键被按下。检测的方法是P1.4-P1.7输出全“0”,读取P1.0-P1.3的状态,假设P1.0-P1.3为全“1”,则无键闭合,不然有键闭合。去除键抖动。当检测到有键按下后,延时一段时间再做下一步的检测判断。假设有键被按下,应识别出是哪一个键闭合。方法是对键盘的行线进展扫描。P1.4-P1.7按下述4种组合依次输出:P1.71110P1.61101P1.51011P1.40111在每组行输出时读取P1.0-P1.3,假设全为“1”,则表示为“0”这一行没有键闭合,不然有键闭合。由此得到闭合键的行值和列值,然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值。为了保证键每闭合一次CPU仅作一次处理,必须却除键释放时的抖动。从以上分析得到单片机键盘扫描程序的流程图如图3.2所示。程序如下图3.2单片机矩阵式键盘接口流程图3.3LED数码管显示程序设计利用单片机部的串行接口,可以实现静态的显示处理。这样不仅可以节省单片机的并行接口资源,而且在大多数不使用串行接口的情况下,可以减少或是免去扩展接口。在这种设计中,串行口工作于方式0,数据的输入输出都通过R*D实现,移位脉冲则由T*D发出。每次传送一个字节数据。每输出一个字节数据,单片机自动使串行中断请求标志TI置。通过测试该状态,即可确定该字节是否发送完毕。由硬件电路图可知,74LS164是串行输入并行输出的移位存放器。它具有两个串行输入端和8位并行输出端〔QA~QH〕。当显示数据从R*D端输出到移位存放器74LS164的输入端AB时,74LS164将串行数据转换成8位输出码QA~QH,然后加到共阳极LED显示器上。终究在哪一位上显示,还要P1口的状态而定。当*一位为低电平时,该位LED显示,其他位不显示。由于接口电路中显示模型输出地址和位选信号可一次选中,故只要一次输出即可显示一位。开场初始化开场初始化取待显示的字符查笔段码送显示缓冲区修改缓冲区指针4位显示完毕完毕图3.3LED的显示流程图4.系统调试按照实验原理图连线,连接好线路后,翻开电源,一个砝码一个砝码放,观察万能表示数与数码示数是否一致,并观察电压示数变化是否为定值。通过实验发现两者示数根本一致,误差为0.01,在误差允许围,非常准确。〔实验模板〕〔所焊板子及电压显示〕总结在设计中遇到不少困难,这对自己是一个考验,刚开场拿到题目的时候头绪并不是很多,通过查阅资料对整个系统有了一定的认识。在设计前我重新学习了一遍单片机的知识,包括芯片接口和51系列单片机的指令等。串行A/D转换器ADC0832是新接触的一种芯片,除学习芯片功能外,主要了解了对芯片串行输出的控制,这里的软件设计是一个难点,我们这次用的是用PROTEI99绘图软件,我们以前学过但是学的不深这对我来说是个难点,但是通过看书和同学教师的帮助,使得我画好了原理图和PCB版的出图。还有就是焊版,焊不好就无法显示要的数据,调试是最关键的时候,刚开场的时候没有显示,在修改程序的时候花了不少时间最后,终于显示可以想要的结果。当程序下载到焊版的时候,首先是显示0000,如果改变滑动变阻器时,通过ADC0832就可以显示不同的数据,我做的首先是采集模拟量,然后显示需要的数据。我认为我们专业学习硬件知识相比照软件多,所以在软件设计方面我还有很大缺乏。程序的设计经过“学习–模仿–编写–修改–再修改–定型〞等阶段,在软件的学习上我也花了比拟多的时间和精力,让我欣慰的是收获也很大。参考文献[1]迎新.单片微型计算机原理、应用及接口技术〔第2版〕[M].:国防工业,2004[2]keil软件单片机仿真实验系统使用说明书[3]严天峰.单片机应用系统设计与仿真调试.:航空航天大学,2005[4]阎石.数字电路技术根底〔第五版〕.:高等教育,2006[5]夏路易,石宗义.电路原理图与电路板设计教程Protel99se.:希望电子,2002附录A硬件原理图附录B*include<reg51.h>*include<stdio.h>*include<math.h>*include<intrins.h>*defineuintunsignedint*defineucharunsignedchar*defineADC0832CH0channel;//*********定义变量区*******************sbitclk_adc0832=P3^6; //定义各个控制引脚sbitcs_adc0832=P2^0;sbitdi_adc0832=P3^7;sbitdo_adc0832=P3^7;sbitLED0_CS=P1^0;sbitLED1_CS=P1^1;sbitLED2_CS=P1^2;sbitLED3_CS=P1^3;sbitadarm=P2^2;ucharcodetable[11]={0*c0,0*f9,0*a4,0*b0,0*99,0*92,0*82,0*f8,0*80,0*90,0*ff};//0,1,2,3,4,5,6,7,8,9,off//共阳极笔端码ucharch;//采样返回数据//*********函数声明区********************

voidtkey(void);//键盘函数unsignedrunADC0832(bit);//A/D转换voidDelayms(uint*);//延时显示函数voidUpdate_LED();//LED显示函数voidLED_analyze();//**********主函数开场**********voidmain(){P0=0*FF;P1=0*FF;P2=0*FF;P3=0*FF;Uart_Init();TH0=0*3C;TL0=0*AF;ET0=1;//开外部中断0EA=1;//全局中断翻开TR0=1;nCounter=0;Change_Flag=0;while(1){voidtkey(void);runADC0832();if(Change_Flag==1){Update_LED();if(ch>9999)ch=0;printf("counterrefreshed%d\n",ch);}delay();/********矩键查寻键值4*4程序******/按键为P1.0P1.7

voidTkey(void)

{

ucharreadkey;//rereadkey;

uchar*_temp,y_temp;

P1=0*0f;

*_temp=P1&0*0f;

if(*_temp==0*0f)gotokeyout;

P1=0*f0;

y_temp=P1&0*f0;

readkey=*_temp|y_temp;

readkey=~readkey;switch(readkey){case0*11:key=0;break;case0*21:key=1;break;

case0*41:key=2;break;

case0*81:key=3;break;

case0*12:key=4;break;

case0*22:key=5;break;

case0*42:key=6;break;

case0*82:key=7;break;

case0*14:key=8;break;

case0*24:key=9;break;

case0*44:key=10;break;

case0*84:key=11;break;

case0*18:key=12;break;

case0*28:key=13;break;

case0*48:key=14;break;

case0*88:key=15;break;

default:

key=16;break;

}keyout:_nop_();

}//**********A/

温馨提示

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

评论

0/150

提交评论