单片机课程设计报告秒表设计.docx

上传人:b****6 文档编号:4062372 上传时间:2022-11-27 格式:DOCX 页数:16 大小:173.08KB
下载 相关 举报
单片机课程设计报告秒表设计.docx_第1页
第1页 / 共16页
单片机课程设计报告秒表设计.docx_第2页
第2页 / 共16页
单片机课程设计报告秒表设计.docx_第3页
第3页 / 共16页
单片机课程设计报告秒表设计.docx_第4页
第4页 / 共16页
单片机课程设计报告秒表设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

单片机课程设计报告秒表设计.docx

《单片机课程设计报告秒表设计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告秒表设计.docx(16页珍藏版)》请在冰豆网上搜索。

单片机课程设计报告秒表设计.docx

单片机课程设计报告秒表设计

 

单片机结课设计报告

 

设计课题:

秒表设计

专业班级:

学生姓名

学号:

指教教师:

设计时间:

2014年10月22日--10月29日

 

目录

一、设计任务和要求………………………………………….….3

(1)设计任务…………………………..…………………...…..…3

(2)设计要求…………………..……………..………………....…3

二、设计方案与论证………………………………………….....3

三、单元电路设计与参数计算………………………………….4

(1)时钟电路…………………………………………………….4

(2)按钮电路…………………………………………………….4

(3)显示电路…………………………………………………….5

(4)单片机……………………………………………………….5

四、原理图及器件清单………………………………………….6

(1)总原理图…………………………………………………..…..6

(2)PCB图………………………………………………….…….7

(3)Proteus仿真图…………………………………………….……7

(4)元器件清单………………………………………..……….….8

五、安装与调试……………………………………………..…..8

(1)安装………………………………………………………...8

(2)调试………………………………………………………...8

六、性能测试和分析…………………………………………….9

七、结论和心得………………………………………………….9

八、参考文献……………………………………………….…...9

 

秒表设计

一、设计任务和要求

(1)设计任务

用AT89C51设计一个3位的LED数码作为“秒表”。

(2)设计要求

显示时间为0.0-99.9秒,每0.1秒自动加1,另外设计一个“开始”键、一个“复位”键和一个“停止”键。

秒表可单独分别计时,且最多可计5次。

 

二、方案设计与论证

本设计分为时钟电路、按钮电路、显示电路和单片机四大部分,这些模块中单片机占主控地位。

其模块电路如图2-1所示。

时钟电路常用的有内部时钟方式和外部时钟方式,但因为本设计中只需要一片单片机,所以采用内部时钟方式比较简单。

按钮电路中的“复位”按钮是按键手动复位,它有电平和脉冲两种方式,比较电路的复杂程度,本设计选择了按钮电平复位电路,其他几个按钮则是通过单片机判断高低电平的不同来控制按钮。

显示电路所用的数码管有共阴和共阳之分,不管使用何种数码管,P0口作为I/O使用时都是需要上拉电阻才能驱动数码管。

另外,因为单片机的4个并行I/O口的输出电流一般是1mA,短路电流为4mA左右,而数码管的最少驱动电流也需要10mA,因而不管在使用共阴数码管时,单片机输出口也必须使用上拉电阻提高输出电流,才能驱动数码管。

为了使电路简单化,本设计选用共阳数码管。

但根据显示方式的不同选择,我们可以有几种方案:

方案一:

使用静态显示方式。

静态显示方式下的数码管的显示字符一经确定,相应锁存器锁存的断码输出將维持不变,直到送入另一个字符的断码为止。

因而此设计中使用的显示位数使用了三个8位并行I/0口。

如果另外想扩展单片机功能,则能使用的输出管脚很是有限。

方案二:

使用动态显示方式。

这个显示方式是将所有显示位的段码线的相应段并联在一起,由一个8位I/O口控制,而各位的共阴或共阴极分别由相应的I/O线控制,形成各位的分时选通。

这种显示方式,简化了硬件电路,特别在多位数码管显示时尤为突出。

本小组尝试了各种方案,在此报告中以静态显示方式为例说明。

(动态显示方式省略)

图2-1

三、单元电路设计与参数计算

注:

//单元电路设计中的网络标号的数字即为单片机的管脚//

(1)时钟电路

图3-1

时钟电路如图3-1所示,时钟电路的晶振频率越高,系统的时钟频率越高,单片机的运行速度也就越快。

晶振频率根据设计需要设为12MHz,又根据谐振性质,电路中的电容C1、C2选择为30pF左右。

该电容的的大少会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。

(2)按钮电路

图3-2a图3-2b

A、复位按钮

根据计算容抗的公式

以及并联电阻变小的性质,可以知道,当S13断开时,C3的容抗大,管脚9处的电位U9为电阻R3上的压降,因而U9为低电平,复位键无效。

当S13按下时,R2与C3的并联阻抗变小,R3上的压降增大,U9为高电平,复位键有效,实现复位功能。

本设计中C3取值22uF,电阻R2取值100欧姆,R3取值1K欧姆。

具体电路如图3-2a所示。

B、开始,停止、翻页按钮

电路如图3-2b所示

(3)显示电路

P1口控制显示的是十位,p0口控制显示的是个位,P2口控制显示的是十分位。

不同的数码管显示方式,对应的最适合的共阴或者共阳级的数码管也不同。

静态显示的适宜选共阳的数码管,动态显示的适宜选共阴的数码管。

如果动态显示方式下选择共阳的数码管,位选端直接用单片机驱动则数码管的亮度不够,因而应该在位选端使用上拉电阻以提高数码管的驱动电流,但因为显示那个的数据段选的数目不同,故而需要用电阻对各段进行限流,以保证显示的每个数据亮度相同。

相同情况下,静态显示的数码管的亮度要比动态的亮。

(4)单片机

单片机的程序可用汇编语言也可用C语言,为了提高使用汇编语言的能力,本设计特用了汇编语言了编写程序主程序流程图如下所示,具体程序见电子档。

主程序流程图:

四、总原理图及元器件清单

(1)总原理图

(2)PCB图

(3)Proteus仿真图

(4)元器件清单

1)AT89C51的引脚图和数码管5101BS的引脚图

图4-3aAT89C51引脚图图4-3b5101引脚图

2)元器件总清单

元件名称

数量

备注

元件名称

数量

备注

5101B

3块

AT89C51

1块

按钮

4个

排阻

1个

8个引脚

拨动开关

1个

电容

2个

33pF

发光二极管

1个

红色

电容

1个

100uF

电阻

2个

1K

晶振

1个

12MHz

电阻

1个

100殴

连接器con2

五、安装与调试

(1)安装

制板的顺序依次是:

画原理图、做封装、在原理图中添加元器件对应的封装、布PCB板、改焊盘大少、打印PCB图、用快速制板机将PCB图烤制到铜板上、腐蚀铜板、钻孔、放置元器件、烙铁焊好器件。

一块电路板就安装完毕了。

(2)调试

将外部电源接至电路板上,检验电路板是否完全实现设计要求。

本设计中,发现按钮功能完全符合设计要求,但是数码管的显示中有些段码不亮,从而显示的数据乱码,用万用表检测对应的管脚是否有电压,发现焊盘有虚焊,引脚与引脚之间有短路,排查后电路板实现设计要求。

六、性能测试与分析

所制电路板虽然能实现设计中要求的功能,但是在实际使用中还是存在着许多缺陷。

这块电路板不能随意查看记录的数据,而是必须在计完五次数据后才能依次的翻页查看,复位后所计数据便会丢失,不能翻看历史,所计数据组数不能满足现实需要。

七、结论与心得

在这三周的课程设计中,不管是在软件方面还是硬件方面我都有了更深入的学习。

………

八、参考文献

(1)单片机原理及接口技术张毅刚彭喜元著人民邮电出版社

(2)单片机课程设计实例指导李光飞等编著北京航空航天大学出版社

(3)51系列单片机原理、开发与应用实例孙进平等编著

(4)单片机程序设计实例先锋工作室编著清华大学出版社

(5)电子工程师之家、豆丁网、XX、搜狗、电子工程专辑等等

附程序如下:

DEQU60H

EEQU61H

FEQU62H

GEQU63H

HEQU64H

IEQU65H

ORG0000H

LJMPMAIN

ORG000BH;定时器T0的入口地址

LJMPDINGSHI

ORG0013H;外部中断1的入口地址

LJMPSTOP1

ORG0030H;主程序入口地址

MAIN:

MOVP0,#0C0H;置初值

MOVP2,#0C0H

MOVP1,#0C0H

MOVDPTR,#TABLE;数据指针指向表头地址

SETBEA;开中断

SETBEX0

SETBEX1

SETBET0

SETBPX0;设中断优先级

SETBPX1

MOVTMOD,#01H;工作方式为方式1

;********************************************

;开始及计数程序

;********************************************

START:

MOVR0,#40H

MOVR1,#50H

MOVR2,#00H

CLRP1.0

MOVTH0,#0D8H;置计数初始值

MOVTL0,#0F0H

MOVR3,#00H

MOVR4,#00H

MOVR7,#00H

MOVB,#10

MOVSP,#30H

MOVD,#60H

MOVE,#61H

MOVF,#62H

MOVG,#63H

MOVI,#65H

MOVR5,#05

XUNHUAN:

JBP1.7,START1;p1.7=0是开始

LCALLDELAY10;按键消抖

JBP1.7,XUNHUAN

JNBP1.7,$

LJMPGN1

LJMPXUNHUAN

START1:

JBP3.0,XUNHUAN

LCALLDELAY10

JBP3.0,XUNHUAN

JNBP3.0,$

LCALLFANYE

LJMPXUNHUAN

;********************************************

;翻页模块

;********************************************

FANYE:

MOVA,@R0

MOVR3,A

MOVA,@R1

MOVR4,A

DECR5

CJNER5,#04,LOP1

MOVA,D

MOVR7,A

LJMPL1

LOP1:

CJNER5,#03,LOP2

MOVA,E

MOVR7,A

LJMPL1

LOP2:

CJNER5,#02,LOP3

MOVA,F

MOVR7,A

LJMPL1

LOP3:

CJNER5,#01,LOP4

MOVA,G

MOVR7,A

LJMPL1

LOP4:

CJNER5,#00,FANYE

MOVA,I

MOVR7,A

LJMPL1

L1:

INCR0

INCR1

INCR2

CJNER2,#5,LOOP2

MOVR0,#40H

MOVR1,#50H

MOVR2,#00H

LOOP2:

LCALLXIANSHI

RET

;********************************************

;数码管记录程序

;********************************************

GN1:

SETBTR0

LOOP:

CJNER2,#05H,LOOP

MOVR0,#40H

MOVR1,#50H

MOVR2,#00H

CLREA

AJMPXUNHUAN

;********************************************

;1毫秒延时子程序

;********************************************

DELAY1:

MOVR6,#2

DL1:

MOVH,#248

DJNZH,$

DJNZR6,DL1

RET

;********************************************

;10毫秒延时子程序

;********************************************

DELAY10:

MOVR6,#20

DL2:

MOVH,#248

DJNZH,$

DJNZR6,DL2

RET

;********************************************

;外部中断1中断程序,停止模块

;********************************************

STOP1:

PUSHACC

PUSHPSW

LCALLDELAY10;延时10毫秒消抖

JBP3.3,FAN1

JNBP3.3,$

MOVA,R3

MOV@R0,A

MOVA,R4

MOV@R1,A

DECR5

CJNER5,#04,LOP5

MOVA,R7

MOVD,A

LJMPL4

LOP5:

CJNER5,#03,LOP6

MOVA,R7

MOVE,A

LJMPL4

LOP6:

CJNER5,#02,LOP7

MOVA,R7

MOVF,A

LJMPL4

LOP7:

CJNER5,#01,LOP8

MOVA,R7

MOVG,A

LJMPL4

LOP8:

CJNER5,#00,STOP1

MOVA,R7

MOVI,A

LJMPL4

L4:

INCR0

INCR1

INCR2

FAN1:

POPPSW

POPACC

RETI

;********************************************

;显示子程序

;********************************************

XIANSHI:

MOVA,R3;扫描十分位上的数字

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOVP2,A

MOVA,R4;扫描个位上的数字

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOVP0,A

MOVA,R7;扫描十位上的数字

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOVP1,A

RET

;********************************************

;定时器T0中断程序

;********************************************

DINGSHI:

PUSHACC

PUSHPSW

DJNZB,DH1

MOVB,#10

AJMPCOUNT

COUNT:

INCR3

CJNER3,#0AH,DH2

MOVR3,#00H

INCR4

CJNER4,#0AH,DH2

MOVR4,#00H

INCR7

CJNER7,#0AH,DH2

MOVR7,#00H

DH1:

MOVTH0,#0D8H

MOVTL0,#0F0H

SETBTR0

DH2:

POPPSW

POPACC

LCALLXIANSHI

RETI

TABLE:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1