单片机控制秒表显示时间为.docx

上传人:b****7 文档编号:10727336 上传时间:2023-02-22 格式:DOCX 页数:12 大小:18.23KB
下载 相关 举报
单片机控制秒表显示时间为.docx_第1页
第1页 / 共12页
单片机控制秒表显示时间为.docx_第2页
第2页 / 共12页
单片机控制秒表显示时间为.docx_第3页
第3页 / 共12页
单片机控制秒表显示时间为.docx_第4页
第4页 / 共12页
单片机控制秒表显示时间为.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

单片机控制秒表显示时间为.docx

《单片机控制秒表显示时间为.docx》由会员分享,可在线阅读,更多相关《单片机控制秒表显示时间为.docx(12页珍藏版)》请在冰豆网上搜索。

单片机控制秒表显示时间为.docx

单片机控制秒表显示时间为

 

9

 

创新实践实训报告

 

学院信息电子技术学院

 

专业电子信息工程

 

班级14

 

学籍号

 

姓名

 

指导教师蒋野

 

2017年06月29日

 

单片机控制秒表电路

 

一、电路工作原理

 

1.工作原理

 

用STC89C52设计一个2位的LED数码显示作为“秒表”:

显示时间为00—99秒,每秒自动加1,另设计一个“暂停”键S2和一个“继续”键S3。

为使本设计系统更加完善,可以引入一个“复位”键S1,以方便对系统的控制。

如图。

 

C1

U1

19

XTAL1

P0.0/AD0

39

30pF

38

P0.1/AD1

37

X1

P0.2/AD2

18

36

XTAL2

P0.3/AD3

C2

12M

P0.4/AD4

35

34

P0.5/AD5

33

P0.6/AD6

9

32

30pF

RST

P0.7/AD7

21

R2

P2.0/A8

22

C3

P2.1/A9

23

10k

29

P2.2/A10

24

PSEN

P2.3/A11

30

25

ALE

P2.4/A12

10uF

31

26

R1

EA

P2.5/A13

27

P2.6/A14

28

P2.7/A15

10k

1

10

P1.0/T2

P3.0/RXD

2

11

P1.1/T2EX

P3.1/TXD

3

12

P1.2

P3.2/INT0

4

13

P1.3

P3.3/INT1

5

14

P1.4

P3.4/T0

6

15

P1.5

P3.5/T1

7

16

P1.6

P3.6/WR

8

17

P1.7

P3.7/RD

AT89C52

 

本系统采用STC89C51单片机为中心器件,利用其定时器/计数器定时计数的原理,结合

 

硬件电路如电源电路,晶振电路,复位电路和显示电路,以及一些按键电路等来设计计数器,

 

将软硬件有机结合起来,其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,

中断,硬件系统利用Protues强大的功能来实现,简单易于观察,在仿真中就可以观察到实

 

际的工作状态。

 

2.元器件作用

 

(1)STC89C52单片机在电子行业中有着广泛的应用。

AT89C52有40个引脚,32个外部

双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工

串行通信口,2个读写口线,STC89C52可以按照常规方法进行编程,也可以在线编程。

其将

通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降

低开发成本。

 

(2)时钟电路作用是为电路提供唯一的时钟信号。

 

(3)复位电路外接一个开关,控制电路复位,接通电源电路直接复位,如果没有开关亦可将复位电路引出导线接电源后断开。

 

(4)本设计要求使用共阳极的数码管,如下是共阳极的数码管的0-9编码:

0xc0,0x92,

0x82,0xf8,0x80,0x90,0xf9,0xa4,0xb0,0x99.

 

(5)控制电路:

S2按下电路停止计时,S3按下电路恢复计时。

 

二、程序流程图

 

开始

 

显示“00”

 

开启中断,并允许T1,T2中断

 

TH1、TL1

 

初始化

 

每隔1秒

 

按键

 

S2S3

 

T1停止T2恢复

 

暂停计数恢复计数

 

主程序流程图

 

三、检测安装与调试

 

1.元件检测

 

序号

名称

型号(标称值)

测量值

误差

备注

1

电阻

1K

780

22%

2

电阻

10K

%

3

电容

33pF

32

3%

4

电容

10uF

9

10%

5

晶振

12M

12M

0

 

共阳极数码管检测管脚序号利用万用表二极管档红表笔接一个抵住两个管脚,利用另一

个接触其他,找出1,2两个管脚,继续分别找出A,D,C,D,E,F,G,Dp管脚。

 

2.安装

 

(1)首先固定好元件,先固定单片机,以单片机为中心安装其他小件,电解电容需要注意不要贴在电路板上,放置短路。

将电解电容贴近单片机减少影响。

合理运用电路板,保证节省空间,导线明了。

 

(2)按照proteus仿真电路连接电路图。

 

3.调试

 

(1)安装好后,接通电源,电路没有反应,数码管不亮。

 

(2)检查电路:

利用万用表蜂鸣档来检测电路的通断,发现几处空焊,补焊完成。

 

(3)二次接通电源,电路依然不工作。

 

(4)复查电路:

重新检测电路,利用万用表电流档,检测电路电流,发现电路无电流,检

查40引脚VCC,发现单片机40引脚与插座短路,接触不良导致,陆续检查其他引脚。

发现还有部分引脚短路。

 

(5)继续检查电路,直至数码管显示数字为止。

 

结果显示,秒表运行正常。

按照预期实现了99s计时、暂停以及继续的功能。

 

至此,秒表设计、制作、仿真及调试工作就全部完成了。

 

4.电路工作电流和关键点电压检测

 

序号名称数值(mA)数值(V)备注

 

1电路工作电流285

 

2EA电压-

 

3R1电压-

 

4XTAL1-

 

5XTAL2-

 

二、问题与解决

 

如图可以看出利用两个数码管,首次焊接没有检测数码管器件为共阴极数码管,与设计

程序不符,导致乱码,而后改接电路,重新安装共阳极数码管。

单片机与排座接触不良,

 

解决方法:

利用废弃的二极管的管脚,插入排座排孔,增大接触面积。

 

附件

 

1.利用单片机完成一定的任务,你的创意(创新)是什么?

 

我的创意就是电路的布局,实验操作起来与仿真不同,需要注意很多细节,例如原件检测。

我的电路布局既节省空间,又不影响电路结构。

 

2.程序

 

#include<>

 

sbitW=P1^4;

 

sbitH=P1^6;

 

unsignedcharmsec,sec;

 

voiddelay(unsignedchari)

 

{

 

unsignedintj,k;

 

for(k=0;k

 

for(j=0;j<255;j++);

 

}

 

voidTo_INT(void)interrupt1

 

{

 

TH0=0x3c;

 

TL0=0xb0;

 

msec++;

 

if(msec==20)

 

{

 

msec=0;

 

sec++;

 

if(sec==100)

 

{

 

sec=0;

 

}

 

}

 

}

 

voidmain()

 

{

 

unsignedcharled[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

 

TMOD=0x01;

 

TH0=0x3C;

 

TL0=0xb0;

 

EA=1;

 

ET0=1;

 

TR0=1;

 

while

(1)

 

{

 

if(W==0){TR0=1;}

 

if(H==0){TR0=0;}

 

P2=0x02;

 

P0=led[sec%10];

 

delay(10);

 

P2=0x01;

 

P0=led[sec/10];

 

delay(10);

 

}

 

}

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

当前位置:首页 > 解决方案 > 商业计划

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

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