① 谁有单片机的小车论文
基于51单片机的红外遥控小车设计和制作 论文摘要:本文介绍一款红外线遥控小车,以AT89S51单片机为核心控制器,用L289驱动直流电机工作,控制小车的运行。本款小车具有红外线遥控手动驾驶、自动驾驶、寻迹前进等功能。本系统采用模块化设计,软件用C语言编写。
论文关键字:AT89C51单片机 直流电机 红外线遥控 循迹 L298
一、设计任务和要求
以AT98C51单片机为核心,制作一款红外遥控小车,小车具有自动驾驶,手动驾驶和循迹前进等功能。自动驾驶时,前进过程中可以避障。手动驾驶时,遥控控制小车前进、后退、左转、右转、加速等操作。寻迹前进时小车还可以按照预先设计好的轨迹前进。
二、系统组成及工作原理
本系统由硬件和软件两部分组成。硬件部分主要完成红外编码信号的发射和接受、障碍物检测、轨迹检测、直流电机运行的发生等功能。软件主要完成信号的检测和处理、设备的驱动及控制等功能。AT89S51单片机查询红外信号并解码,查询各个检测部分输入的信号,并进行相应处理,包括电机的正反转,判断是否遇到障碍物,判断是否小车其那金中有出轨等。系统结构框图如图1所示。
图1 系统结构框图
三、主要硬件电路
1、遥控发射器电路
该电路的主要控制器件为遥控器芯片HT6221,如图2所示。HT6221将红外码调制成38KHZ的脉冲信号通过红外发射二极管发出红外编码。图2中D1是红外发射二极管,D2是按键指示灯,当有按键按下时D2点亮。
HT6221的编码规则是:当一个键按下超过36ms,振荡器使芯片激活,如果这个按键按下且延迟大约108ms,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9~18ms),8位数据码(9~18ms)和这8位数据码的反码 (9~18ms)组成,如果按键按下超过108ms仍未松开,接下来发射的代码将仅由起始码(9ms)和结束码(2.5ms)组成。按照上图的接法,K1~K8的数据码分别为:0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07。
图2 遥控发射器电路原理图
2、红外线接收模块
该模块使用一体化红外接收头1838,其电路如图3所示。瓷片电容104为去耦电容,DOUT即是解调信号的输出端,直接与单片机的P3.2口相连。有红外编码信号发射时,输出为检波整形后的方波信号,并直接提供给单片机。
图3 红外接收原理图
3、电机驱动模块
该模块主要由芯片L298控制两个电机的正反转,以及改变电机的转速,其电路如图4所示。L298 芯片是一种高压、大电流双全桥式驱动器。其中SENSEA、SENSEB分别为两个H桥的电流反馈脚,不用时可以直接接地。VCC,VS是接电源引脚,电压范围分别是4.5~7V、2.5~46V,设计中VCC端与单片机电源端共用5V工作电源,VS端独立接9V电源。ENA,ENB为使能端,低电平禁止输出。IN1,IN2,IN3,IN4为数据输入引脚,OUT1,OUT2,OUT3,OUT4为数据输出引脚。D1~D8是保护二极管(IN5819),用于释放掉电机停车时产生的反响尖峰电势,否则会击坏L298。
4、障碍物检测和寻迹模块
障碍物检测和轨迹检测原理是相同的。从经济的角度考虑,该模块选用了反射式光耦,其电路如图5所示。反射式光耦由一个红外发射管和一个光敏三极管组成。LM324是电压比较器,当3脚的电平大于2脚时,输出端1脚输出高电平,反之输出低电平。高低电平的值取决于LM324的2脚电平,调整电位器R23使LM324的2脚电压为3V。
避障电路安装在小车的头部的左右两边,分别用于检测左右障碍物。工作过程是:当无障碍物时,不反射红外线,光敏三极管截止,LM324的3脚在R16的上拉作用下为高电平(5V),大于2脚电压(3V),输出高电平;当遇到障碍物时,反射红外线,光敏三极管导通,比较器3脚接地,小于2脚电压(3V),输出低电平。单片机根据电平的变化判断有无障碍物,当左边遇到障碍物时小车右转,当右边遇到障碍物时小车左转。
循迹电路安装在小车的底部的左右两边,循迹是通过辨别黑白色来行走。工作过程是:红外发射管发出红外光,当遇到黑色,不反射红外光,比较器输出为高电平;当遇到白线,红个光反射回来,比较器输出为低电平。当左边检测到白色时小车右转,当右边检测到白色时小车左转,当两边检测到的都是黑色时小车前进,当两边检测到的都是白色时小车停止。
图5 障碍物检测、轨迹检测原理图
四、软件设计
本系统的软件用C语言编写,分为主程序,外部中断解码子程序、自动驾驶子程序、手动驾驶子程序、障碍物检测子程序、轨迹检测子程序、定时器1中断调速子程序等。主程序完成系统硬件的初始化、子程序调用等功能。主程序、解码子程序如图6、图7所示。
图6 主程序流程 图7 解码程序流程图
结束语:
经实践表明,本文所设计的红外线遥控小车运行稳定、遥控灵敏、占用系统硬件资源少。且在不改变硬件电路,仅通过软件编程小车就可以实现障碍物检测、报警等功能。
参考文献:
[1] 陈权昌,李兴富.单片机原理及应用[M].广州:华南理工大学出版社,2007
[2] 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用[M].北京:清华大学出版社,2002
[3] 侯玉宝,陈忠平,李成群,等.基于Proteus 的51系列单片机设计与仿真.北京:电子工业出版社,2008
[4] 郝建国,郑燕.单片机在电子电路设计中的应用[M].北京:清华大学出版社,2006
② MSC-51单片机交通灯论文
单片机交通灯控制系统设计--带仿真的论文编号:JD943 论文字数:7687,页数:29摘要
本设计是交通信号灯控制系统,随着社会的不断的进步,社会的不断发展。交通也日渐复杂,交通的自动化也不断更新,交通的一些指挥系统光靠人来完成是远远不够的,这就需要设计各种交通指挥自动化系统来完成这些复杂的工作。从而使交通指挥系统更加有秩序,更加安全。至此本人设计了交通信号灯控制系统,来指挥十字路口车辆的停通,使红绿灯指挥系统实现自动化,无人化。
该交通灯控制系统控制的是东西和南北两个方向上的车辆通行,系统共采用6个发光二极管来模拟各路交通信号灯,4个LED七段数码管以倒计时的方式显示各个方向上允许通行或禁止通行的信号灯剩余的时间。停35S,准备5S,之后通行30S,并在东西和南北两个方向上这两种状态不断循环。此系统核心元件为单片机AT89C51,单片机)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。对其编写相关程序来控制交通信号灯和数码管的时间显示,并采用外部中断来控制紧急情况。此设计的硬件电路不是很复杂,关键在于软件的设计,即程序的编写。本设计采用的程序编写语言为现在流行的C语言,简单又便于阅读。编写程序的原则是:1.满足设计的要求。2.尽量采用最好,最有效的算法。3.编写时应尽量用最简洁的语言。编写好源程序后,采用keil软件对其进行编译,使其生成单片机可以识别的.hex文件,再把此文件导入单片机89C51中即可。
硬件电路和源程序及目标文件都设计完后,我们可以采用相关软件进行仿真,以使交通信号灯控制系统的设计更加准确,可靠。设计者采用PROTUES软件进行仿真调试,仿真时注意此软件使用,从而进一步熟悉并学习此软件。仿真成功后,就做好本次设计报告,写出此次设计的心得与体会。
关键词:交通指示灯;单片机;控制
目录
1 概述 3
1.1 交通灯设计方案选择与论证: 3
1.2设计要求及目的: 3
1.2.1基本要求: 3
1.2.2提高要求: 3
1.2.3设计目的: 4
1.3交通灯控制系统的简单说明: 4
2 系统总体方案及硬件设计 5
2.1 硬件电路各元件介绍: 5
2.1.1核心芯片AT89C51单片机的说明 5
2.1.2两位八段式数码管 7
2.1.3其它元件的说明 9
2.2总电路的设计及过程说明 10
2.2.1设计基本框架图:(如图6所示) 10
2.2.2总体电路的工作原理: 10
2.2.3各端口控制作用: 11
2.2.4复位和时钟电路: 12
2.3设计思想: 13
3 软件设计 14
3.1交通灯状态的分析: 14
3.2主程序流程图:(如图一,图二所示) 15
3.3中断程序流程图:(如图三所示) 17
4 Proteus软件仿真 18
4.1仿真过程: 18
(1)南北红,东西绿 18
4.2检测与调试: 20
5课程设计体会 22
5.1心得体会: 22
参考文献 22
附1:源程序代码 23
附2:系统原理图 28 答案来自:http://www.lwtxw.com/html/42-5/5746.htm
③ 关于51单片机的多功能温度显示器论文中的摘要怎么写
本课题主要介绍了温度传感器的硬件电路的设计和系统软件设计。硬件电路主要包括主控制器,测温电路和显示电路等,控制器采用单片机AT89C51,温度传感器采用美国DALLAS半导体公司生产的DS18B20,显示电路采用4位共阳极LED数码管以动态扫描法直读显示者改圆。系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。此外,还介绍了系统的调试和性能分析。
由于采用了改进型智能温度传感器DS18B20作为检测元件,与传统歼此的温度计相比,本数字温度计减少了外部的硬件电路,具有低成本和易使用的特点。DS18B20温度计还可以在过限报警、远距离多点测温控制等方面进行应用开发,具有很好的发展前景。DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。
在该论文中,我们通过对单片机和温度传感器的设计,从中学到了许多有用的东西,其中我们明白了如何去设计一个产品,首先要有性价比、良好的适应性,其次要知道设计的关键,最后也懂得了设计与实际的联系。
关键词:
单片机系统;数首塌字温度传感器;单总线;过限报警
This thesis mainly include hardware circuit design and system design process. Hardware circuit include the main controller, temperature measurement circuit and display circuit, the controller using SCM AT89C51, temperature sensors using the proction DS18B20 of United States DALLAS Semiconctor, and the display circuit using four common anode of LED by digital dynamic scanning and Direct Reading show. The system procere mainly includes main procere, reading temperature sub-procere, the temperature conversion orderanies sub-procere, computing the temperature sub- procere, the manifestation data breaks sub-procere etc. In addition, it introced a system debugging and performance analysis.
In order to adopting the improvement type the intelligence temperature transcer DS18 B20 Be examine component, compared with the traditional thermometer, this numerical thermometer reced the hardware telephone of the exterior, have low cost with the characteristics of the easy usage. The DS18 B20 thermometers can report to the police still in the heat, long-distance leave to click to measure control much etc. carry on an applied development, having good development foreground. As a kind of high-accuracy digital net temperature sensor,DS18 B20 can be used building a sensor net easily. It can also make the net simple and reliable with it's special 1-wire interface .This paper introces the application of DS18B20 with single chip processor.
In that thesis, we from the design of the SCM and the temperature transcer, we learned many useful things, among them, we understand how go to design a proct, first it should have to have good quality but inexpensive, adaptabilities, than should know hinge of the design, the last we also know the communication between design and practice.
Keyword:
SCM;Digital thermometer; Single bus;Over the boundary to alarm
仅供参考!!!
④ 51单片机关于密码锁的毕业设计,论文
程序设计内容
(1). 密码的设定,在此程序中密码是固定在程序存储器ROM中,假设预设的密码为“12345”共5位密码。
(2). 密码的输入问题:由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。
(3).按键禁止功能:初始化时,是允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态在3次密码输入不正确的情况下发生的。
C语言源程序
#includeunsignedcharcodeps[]={1,2,3,4,5};
unsignedcharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};
unsignedcharpslen=9;unsignedchartemplen;
unsignedchardigit;unsignedcharfuncount;
unsignedchardigitcount;
unsignedcharpsbuf[9];
bitcmpflag;
bithibitflag;
biterrorflag;
bitrightflag;
unsignedintsecond3;
unsignedintaa;
unsignedintbb;
bitalarmflag;
bitexchangeflag;
unsignedintcc;
unsignedintdd;
bitokflag;
unsignedcharoka;
unsignedcharokb;
voidmain(void)
{
unsignedchari,j;
P2=dispcode[digitcount];
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%6;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(cmpflag==0)
{
if(P3_6==0)//functionkey
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
if(P3_6==0)
{
if(hibitflag==0)
{
funcount++;
if(funcount==pslen+2)
{
funcount=0;
cmpflag=1;
}
P1=dispcode[funcount];
}
else
{
second3=0;
}
while(P3_6==0);
}
}
if(P3_7==0)//digitkey
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
if(P3_7==0)
{
if(hibitflag==0)
{
digitcount++;
if(digitcount==10)
{
digitcount=0;
}
P2=dispcode[digitcount];
if(funcount==1)
{
pslen=digitcount;
templen=pslen;
}
elseif(funcount>1)
{
psbuf[funcount-2]=digitcount;
}
}
else
{
second3=0;
}
while(P3_7==0);
}
}
}
else
{
cmpflag=0;
for(i=0;i
{
if(ps[i]!=psbuf[i])
{
hibitflag=1;
i=pslen;
errorflag=1;
rightflag=0;
cmpflag=0;
second3=0;
gotoa;
}
}
cc=0;
errorflag=0;
rightflag=1;
hibitflag=0;
a: cmpflag=0;
}
}
}
voidt0(void)
interrupt1using0{ TH0=(65536-500)/256;
TL0=(65536-500)%6;
if((errorflag==1)&&(rightflag==0))
{
bb++;
if(bb==800)
{
bb=0;
alarmflag=~alarmflag;
}
if(alarmflag==1)
{
P0_0=~P0_0;
}
aa++;
if(aa==800)
{
aa=0;
P0_1=~P0_1;
}
second3++;
if(second3==6400)
{
second3=0;
hibitflag=0;
errorflag=0;
rightflag=0;
cmpflag=0;
P0_1=1;
alarmflag=0;
bb=0;
aa=0;
}
}
if((errorflag==0)&&(rightflag==1))
{
P0_1=0;
cc++;
if(cc<1000)
{
okflag=1;
}
elseif(cc<2000)
{
okflag=0;
}
else
{
errorflag=0;
rightflag=0;
hibitflag=0;
cmpflag=0;
P0_1=1;
cc=0;
oka=0;
okb=0;
okflag=0;
P0_0=1;
}
if(okflag==1)
{
oka++;
if(oka==2)
{
oka=0;
P0_0=~P0_0;
}
}
else
{
okb++;
if(okb==3)
{
okb=0;
P0_0=~P0_0;
}
}
}
}
⑤ 单片机毕业设计,基于51单片机的电梯控制系统的设计
基于51单片机的电梯控制系统的设计
引 言
随着现代高科技的发展,住房和办公用楼都已经逐渐向高层发展。电梯是高层宾馆、商店、住宅、多层仓库等高层建筑不可缺少的垂直方向的交通运输工具。1889年美国奥梯斯升降机公司推出的世界上第一部以电动机为动力的升降机,同年在纽约市马累特大厦安装成功。随着建筑物规模越来越大,楼层也越来越高,对电梯的调速精度、调速范围等静态和动态特性都提出了更高的要求。由于传统的电梯运行逻辑控制系统采用的是继电器逻辑控制线路。采用这种控制线路,存在易出故障、维护不便、运行寿命较短、占用空间大等缺点。从技术发展来看,这种系统将逐渐被淘汰。
目前,由可编程控制器(PLC)或微型计算机组成的电梯运行逻辑控制系统,正以很快的速度发展着。可编程控制器,是微机技术与继电器常规控制技术相结合的产物,是在顺序控制器和微机控制器的基础上发展起来的新型控制器,是一种以微处理器为核心用作数字控制的专用计算机,它有良好的抗干扰性能,适应很多工业控制现场的恶劣环境,所以现在的电梯控制系统主要还是由可编程控制器控制。但是由于PLC的针对性较强,每一台PLC都是根据一个设备而设计的,所以价格较昂贵。而单片机价格相当便宜,如果在抗干扰功能上有所提高的话完全可以代替PLC实现对工控设备的控制。当然单片机并不象PLC那么有针对性,所以由单片机设计的控制系统可以随着设备的更新而不断修改完善,更完美的实现设备的升级。
电梯控制系统是比较复杂的一个大型系统,在计算机诞生的几十年里,继电器控制系统为电梯控制的发展做了巨大的贡献,但在性能上和PLC还是有本质上的差距。在科技的不断发展下,我想单片机控制系统很快可以解决抗扰性,成为方便有效的电梯控制系统。
由于时间和能力有限,在设计过程中难免有很多疏漏和不足之处,恳请老师批评指正,我将努力改正,争取做出完美的毕业设计。
目录
目录 1
引 言 2
第1章 绪 论 3
1.1 电梯的发展 3
1.2电梯的分类 4
第2章 方案的比较和确定 6
2.1 方案的选择 6
2.1.1 电梯继电器控制系统的优缺点 6
2.1.2 PLC控制系统的特点 6
2.1.3 电梯变频调速控制的特点 7
2.2 单片机控制方案的选择 7
2.3 变频器的选型 8
第3章 硬件系统的设计 10
3.1 硬件结构图 10
3.2 系统硬件原理图 10
3.3 89C51单片机的原理及其外围电路的设计 10
3.3.1 89C51单片机的原理与结构 10
3.3.2 单片机外围电路的设计 14
3.4 输入模块的设计 18
3.4.1 锁存器74LS373及其扩展功能简介 20
3.4.2 光电传感器 20
3.4.3 KC778B红外传感器基本应用电路 21
3.4.4 输入信号的采集 22
3.5 输出模块设计 24
3.5.1 DAC0832的功能简介 25
3.5.2 变频器功能简介 26
3.5.3 LED驱动器功能简介 29
3.5.4 控制信号的输出 32
第4章 系统软件的设计 34
4.1 主程序流程图 34
4.2 读入信息并显示子程序的流程图 37
4.3 延时去抖动子程序 37
4.4 设置目标层子程序流程图 38
4.5 电机拖动子程序流程图 39
4.6 电梯载客子程序流程图 40
4.7 中断服务流程图 41
小结与展望 42
致谢 43
参考文献 44
附录部分: 45
附录A 电气原理图 45
附录B 外文文献及其译文 46
附录C 主要参考文献及其摘要 50