基于at89s52单片机的循迹小车的系统设计内容摘要:
作原理当 Rs1 过流 U5A 产生一个负脉冲经过微分后脉冲触发 555 的 2 脚电路置位 3 脚输出高电平由于放电端 7 脚开路 C1R5 及 U6A 组成积分器开始积分电容 C1 上的充电电压线性上升延时运放积分常数为 C1 当 C1 上充电电压即 6脚电压超过 2/ 3 VCC555电路复位输出低电平电机启动时间一般 小于 0. 8 sC1 充电时间一般为 0. 8~ 1 sU5A 输出电平与 555 的 3 脚输出电平经U7 相或如果 U5A 输出低电平大于 C1 充电时间 U7在 C1 充电后输出低电平由与门U8 输入到 L298N 的 6脚 ENA 端使电机停止如果 U5A 的输出电平小于 C1 充电时间6 脚不动作电机的正常启动长延时电路吸收电机启动过流电压波形从而使电机正常启动 下图是其引脚图 图 35 L298 引脚图 115 脚是输出电流反馈引脚其它与 L293 相同在通常使用中这两个引脚也可以直接接地上图是其与 51 单片机连接的电路图 图 36 74HC573 的管脚 该芯片 共有 20 个管脚管脚 D 端与单片机管脚相接 Q 端与 4 位共阴八段数码管的 abcdefghdp 端分别相连数码管的位选端与单片机的 IO 口相接 该芯片所驱动的显示电路如图 47所示显示驱动采用动态显示利用 LED代码查询得共阴什么管的显示断码代码如表 33 所示 图 37 数码管驱动电路 表 33 74HC573 驱动 数字 0 1 2 3 4 5 6 7 断码 0x3f 0x60 0x5b 0x4f 0x66 0x6d 0x7d 0x07 数字 8 9 a b c d e f 断码 0x7f 0x6f 0x77 0x7c 0x39 0x5d 0x79 0x71 4 软件设计 系统软件设计说明 在进行微机控制系统设计时除了系统硬件设计外大量的工作就是如何根据每个生产对象的实际需要设计应用程序因此软件设计在微机控制系统设计中占重要地位对于本系统软件更为重要 在单片机控制系统中大体上可分为数据处理过程控制两个基本类型数据处理包括数据的采集数字滤波标度变换等过程控制程序主要是使单片机按一定的方法进行计算然后再输出以便控制生产 为了完成上述任务在进行软件设计时通常把整个过程分成若干个部分每一部分叫做一个模块所谓模块实质上就是所 完成一定功能相对独立的程序段这种程序设计方法叫模块程序设计法 模块程序设计法的主要优点是 1 单个模块比起一个完整的程序易编写及调试 2 模块可以共存一个模块可以被多个任务在不同条件下调用 3 模块程序允许设计者分割任务和利用已有程序为设计者提供方便 本系统软件采用模块化结构由主程序、定时子程序避障子程序、中断子程序显示子程序、调速子程序、算法子程序构成 41 主程序设计 主程序清单如下 函数声明 include define uchar unsigned char define uint unsigned int define pwm_t 4000 周期为 4 毫秒 bit flag_pwm PWM_EN 脉冲给 M1 或是 M2 电机的标志位 bit direction 方向标志位 bit PWM_EN 脉冲标志位 uchar get_speed 测试装置测得到电机转速 uchar t0 定时器 0 计数变量 uchar baishige 数码管的前三位变量 uint hight_M1 既保存 M1 上次的脉冲大小等待下次新脉冲的刷新 uint hight_M2 既保存 M2 上次的脉冲大小等待下次新脉冲的刷新 uint hight 高电平运作时间 uint pluseB_count 外中断次数变量 uint k 数码管显示变量 uint qian 数码管的第一位变量 uint low 电平运作时间 sbit dula P11 数码管断选使能 sbit wela P10 数码管位选使能 uchar code table[] 0x3f0x060x5b0x4f0x660x6d0x7d 0x07 0x7f0x6f0x770x7c0x390x5e0x790x71 共阴四位数码管 0f 的断 码 uchar code table_pwm[] 1234567 ①高速前进②减速向左③减速向右④高速向左⑤高速向右⑥自动循迹⑦停车 红外扫描端口管脚的定义 sbit center_L P20 左边红外信号接口 sbit center_L P21 中间偏左的红外信号接口 sbit center_R P22 中间偏右的红外信号接口 sbit right P23 右边红外信号接口 L298 两路电机接口管脚的定义 sbit EN1 P00 接 L298 的一路电机驱动使能端 6 当 bit6 1 时电机 sbit EN2 P01 接 L298 二路电机驱动使能端 11 当 bit11 1 时电机转 sbit M1 P02 电机 M1 的极性控制端 M1 0 电机正转 if 1 电机负转 sbit M2 P03 电机 M2 的极性控制端 M2 0 电机正转 if 1 电机负转 数码管位选管脚定义 sbit one P04 sbit two P05 sbit three P06 sbit fore P07 数码管位选的个位十位百位千位 软件流程 如图 N Y 41 流程图 42 显示子程序设计 程序清单如下 函数名称 void display 函数功能四位一体数码管显示小车速度和停止后行驶的路程 void display qian k1000 bai k1000100 shi k100010010 ge k100010010 fore 0 dula 1 P0 table[qian] dula 0 fore 1 P0 0xff delay_1ms 1 three 0 dula 1 P0 table[bai] dula 0 three 1 P0 0xff delay_1ms 1 two 0 dula 1 P0 table[shi] dula 0 two 1 P0 0xff delay_1ms 1 one 0 dula 1 P0 table[ge] dula 0 one 1 P0 0xff delay_1ms 1 函数名称 INT0_rupt 函数功能外部测试装置的中断每中断一次显示实参 1 void INT0_rupt interrupt 0 pluseB_count if pluseB_count4 0 pluseB_count 0 k display 数码管显示 43 红外扫描子程序设计 程序清单如下 函数名称 signals ∩ _∩ ∩ _∩∩ _∩ ∩ _∩ 函数功能四个红外 RPR220 传感器路线情况的采集 void signals if center_Lcenter_R 0 0 0 中间两个管子得到高电平了吗 if rightleft 0 最外边两个管子为高电平吗 若是 delay_pwm 7 四个管子都是高电平小车检测到了停止线 else delay_pwm 2 高电平脉宽达到最大值 pwm_t 小车全速前进 else if center_Lcenter_R 0 中间两个管子有为高电平的吗 if center_L 0 左边的那个管子为高电平吗 delay_pwm 2 黑线在左边小车 微左 else delay_pwm 3 黑线在右边小车微右 else 中间的两个管子都为低电平这时候小车要快转了 if leftright 1 外边两个管子也为低电平 delay_pwm 6 小车就自动表演寻找线路 else if left 0 判断黑线是否在左边 delay_pwm 4 小车快速转向左边 else 黑线就在最 右边 delay_pwm 5 小车快速转向右边 函数名称 delay_pwm 函数功能根据路面情况调整电机工作方式。基于at89s52单片机的循迹小车的系统设计
相关推荐
不变,只改变晶闸管的导通时间,即通过改变脉冲宽度来进行直流调速。 PWM 的理论基础是:冲量相等而形状不同的的窄脉冲加在具有惯性的环节上,其效果基本相同。 采用 PWM 进行电机的调速控制,实际是保持加在电机电机电枢上的脉冲电压频率不变,调节其脉冲宽度。 电机是一个惯性环节,它的电枢电流饿转速均不能突变,很高的频率的 PWM 加在电机上,效果相当于施加一个恒定电压的直流电。 如图 36 所示。
A T 9 0 S 8 5 3 5I C 卡 接 口复 位 电 路键 盘 显 示 驱 动 键 盘前 端 显 示 屏后 端 显 示 屏 图 系统框图 本课题研究的重点及难点 a. 掌握 AT90s8535 单片机各个引脚功能和主要结构以及它的使用方法。 b. 认真分析研究对象, 主要掌握并学会运用 SLE4442 卡的读写功能。 c. 根据实际情况,对 SLE4442 卡中的内容进行修改
的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母 “A” 的代码是 01000001B( 41H),显示时模块把地址 41H 中的点阵字符图形显示出来 ,我们就能看到字母 “A”。 表 22 CGROM 和 CGRAM中字符代码与字符图形对应关系 高 位 低 位 0000 0010 0011 0100 0101 0110 0111 1010 1011 1100
ontrol of useing easily and having multifunction ,it suffers large users. The motor driver uses the mon wayPWM for the motor controlling speed. the speed of car is displayed by the LCD screen .The
AT89 单片机内部有一个用于构成振荡器的高增益反相放大器。 引脚 XTAL1 和 XTAL2 分别是此放中国地质大学江城学院毕业设计(论文) 6 大器的输入端和输出端。 这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器 [7]。 外接晶体谐振器以及电容 C1 和 C2 构成并联谐振电路,接在放大器的反馈回路中。 对外接电容的值没有严格的要求,但电容的大小会影响震荡器频率的高低
C18A01A12A23A34A45A56A67A78GND9IN2+5IN26OUT27VCC8OUT11IN12IN1+3GND4R 4 11KR 4 24 7 KR 4 83 9 KR 4 31 5 0R 4 64 7 KR 4 72 7 KR 5 46 2 0R 4 44 7 KR 4 53 3 0 KR 5 04 . 7 MR 5 1 1 . 2 MR 5 22 0 0 KR 5 3