轮胎自动充气压力控制器设计_第1页
轮胎自动充气压力控制器设计_第2页
轮胎自动充气压力控制器设计_第3页
轮胎自动充气压力控制器设计_第4页
轮胎自动充气压力控制器设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、轮胎自动充气压力控制器设计轮胎自动充气压力控制器设计31/31轮胎自动充气压力控制器设计单片机系统课程设计单片机系统课程设计成绩评定表目录1前言42方案设计51)方案选择52)方案设计框图53)整体设计方案63硬件电路设计71)压力传感器检测电路72)单片机73)显示部分84)A/D变换部分95)键盘部分106)电磁继电器控制电路117)时钟电路118)复位电路124软件设计一三1)显示部分子程序设计一三1.LED显示子程序设计思路一三2.显示子程序流程图一三2)A/D变换子程序设计141.A/D变换子程序设计思路142.A/D变换子程序流程143)键盘部分子程序设计一五1.键输入原理一1单片

2、机系统课程设计五2.键盘扫描工作原理及子程序流程图164)软件整体设计161.整体设计思路172.片内RAM设置一八3.整体程序流程图一八5系统调试206实验总结22附录A系统原理图23附录B源程序清单24参照文件33前言目前,跟着人们生活水平的渐渐提高,小汽车也渐渐成为了人们的代步工具。所以,在小汽车性能方面的渐渐提高就成了一个十分有研究价值的课题。此刻,行车旅游一件令人烦恼的事情就是,车胎常常会在半路没气,这一方面会加大对燃油的使用而致使温室气体的排放,加重轮胎的磨损,同时又会影响我们的驾驶心情,造成了一系列的不便。因为我们生活节奏的加速,手动充气这类费时费劲的方法已经没法知足人们的要求。

3、于是,自动充气机便应运而生,它使用方便,又能为人们节俭大批的时间。本课程设计就是鉴于89C51芯片而设计的一种自动充气机。它是全自动的,只要接上电源,此后设定你所需要的气压值,它就能自动达成充气任务,在充气达成后自动封闭气泵。固然我们的设计没法与目前市场上一些比较先进的自动充气控制设施相媲美,可是它构造简单,成本低价,操作方便。因为单片机拥有集成度高、体积小、运转靠谱、应用灵巧、价钱低、面向控制等特色,所以在工业控制、数据收集、智能仪器仪表、智能化设施和各样家用电器等领域获得了广泛的应用。所以,关于单片机的应用与学习是相当必需的。2单片机系统课程设计本课程设计就是为了增强我们对单片的应用实践而

4、安排的,经过此次课程设计,我们对单片机的构造与编程实践将有一个更为深入的认识,为我们此后更深入的研究打下基础。方案设计1)方案选择方案一:采纳差分式电容压力传感器,其线性度和敏捷度较好。其原理是,因为压差的变化,使电容发生变化,经过变换电路,从而转变为电压或电流的变化,从而依据需要进前进一步转变。其弊端是,不易实现对被测气体或液体的密封,所以不宜采纳在压力太大的场合。方案二:采纳半导体压敏电阻式进气压力传感器,它是利用半导体的压敏效应制成的。它的特色是尺寸小,精度高,响应性好,再现性、抗震性好,且生产成本低,所以获得广泛应用。它由压力变换元件和把变换元件输出信号进行放大的混淆集成电路构成。压力

5、变换元件是利用半导体的电压效应制成的硅膜片。硅膜片的一面是真空室,另一面导入进气管压力。因为硅膜片的一侧是真空室,所以进气管压力越高,硅膜片的变形越大,它的应变与压力成正比。附着在薄膜上的应变电阻的阻值与压力成正比变化,这样就能够利用变换电路把硅膜片的变形变为电信号。因为输出的电信号略微,所以用混淆集成电路进行放大后输出。3单片机系统课程设计这两种方案都采纳了单片机进行控制,因为在充气过程中关于充气速度没有严格要求,所以传动系统中选择了直流电机。在设计中,因为在轮胎的气压一般较大(一般约为标准大气压的两至三倍),为了防范较大偏差,所以采纳了第二种方案。2)方案设计框图以下列图2.1为单片机最小

6、应用系统的构成框图:进气压力传感器丈量放ADC变换器大电路队列式键单片机最显示装置盘小系统充气系统图2.1方案设计框图3)整体设计方案自动充气系统由压力传感器和有关的放大电路、ADC变换器、单片机最小系统、队列式键盘、显示装置和充气系统构成。设计思路是:第一由键盘输入设定的充气压力值,此后经过3路LED数码管显示其数值,输入设定值后便能够启动气泵进行充气。充气过程中的压力值能够经过传感器收集,再经过放大电路放大,接着传输到模/数变换器ADC0809的一路模拟信号通道,变换出八路数字信号传给单片机AT89C51,接着单片机把计算气压值送给LED数码管并让它以动向扫描的方式目前气压值。当两个值相等

7、时,中止驱动电路,停止充气。在硬件电路中将对单片机部分,ADC变换部分,队列式部分和键盘显示部分做详尽的介绍,传感器检测部分和充气系统部分将作简单的介绍。本课程设计的要点就是经过单片机系统熟习单片机扩展接口的应用,与传感器的联合设计将使我们对单片机的认识提高到一个新的层面。4单片机系统课程设计硬件电路设计1)压力传感器检测电路15VU19+12VR58SENSORR40120R38R724K31K2MU25BR64AR?GNDR732K4R3010KR701KR23CA3542K4OPAMPC2R38R71C41K1031031K2MGNDR58R63GND120120GND-12V图3.1压

8、力传感器检测电路图3.1分为三部分,第一部分为供电电路,第二部分为压力检测电路,第三部分为放大电路,放大后的信号送入A/D变换器。图中采纳多臂电桥,能够有效的提高传感器的敏捷度和减少非线性偏差。并且关于传感器电阻范围的采纳,也尽量选择压力与电阻成线性关系的地区。单片机5单片机系统课程设计AT89C51是美国Atmel企业生产的低电压,高性能CMOS8位单片机,片内含4kbytes的可频频擦写的只读程序储蓄器(PEROM)和128bytes的随机存取数据储蓄器(RAM),器件采纳Atmel企业的高密度、非易失性储蓄技术生产,与标准MCS51指令系统及8051产品引脚兼容,片内置通用8位中央办理器

9、(CPU)和Flash储蓄单元,功能兴盛。AT89C51单片机合适于很多较为复杂控制应用途合。此单片机是小型电子产品广泛采纳的微控芯片,性价比高。在控制领域应用也比较广泛。其最突出优点是把快擦写储蓄器应用于单片机中,使得在单片机开发中改正程序变得十分简单,大大的缩短了系统的开发周期。同时在系统开发过程中,能有效地保留数据信息,即便断电也不会抛弃信息。AT89系列单片机和80C51系列单片机的引脚是同样的。单片机系统的三总线构成:地点总线:由P0口和P2口构成,此中P2口为地点的高8位,P0口为地点的低8位。P0口的地点经过地点锁存器锁存后输出。数据总线:P0口输入输出8位数据。注意:P0口作为

10、数据线使用时是双向的,作为地点线使用时是单向的。控制总线:PSEN作为扩展程序储蓄器的读选通讯号。WR和RD作为扩展数据储蓄器和外接I/O口的写、读选通讯号。其表示图如图3.2所示。P2A8-A15地点ALE地点锁存器A0-A7总线P0D0-D7数据总线PSEN控制WR总线RD图3.2单片机外面扩展三总线6单片机系统课程设计3)显示部分1字形与字行码在设计中,我采纳了共阴极数码管。平常状况下,显示代码寄存在程序储蓄器中的固定地区中,构成显示代码表。当需要显示某字符时,可由查表指令调出对应的字形码。表3.1常用字形表。显示部分由三位LED数码管和两片74HC373及三个反相器构成。其电路连接如图

11、3.3所示。其段选端共同连结74HC373(1)上,位选端连结着经过反相后的三路信号。74HC373的驱动电流能达到20mA,而一个数码管的驱动电流约为5mA,因此可用一片74HC373驱动三个数码管。LED的连结为共阴极。故在段选驱动输出高电平常选通相应的显示段。位选驱动端输出低电平常选中相应的LED。详尽到此电路则是:74374(1)输出高电平常选中三位LED的相应段。74373(2)输出高电平常选中相应的LED。字符字形dpgfedcba字形码00001111113FH110000011006H22010110115BH33010011114FH440110011066H55011011

12、016DH66011111017DH770000011107H88011111117FH99011011116FH表3.1共阴极数码管字形码表7D0Q0D1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7GNDVccOEG74HC373(1)D0Q0D1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7GNDVccOEG74HC373(2)87654321gfedcbadpefdgDadpcbPYC087654321gfedcbadpefdgadpcbC1单片机系统课程设计87654321gfedcbadpefDdgDaPYdpcbPYC2图3.3动向扫描电路因为只用到了三位LED,74

13、374(2)输出端的状态和对应的位选码以及选中的LED之间的关系如表3.2。Q7Q6Q5Q4Q3Q2Q1Q0位选选中码LED0000000101HC00000001002HC10000010004HC2表3.2位选码表4)A/D变换部分以以下列图3.4是ADC0809与单片机的接口电路,0809的EOC与P1.0相连作为变换结束的信号,从而通知CPU读数。89C51经过地点线P2.0和读、写信号线来控制模拟输入通道地点锁存、启动和变换结果的输出。模拟输入通道地点的译码输入A、B、C由P0.0P0.2供给,经锁存输出后与A、B、C相接。1.040P1Vcc2.1P039D0Q0P1.03.2P0

14、38D1Q1P1.14.3P037D2Q2P1.25.4P036D3Q3P1.36.5P035D4Q4P1.47.6P034D5Q5P1.58.7P033D6Q6P1.6932D7Q7RSTP0.710.031GNDVccP3EA11.130OEGP3ALE12.229P3PSEN74HC37313.3P228P3.714.4P227P3.615.5P226P3.516.6P225CLKAP3.417.7P224D0BP3.31823D1CXTAL2P2.21922D2Vr(+)XTAL1P2.120P221D3Vr(-)GND.0AT89C51D4GNDD5IN0D6IN1D7IN2EOCI

15、N3SCIN4ALEIN5OEIN6GNDIN7ADC0809图3.4ADC0809与89C51的连结在本设计中,ADC0809的模拟通道选择通道IN0。电路连结时直接把丈量8单片机系统课程设计放大电路的输出连结到模拟输入通道IN0即可。5)键盘部分如图3.5为4*4矩阵键盘的构造原理图图中,B0B2经过4个上拉电阻接+5V,处于输入状态,列线Q4Q7为输出状态。按键设置专家、列线交点上,行、列线分别连结到按键开关的两头。5VDIRVccA0EA1B0A2B1A3B2A4B3A5B4A6B5A7B6GNDB774245D0Q0D1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7GNDVcc

16、OECLK74HC373图3.5队列式键盘工作原理图CPU经过读取行线的状态,即可知道有无键的按下。当键盘上没有键闭合时,行、列线之间都是断开的,全部行线输入兴趣高电平。当键盘上某个键被按下时,则对应的行线和列线短路,行线输入即为列线输出。若此时初始化全部列线输出为低电平,则经过检查行线输入值能否全为“1”即可判断有无键按下。方法是:先令列线Q4输出电平,Q5Q7输入高电平,再读取行线的状态。假如读的某行线为低电平,则可确认对应当行线与列线订交的键被按下,不然无键按下。假如无键按下,都令Q5为低电平,其余列线为高电平,读取行线的状态,如无键按下,挨次循环直至找到键号。找到键号后将其键值读取并存

17、于40H开始的3个单元。当读取一个键值此后,存其键值,连续读取行线状态,挨次循环,直到用户按下确立键。6)电磁继电器控制电路如图3.6所示,电磁继电器由单片机的P1.7引脚控制。当该引脚输出高电平常,使三极管导通,继电器的内部线圈有电流经过,产生吸协力,将公共端吸合到常初步,则气泵开始充气;当轮胎的气充分后,P1.7引脚输出低电平,使三极管截止,则继电器不会产生吸协力,从而断开了气泵的工作。9单片机系统课程设计Vcc220VMP1.7GND图3.6电磁继电器控制电路7)时钟电路单片机内部有一个高增益的方向放大器,用于构成振荡器,但要外面时钟,外面还需附带电路。时钟的产生方法分为:内部时钟方式和

18、外面时钟方式。在本课程设计中,采纳了内部时钟方式的时钟电路。其电路如图3.7所示。要注意,振荡器和电容在安装的时候,要尽可能的和单片机芯片凑近。P1.0VccP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6RSTP0.7P3.0EAP3.1ALEP3.2PSENP3.3P2.7P3.4P2.6P3.5P2.5C3P3.6P2.4P3.7P2.320pFXTAL2P2.2XTAL1P2.1GNDP2.0C4AT89C5120pF图3.7时钟电路与单片机的连结电路8)复位电路复位是单片机的初始化操作,单片机启动运转时,都要先复位,它的

19、作用是使CPU和系统其余零件都处于一个确立的初始状态,并从这个状态开始工作。单片机复位后,大多数的寄存器都将清0。只有P0P3口和货仓指针SP例外,P0P3复位后为FFH,SP复位后的结果为07H。在本课程设计中,采纳了上电复位的方法,其实现为,上电瞬时,RC电路充电,RST引脚端出现正脉冲,只10单片机系统课程设计要RST引脚保持10ms以上的高电平,就能使单片机有效复位。复位电路与单片机的连结电路如图3.8所示。VccP1.0VccP1.1P0.0P1.2P0.1CP1.3P0.2P1.4P0.322FP1.5P0.4P1.6P0.5P1.7P0.6RSTP0.7P3.0EAP3.1ALE

20、P3.2PSENP3.3P2.7RP3.4P2.6P3.5P2.51KP3.6P2.4P3.7P2.3XTAL2P2.2XTAL1P2.1GNDP2.0AT89C51图3.8复位电路与单片机的连结软件设计1)显示部分子程序设计1.LED显示子程序设计思路由图3.3的显示电路连结可知:要显示某字符,就要把这个字符变换成相应的字形表,(字形码表见表3.1)此后发送给锁存器74374(1),此后由锁存器74374(2)送出位选信号。即可点亮相应的LED。由原理图连线可知片(1)的地址为1EFFH,片(2)的地点为9EFFH。第一成立一个字形表DIS-TAB,表格以十六进制数的序次寄存它们相应的字形码

21、,把字形表的首地点DIS_TAB的地点送给基址寄存器DPTR,要显示的数作为偏移量送入变址寄存器A,履行查表指令MOVCA,xA+DPTR,则累加器中获得的结果即表格中拿出的相应的数字的字形码。其次要成立一个显示缓冲区40H42H,缓冲区中各单元分别对应各个数码管LED1LED3。显示子程序的功能就是把显示缓冲区中的数据拿出,查表后转成相应的显示字形码,此后送到数码管中,所以要履行和更新显示时,必然先向个显示缓冲器中送数,此后再调用显示子程序。2.显示子程序流程图11单片机系统课程设计显示子程序的流程图如图4.1所示。开始保护现场DPTR指向字形表取要显示的数作为偏移量查表得字形码字形码送74

22、373(1)取位选字并送入74373(2)更新显示单元Y显示一遍N恢复现场结束图4.1显示子程序流程图2)A/D变换子程序设计1.A/D变换子程序设计思路依据ADC0809与单片机的连结电路可知,0809在系统中的地点为FEF8H,此时选择通道0。经过对片外数据储蓄器的写操作指令:MOVDPTR,#0FEF8HMOVXxDPTR,A即可启动一次A/D变换。详尽过程以下:指令MOVXxDPTR,A产生写信号WR,则上边的或非门输出为1。ALE有效,锁存地点锁存器74LS373输出地点的低三位000,选择模拟通道IN0,翻开模拟开关,则外面模拟量送入内部的A/D变换器。与此同时SC有效,启动一次模

23、数变换。结果存于ADC0809内部的三12单片机系统课程设计态输出锁存器中。经过对片外数据储蓄器的读操作指令:MOVXA,xDPTR即可读取A/D变换的结果。详尽过称为:读操作指令产生RD信号,则下边那个或非门输出为1。OE信号引脚有效,翻开内部寄存器的三态门,即可经过数据总线把A/D变换的结果送入累加器A。2.A/D变换子程序流程图A/D变换的流程图如图4.2:所示。开始DPTR指向0809启动变换变换达成?NY读入数据BCD变换结束图4.2A/D变换子程序流程图3)键盘部分子程序设计1.输入原理关于一组键或一个键盘,需要经过接口电路与CPU相连。CPU能够采纳查问或中止方式认识有无键输入并

24、检查是那一个键按下,并将该键号送入累加器ACC,此后经过散转指令转入履行该键的功能程序,履行完此后又返回到原始状态。一般状况下都要对按键进行编码,所以一个圆满的键盘控制程序应当达成下述任务:监测有无键按下;有键按下后,在无硬件去抖时,应用软件延时方法除掉颤动影响;13单片机系统课程设计有靠谱的逻辑办理方法,如n键锁定,只办理一个键,时期按下又松开的键不产生影响,不论一次按键连续多长时间,仅履行一次按键功能程序;输出确立的键号以知足散转指令要求。2.键盘扫描工作原理及程序流程图判断有无键按下。其方法是Q4Q7口输出低电平,读行线状态,若全为高电平常,则无键按下,不然有键按下。去除键颤动。其方法是

25、在判断有键按下时,软件延时一段时间(一般为20ms)后,再判断有无键的按下,假如仍旧为有键按下的状态,则有键按下,否则无键按下。扫描键盘,获得按下的键号。其原理是先使一条列线为低电平,假如这条列线上有键闭合,则相应的那条线为低电平,不然各行线状态都为高电平。闭合键的键值=列号+行号。判断闭合的键能否开释。由原理图连线可知,74245的地点为FEFFH,74HC373(2)的地点为9EFFH。键办理子程序流程图如图4.3所示。14开始有键闭合NY二次调用延时子程序确认有键闭合Y扫描键值闭合键开释否?Y键号送A转入履行相应功能子程序最后按下确立键后将输入键值送单片机系统课程设计调用延时子程序NN4

26、3H结束图4.3按键办理子程序流程图4)软件整体设计1.整体设计思路系统复位后,应当第一做一些初始化设置,比方:设置货仓指针,CPU开中断否,赞成哪些中止,以及外面中止的触发方式选择位的设置等等。这些工作做完后,就应当调用键盘子程序等候用户输入需要充气的多少。接着启动气泵的工作。启泵启动后应当立刻调用AD变换子程序及显示子程序,此后还要将A/D变换后的16进制数变换为10进制数,动向的显示轮胎内的气压,以及比较此刻的气压能否达到用户的要求。因为LED显示是动向的,所以必然循环的调用AD变换子程序和显示子程序,这样做不只及时性强,能够让用户认识轮胎内气压的变换,并且能够增强LED显示亮度。15单

27、片机系统课程设计2.片内RAM设置在软件编制以前,查阅了有关的资料,认识到汽车轮胎内的气压正常状况下一般是2.5个大气压,超出这个值此后就会有爆炸的危险。故再考虑到实质状况和软件编制的简单性的状况下,我们规定用户输入的充气气压只好位于0245Kpa的范围内。这样一来,因为ADC0809的精度为八位,其输出的数字量的范围是0245能够近似的相等。量化后正好是一对一的关系,就大大的减少了软件编制的困难。RAM分派:40H:高位LED的显示缓冲区。41H:中间位LED的显示缓冲区。42H:低位LED的显示缓冲区。43H:用户在输入要充的气压的时候,因为输入的是三个独立的一位数字。故需要经过办理后使之

28、变为我们意向中的一个0255之间三位数,此后把这个三位数放在43H中。在就能够用它和AD变换的结果比较,从而知道充气能否达成。44H:AD变换结果寄存单元。AD变换后的数为16进制数,要调用BCD变换程序变换为10进制数才能存入44H。AD变换的结果和43H顶用户输入的数据比较能够知道能否充气达成。30H:在初始化的时候设置为货仓指针。3.整体程序流程图软件设计的总程序流程图如图4.4所示。16单片机系统课程设计开始调用键盘子程序输入值显示启动气泵工作压力收集A/D变换压力值显示充气达成?YN停止气泵工作结束图4.4总程序流程图17单片机系统课程设计系统调试因为LAB6000实验箱上的很多模块

29、都出现了故障,所以我们没能在其上浮试成功。此后我们找来一块板子,在其上用电位器代替压敏电阻,用LED灯替代气泵,达成了调试。实验的步骤和照片如图。开始时设定的充气压力值,如图5.1所示。图5.1设定充气值此后气泵开始充气,充气过程中如图5.2。图5.2充气过程中18单片机系统课程设计当压力达到设定值此后,气泵停止充气,在图中能够看到灯灭。充气达成如图5.3所示。图5.3充气达成在调试的过程中,我们也碰到了很多问题。可是经过我们仔细分析程序,这些问题都一一解决了。这也给了我们一个教训,只有又着手做了,才能理解你的程序能否正确。可是依赖理论,不只浪费时间并且很可能并达不到预期的见效。调试的过程,让

30、我们在细节上对程序作了改良,也填补了我们在理论学习中的一些破绽。19单片机系统课程设计实验总结经过历时两周的课程设计,我对单片机的应用有了进一步的认识。经过此次设计,我对74373,74245,ADC0809芯片的外面扩展电路又进一步熟习了。此次设计也让我真实意会到了软硬件的联合,如在电路中的连线决定芯片的地点,在外面电路扩展中要达到好的见效还必然考虑芯片的驱动能力。有些时候,从原理上看,你的电路可能已经设计的特别圆满,可是在实质的调试过程中,却常常不那么令人满意。这就是软件与硬件脱钩的地方,你必然在选择元件,或许芯片的时候考虑,为何要选他,而不选其余,同时还要考虑经济效益。在达成此次设计的过

31、程中,我们大批使用到了诸如PROTEL、VISIO等作图软件。熟习了他们的一些基本操作,关于此后使用过程中应当注意的一些问题也有了一些初步的累积。最后,感谢老师和同学们在设计以及调试过程中赏赐我的尽心指导和帮助。此次设计中,我学到的最合用的东西,应当就是方案的设计了,他是你实行以下全部步骤的指导。所以确立了方案,你就对自己的任务有了一个比较有序的认识,而不是看到题目时得一团糟。20附录A系统原理图系统硬件连结图:GNDC3pFM220VGGVNDNDccC4pFAAAD8D9D14GXXRAT89TATASTL1L2PSAC5EAV1ENAAAAAAAAAAAD1D1D1GD7D6D5D4D3

32、D2D1D0980ANDAD9D8GBA74139AAYYD1D12176AD1AA5D1D176GNDGGNDNDGAAAAAAAAD74OGDDDDDDDD74OGDDDDDDDD7476543210IRE76543210HCE76543210HCNDV245CND37CND37BBBBBBBBVQQQQQQQQ3VQQQQQQQQ376543210EccLKcc76543210LKcc76543210AAAAAAD1D1D1D1D1D1598321KKK8408pd7KKKg6pdfd5951cee4dbgf3c2ab1aYPDKKK8pd71062g6pddf5cee4dg3bfc2a

33、b1aKKKYPD11738pd7g6pdfd5cee4dbgf3c2ab1aYPD+5V单片机系统课程设计10CG4315ND1KR4KRV23340CUA325B5410RK7312R1KR1KR12R0583838058RSEU1219063NSORGNDR2K2K470464+1-12VRR2V2M2M71OA72PAR?GMPGNDNDC10R321KG30ND+5VAAAD1D1D1123ABCVVGACr(+)r(-)NDIN0IN1IN2IN3IN4IN5IN6IN7DCDDDDDDDDEOAOV08LK0901234567CSCLEEccAAAAAAAAD0D1D2D3D4D

34、5D6D7AAAAD1D9D1D84021单片机系统课程设计附录B源程序清单ORG0000HJMPMAINORG0040HMAIN:MOVSP,#30HLAB0:LCALLKS;调用键盘办理程序LCALLADLCALLBCDLCALLMULT;调用AD变换子程序MOVA,44H;44H寄存AD变换结果CJNEA,43H,LPJMPLAB0LP:JCSTART;轮胎内的气压小于要求的气压,跳到START开始充气JMPLAB0;轮胎内的气压大于要求的气压,不充气START:SETBP1.7;启动气泵工作LOOP:LCALLADLCALLBCD;显示轮胎内部压强LCALLDISPLAYLCALLMU

35、LTMOVA,44HCJNEA,43H,LOOPCLRP1.7SJMP$22单片机系统课程设计DISPLAY:PUSHACC;保护现场PUSHDPHPUSHDPLSETBRS0;保护第0组工作寄存器MOVR0,#40HMOVR7,#04H;选中最左侧的数码管MOVR6,#3DIS_LOOP:MOVA,xR0MOVDPTR,#DIS_TABMOVCA,xA+DPTRMOVDPTR,#1EFFH;指向74373(1)MOVXxDPTR,AMOVA,R7MOVDPTR,#9EFFH;指向74373(2)MOVXxDPTR,ALCALLDELAY_10MSINCR0CLRCMOVA,R7RRCAMOV

36、R7,ADJNZR6,DIS_LOOPCLRRS0POPDPHPOPDPLPOPACCRET23单片机系统课程设计DIS_TAB:DB3FH,06,5BH,4FH,66HDB6DH,7DH,07,7FH,6FHDELAY_10MS:MOVR5,#0AHDL2:MOVR4,#7DHDL1:NOPNOPDJNZR4,DL1DJNZR5,DL2RETKS:MOVR0,#40H;将键值寄存在40H开始的单元MOVR4,#0;寄存按键次数MOV40H,#0MOV41H,#0MOV42H,#0;设置数据缓冲区MOV43H,#0;寄存输入的三位数KEYSTARTING:LCALLKEYCHECKJZKEYS

37、TARTINGLCALLDELEY_20MSLCALLKEYCHECKJZKEYSTARTINGMOVR1,#0FEH;首列扫描值送R1MOVR2,#4;扫描次数24单片机系统课程设计MOVR3,#0;首列键号送R3KEYLOOP:MOVDPTR,#9EFFH;373的地点送DPTRMOVA,R1MOVXxDPTR,A;列扫描字送373MOVDPTR,#0FEFFH;245的地点送DPTRMOVXA,xDPTR;读取行扫描值JBACC.0,KEYK1;第0行无键按下,转查第1行MOVA,#00HSJMPKEYVALUEKEYK1:JBACC.1,KEYK2MOVA,#04SJMPKEYVALU

38、EKEYK2:JBACC.2,CONTINUEMOVA,#08SJMPKEYVALUECONTINUE:MOVA,R1RLAMOVR1,AINCR3JNBACC.3,KEYSTARTINGSJMPKEYLOOPKEYVALUE:ADDA,R3PUSHACCKEYON:25KEY0KEY1KEY2KEY3KEY4KEY5KEY6KEY7KEY8KEY9KEY10KEY11单片机系统课程设计LCALLDELAY_20MSLCALLKEYCHECKJNZKEYONPOPACCMOVDPTR,#VALUETABMOVCA,xA+DPTRJMPxA+DPTRVALUETAB:DBDBDBDBDBDBDBDBDBDBDBDBKEY0:MOVA,

温馨提示

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

评论

0/150

提交评论