基于单片机的转速单闭环直流调速系统设计-自动化单片机原理及接口技术课程设计内容摘要:

CC 为电源端, V0 为液晶显示器对比度调整端, RS为寄存器选择端, RW 为读写信号线, E为使能端, DB0~DB7 为 8 位双向数据端。 15 脚~16 脚为空脚或背灯电源。 15 脚背光正极, 16 脚背光负极。 本科生课程设计(论文) 6 图 34 LCD1602引脚图 键盘接口的设计 应用 4 个独立式按键来完成对电动机的加减速、 正反转、停止等功能,按键如图 35 所示,每一个按键的左端分别与对应的单片机接口相连,由此来个单片机输入信号。 图 35按键电路图 驱动电路的设计 本次设计的电动机的驱动芯片为 ULN2020A,其引脚图如图 36;它是一个 7路反向器电路,即当输入端为位高电平时, ULN2020A 输出端为低电平;输入为低电平时,输出为高电平; 图 36 ULN2020A引脚图 本科生课程设计(论文) 7 检测电路的设计 测速装置采用光电编码器来实现,通过码盘和光电编码器测出电动机的转速,再将速度信号反馈到单片机,从而将速度在 液晶屏上显示出来,光电编码器的电路图如图 37 所示; 图 37 光电编码器结构图 总电路图的设计 电路设计总图如图 38 所示: 图 38 单片机最小系统 G N D1V C C2V03RS4R / W5E6D B 0P 0 .0D B 1P 0 .1D B 2P 0 .2D B 3P 0 .3D B 4P 0 .4D B 5P 0 .5D B 6P 0 .6D B 7P 0 .7B G V C CB G G D D1 6 0 2L C D 1 6 0 2P 1 .0 / T 21P 1 .1 / T 2 E X2P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78P 0 .0 / A D 039P 0 .1 / A D 138P 0 .2 / A D 237P 0 .3 / A D 336P 0 .4 / A D 435P 0 .5 / A D 534P 0 .6 / A D 633P 0 .7 / A D 732U5P 3 .0 / R X D1 0 P 3 .1 / T X D11P 3 .2 / I N T 012P 3 .3 / I N T 113P 3 .4 / T 014P 3 .5 / T 115P 3 .6 / W R16P 3 .7 / R D17P S E N29R S T9V C C40G N D20S T C 8 9 C 5 2P 2 .7 / A 1 528P 2 .6 / A 1 427P 2 .5 / A 1 326P 2 .4 / A 1 225P 2 .3 / A 1 124P 2 .2 / A 1 023P 2 .1 / A 922P 2 .0 / A 821EA31A L E30X T A L 119X T A L 218R 1 2 1 0 KC 3 01 0 PK1 K2 K3 K4C 3 11 0 u FY21 2 MC 1 42 0 PC 1 52 0 PI N 11I N 22I N 33I N 44I N 55I N 66I N 77C O M M O N8C L A M P9O U T 710O U T 611O U T 512O U T 413O U T 314O U T 215O U T 116U2U L N 2 0 0 3 AU2R72 0 0R83 . 6 kR92 0 kR 1 04 . 6 kBG8 0 5 0C 1 12 2 u FR 3 14 . 7 kR 6 018K 1 7C 2 10 . 1 u FR 1 55KR 1 65KR 1 75KR 1 85KC 2 61 0 4M1 0 4v c cv c cv c cv c cv c cv c cv c cv c cv c c 本科生课程设计(论文) 8 第 4章 软件设计 在直流调速系统中,对三个部分进行编写程序,分别为键盘控制程序、显示程序和主电路控制程序,这三个程序分别实现了键盘的按键控制功能、显示电动机转速的功能和整个系统的运行控制功能。 下面对这三大程序分别进行设计介绍并给出设计流程图。 键盘控制程序设计 键盘控制流程图如图 41所示,编写的程序经过初始化 、识别是否有键入,经过接受指令和数据,进行分析并作出处理,然后传达给单片机。 下面还给出了部分键盘控制设计的程序。 图 41 键盘控制程序流程图 本科生课程设计(论文) 9 键盘控制程序: unsigned char Key_Scan() { unsigned char keyValue = 0 , i。 //保存键值 //检测按键 1// if (GPIO_KEY != 0xFF) //检测按键 K1是否按下 { Delay10ms(1)。 //消除抖动 if (GPIO_KEY != 0xFF) //再次检测按键是否按下 { keyValue = GPIO_KEY。 i = 0。 while ((i50) amp。 amp。 (GPIO_KEY != 0xFF)) //检测按键是否松开 { Delay10ms(1)。 i++。 } } } return key。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。