单片机课程设计报告

发布 2022-10-06 07:50:28 阅读 6526

漳州师范学院。设。计。

报。告。

课题:模拟智能小车。

学号: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 二 课程设计...