欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    单片机水位控制及矩阵键盘.docx

    • 资源ID:8054239       资源大小:21.47KB        全文页数:12页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机水位控制及矩阵键盘.docx

    1、单片机水位控制及矩阵键盘目录题目分析、2硬件设计、2软件设计、6调试及运行、12矩阵键盘、12心得体会、16一、题目分析1、题目:单片机水位检测、显示及控制2、分析:从题目来看,这个设计的任务很明确。首先,检测水位是通过把水对容器底部的压力转化成电信号(这就是模拟信号),但是单片机对模拟信号不做响应(单片机对数字信号做响应),所以我的首要任务是把模拟信号转换成数字信号,利用转换芯片ADC0809把模拟信号转换成数字信号再输入到单片机中;显示这部分比较简单,就是把检测到的数字信号和相对应的字型码绑定,再把字型码通过单片机的一个IO口输出,该IO口接共阳的数码显示管;控制这部分,利用检测到的信号,

    2、和设置好的两个水位值(一个最低水位默认为1水位一个最高水位)相比较,如果小于最低水位就启动电机加水,如果大于最高水位就关闭电机停止加水。电路的具体工作原理在之后的报告中会做进一步的阐述。实际运用的价值,可以自动关注水塔中水位的情况,这样就可以不需要人为的检测,从而更精确的知道水位并控制水位。二、硬件设计1、电路图设计框图说明:我和老师探讨过,不用压力检测器。直接用按钮来当做水位,水位的上升是从低到高,所以可以把按钮当做水位的生升和下降。在具体实践中也可以实现,两个水平的触点,一个是高电位,一个是低电位,当水上升到两个触点的时候,接通,都为低电位。此过程中,一个触点由高电位变为低电位,信号被单片

    3、机接受,就可以执行之后所需要的步骤了。2、重要元件选择依据(1)单片机单片机的概念:单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。基本特点如下:芯片虽小,五脏俱全,是单片机主要特点之一。其内部设有程序存储器、数据存储器、各种接口电路。而大型的处理器运算速度较高,运算器位数较多,处理能力较强,但需要在外部配置接口电路;单片机主频一般在100MHZ以下,

    4、适合用于独立工作的小型产品之中,引脚数量从几个到百余个。;应用简单、灵活,可用汇编语言及C语言开发单片机产品。单片机的工作过程:单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储

    5、功能的部件存储器中。存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所

    6、在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行。(2)三极管在电路中的主要作用是开关作用,因为单片的电流不可以直接驱动电机转动,所以需要一个开关。(3)继电器把电机的工作电源和单片机的工作电源分开,这样在电机的启动和停止时,就不会对单片的程序执行有太大影响。(4)数码管显示部分就需要数码管来实现,要注意这是一个共阳的数码管。(5)电容和电阻和数码管相接的上拉电阻,因为p0口本身没有上拉电阻,所以电压小需要接上拉电阻。左边的电阻和电容相连是对单片机进行上电复位用的(6)按钮开关代替水位上升

    7、和下降,另外的一个功能是设置最低水位和最高水位。3、原件清单Design: 单片机水位检测Created: 05/07/07Modified: 11/07/13 Resistors8 R1,R3-R8,R10 100R M100R 1 R2 1k M100R Capacitors1 C2 22uf Maplin RG49D Integrated Circuits1 U1 AT89C51 Transistors1 Q1 NPN Diodes1 D1 DIODE Miscellaneous1 RL1 G2R-14-DC5 三、软件设计1、设置最高水位 ORG 0000H AJMP MAIN ORG

    8、 0013H AJMP INTMAIN: MOV P1,#0FFH SETB IT1 SETB EA SETB EX1 CLR P1.7L1: JB P1.0,L2 ACALL F JB P1.0,L1K1: JNB P1.0,$ ACALL F JNB P1.0,K1 MOV P0,#0F8H LCALL DELAY MOV R0,#0F8HL2: JB P1.1,L3 ACALL F JB P1.1,L2K2: JNB P1.1,$ ACALL F JNB P1.1,K2 MOV P0,#82H LCALL DELAY MOV R0,#82HL3: JB P1.2,L4 ACALL F J

    9、B P1.2,L3K3: JNB P1.2,$ ACALL F JNB P1.2,K3 MOV P0,#92H LCALL DELAY MOV R0,#92HL4: JB P1.3,L5 ACALL F JB P1.3,L4K4: JNB P1.3,$ ACALL F JNB P1.3,K4 MOV P0,#99H LCALL DELAY MOV R0,#99HL5: JB P1.4,L6 ACALL F JB P1.4,L5K5: JNB P1.4,$ ACALL F JNB P1.4,K5 MOV P0,#0B0H LCALL DELAY MOV R0,#0B0HL6: JB P1.5,L

    10、7 ACALL F JB P1.5,L6K6: JNB P1.5,$ ACALL F JNB P1.5,K6 MOV P0,#0A4H LCALL DELAY MOV R0,#0A4HL7: JB P1.6,L8 ACALL F JB P1.6,L7K7: JNB P1.6,$ ACALL F JNB P1.6,K7 MOV P0,#0F9H LCALL DELAY MOV R0,#0F9HL8: LJMP L12、水位检测部分INT: JB P1.6,$ ;水位上升 JNB P1.6,$ SETB P1.7 MOV P0,#0F9H JB P1.5,$ ;2 JNB P1.5,$ MOV P

    11、0,#0A4H CJNE R0,#0A4H,REL1 CLR P1.7 AJMP RE1REL1:JB P1.4,$ ;3 JNB P1.4,$ MOV P0,#0B0H CJNE R0,#0B0H,REL2 CLR P1.7 AJMP RE2REL2:JB P1.3,$ ;4 JNB P1.3,$ MOV P0,#99H CJNE R0,#99H,REL3 CLR P1.7 AJMP RE3REL3:JB P1.2,$ ;5 JNB P1.2,$ MOV P0,#92H CJNE R0,#92H,REL4 CLR P1.7 AJMP RE4REL4:JB P1.1,$ ;6 JNB P1.1

    12、,$ MOV P0,#82H CJNE R0,#82H,REL5 CLR P1.7 AJMP RE5REL5:JB P1.0,$ ;7 JNB P1.0,$ CLR P1.7 MOV P0,#0F8H MOV P3,#0FFH JB P1.0,$ ;水位下降 JNB P1.0,$ CLR P1.7 MOV P0,#0F8HRE5: JB P1.1,$ ;6 JNB P1.1,$ MOV P0,#82HRE4:JB P1.2,$ ;5 JNB P1.2,$ MOV P0,#92HRE3:JB P1.3,$ ;4 JNB P1.3,$ MOV P0,#99HRE2:JB P1.4,$ ;3 JNB

    13、 P1.4,$ MOV P0,#0B0HRE1:JB P1.5,$ ;2 JNB P1.5,$ MOV P0,#0A4H JB P1.6,$ ;1 JNB P1.6,$ SETB P1.7 MOV P0,#0F9H LCALL DELAY LJMP INT RETIF: MOV TMOD,#10H ;延时125MS MOV TL1,#0DCH MOV TH1,#0BH SETB TR1 JNB TF1,$ MOV TL1,#0DCH MOV TH1,#0BH CLR TF1 CLR TR1 RETDELAY: MOV R3,#10 ;延时1秒D1: MOV R4,#200D2: MOV R5,

    14、#248D3: DJNZ R5,D3 NOP DJNZ R4,D2 DJNZ R3,D1 RET END四、调试及运行程序基本上没有什么问题(最多就是有的语句没有注意打错了),按照分析中所设想的编完之后就完成了仿真,仿真过程也没有问题,由于仿真软件没有考虑到电源在实际中会相互影响,同时电机的启动和停止会对单片机的工作有影响。开始我在仿真中直接用三极管做开关驱动电机转动,后来在焊接好实物之后,对水位的检测和显示没有问题了,问题最多的就是出在控制这方面,p1.7口输出的驱动电压和电流不能使三极管工作,更不能使继电器工作带动电动机,总的来说就是三极管的开关功能没有实现。在老师的指导下,我使用光电耦合

    15、器,没有出现所预期的结果。最后我在三极管的基极加了一个上拉电阻,问题顺利解决了。我明白了,用光电耦合器是可以实现的,而且更加的稳定安全,我当时没有注意到,p1.7口接光电耦合器的时候也应该接一个上拉电阻,这样就达到了老师要求的效果,更贴近实际。虽然我的成功了,但是不完善。五、矩阵键盘1、仿真图2、程序 ORG 0000HSTART: ACALL M AJMP STARTM: MOV R3,#0EFH MOV R4,0K: MOV P0,R3 MOV A,P0 ANL A,#0FH ;屏蔽高四位 XRL A,#0FH ;异或判断是否有键按下 JZ S2 ;消抖S1: ACALL DEL JZ S

    16、2 JNB ACC.3,L1 ;判断寄存器A中的第4位是否为1,不为1则调到L1 MOV A,#00H ACALL DIS AJMP ML1: JNB ACC.2,L2 MOV A,#1 ACALL DIS AJMP ML2: JNB ACC.1,L3 MOV A,#2 ACALL DIS AJMP ML3: JNB ACC.0,M MOV A,#3 ACALL DIS AJMP MS2: ACALL DEL MOV A,#00H MOV A,R3 JNB ACC.7,M RL A MOV R3,A MOV A,#00H MOV A,R4 ADD A,#4 MOV R4,A AJMP KDIS

    17、: ADD A,R4 ;键值显示子程序 MOV DPTR,#TAB MOVC A,A+DPTR MOV P2,A RETDEL: MOV TMOD,#10H ;延时2ms MOV TL1,#30H MOV TH1,#0F8H SETB TR1 JNB TF1,$ CLR TF1 CLR TR1 RETTAB: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H,088H,083H,0C6H,0A1H,086H,08EH END 3、实验结果6、心得体会基于密码锁的设计基础,我对按键的运用可以说是很熟练了,所以按键这部分就不多说了。主要说说我

    18、对单片机外围电路的感想:在进行这个课程设计之前,我们已经进行了两个星期的基础电路学习,要注意的是,仿真可以的电路在做成实物时候不一定就可以用。举个例子,在仿真电路中,单片机可以驱动三极管工作,使其能扮演开关的角色,但是在实物中是不能的,因为从单片机的一个口出来的电压不够。同时,仿真软件不会注重各个元件的功率问题,所以,在设计电路的时候应当更加注重功率和脉冲电流对相互的影响,比如说电机启动和停止时会对单片机的工作产生影响,使程序执行是产生混乱,没有按要求执行。在我的设计中,我在三极管的基极连接一个上拉电阻,可以很好的完成三极管的开关作用,同时接入一个继电器,把电动机的电源和单片机的电源分开,这样就有效的把互相的影响进一步的降低。按键在编程的过程中,要注意消抖,同时焊接的时候要注意别焊接坏了,以避免不必要的麻烦。


    注意事项

    本文(单片机水位控制及矩阵键盘.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开