单片机数字钟设计实习报告.docx

上传人:b****5 文档编号:8001203 上传时间:2023-01-27 格式:DOCX 页数:11 大小:112.42KB
下载 相关 举报
单片机数字钟设计实习报告.docx_第1页
第1页 / 共11页
单片机数字钟设计实习报告.docx_第2页
第2页 / 共11页
单片机数字钟设计实习报告.docx_第3页
第3页 / 共11页
单片机数字钟设计实习报告.docx_第4页
第4页 / 共11页
单片机数字钟设计实习报告.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

单片机数字钟设计实习报告.docx

《单片机数字钟设计实习报告.docx》由会员分享,可在线阅读,更多相关《单片机数字钟设计实习报告.docx(11页珍藏版)》请在冰豆网上搜索。

单片机数字钟设计实习报告.docx

单片机数字钟设计实习报告

 

数字钟设计实习报告

 

课程名称:

单片微型计算机与接口技术

班级:

通信09-9班

学号:

200926030117

姓名:

保密

实习日期:

2012-5-25

指导教师:

付才

目录

 

1.绪论……………………………………………………………………………2

2.课程设计………………………………………………………………………2

2.1设计目的……………………………………………………………………2

2.2具体设计要求……………………………………………………………2

3.系统功能原理及电路图…………………………………………………………2

3.1AT89S52单片机简介……………………………………………………2

3.274HC595简介……………………………………………………………4

3.3接线方式…………………………………………………………………4

3.4显示电路的选择与设计…………………………………………………4

3.5设计电路原理图…………………………………………………………5

4.系统软件设计与编程…………………………………………………………5

4.1秒表程序流程图…………………………………………………………5

4.2设计程序……………………………………………………………………6

4.3调试过程…………………………………………………………………11

5.实习心得……………………………………………………………………12

6.附录……………………………………………………………………………12

 

1.绪论

随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,而本文设计并制作了一款基于AT89S52的8位数码管显示的数字钟,其电路简单,软硬件结构模块化,易于实现。

2.课程设计

2.1设计目的

通过课程设计,能够进一步熟悉AT89S52单片机的结构及工作原理,掌握单片机的接口技术及相关外围芯片的外特性,控制方法,以及以单片机为核心的电路设计的基本方法和技术,了解相关电路参数的计算方法。

通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。

通过完成一个包括电路设计和程序开发的完整过程,使我们了解开发单片机应用系统的过程,为今后从事的相关工作打下基础。

2.2具体设计要求

设计一个数字时钟,显示小时,分钟,秒,用8位LED显示,如:

17-00-00,并且实现12和24小时之间的转换,可根据个人情况加上其他扩展功能。

3.系统功能原理及硬件电路

3.1AT89S52单片机简介

AT89S52为ATMEL所生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flsah存储器。

(一)、AT89S52主要功能列举如下:

1、拥有灵巧的8位CPU和在系统可编程Flash

2、晶片内部具时钟振荡器(传统最高工作频率可至12MHz)

3、内部程序存储器(ROM)为8KB

4、内部数据存储器(RAM)为256字节

5、32个可编程I/O口线

6、8个中断向量源

7、三个16位定时器/计数器

8、三级加密程序存储器

9、全双工UART串行通道

(二)、AT89S52各引脚功能介绍:

(三)时序

AT89S52典型的指令周期(执行一条指令的时间称为指令周期)为一个机器周期,一个机器周期由六个状态(十二振荡周期)组成。

每个状态又被分成两个时相P1和P2。

所以,一个机器周期可以依次表示为S1P1,S1P2……,S6P1,S6P2。

通常算术逻辑操作在P1时相进行,而内部寄存器传送在P2时相进行。

对于单周期指令,当操作码被送入指令寄存器时,便从S1P2开始执行指令。

如果是双字节单机器周期指令,则在同一机器周期的S4期间读入第二个字节,若是单字节单机器周期指令,则在S4期间仍进行读,但所读的这个字节操作码被忽略,程序计数器也不加1,在S6P2结束时完成指令操作。

图1.7的(a)和(b)给出了单字节单机器周期和双字节单机器周期指令的时序。

89S52指令大部分在一个机器周期完成。

乘(MUL)和除(DIV)指令是仅有的需要两个以上机器周期的指令,占用4个机器周期。

对于双字节单机器周期指令,通常是在一个机器周期内从程序存储器中读入两个字节,唯有MOVX指令例外。

MOVX是访问外部数据存储器的单字节双机器周期指令。

在执行MOVX指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。

图1.7中(c)给出了一般单字节双机器周期指令的时序[9]。

3.274HC595简介

74HC595是硅结构的CMOS器件,兼容低电压TTL电路,遵守JEDEC标准。

74HC595是具有8位移位寄存器和一个存储器,三态输出功能。

移位寄存器和存储器是分别的时钟。

数据在SHcp的上升沿输入到移位寄存器中,在STcp的上升沿输入到存储寄存器中去。

如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。

移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。

  8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。

三态。

将串行输入的8位数字,转变为并行输出的8位数字,例如控制一个8位数码管,将不会有闪烁。

3.3接线方式:

74LS138译码器ENA→P1.0ENB→P1.1ENC→P1.2

时钟CLK→P2.0

数码管输入DIN→P2.1

3.4显示电路的选择与设计

对于数字显示电路,通常采用液晶显示或数码管显示。

对于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性差,不适合远距离观看;对于具有驱动电路和单片机接口的液晶显示模块(字符或点阵),一般多采用并行接口,对单片机的接口要求较高,占用资源多;另外,AT89S52单片机本身无专门的液晶驱动接口。

而数码管作为一种主动显示器件,具有亮度高、响应速度快、防潮防湿性能好、温度特性极性、价格便宜、易于购买等优点,而且有远距离视觉效果,很适合夜间或是远距离操作。

因此,本设计的显示电路采用8段数码管作为显示介质

本设计采用共阴极数码显示管做显示电路,由于采用的是共阴的数码显示管,所以只要数码管的a、b、c、d、e、f、g、h引脚为高电平,那么其对应的二极管就会发光,使数码显示管显示0~9的编码见表1.1。

表1.1共阴极数码显示管字型代码

字型

共阳极代码

字型

共阳极代码

0

0C0H

5

92H

1

0F9H

6

82H

2

0A4H

7

0F8H

3

0B0H

8

80H

4

99H

9

90H

3.5设计电路原理图:

见附录

 

4.系统软件设计与编程

 

4.1数字钟程序流程图

主程序流程图如下:

结束

4.2设计程序:

ORG0000H

ENABITP1.0

ENBBITP1.1

ENCBITP1.2

CLKBITP2.0

DINBITP2.1

AJMPMAIN

ORG0003H;外部中断0

AJMPINT0

ORG000BH;定时器T0

AJMPIV0

ORG0030H;

MAIN:

LCALLINT

WAIT:

LCALLREAD

LCALLDISPLAY

SJMPWAIT;

READ:

MOVA,R4

MOVB,#0AH

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOV75H,A

MOVA,B

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOV74H,A

MOVA,#0BFH

MOV73H,A

MOV70H,A

MOVA,R5

MOVB,#0AH

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOV72H,A

MOVA,B

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOV71H,A

MOVA,R6

MOVB,#0AH

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOV6FH,A

MOVA,B

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOV6EH,A

RET

DISPLAY:

CLRENA

SETBENB

SETBENC

MOVR1,6EH

LOOP3:

MOVA,@R1

MOVR0,#08H

LOOP2:

LCALLLOOP

INCR1

CJNER1,#76H,LOOP3;

SETBENA

RET

IV0:

DJNZR3,LOOP1;

MOVR3,#14H

INCR4

CJNER4,#60,LOOP1;

INCR5

MOVR4,#0;

CJNER5,#60,LOOP1

INCR6

MOVA,R6

MOVR5,#0

SETBTR1;定时器T1启动

CJNER6,#24,LOOP1

MOVR6,#0

LOOP1:

MOVTH0,#03CH;

MOVTL0,#0B0H;

SETBTR0

RETI

LOOP:

RLCA

MOVDIN,C

NOP

NOP

SETBCLK

NOP

NOP

CLRCLK

DJNZR0,LOOP

RET

INT0:

MOVB,#12

DIVAB

JZNN;小于12

JNZMM;大于12

NN:

MOVA,R6

ADDA,#12

MOVR6,A

RETI

MM:

MOVA,R6

SUBBA,#12

MOVR6,A

RETI

LOOP4:

MOVTH1,#03CH

MOVTL1,#0B0H

RETI

INT:

MOVR3,#14H

MOVR4,#00H

MOVR5,#00H

MOVR6,#17

MOVTMOD,#11H

MOVTH0,#03CH

MOVTL0,#0B0H

SETBIT0;下降沿触发

SETBEX0;外部中断允许

SETBET0;定时器中断允许T0

SETBEA;开中断

SETBTR0;启动T0

RET

TAB:

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

4.3调试过程

 

5.实习心得:

通过这次课程设计,我对单片机和电路设计的相关知识有了更多的了解,同时也锻炼了自己运用已学知识的能力。

在设计过程中,我遇到了不少问题,例如,怎样找资料,电路如何连接和安排等等,但最终这些问题都解决了,成就感油然而生。

单片机课程设计不仅给我们提供了一个很好的展现所学知识的平台,也对自己实际运用能力进行一次考核,从中还可以学到课堂外的东西,获益匪浅,这就是孔子所说的温故知新。

单片机活跃在我们生活中的许多领域,其发展前景很广阔。

学好单片机也许对我们以后的工作有所帮助。

通过这次设计,我学到了很多知识,同时也认识到在团队工作中需要有合作精神,我想这会为今后自己踏上工作岗位、更好地融入新的团队打下良好的基础。

6.附录:

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

当前位置:首页 > 总结汇报 > 学习总结

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

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