单片机课程设计转速表设计docx.docx
- 文档编号:26380495
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:25
- 大小:156.50KB
单片机课程设计转速表设计docx.docx
《单片机课程设计转速表设计docx.docx》由会员分享,可在线阅读,更多相关《单片机课程设计转速表设计docx.docx(25页珍藏版)》请在冰豆网上搜索。
单片机课程设计转速表设计docx
单片机课程设计
课题:
转速表设计
系另壯电气与电子工程系
专业:
电气工程及其自动化
姓名:
XXX
学号:
000000000
扌旨导老0帀:
杨帆
XXXXXXXXXX
20xx年xx月xx丨I
1.设计目的
利用单片机控制实现对转动物体速度的测量
2.设计要求
可采用接触或非接触式,实现对转动物体(如电动机轴)转速的测量,要求显示精度为三位半;发挥部分:
可区别转向。
三、总体设计
我们设计的转速表主要用传感器测量转速,用到的传感器为霍尔效应式。
霍尔传感器获取小马达旋转的信号,通过对脉冲进行计数并送给AT89C52单片机处理,单片机输出转速信号由数字显示器件直接显示,单位为
3.1总体框图
图1电路的总体原理框图
如上图1,89C52由复位电路和时钟电路控制和调整,电源供电后,霍尔传感器接收到电机旋转信号,将信号送入单片机处理,单片机将结果输出到LCD显不O
3.2工作原理
我们设计的转速表主要用传感器测量转速,用到的传感器为霍尔效应式,釆用UGN3144霍尔传感器。
传感器部分,负责将被测量量的转速转化为脉冲信号,因为采用的是集成霍尔开关元件,输出的是数字信号,可以直接把信号送入到单
片机进行处理。
单片机采用的是STC89C52。
霍尔传感器获取小马达旋转的信号,通过对脉冲进行计数并送给AT89C52单片机处理,单片机输出转速信号由数字显少器件直接显刀“单位为r/niino数字显小器件米用的是1602LCD液晶显?
b。
3.3电路元件介绍
霍尔元件
使用霍尔器件可做成各种式的探头,因霍尔器件对垂直于霍尔片表面的磁感应强度敏感,因而可测小马达转速。
霍尔元件的尺寸极小,测量十分方便。
我们使用UGN3144霍尔元件,它采用SOT89封装,引脚端1为电源正端,引脚端2为接地,引脚端3为输出(OC形式)。
如下图2。
本电路选择把霍尔元件的第三脚OUT接到89C52的第12引脚,即INT0/P3.2引脚,用来接收霍尔元件的中断响应。
图2UGN3144的封装结构
1602字符型LCD
图31602LCD尺寸图
1.5
无背丸a88LE(mx
15
1602字符型LCD尺寸如上图3介绍。
显示器显示容量:
16X2个字符,芯片工作电压45—5.5V、工作电流:
2.0mA(5.0V),模块最佳工作电压50V。
1602LCD采用标准的16脚(带背光)接口,各引脚接口说明如下表1。
表1引脚接口说明
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
DO
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7〜14脚:
D0〜D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
3.4主程序流程图
图4主程序流程图
设计思路:
因为霍尔传感器的工作原理是与小电机产生近距离接触,然后进行磁感应测速,故我们要判断霍尔传感器得到的信号是否是有效的。
开始先初始化单片机,然后允许开中断,即总中断允许,等待中断來自传感器的中断信号,之后查询计数存储区,拿霍尔传感器得到的信号与给定脉冲比较,若大于,则计数并转到LCD显示;若小于,则中断截止。
这样的设计可以防止测量不准等意外情况。
四、各部分电路设计
4.1复位电路
RST
P0.5^AD5
PCI6閃6
P0.7/AD7
33
32
22-iz士彳TTt-
PSEN
ALEEA
P2.0/AA
P2.1/A9P2.2/A10P2.2/A11P2.4/A12P2.昭13P2G/A1ZP2.7/A15
P1.0/T2
P1.1/T2EX
P1.2
PI.3
P1.4
P1.5
P1.6
PI.7
P3.0/RXD
P31H7D
P3.2/INT0
P3.3/1NT1
P34/T0
P35;T1
P3.G/WP
P3.7/RD
HiHiKtHiaHiHfHf
图5复位电路
复位电路工作原理如上图所示,VCC±电时,C3充电,在10K电阻上出现电压,使得单片机复位;几个毫秒后,C3充满,10K电阻上电流降为0,电压也为0,使得单片机进入工作状态。
工作期间,按下RESTE,C3放电。
RESTE松手,C3乂充电,在10K电阻上出现电压,使得单片机复位。
几个毫秒后,单片机进入工作状态。
4.2时钟电路
C1
匚]X1
12MHz
U1
>XTAL1
C2
XTAL2
30pF…
m6时钟电路
时钟电路是计算机的心脏,它控制着计算机的工作节奏。
89C52单片机允许的时钟频率是因型号而异的,典型值为12MHZo89C52内部都有一个反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端,外接定时反馈元件以后就组成振荡器,产生时钟送至单片机内部的各个部件。
电路中的电容C1和C2典型值通常选择为30pF左右。
对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器的频率的高低,振荡器的稳定性和起振的快速性。
晶振的振荡频率的范圉通常是在1.2MHZ-12MHZ之间。
晶振的频率越高,则系统的时钟频
率也就越高,单片机的运行速度也就越快。
但反过來运行速度快对存储器的速度要求就高,对印制电路板的工艺要求也高,即要求线简的寄生电容要小;晶振和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定,可靠地工作。
综合考虑,本设计采用30pF的电容,因为晶振的频率无法精确达到12MHZ,所以一般情况釆用11.0592MHZ,
4.3LCD液晶显示电路
VCC
RP1
LCD1
LM1032
<7宀
-^-vcc
GND
PDOZADOP0.1ZAD1P0.2/AD2P0.3ZAD3P0.4ZAD4P0.5^D5P0.6ZAD6
P0.7/AD7
P2.0/AB
P2.1/A5P22/A10P2^fA11P247A12P26/A13P2.6/A14P27/A16
3?
33
-2L
二
25
图7LCD液晶显示电路
我们选择把单片机的P0.0到P0.8并行I/O口与显示器的DO到D7引脚分别相连。
如图8
4.4霍尔传感器电路
•伯
•12
±L1
211
业
U1(P3.2/INTO1
F3.O/RXD
P3.WD
P3.2/INTD
P3.3/IMT1
P3.4/TOP3.5fF1
P36/W
P3.7/RD
图8霍尔传感器电路
仿真时我们用外部激励源脉冲源代替霍尔传感器向单片机输出信号。
Rp」
五、整体电路图
LCD」
£
-OJF
、..:
g
a—
Io
RSTFSEN0Lms
mat
s.d3-§-po.2、.§Fo.3、.§3.4X.总pop©s.s§FO.TVm
SI3§P2.2、AO3.01-3.5E-3P2.6E4P2.7/7M5
PWNRXDs^30pp2/^p3.3/f?
in"P3.4HDPQ.VnPP6阖P3.7別
Li
M3
<]
GND
屛b
»•
c
3
I
26
图9整体电路图
六、仿真及调试
Proteus是世界上著需的EDA工具(仿真软件),它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,它是目前最好的仿真单片机及外围器件的工具,我们就使用proteusISISpiofessional绘制电路。
LCD1"必AM
RP1
人、工・
C1
tlH2
S1
rian)Pll/DGXPliP"
Pi4
0
書匚
rr一
RST
Pl.7
^31042
.
磁元4
元
元件伍⑩
FCB
FtcfiiamFite:
Cb:
l:
Fib:
w“
lErobfe!
wcl:
«rc
—
DikePi«>?
<•>?
?
.
:
耽削:
):
K».t/Xn
HU中W心昭<心
的grjvnPM亦陀泗
PiE
P2”8pz刀刚Pi^fin
SMI
hT89C52
P3«.
niuo
J
?
|nda歼vj
■J
jJ
硝定(0)以助IQ戲抵叨
茗元件卞退行伪自⑸亦元件不用于PCBM^LI
方戎缁ir阶育必tig
块也I
图10程序装载
LCD1
RPI1(lc
.JVO•
U=30.Qr/ninv二30・Br-/nin
左齢8538383b
n
灯如
XT心
Pt'IMPt»2心叭畑
W4如K'4'J46
R51
吃£3
n”
T5®
肥.勿创
&ECA
PJS/AU
P2MAH肥.皿乃
flWD
rju.roa
»ll/HD
p?
f,rnn
Hi
P2LW
P5.5.W
M4
P1“D
ns
J•门E
nr.
P幼皿
FI.7
P3•俪
2・
d
总仞C32•、代.
•11Trr
•n
•n
•22.
•jf
in
■V
-^-•VTX
GKD
图11仿真效果图
针对这个电路我搜集整理了程序,是C语言格式,双击原理图中的89C52单片机之后弹出编辑元件对话框,把程序加载到progiamfile中,点确定,即可把程序烧录到单片机中,如上图10。
点击peteiis左下角的运行按钮,电路即可仿真工作,如图11,显示输入信号转速是30.0i7min,即30转每分钟。
七、设计总结
这次的课程设计对我來说是前所未有的,当我选中这个课题时我根本无法下手,遇到了很大的困难。
平时我的单片机基础并不好,我感觉课本里那些概念很生涩难懂,这个设计就更是我的难题。
于是我就努力地学习书本上的知识,,通过阅读和做题理解单片机工作原理和引脚应用等等知识同时上网查找资料,在请教同学们的和队友的帮助下我终于有了成果,我也用pioteus仿真出來,程序虽然是C语言的,而且经过编译还有错误,我和队友也解决了错误;电路设计方面,我按照原理图设计,尽量使排版合理简介,背面的焊接虽然有生疏之处,但是也基本没有错误。
霍尔元件我始终不知道它的第三个引脚接在哪里,即OC输出,原来它应该接在单片机的第12引脚,即INT0/P3.2引脚,这个是外部中断源,用来接收外部的中断响应。
焊接电路板方面,上次动手在初中时,那时的课外活动,学习过焊接技术,但是毕竟太早了,实践才能出真知,经过不断摸索和思考,也焊坏了很多引脚之后,我终于能够比较熟练地焊接电路板了,我发现这也是很有趣的一件事。
这次设计我深有体会,这是对自己大三所学知识归纳总结后的应用,是把理论知识用到实践之中去的一次宝贵尝试,这是一个再学习的过程,培养了自己独立思考,动手解决问题的能力,从而从各个方面得到提高与完善了自己,使自己的各个方面提高到一个新的台阶,同时为以后的工作打下基础。
在人生及其重要的大三阶段,这样的学习活动无疑锻炼了我,丰富了我的知识面和见识,这是对个人能力是一次考验,我得到了很多有用的东西,感觉应对问题更加从容不迫、做事井井有条了。
除此之外,在整个设计过程中,要有信心和耐心,相信自己能够很好的完成本次设计任务,这是一个成功的重要因素。
不论结果如何,只要努力过并且认真的去学习,那就一定有收获。
在本次毕业设计中,特别要感谢老师和同学给我的热心帮助和鼓励,才使得我们的毕业设计能够很好地完成。
8.参考文献
[1]《单片机原理及应用》,杨恢先、黄辉先,人民邮电出版社,2007.1
[2]《单片机接口电路与应用程序实例》,沈徳金,陈粤初,北京航空航天大学出版社,1990
[3]《微型计算机控制技术》,潘新民,王燕芳,电子工业出版社,2003
[4]《单片机原理及接口技术(简明修订版)》,李超青,杭州,北京航空航天大学出版社
[5]《单片机原理及应用》,彭喜元,彭宇,高等教育出版社,2000.5
附录
#include
#include
#defineucharunsignedchar〃定义无符号#defiiieumtunsignedmt〃无符号整形sbitlcdis=P2A4;〃数据命令sbitlcdnv=P2A5;〃读写控制端sbitlcden=P2A6;〃使能端口
unitnumjiuiii4ant_tp,tunej,flg_cal.distanced;uchartemp2[16];//定义一个16位的数组
floatspeed,v;
ucharnuii.secaium1;
严****延时zms******/voiddelav(ucharz)
{ucharx,y;foi(x=z;x>0;x—)foi(y=110;y>0;y-);
}
voidwnte_com(ucharcom){
lcdis=0;
delay(5);
P0=com;
lcden=l;
delay(5);
lcden=0;
}
voidwnte_data(ucliardataa)
{
lcdis=l;
delay(5);lcden=l;
P0=dataa;
delay(5);
lcden=0;
}
写入字符串函数
*/
voidwnte_stimg(unsignedcharXAinsignedcharyjinsignedchar*s)
if(y==0)
wnte_com(0x80十x);〃表示第一行
}
else
{
wnte_com(OxCO+x);〃表示第二行
}
while(*s)
{
write_data(*s);
s卄;
}
}
写入字符函数
*/
voidwnte_chai(unsignedchaix,unsignedcharv,unsignedcharData){
if(y==0)
{
wnte_com(0x80十x);
}
else
{
wnte_com(0xC0+x);
}
wiite_data(Data);
}
voidliutQ//初始化
{
pxo=i;rro=1;exo=1;//外中断o跳变触使能off
sec=0;
min=0;
num=0;
num1=0;
speed=O;
TMOD=0x01;//Ox15时速度指示
//THO=Oxff;
//TLO=0x5a;//500us(65536-166)/256=255%256=90
THO=(65535-50000)/256;//50ms
TLO=(65535-50000)%256;
ETO=1;〃定时器
TR0=l;
EA=1;
lcden=O;
lcdiw=O;
wnte_com(0x38);//设置16x2显示,5x7点阵,8位数据接口wiite_com(OxO1);//开显示。
不显示光标
wnte_com(0xl4);//写一个字符后地址指针加一
wnte_com(OxOc);//显示清零
}
voidmainQ
{
nutO;
while(l)
{
if(flg_cal=l)
{
flg_cal=0;
//if(distance>65530)
distance=distance+num1;
speed=numl*30
v=distance*30/t;
num1=0;
spnntf(temp2,"V=%5.1fr/nuii",speed);//write_sumg(0,0,temp2);//显示第一行spnntf(temp2,"v=%5.1fi/min”,v);//wnte_sumg(0J,temp2);//显示第二行
}
}
}
voidtO_time()mtemipt1
{
TRO=0;
ETO=0;
//TH0=Oxff;
//TLO=0x5a;〃计时初值
TH0=(65535-50000)/256;//50ms
TLO=(65535-50000)%256;
tmiej卄;〃超过3.5S无中断相应,即判断速度为0,则最低速度2.04kin/hif(timej=20)
{
tmiej=0;
flg_cal=l;
t++;
if(t=65535)t=0;
}
ET0=1;
TRO=1;
}
〃外部中断函数
voidIiitO_SEV(void)intemipt0using1{
EXO=0;numl++;
EX0=1;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 转速表 设计 docx
![提示](https://static.bdocx.com/images/bang_tan.gif)