漳州师范学院。设。计。
报。告。
课题:模拟智能小车。
学号:090502234
设计人:刘俊锋。
指导老师:白炳良。
设计时间:2012-04-28
摘要:本课程设计采用共阳数码管显示系统,以at89s52单片机为核心,由键盘、数码显示、led灯等电路模块组成。本设计利用按键来模拟红外壁障信号;利用led灯来模拟小车电机;实现小车壁障、左右转弯、倒退、pwm调速等功能。
关键字: at89s52单片机模拟小车 pwm
目录。1. 系统设计 4
1.1设计要求 4
1.2 实现方案 4
1.2.1设计思路 4
1.2.2设计方案 4
1.2.3系统结构框图 4
2.1电源电路 5
2.1.1电路原理图 5
2.2最小系统模块 5
2.3模拟传感器、电机模块 6
2.3.1 电路原理图 6
2.3.2 工作原理 6
2.4显示模块 7
2.4.1 电路原理图 7
2.4.2 工作原理及参数选择 7
3. 软件设计 7
3.1 软件功能及算法 7
3.2 软件流程图 8
4. 系统测试 9
5. 结论 9
7. 参考文献 9
8. 附录 9
附录(一) 原器件明细表 9
附录(二) 原理图 10
附录(三) pcb图 10
附录(四) 主程序清单 10
利用单片机设计模拟小车,设计任务如下: (含工作电源)
1、 采用发光二极管代替电机,用光的强度表示电机快慢;
2、 利用pwm来控制电机,用数码管显示两个电机的占空比和正反转;
3、 具有按键控制电机速度功能;
4、 用复位按键来模拟壁障传感器。
本设计需要实现模拟小车,通过按键来模拟外部传感器,通过系统以at89s52为核心,主要有显示模块、指示灯模块、按键模块和单片机软件控制模块构成。
at89s52单片机在模拟传感器键、切换键和调整键的控制下,由p0口输出段码数据,通过p2.4~2.7进行位选通,有数码管显示信息;由p2.
0~2.3输出脉冲,发光二极管亮度不一。
系统框图:2. 单元电路设计。
2.1.2工作原理:220v交流电,通过变压器t变压后输出9v交流电,经d1-d4桥式整流、c5电解电容滤波、三端稳压集成电路7805稳压后输出5v直流电,供给控制电路工作。
如图三所示,单片机(at89s52)9脚为复位输入端。上电及按键复位,只要rst引脚上有大于二个机器周期以上的高电平,单片机(at89s52)即复位。所以电阻r13选470ω,r14选4k7ω,c4选104即可;
单片机(at89s52)的xtal1脚、xtal2脚接一个由12m晶振和10pf组成的振荡电路。为单片机提供相应的时序。
模拟传感器:如图三,按键从单片机(at89s521)的p1.0~1.2口接入,当按键被按下时,相应的输入口就会输入低电平0。视为壁障传感器的有效信号。
模拟电机:如图四,四个发光二极管代表左右两副电机的正反转,通过p2.0~p2.
3口输出的pwm来控制其速度(灯的亮度);参数选择:由于发光管的正常发光的压降约为1.8v,电流约为3ma,故限流电阻选1kω。
如图四所示,由单片机(at89s52的引脚p0口输出pwm占空比、电机正反转指示等数据信息,通过位选信号p2.4~2.7就可在相应的数码管进行显示和闪烁。
当位选信号p2.4~2.7为低电平时,p0口送出数据也为低电平就点亮数码管,电流灌进单片机。
由于使用灌电流的方式驱动数码管,故选用pnp型三极管9012;数码管能正常工作的段电流为3ma--10 ma,压降为1.7v,三极管发射极和集电极的压降为0.3v,因此限流电阻的压降为3.
0v,所以选用限流电阻的阻值r=470欧。
主程序主要起到一个导向和决策功能,控制程序的走向。本系统在主程序中运用模块化结构,所有控制量集中处理,提高了处理效率,并在ram建立各控制量的映射,方便各功能模块的编程及修改。运用散转结构,可实现无扰动重入。
本设计主要有以下几个模块:pwm设置模块、小车正常模拟行走模块。
操作说明:上电复位后进入pwm设置模块;按esw2左右脉冲宽度加5,按esw3左右脉冲宽度减5;按esw1进入小车正常模拟行走模块,在这模块中按sw2表示左传感器有信号,按sw3表示右传感器有信号;再按esw1进入上个模块;按ret键单片机复位。
单片机内部资源分配:
#ifndef __vardfn_h__
#define __vardfn_h__
#include <>
#define uchar unsigned char
#define uint unsigned int
/==按键定义===
uchar bdata key;//电平变量。
uchar bdata ekey;//键沿变量。
uchar data keycnt;//键去抖。
sbit esw1=ekey^0;//独立按键1
sbit esw2=ekey^1;//独立按键2
sbit esw3=ekey^2;//独立按键3
sbit sw2=key^1;
sbit sw3=key^2;
/==4位数码管显示定义===
uchar data dsw;//
uchar data dsb0, dsb1, dsb2, dsb3;
/==端口定义===
sbit cs0=p2^4;//数码管位选通位。
sbit cs1=p2^5;
sbit cs2=p2^6;
sbit cs3=p2^7;
#define key_port p1 //
#define disp_port p0//
#define pwm_port p2//p2.0~.3
sbit pwm1=pwm_port^0;
sbit pwm2=pwm_port^1;
sbit pwm3=pwm_port^2;
sbit pwm4=pwm_port^3;
/==标志位定义。
uchar bdata flag;//标志缓冲。
sbit szk=flag^0;//闪烁总空位。
sbit fls=flag^1;//闪烁控制位。
sbit m1_fwd=flag^2;//电机1正传标志位。
sbit m2_fwd=flag^3;//电机2正传标志位。
*==全局变量。
uchar data sta;//定义模块转换寄存器。
uint data num;//显示缓冲。
uchar data m1_lt,m1_cnt;//电机低电平时间,和脉冲计数器。
uchar data m2_lt,m2_cnt;//
uint data m1_ft, data m2_ft;
uchar data pwm_cycle;//周期t(100)
uchar data f300,disp_sta;//闪烁时间、状态转换。
uchar code led=0xc0,0xf9,0xa4,0xb0,0x990--4
0x92,0x82,0xf8,0x80,0x985--9 共阳管段码。
#endif
主程序流程图。
模块0:设置pwm模块流程图模块1:小车模拟行走流程图。
t1:中断子程序流程图。
1、对照原理图,画出pcb图,认真检查无误后,做出电路板,焊接完成后,检查无硬件问题后,即可进行软件编写**。
2、将设计程序编译后的*.hex文件通过通用编程器**r_fighter写入芯片at89s52中。后验证程序是否成功,是否达到要求,通过反复修改,直到达到要求为止。
单片机课程设计报告
单片机系统课程设计报告。专业 电气技术。学生姓名 朱海李威张杰。学号。指导教师 陈高燕。完成日期 2014 年 7 月 5 日。目录。1 设计任务和性能指标 1 1.1设计任务 1 2 设计方案 1 2.1方案论证 2 2.2总体设计框图 2 3 系统硬件设计 4 3.1红外线解码电路设计 4 3....
单片机课程设计报告
韶关学院。课程设计说明书 设计题目 基于单片机控制的智能交通灯设计。课程名称 微机原理与应用实训。学生姓名 学号。院系 物理与机电工程学院汽车系。专业班级 12机械制造及其自动化 5班。指导教师姓名及职称 谢杰讲师。陈锦儒助理实验师。起止时间 2015 年 3 月 2015 年 5 月。课程设计评分...
单片机课程设计报告
南京工程学院。课程设计说明书 题目实时钟芯片pcf8563的应用 课程名称单片机原理及应用a 院 系 部 中心 通信工程学院。专业电子信息工程 传感网 班级。学生姓名。学号。设计地点信息楼 c 210 指导教师。设计起止时间 2013年12月23日至 2013年12月27日。一 摘要1 二 课程设计...