单片机课程设计报告文档格式.docx
《单片机课程设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
![单片机课程设计报告文档格式.docx](https://file1.bdocx.com/fileroot1/2023-2/3/e93b2c12-34e8-46b9-a10b-d09a23dcf7fa/e93b2c12-34e8-46b9-a10b-d09a23dcf7fa1.gif)
4
2.3硬件接线。
5
三、软件设计。
四、硬件电路设计。
7
五、心得体会。
10
六、参考文献。
七、附录。
11
一、前言
1.1课程设计的目的
1.1.1根据单片机课程所学内容,结合其他相关课程知识,设计电子秒表,以加深对单片机知识的理解,锻炼实践动手能力,为以后的毕业设计和工作打下坚实基础;
1.1.2熟悉汇编语言设计方法,熟悉51系列单片机的使用;
1.1.3掌握单片机的内部功能模块的应用,如定时器/计数器、中断、I/O口、串行口通讯等功能;
1.1.4掌握单片机应用系统的软硬件设计过程、方法及实现。
1.2课程设计的任务
设计一个单片机控制的秒表系统。
利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及按键来设计秒表计时器。
基本要求:
用STC89C52设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。
当按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;
按“暂停”按键,系统暂停计数,数码管显示当时的计数;
按“复位”按键,系统清零,数码管显示00。
1.3课程设计的要求
1.1.1利用单片机内部定时器设计一个秒表,要求能实现秒表的启动、停止和复位。
1.1.2编制程序,实现秒表计时器的基本功能,并完成课程设计说明书。
1.1.3课程设计期间遵守纪律,注意安全,爱护设备,合理分工,加强合作
二、硬件设计
2.1设计方案介绍及工作原理说明
该实验要求进行计时并在数码管上显示时间,则可利用proteus仿真软件设计电路并仿真STC89C52。
使用STC89C52单片机作为核心控制部件,采用12M晶体振荡器及微小电容构成振荡电路;
用两个四位一体共阳极或共阴极数码显示管作为显示部分,构成数字式秒表的主体结构,配合独立式键盘和复位电路完成此秒表的计时、清零、停止各项功能。
对于时钟,它有两方面的含义:
一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;
二是指系统的标准定时时钟,即定时时间,是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大。
LED数码显示器有如下两种连接方法:
共阳极接法:
把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。
共阴极接法:
把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。
每个发光二极管的阳极通过电阻与输入端相连。
键盘部分方案:
键盘控制采用独立式按键,每个按键的一端均接地,另一端直接和P1口相连,在按键和P1口之间通过10K电阻与+5V电源相连。
键盘通过检测输入线的电平状态就可以很容易地判断哪个键被按下了,这种方法操作速度高而且软件结构很简单,比较适合按键较少或操作速度较高的场合,这种独立式接口的应用很普遍。
显示部分方案:
显示部分采用动态显示。
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"
a,b,c,d,e,f,g,dp"
的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
动态显示是利用人眼视觉暂留特性来实现显示的。
事实上,显示器上任何时刻只有一个数码管有显示。
由于各数码管轮流显示的时间间隔短、节奏快,人的眼睛反应不过来,因此看到的是连续显示的现象。
为防止闪烁延时的时间在1ms左右,不能太长,也不能太短。
2.2控制芯片的介绍
STC89C52是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器,的8位CMOS微控制器,使用高密度、非易失存储技术制造,并与80S52引脚和指令系统完全兼容。
主要性能:
与MCS-51微控制器产品系列兼容。
片内有4KB可在线重复编程的快闪擦写存储器
存储数据保存时间为10年
宽工作电压范围:
VCC可为2.7V到6V
全静态工作:
可从0Hz至16MHz
程序存储器具有3级加密保护
128*8位内部RAB
32条可编程I/O线
两个16位定时器/计数器
中断结构具有5个中断源和2个优先级
可编程全双串行通道
空闲状态维持低功耗和掉电状态保存存储内容
2.3硬件接线
硬件接线端口
时钟引脚:
XTAL1和XTAL2与内部的反相放大器构成一个振荡器,它提供单片机的时钟控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
P2口:
P2.6和P2.7端口分别控制数码管的十位和个位供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过三极管给数码管相应的位供电,这是只要PO口送出数字的显示代码,数码管就能正常显示数字。
PO口:
PO.O-PO.6端口用排线连接到数码管显示模块区域中的A-G端口上;
PO.O对应着A,......,PO.6对应着G。
P1.0接“开始”按键
三、软件设计
电子秒表系统程序如下:
KEYBITP3.0
ORG0000H
LJMPMAIN
ORG000BH
LJMPTI_T0
ORG0030H
MAIN:
MOVTMOD,#01H;
定时器初始化
MOVTH0,#3CH;
定时50ms
MOVTL0,#0B0H
MOVIE,#82H
MOVR0,#00H
MOVR1,#00H
D0:
JBKEY,D00;
判断键是否按下
LCALLDELAY
JBKEY,D00
SETBTR0;
第一次按键,刚启动定时器
SETBEA
JNBKEY,$
SJMPD1
D00:
CALLDISPLAY;
没按则调用显示
SJMPD0
D1:
CALLDISPLAY
JBKEY,D1;
判断是否有第2次按键
CALLDELAY;
没按则继续调用显示
JBKEY,D1
D2:
CALLDELAY
JBKEY,D1
CLREA;
第2次按键,则暂停计数
D3:
JBKEY,D33;
判断是否有第3次按键
JBKEY,D33
MOVR1,#00H;
第3次按键,则计数清零
D33:
SJMPD3;
显示程序
DISPLAY:
MOVA,R1
MOVB,#10
DIVAB
MOVDPTR,#TAB1
MOVCA,@A+DPTR
MOVP0,A
SETBP2.6;
显示十位
CLRP2.6
MOVA,B
MOVDPTR,#TAB
MOVP0,A;
显示个位
SETBP2.7
CLRP2.7
RET;
延时程序
DELAY:
MOVR7,#50
D4:
MOVR6,#250
DJNZR6,$
DJNZR7,D4
中断程序
TI_T0:
MOVTH0,#3CH
MOVTL0,#0B0H
INCR0
CJNER0,#12H,RETURN
MOVR0,#00H
INCR1
CJNER1,#99,RETURN;
加到99时清零
MOVR1,#00H
RETURN:
RETI
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
TAB1:
DB40H,79H,24H,30H,19H,12H,02H,78H,00H,10H
END
四、硬件电路设计
根据课程设计要求,画出电子秒表系统工作流程图以及定时中断流程图。
并附有仿真图和实物图。
电子秒表系统工作流程图
Proteus仿真图
定时中断
五、心得体会
本文主要从硬件方面说明设计的总体思路和设计的实现过程,预期的设计目的是:
能够实现秒表的基本功能,正常显示.在设计过程中,曾经遇到很多的障碍,设计图经过许多次的修改最后才定下来,但在调试的过程中又出现了问题;
并没有想象中的那么容易;
在焊接过程中稍有不注意就会出现管脚的错位,有些在硬件测试过程中才能检查出来。
在设计中有好多问题都是因为理论知识不扎实,在有些管脚的置零置一上,概念的模糊,这使我明白了要把所学到的理论转化为实践,是需要经过努力学习、积极实践;
在做一个设计的过程中,一定要注意理论和实践同步进行,光有理论知识还是远远不够的,要用时间去检验理论,用理论指导实践。
刚开始接到课程设计任务,认为挺简单的,然而真正开始动手制作时才知道并不是那么简单,从初期的资料收集以及原理图的绘制都受到了老师以及同学的帮助,在遇到困难时请教老师和同学都能得到耐心的解答,帮助我们少走了很多弯路。
感谢我的老师,以及我的同学,在整个硬件电路的设计与制作过程中,他们都给了我很大的支持,使我从此次课程设计过程中获益匪浅,同时对课程设计过程中给予过帮助的老师和同学深表感谢。
六、参考文献
(1)《单片机原理及应用技术》李全利著高等教育出版社
(2)《单片机课程设计实例指导》李光飞编著北京航空航天大学出版社
(3)《单片机程序设计实例》先锋工作室编著清华大学出版社
(4)电子工程师之家、豆丁网、XX、搜狗、电子工程专辑
附录:
元件清单
器件名称
规格
数量
电容
10uf
1
20pf
2
电阻
10Κ
反相器
74LS04
双显示数码管
0.56英寸
单片机
STC89C51
晶振
12.0MHz
排阻
A221G
按钮
四脚
底座
40P