完整版单片机毕业课程设计0099加计数器.docx
- 文档编号:8034621
- 上传时间:2023-05-12
- 格式:DOCX
- 页数:8
- 大小:21.18KB
完整版单片机毕业课程设计0099加计数器.docx
《完整版单片机毕业课程设计0099加计数器.docx》由会员分享,可在线阅读,更多相关《完整版单片机毕业课程设计0099加计数器.docx(8页珍藏版)》请在冰点文库上搜索。
完整版单片机毕业课程设计0099加计数器
前言
单片机的应用介绍
单片机全称叫单片微型计算机(SingleChipMicrocomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种IO口和中断系统、定时器计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、AD转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
1.在智能仪器仪表上的应用,例如精密的测量设备 2.在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
3.在家用电器中的应用可从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
5.单片机在医用设备领域中的应用 例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
6.在各种大型电器中的模块化应用 如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。
目录
前言1
一.课程设计的目的和要求3
二.总体设计思路3
三.硬件设计6
四.软件设计9
五.使用Keil、preoteus软件调试仿真说明10
六.结束语10
七.参考文献11
一.课程设计的目的和要求
1、设计目的
1)学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。
2)掌握汇编语言程序设计方法。
3)培养实践技能,提高分析和解决实际问题的能力。
2、课程设计题目:
00-99加计数器
3、设计任务及要求
1)上电时,数码管显示为00。
2)利用单片机来制作一个手动计数器,在单片机的管脚上接一个轻触开关,作为手动计数的按钮,用单片机的IO口接数码管,作为计数器,进行加计数显示。
3)计数器计数到99后,再按计数按钮,则数码管从00重新开始计数。
二.总体设计思路
1.硬件设计思路及系统框图
1)硬件设计思路:
00-99加计数器硬件系统主要由AT89S51单片机,数码管,电容,电源等元件组成,利用单片机的P0口、P1口作为输出端,来控制数码管的显示,通过单片中烧入程序,然后利用P3.7口作为输入端,通过点动控制实现开关量的控制和计数,然后再通过数码显示器显示出来。
通过调试仿真从而实现00-99加计数。
元件名称
型号
数量个
用途
单片机
AT89S51
1
控制核心
晶振
12MHZ
1
晶振电路
电容
30uF
2
晶振电路
排阻
Respack8
2
上位电阻
电阻
10k
1
复位电路
电源
+5v
1
提供电源
拨码开关
BUTTON_1
1
发出信号
数码管
7SEG-MPX1-CC
2
显示电路
2)原器件清单
3)系统框图
系统框图
2.软件设计思路及程序流程框图
1)软件设计思路:
实现00-99计数功能,子程序实现将高低电位转化为数码管的十进制数字,实现手动开关计数。
通过手动给脉冲信号,实现计数,再加到99时,在手动给脉冲时,回到初始状态00,从而实现00到99加计数。
2)对照表
“0”
3FH
“8”
7FH
“1”
06H
“9”
6FH
“2”
5BH
“A”
77H
“”
4FH
“b”
7CH
“4”
66H
“C”
39H
“5”
6DH
“d”
5EH
“6”
7DH
“E”
79H
“7”
07H
“F”
71H
3)程序流程图
程序框图
三.硬件设计
1.芯片由UNTITLED—ISISPROFESSIONAL实验系统提供(AT89C51)
1)主要特性:
与MCS-51兼容
4K字节可编程闪烁存储器
寿命:
1000写擦循环
数据保留时间:
10年
全静态工作:
0Hz—24Hz
三级程序存储器锁定
128*8位内部RAM
32可编程IO线
两个16位定时器计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内震荡器和时钟电路
2)管脚说明:
①电源引脚
Vcc(40脚):
典型值+5V。
Vss(20脚):
接低电平。
②外部晶振
XTAL1、XTAL2分别与晶振两端相连接。
③输入输出口引脚:
P0口:
IO双向口。
作输入口时,应先软件置“1”。
P1口:
IO双向口。
作输入口时,应先软件置“1”。
P2口:
IO双向口。
作输入口时,应先软件置“1”。
P3口:
IO双向口。
作输入口时,应先软件置“1”。
④控制引脚:
RST、ALE-PROG、-PSEN、-EAVpp组成了MSC-51的控制总线。
RST(9脚):
复位信号输入端(高电平有效)。
ALE-PROG(30脚):
地址锁存信号输出端。
第二功能:
编程脉冲输入。
-PSEN(29脚):
外部程序存储器读选通信号。
-EAVpp(31脚):
外部程序存储器使能端。
第二功能:
编程电压输入端(+21V)。
AT89C51单片机的P口特点:
P0口:
是一个8位漏极开路输出型双向IO端口。
作为输出端口时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。
在访问外部程序或数据存储器时,它是时分多路转换的地址(低8位)数据总线,
在访问期间将激活内部的上拉电阻。
P1口:
P1口是一个带有内部上拉电阻的8位双向IO端口。
P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。
P2口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。
P2口:
P2口是一个带有内部上拉电阻的8位双向IO端口。
P2口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。
P2口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。
在访问外部程序存储器时和16位外部地址的外部数据存储器(如执行MOVX@DPTR)时,P2口送出高8位地址。
在访问8位地址的外部数据存储器(如执行MOVX@RI)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。
P3口:
P3口是一个带有内部上拉电阻的8位双向IO端口。
P3口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。
P3口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。
(2)排阻的作用
所谓排阻就是若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚。
其余引脚正常引出。
所以如果一个排阻是由n个电阻构成的,那么它就有n+1只引脚,一般来说,最左边的那个是公共引脚。
它在排阻上一般用一个色点标出来。
排阻一般应用在数字电路上,比如:
作为某个并行口的上拉或者下拉电阻用。
使用排阻比用若干只固定电阻更方便。
排阻有a型和b型的区别。
a型排阻的引脚总是奇数的。
它的左端有一个公共端(用白色的圆点表示),常见的排阻有4、7、8个电阻,所以引脚共有5或8或9个。
B型排阻的引脚总是偶数的。
它没有公共端,常见的排阻有4个电阻,所以引脚共有8个。
排阻的阻值读法如下:
“103”表示:
10kΩ,“510”表示:
51Ω。
以此类推常用于显示数码管。
3)原理图
00-99手动加计数器设计原理图
四.软件设计
汇编源程序
CountEQU30H;EQU——标号赋值伪指令
SP1BITP3.7
ORG0
START:
MOVCount,#00H
NEXT:
MOVA,Count
MOVB,#10
DIVAB;A除以B,商(存于)A余(下)B
MOVDPTR,#TABLE
MOVC+DPTR
MOVP0,A
MOVA,B
MOVC+DPTR
MOVP2,A
WT:
JNBSP1,WT;SP为0转移中断程序
WAIT:
JBSP1,WAIT;SP为1转移
LCALLDELY10MS;调用显示子程序
JBSP1,WAIT
INCCount;Count加1
MOVA,Count
CJNEA,#100,NEXT;累加器与立即数不等转移
LJMPSTART;返回初始值
DELY10MS:
MOVR6,#20;子程序
D1:
MOVR7,#248
DJNZR7,$
DJNZR6,D1
RET;子程序返回
TABLE:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0---9子程序
END
五.使用Keil、preoteus软件调试仿真说明
软件调试是通过对程序的编译、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。
先在keil中为所编的程序设置环境,然后输入程序检测并编译,之后用Proteus将编译好的程序输入到已设计好的电路的AT89C51中,开始模拟调试。
进一步修改,完成设计。
六.结束语
1心得和体会:
通过一周的单片机课程设计,让人感受颇深,虽然有关于单片机的知识,但更重要的是团队合作。
刚开始时,我们有点迷茫,我懂得知识理论的知识但要实际操作,总是有差距的,虽然对于我们来说有一定的难度,但是我们经研究从最简单的编程开始,对于80C51单片机的编程,我们使用的是我们所学汇编语言,结合自己所学的及寻找大量资料,我们几个拟定了初步的程序,然后进行修改及用Keil软件进行调试,然后进一步修改,最终在我们努力下,完成了程序。
结束了软件,我们开始进行硬件,我们用Proteus软件进行绘图和仿真,在这一过程中,我们对该软件有了进一步的认识,与此同时,我们从中也学会了许多关于软件方面的知识。
在仿真过程中,我们遇到一些问题,如:
连线的问题、数码管不显示但通电、寻找合适的器件等问题,但在我们小团队的学习、查询问题缘由、及努力、老师的帮助下,这些问题都一一得到解答。
最终在我们的努力及精诚合作下,我们完成了我们的00-99加计数器课程设任务。
通过这次的课程设计作品的制作让我对单片机的理论有了更深入的了解,同时在具体的制作过程中我们发现在书本上的知识与实际的应用存在着不小的差距,书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方面问题,这让我们无法根据书上的理论就轻易的得到预想中的结果,有时甚至差别很大。
通过这次实践使我们更深刻的体会到了理论联系实际的重要性,我们今后学习工作中会更加注重实际,避免成为只会纸上谈兵。
2建议和意见:
希望以后能够在以后的教学环节中增加更多的设计方面的实践,能够有更多的机会将学到的东西应用与实践,最好从简单实践应用开始,理论结合实际,才能更多的激发同学们的学习兴趣,更好的掌握所学的知识。
七.参考文献
[1]张国锋.主编.单片机原理及应用.北京:
机械工业出版社,2009.8
[2]皮大能,南光群,刘金华编著.单片机课程设计指导书.北京:
北京理工大学出版社,2010.7
[3]张靖武,周灵斌编著.单片机原理、应用与PROTEUS仿真北京:
电子工业出版社,2008.8
[4]林立,张俊亮,曹旭东等编著.单片机原理及应用.北京:
电子工业出版社,2009.7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 单片机 毕业 课程设计 0099 计数器