课程设计单片机60秒秒表汇总.docx
《课程设计单片机60秒秒表汇总.docx》由会员分享,可在线阅读,更多相关《课程设计单片机60秒秒表汇总.docx(13页珍藏版)》请在冰豆网上搜索。
课程设计单片机60秒秒表汇总
前言..........................................................................................2
1.总体设计方案...........................................................................3
2硬件设计方案...........................................................................3
2.1电路原理........................................................................3
2.2电路原理图..........................................................................4
3.软件设计(加流程图)..............................6
3.1函数流程图............................................................................6
3.2算法描述................................................................................9
3.3源程序.........................................10
4系统的安装调试....................................11
5课程设计总结与体会................................12
6.参考文献............................................................................................14
前言
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。
从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。
单片微型计算机简称单片机,是典型的嵌入式微控制器单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
它最早是被用在工业控制领域。
由于单片机在工业控制领域的广泛应用,单片机由仅有CPU的专用处理器芯片发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
本次课程设计要求制作一个秒表,开始时,显示“00”,第1次按下按钮后就开始计时;第2次按按钮后,计时停止;第3次按按钮后,计时归零。
1总体设计方案
1.1硬件设计思路
将单片机设计成控制器,在MCS51的P0口和P2口都接,P0口接上拉电阻,分别显示十位和个位数字。
另设计一个按钮,第1次按下按钮后就开始计时;第2次按按钮后,计时停止;第3次按按钮后,计时归零。
1.2软件设计思路
通过单片机实现控制00-59的计数,根据设计的要求,将0到59的数据除以10,分别取商和余数。
并且当一秒钟到来时,计数单元加1,到达60时,则自动返回到0,从新秒计数。
同时在计数过程中调用延时程序。
2硬件设计
2.1电路原理
编写程序对MCS51芯片进行初始化,在编程过程中主要使用延迟程序来实现秒计时器的计时功能。
用Proteus软件来实现秒计时器的仿真,其中将P0口和P1口分别作为高低位输出端口。
该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片AT89C51中的P1.0管脚做为外部中断0的入口地址,并实现按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能.;定时器T0作为每秒加1的定时器。
其中“开始”按键按下一次(由上向下拨)时开始计时,当再次按下按键时,计时器计数暂停;“清零”按键按下一次时数码管清零,此时若再拨“开始”按键则又可重新开始计时。
2.2电路原理图
图3.1电路原理图
时钟
时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。
在MCS51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚TXAL2,在芯片的外部通过这两个引角跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。
此电路采用12MHz的石英晶体。
如下图所示
AT89S52(MCS51)简介
(1)与MCS-51产品相兼容;
(2)具有8KB可改写的Flash内部程序存储器,可写/擦1000次;
(5)256字节内部RAM;
(6)32根可编程I/O口;
(7)3个16位定时器/计数器。
(8)8个中断源;
(9)可编程中串行口;
(10)低功耗空闲和掉电方式。
它的价格便宜,功能强大,能耗低。
很大程度上减少总电路的复杂性,提高了所设计系统的稳定性。
其芯片引脚图如图2-1所示。
图2-1单片机AT89S52引脚图
3软件设计(加流程图)
3.1函数流程图
实验系统流程图
图4.1.1实验系统流程示意图
主程序
ORG0
LJMPSTART;启动指令
ORG30H;跳出中断入口
START:
MOVP0,#0;将p0口清零
MOVP2,#0;将p2口清零
MOV@R0,#00;将值0赋给R0
NEXT:
MOVA,@R0;实现P0口从零到5的变化,以及P2口从零到九的变化
MOVB,#10
DIVAB
MOVDPTR,#TABLE;建表
MOVCA,@A+DPTR;将表的首地址传给累加器A
MOVP0,A
MOVA,B
MOVCA,@A+DPTR
MOVP2,A
LCALLDELAY;调用延时程序
INC@R0
MOVA,@R0
CJNEA,#60,NEXT;比较循环
LJMPSTART
END
延时程序流程图
图4.1.2延时程序流程图
延时子程序
DELAY:
MOVR5,#100
DELAY2:
MOVR6,#20
DELAY1:
MOVR7,#248
DJNZR7,$
DJNZR6,DELAY1
DJNZR5,DELAY2
RET
3.2算法描述
根据设计的要求,利用单片机控制,实现秒计数并显示,具体设计如下:
(1)将0到59的数据通过对10整除和对10求余,将数据的个位和十位分开。
DIVAB
(2)加1计数
INC@R0
(3)延时程序
DELAY:
MOVR5,#100
DELAY2:
MOVR6,#20
DELAY1:
MOVR7,#248
DJNZR7,$
DJNZR6,DELAY1
DJNZR5,DELAY2
3.3源程序
ORG0
LJMPSTART;启动指令
ORG30H;跳出中断入口
START:
MOVP0,#0;将p0口清零
MOVP2,#0;将p2口清零
MOV@R0,#00;将值0赋给R0
NEXT:
MOVA,@R0;实现P0口从零到5的变化,以及P2口从零到九的变化
MOVB,#10
DIVAB
MOVDPTR,#TABLE;建表
MOVCA,@A+DPTR;将表的首地址传给累加器A
MOVP0,A
MOVA,B
MOVCA,@A+DPTR
MOVP2,A
LCALLDELAY;调用延时程序
INC@R0
MOVA,@R0
CJNEA,#60,NEXT;比较循环
LJMPSTART
DELAY:
MOVR5,#100;延时程序
DELAY2:
MOVR6,#20
DELAY1:
MOVR7,#248
DJNZR7,$
DJNZR6,DELAY1
DJNZR5,DELAY2
RET
TABLE:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
4系统的安装调试
程序采用汇编语言编写,并用protues软件编译。
用学校的Proteus软件画电路图和进行仿真。
编译通过以后,用Proteus软件进行仿真和调试,把编译过后生成的hex文件加载到单片机中运行后就可以看到仿真的结果了。
测试数据及结果如下:
5课程设计总结与体会
课程设计做完了,我初看该设计题目,认为很简单,但在做的过程中,我发现我对MCS51的硬件部分很不熟悉,那些管脚的作用理解的并不透彻。
在之前相关的单片机理论知识的基础上,通过自己的动手实践,多次仿真,多次调试,同时我也发现到自己在单片机方面还有很多不足,尤其是单片机指令系统及MC51各引脚的第二功能等等知识不够熟练,因此在设计中遇到了很多不懂的知识,通过自己主动地查资料和请教老师及同学,这些问题也逐步得到解决。
设计过程中,刚开始着手设计时,虽然表面看上去很容易,不过实际也不是难题,可我还是没有一点头绪,之后花费了大量的时间和精力,同时得到同学的帮助,才能顺利的完成课程设计,但还是存在一些小问题,需要进一步钻研和解决。
设计时,不断调试程序和修改程序,提高了自己对单片机的应用能力,分析问题和解决问题的能力。
在实践过程中我的室友和同学给了我很大的帮助和鼓励,借此机会向他们表达我的感激之情。
感谢大家对我的支持,帮助我完成了此次课程设计。
.二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。
但是,实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能,一个控制电冰箱温度的计算机难道要用P4吗?
应用的关键是看是否够用,是否有很好的性能价格比。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
。
本次电子课程设计主要是对已学习的模拟电子技术、数字电子技术和单片机的综合应用,同时加上电路等知识,设计完成了利用软件模拟的秒表。
经过几天的奋战,我感受很深概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
自从1976年问世以来,单片机获得了巨大的发展。
现在比较流行的单片机是美国Intel的MCS51/96以及Motorola的MC系列,Zilog的Z8系列,同时还有更多新型的、功能更强的单片机不断出现。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
中国使用单片机的历史只有短短的30年,在初始的短短五年时间里发展极为迅速。
纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。
以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。
在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。
这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了。
所以,它的魔力不仅是在现在,在将来将会有更多的人来接受它、使用它。
据统计,我国的单片机年容量已达3亿片,且每年以大约20%的速度增长,但相对于世界市场我国的占有率还不到1%。
特别是沿海地区的玩具厂等生产产品多数用到单片机,并不断地辐射向内地。
所以,学习单片机在我国是有着广阔前景的。
在课程设计中我从中体会到了自己单片机知识理解的不全面,编程时总是出现错误,导致我需要不断地翻书查阅资料。
在设计时,因能力有限,没有充分利用所学的理论知识,如果适当的对该设计增加功能,并对程序进行改进,就可以既允分利用资源,还可以充分节约资源,更适应市场的需求。
不过总体来说,通过此次课程设计,加深了我对单片机的理解,明白了单片机更加具体的应用,弥补了我知识点的欠缺。