单片机报告数字转速表设计本科论文.docx
- 文档编号:25460187
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:28
- 大小:872.44KB
单片机报告数字转速表设计本科论文.docx
《单片机报告数字转速表设计本科论文.docx》由会员分享,可在线阅读,更多相关《单片机报告数字转速表设计本科论文.docx(28页珍藏版)》请在冰豆网上搜索。
单片机报告数字转速表设计本科论文
提供全套毕业论文,各专业都有
等级:
湖南工程学院
课程设计
课程名称单片机原理及应用
课题名称数字转速表设计
专业自动化
班级1291
学号201201029113
姓名
指导教师
2014年9月1日
湖南工程学院
课程设计任务书
课程名称单片机原理及应用
课题数字转速表设计
专业班级自动化1291
学生姓名
学号201201029113
指导老师
审批
任务书下达日期年月日
任务完成日期年月日
设计内容与设计要求
设计内容:
本课题要求以MCS-51系列单片机为核心,设计一个数字转速表对脉冲转速信号进行检测(测速范围0~3000转/分),能将所测量的转速在LED显示器上显示(十进制),并具有方便的键盘操作(启动、暂停、复位)功能。
设计要求:
1)确定系统设计方案;
2)进行系统的硬件设计;
3)完成必要的参数计算与元器件选择;
4)完成应用程序设计;
5)应用程序的调试。
主要设计条件
1、PC机及单片机调试软件;
2、单片机学习板;
3、系统设计、调试所需的元器件。
说明书格式
1.课程设计任务书
2.目录
3.总体方案确定
4.各单元硬件电路设计说明
5.软件设计与说明(包括流程图)
6.调试结果与必要的调试说明
7.使用说明
8、总结
9、参考文献
附录
附录A系统原理图
附录B程序清单
进度安排
设计时间为两周
第一周
星期一、上午:
布置课题任务,讲课及课题介绍
下午:
借阅有关资料,总体方案讨论
星期二、总体方案
星期三、系统设计及调试
星期四、系统设计及调试
星期五、软件设计及调试
第二周
星期一、软件设计及调试
星期二、软件设计及调试
星期三、软件设计及调试
星期四、写说明书
星期五、上午:
写说明书,整理资料
下午:
交设计资料,答辩
参考文献
[1]王迎旭等.单片机原理及及应用[M].2版.机械工业出版社,2012.
[2]高峰.单片微型计算机原理与接口技术[M].电子工业出版社,2003.
[3]王守中.51单片机开发入门与典型实例[M].人民邮电出版社,2007
[4]戴灿金.51单片机及其C语言程序设计开发实例[M].清华大学出版社,2010.
[5]胡汉才.单片机原理及其接口技术[M].3版.清华大学出版社,2010.
目录
第1章前言··················································07
第2章总体设计思路··········································08
2.1基本原理··············································08
2.2设计总电路············································08
第3章硬件电路的设计方案····································10
3.1LED显示部分电路的设计·································11
3.2按键电路的设计········································12
3.3时钟电路··············································13
第4章软件设计方案··········································14
4.1总程序模块············································14
4.2按键程序模块··········································15
第5章系统调试··············································17
第六章总结与体会···········································18
参考文献·····················································19
附录·························································20
附录A总电路图···········································20
附录B程序清单···········································21
第1章前言
单片机作为嵌入式微控制器在工业测控系统,智能仪器和家用电气中得到广泛应用。
虽然单片机的品种很多,但MCS-51系列单片机仍不失为单片机中的主流机型。
本课程一MCS-51系列以及派生系列单片机芯片为主介绍单片机的原理与应用,与其特点是由浅入深,注重接口技术和应用。
近年来,微型计算机的发展速度足以让世人惊叹,以计算机为主导的信息技术作为一种崭新的生产力,正在向社会的各个领域渗透,也使机电一体化的进程大大加快。
机电一体化是当今制造技术和产品发展的主要倾向,也是我国机电工业发展的必由之路。
可以认为,它是用系统工程学的观点和方法,研究在机电系统和产品中如何将机械、计算机、信息处理和自动控制技术综合应用,以求机电系统和产品达到最佳的组合。
机电一体化产品所需要的是嵌入式微机,而单片机具有体积小、集成度高、功能强等特点,适于嵌入式应用。
智能仪器、家用电器、数控机床、工业控制等机电设备和产品中竟相使用单片机。
就目前而言,单片机的发展势头依然不减,各种型号和功能更强的单片机和超级接口芯片不断出现,进一步向高层次发展的重要标志就是构成多机系统和分布式网络。
世界上单片机芯片的产量以每年27%的速度递增,到本世纪初已达30亿片,而我国的年需求量也超过了亿片的数量,这表明单片机有着广阔的应用前景。
本课程设计主要针对目前我国早期应用比较广泛的“MCS-51”单片机进行系统的讲解和分析。
为使用和开发各类机电一体化设备和仪表建立基础。
第1章总体设计思路
2.1基本原理
利用AT89C51作为主控器组成一个转速表。
电机转速采用光电脉冲传感器来测量,设置定时器/计数器T0和T1,利用其内部定时器T1设置为定时方式,且定时时间为1s。
计数器T0设置为外部脉冲计数工作方式,设在1s内测量的脉冲个数为n,又由于脉冲频率为60个脉冲/转,故测到转速n就是脉冲频率。
定时1s,在1s内允许中断,每中断一次,软件计数器加1,1s后,关闭中断,则软件计数器即为1s内的脉冲数,通过计数一定时间内通过定时器的脉冲数通过软硬件结合工作即可测出电机的转速。
2.2设计总思路
本课题要求以MCS-51系列单片机为核心,设计一个数字转速表对脉冲转速信号进行检测,能将所测量的转速在LED显示器上显示(十进制),并具有方便的键盘操作(启动、暂停、复位)功能。
单片机通过检测脉冲信号计算转速,测速范围0~3000转/分。
该系统的功能概括起来就是能测量当前每秒钟给的手动脉冲数。
MCS-51单片机内有两个定时器/计数器T0和T1,利用其内部定时器T1设置为定时方式,且定时时间为1s。
计数器T0设置为外部脉冲计数工作方式,设在1s内测量的脉冲个数为n,再将n乘上60即是转速(分/转)。
根据设计要求和设计思路,本系统由AT89C51单片机,LED显示电路,时钟与复位电路以及独立式按键五个部分组成。
系统硬件框图如图2-2所示。
图2-2系统框图
第2章硬件电路的设计方案
在单片机中,定时功能既可以由硬件(定时/记数器)实现,也可通过软件定时实现。
硬件定时是利用单片机内定时器定时,启动以后定时器可与CPU并行工作,不占用CPU时间,CPU有较高的工作效率。
采用硬件定时和软件定时并用的方式,即用T0溢出中断功能实现50ms定时,通过软件延时程序实现1s定时。
定时器的TMOD用于设置定时器/计数器的工作方式0~3,并确定用于定时还是用于计数。
TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。
AT89C51单片机管脚引脚图如图3-1所示:
P0.2
VCC
P0.3
P0.5
P0.4
P0.6
RST/Vpd
P0.7
EA/Vpp
ALE/PROG
PSEN
P3.0/PXD
P3.1/TXD
P3.3/INT1
P3.2/INT0
P2.7
P3.4/T0
P2.6
P2.5
P3.6/WR
P3.5/T1
P2.4
P2.3
P3.7/RD
P2.1
P2.2
XTAL1
XTAL2
P2.0
VSS
图3-1
3.1LED显示部分电路的设计
本课题所采用得是由LED(数码管)作为显示电路,用以显示由单片机所接收的脉冲来转换的BCD码,以及开始测速时的初始状态。
其硬件电路连接是单片机P0.0~P0.7通过一组1K的接数码管的A~G和DP共8个管脚,P2.0~P2.3接三极管驱动的发射极,三极管驱动的集电极接数码管的1~4的,采用共阳极连接的方法连接。
如图3-2所示:
图3-2显示部分电路
3.2按键电路设计
对按键电路的设计可以由2种方式:
一种方式是独立按键设计,这种设计电路适用于按键较少的控制;另一种方式是矩阵式键盘的设计,它适用于对控制按键较多的电路控制。
本课题总共设计按键有3个启动、停止、复位,因此设计时采用独立按键,由单片机P2.1。
接法如图3-3所示
图3-3按键电路图
3.3时钟、复位电路
时钟电路是计算机的心脏,它控制着计算机的工作节奏。
MCS-51单片机允许的时钟频率是因型号而异的典型值为12MHZ。
MCS-51内部都有一个反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端,外接定时反馈元件以后就组成振荡器,产生时钟送至单片机内部的各个部件。
电路中的电容C1和C2典型值通常选择为30pf左右。
对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器的频率的高低,振荡器的稳定性和起振的快速性。
晶振的振荡频率的范围通常是在1.2MHZ-12MHZ之间。
晶振的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。
但反过来运行速度快对存储器的速度要求就高,对印制电路板的工艺要求也高,即要求线简的寄生电容要小;晶振和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定,可靠地工作。
综合考虑,本设计采用30pf的电容,其电路图如图3-4所示。
图3-4AT89C51的时钟电路
第3章软件设计方案
根据设计要求和设计思路,进行模块设计。
定时计数程序模块,数制转换模块,显示模块,转速测量模块。
编程语言?
4.1主程序设计
转速的显示我们采用了动态扫描的工作方式,LED数码显示管采用4联共阳极显示器,该器件内部已将4个数码显示器的同名字段端并接在一起,从上到下4个数码管的公共阳极分别由一个引脚引出。
如图4-1所示
(初始化定时器、LED显示初态)
开始
显示
查键
否
有键按下?
是
按键处理
图4-1总程序流程图
4.2按键程序模块
设计中我们使用的独立按键,因为只有启动、暂停和复位三个按键。
按键程序的流程图如图4-3。
N
开始
Y
启动计数器,延时秒
启动键?
1秒后调用计算、进制
转换子程序
否
是
暂停键?
关闭计数器
否
是关闭计数器,清空存
复位键?
复位计LED0~LED3
复位、显示初态
否
返回
图4-3按键程序流程图
第4章系统调试
硬件调试的步骤如下:
接通电源和数据线,通过软件将在keil中生成的HEX文件下载到单片机板子上,先对板子关电当显示请上电时按下单片机上的电源开关按钮上电下载程序到单片机中,通过按键和LED的显示进行调试。
当程序下载完之后,按下电源开关,LED上显示初始状态,按下启动键显示接收数据的状态,按下停止键后显示当前所记录的数据,按下复位键则显示初始状态。
脉冲周期为0.2s调试结果如图5-1所示:
脉冲周期为0.2s调试结果如图5-2所示:
第5章总结与体会
课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次单片机课程设计,至今我仍感慨颇多,基本的内容和我们上课所学的差不多!
就是把课本的知识综合了一下!
无论是整个程序的哪一个环节,单独拿出来让我们设计都不难,但是一综合起来,对于我们这些初学者来说难度就加大了。
因为程序要综合起来考虑很多要点,如果只单单完成一种功能我们还可以慢慢捋清思路,一旦综合性加强,马上就会漏洞百出。
的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次的课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在李老师的辛勤指导下,终于迎刃而解。
参考文献
[1]王迎旭等.单片机原理及及应用[M].2版.机械工业出版社,2012.
[2]高峰.单片微型计算机原理与接口技术[M].电子工业出版社,2003.
[3]王守中.51单片机开发入门与典型实例[M].人民邮电出版社,2007
[4]戴灿金.51单片机及其C语言程序设计开发实例[M].清华大学出版社,2010.
[5]胡汉才.单片机原理及其接口技术[M].3版.清华大学出版社,2010.
附录
附录A系统原理图
8051
附录B程序清单
;**************************************
;****三个键****启动****暂停****复位****
;**************************************
;***********P1口作为指示灯***********
ORG0000H
SJMPWAIT
ORG001BH
LJMPTIMER
ORG0030H
WAIT:
MOVSP,#0A0H;设置指针指向A0H单元
MOV7AH,#0AH;数据缓存区7A
MOV7BH,#0AH;数据缓存区7B
MOV7CH,#0AH;数据缓存区7C
MOV7DH,#0AH;数据缓存区7D
MOVP1,#00H;P1口指示灯全亮
CLRTR0;关计数器T0
CLRTR1;关定时器T1
MOVB,#21;定时标志
MOVPSW,#00H
MOVTMOD,#15H
MOVTL0,#00H;清除计数器低八位
MOVTH0,#00H;清除计数器高八位
LOOP:
LCALLDISPLAY
LCALLKEY
CJNEA,#0FFH,KEY_1
SJMPLOOP
;。
。
。
启动。
。
。
KEY_1:
CJNEA,#01H,KEY_2
MOVP1,#0F8H
MOV7AH,#00H
MOV7BH,#00H
MOV7CH,#00H
MOV7DH,#00H
MOVTL0,#00H;清除计数器低八位
MOVTH0,#00H;清除计数器高八位
SETBEA
SETBET1
MOVTL1,#0B0H
MOVTH1,#3CH
SETBTR0
SETBTR1
S1:
LCALLDISPLAY
LCALLKEY
CJNEA,#0FFH,KEY_1
SJMPS1
;。
。
。
暂停。
。
。
KEY_2:
CJNEA,#02H,KEY_3
CLRTR1
MOVB,#21
MOVP1,#0C7H
S2:
LCALLDISPLAY
LCALLKEY
CJNEA,#0FFH,KEY_1
SJMPS2
;。
。
。
复位。
。
。
KEY_3:
CJNEA,#03H,WAIT
LJMPWAIT
;。
。
。
。
。
。
。
。
。
。
下面是键盘扫描程序(4068个机器周期)。
。
。
。
。
。
。
。
。
KEY:
PUSHPSW
SETBRS0
MOVP0,#0FFH
MOVP2,#0FFH
MOVA,P2
CPLA
JZL
CLRACC.0
ACALLDELAY
ACALLDELAY
K1:
CJNEA,#02H,K2
MOVA,#01H
SJMPR
K2:
CJNEA,#04H,K3
MOVA,#02H
SJMPR
K3:
CJNEA,#08H,L
MOVA,#03H
SJMPR
L:
MOVA,#0FFH
R:
CLRRS0
POPPSW
RET
;。
。
。
。
。
。
。
。
。
。
显示子程序。
。
。
。
。
。
。
。
。
。
DISPLAY:
SETBRS0
MOVA,#0EFH
MOVR0,#7AH
LOOP1:
MOVDPTR,#TAB
MOVP2,A
MOVR1,A
MOVA,@R0
MOVCA,@A+DPTR
MOVP0,A
MOVA,R1
LCALLDELAY
INCR0
RLA
CJNEA,#0FEH,LOOP1
CLRRS0
RET
;。
。
。
。
。
。
。
。
。
。
下面是延时程序(1毫秒)。
。
。
。
。
。
。
。
。
。
。
。
DELAY:
SETBRS1
MOVR0,#05
D2:
MOVR1,#100
DJNZR1,$
DJNZR0,D2
CLRRS1
RET
;。
。
。
。
。
。
。
。
。
。
定时器中断子程序。
。
。
。
。
。
。
。
TIMER:
CLRTR0
DECB
MOVR0,B
CJNER0,#01H,RE
MOVP0,#0FFH
MOVP2,#0FFH
LCALLCOUNT
MOVB,#21
RE:
MOVTL1,#0B0H
MOVTH1,#3CH
SETBTR1
SETBTR0
RETI
;。
。
。
。
。
。
。
。
。
。
计算子程序。
。
。
。
。
。
。
。
。
COUNT:
PUSHPSW
MOV70H,A
;转换程序开始
MOV71H,TL0
MOV72H,TH0
CLRA
MOV73H,A
MOV74H,A
MOV75H,#16
D3:
CLRC
MOVA,71H
RLCA
MOV71H,A
MOVA,72H
RLCA
MOV72H,A
MOVA,74H
ADDCA,74H
DAA
MOV74H,A
MOVA,73H
ADDCA,73H
DAA
MOV73H,A
DJNZ75H,D3;R3高八位,R4低八位
;转换程序结束
;数据写缓存区
MOVA,74H
ANLA,#0FH
MOV7AH,A
MOVA,74H
ANLA,#0F0H
SWAPA
MOV7BH,A
MOVA,73H
ANLA,#0FH
MOV7CH,A
MOVA,73H
ANLA,#0F0H
SWAPA
MOV7DH,A
;数据写缓存区
MOVTL0,#00H
MOVTH0,#00H
POPPSW
MOVA,70H
RET
;。
。
。
。
。
。
。
。
。
。
段码。
。
。
。
。
。
。
。
。
。
。
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH
END
电气与信息工程学院课程设计评分表
项目
评价
优
良
中
及格
差
设计方案的合理性与创造性(10%)
开发板焊接及其调试完成情况*(10%)
硬件设计或软件编程完成情况(20%)
硬件测试或软件调试结果*(10%)
设计说明书质量(20%)
设计图纸质量(10%)
答辩汇报的条理性和独特见解(10%)
答辩中对所提问题的回答情况(10%)
完成任务情况(10%)
独立工作能力(10%)
出勤情况(10%)
综合评分
指导教师签名:
________________
日期:
________________
注:
表中标*号项目是硬件制作或软件编程类课题必填内容;
此表装订在课程设计说明书的最后一页。
课程设计说明书装订顺序:
封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 报告 数字 转速表 设计 本科 论文