产品概述

单片机pll AT89S52单片机的LED点阵显示电子钟安装,调试与维修的教学任务

小编 2024-11-24 产品概述 23 0

AT89S52单片机的LED点阵显示电子钟安装、调试与维修的教学任务

学习目标

1、 了解单片机指令的总体情况

3、掌握LED点阵显示电子钟的工作原理

4、掌握LED点阵显示电子钟的硬件和软件

5、了解LED点阵显示电子钟指令系统中的符号说明

6、会LED点阵显示电子钟数据传送类指令

学习内容:

1、+5V电源原理及设计

2、单片机复位电路工作原理及设计。

3、单片机晶振电路工作原理及设计。

4、按键电路的设计。

5、74LS373锁存驱动器的特性及使用。

6、74LS138译码器的特性及使用

7、AT89S52单片机引脚。

8、单片机汇编语言及程序设计。

本课题建议学时60学时。

本课题的教学步骤可分为:

1、下发任务书。2学时

2、学生根据任务书等资料解决相关问题。20 学时

3、教师对相关知识的疑难问题进行讲解。9学时

4、学生6-7人一组,讨论并确定安装方案,填写工艺卡3学时

5、学生按照工艺卡完成准备工作。1学时

6、学生绘制电原理图、方框图、安装图、元器件明细表。6学时

7、学生自行完成基于AT89S52单片机的LED点阵显示电子钟的安装、调试、维修。15学时

8、对基于AT89S52单片机的LED点阵显示电子钟的制作维修情况进行评价。

2学时

9、工作任务的小结。 1学时

任务书: (2个课时)

一、项目概述

随着科学技术日新月异的发展,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在。基于AT89S52单片机的LED点阵显示电子钟具有结构简单,性能可靠、价格低和显示灵活等优点,因此得到了广泛应用。

二、项目要求

设计一种基于AT89S52单片机的LED点阵显示电子钟,具体要求如下:

1. 时钟的显示由LED点阵构成。

2. 能正确显示时间,上电显示为12点。

3. 时间能够由按键调整。

4. 误差小于1s。

三、系统设计

根据设计要求,采用并行方式显示,通过锁存器芯片来扩展I/O口,达到控制LED点阵的40个列线的目的。方案中运用5片锁存器74LS373来组成5组双缓冲寄存器,驱动LED点阵的8组列线,用3/8译码器74LS138对LED点阵的8行进行扫描。在送每一行的数据到LED点阵时,先把数据分别送到5个74LS373,然后再把数据一起输出到LED点阵列中,送出去的时间数据由AT89S52来控制。电子钟由显示电路,行驱动电路、列驱动电路、中央控制器AT89S52、按键电路和复位电路组成。

四、硬件设计

单片机采用AT89S52,系统采用高精度的12MHZ的晶振,以获得较高的刷新频率及较准确的时钟频率使显示稳定和计时准确:采用RC上电加按键复位电路:单片机的P0口和P1口的低5位与列驱动去连接,用来显示数据;P2口的低3位与行驱动器相连,用来送行选信号。

单片机P2口的低3位输出的行信号经74LS138译码生成8条行扫描,这8条信号线所带的驱动能力足以驱动8个LED显示器,因此就不需要额外增加驱动电路。74LS138的其他控制引脚按工作状态分别接入相应的高低电平。

列驱动采用集成电路74LS373构成,它是一个8位并入和8位并出的带一定驱动能力的锁存器。用P1口的低5位分别接到第一脚作为选通用,连接P2口的低5位除了作输出驱动外,主要是起锁存数据的功能,所以11脚全部固定接地。

五、软件设计

LED点阵电子钟程序主要功能是屏幕显示时间稳定、精确。所以按照分块设计的方法可以把程序分为主程序、计时程序、显示程序、调时程序。主程序主要是用来初始化系统和控制各个子程序之间执行的顺序。由于计时需要精确,所以我们直接用T0计时器来产生一个20ms的中断程序,在计时中断程序中完成对时、分、秒的调整,而调时程序采用了两个外部中断来完成。

程序清单:

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP PINT0

ORG 000BH

LJMP INTT0

ORG 0013H

LJMP PINT1

ORG 0030H

MAIN: MOV SP,#60H

MOV TMOD,#01H

MOV TL0,#0e0H

MOV TH0,#0b1H

MOV IE,#87H

MOV 30H,#01H ;时十位

MOV 31H,#02H ;时个位

MOV 32H,#0AH ;光标点位

MOV 33H,#00H ;分十位

MOV 34H,#00H ;分个位

MOV 35H,#00H ;秒十位

MOV 36H,#00H ;秒个位

SETB IT0

SETB IT1

SETB PT0

SETB TR0

LOOP: LCALL DISP

LJMP LOOP0

INTT0 MOV TL0,#0e0H

MOV TH0,#0b1H

PUSH ACC

PUSH PSW

INC 36H

MOV A,36H

CJNE A,#25,PLL

MOV 32H,#0BH

PLL CJNE A,#50,ENDD

MOV 32H,#0AH

MOV 36H,#00H

INC 35H

MOV A,35H

CJNE A,#60,ENDd

MOV 35H,#00H

INC 34H

MOV A,34H

CJNE A,#0AH,ENDd

MOV 34H,#00H

INC 33H

MOV A,33H

CJNE A,#06H,ENDd

MOV 33H,#00H

INC 31H

MOV A,30H

CJNE A,#02H,END1

MOV A,31H

CJNE A,#04H,END1

MOV 31H,#00H

MOV 30H,#00H

END1: MOV A,31H

CJNE A,#0AH,ENDd

MOV 31H,#00H

INC 30H

ENDd:POP PSW

POP ACC

RET1

DISP: PUSH ACC

PUSH PSW

MOV A,30H

MOV B,#08H

MUL AB

MOV 3BH,A

MOV R4,#00H

MOV R5,#08H

LOOP00:MOV A,3BH

MOV DPTR,#TABE

MOVC A,@A+DPTR

MOV P2,R4

MOV P0,A

MOV P1,#0FEH

INC 3BH

INC R4

LCALL DELAY

DJNZ R5,LOOP00

MOV A,31H

MOV B,#08H

MUL AB

MOV 3BH,A

MOV R4,#00H

MOV R5,#08H

LOOP11: MOV A,3BH

MOV DPTR,#TABE

MOVC A,@A+DPTR

MOV P2,R4

MOV P0,A

MOV P1,#0FDH

INC 3BH

INC R4

LCALL DELAY

DJNZ R5,LOOP11

MOV A,32H

MOV B,#08H

MUL AB

MOV 3BH,A

MOV R4,#00H

MOV R5,#08H

LOOP22: MOV A,3BH

MOV DPTR,#TABE

MOVC A, @A+DPTR

MOV P2,R4

MOV P0,A

MOV P1,#0FBH

INC 3BH

INC R4

LCALL DELAY

DJNE R5,LOOP22

MOV A,33H

MOV B,#08H

MUL AB

MOV 3BH,A

MOV R4,#00H

MOV R5,#08H

LOOP33: MOV A,3BH

MOV DPTR,#TABE

MOVC A, @A+DPTR

MOV P2,R4

MOV P0,A

MOV P1,#0F7H

INC 3BH

INC R4

LCALL DELAY

DJNE R5,LOOP33

MOV A,34H

MOV B,#08H

MUL AB

MOV 3BH,A

MOV R4,#00H

MOV R5,#08H

LOOP44: MOV A,3BH

MOV DPTR,#TABE

MOVC A, @A+DPTR

MOV P2,R4

MOV P0,A

MOV P1,#0EFH

INC 3BH

INC R4

LCALL DELAY

DJNE R5,LOOP44

POP PSW

POP ACC

RET

DELAY: MOV 37H,#50

DEL: MOV 38H#4

DJNE 38H,$

DJNE 37H,DEL

RET

TABE: ;0

DB 00H,18H,24H,24H,24H,24H,18H,00H

;1

DB 00H,10H,30H,10H,10H,10H,38H,00H

;2

DB 00H,18H,24H,04H,18H,20H,3CH,00H

;3

DB 00H,18H,24H,18H,04H,24H,18H,00H

;4

DB 00H,08H,18H,28H,7CH,08H,08H,00H

;5

DB 00H,1CH,10H,18H,04H,24H,18H,00H

;6

DB 00H,18H,24H,38H,24H,24H,18H,00H

;7

DB 00H,3CH,28H,08H,10H,10H,10H,00H

;8

DB 00H,18H,24H,18H,24H,24H,18H,00H

;9

DB 00H,18H,24H,24H,1CH,24H,18H,00H

DB 00H,00H,18H,18H,00H,18H,18H,00H

DB 00H,00H,00H,00H,00H,00H,00H,00H

RET

PINT0:MOV 4AH,#20

DJNE 4AH,$

JB P3.2,END-DD

MOV 36H,#00H

INC 34H

MOV A,34H

CJNE A,#0AH,END-DD

MOV 34H,#00H

INC 33H

MOV A,33H

CJNE A,#06H,END-DD

MOV 33H,#00H

END-DD:RET1

PINT1: MOV 4AH,#20

DJNE 4AH,$

JB P3.3,END-DD

INC 31H

MOV A,30H

CJNE A,#02H,END-1

MOV A,31H

CJNE A,#04H,END-1

MOV 31H,#00H

MOV 30H,#00H

END1: MOV A,31H

CJNE A,#0AH,END-d

MOV 31H,#00H

INC 30H

END-D: RETI

END

流程卡: (2个课时)

操作流程卡

课题 基于AT89S52单片机的LED点阵显示电子钟设计

序号

操作内容

工作时间

学生: 日期: 教师:

基于AT89S52单片机的LED点阵显示电子钟设计: (15个课时)

1、 准备本项任务所需的材料、工具,

2、 如果不全,缺哪些?

3、 根据上一项目的制作步骤进行操作。

材料明细卡

代号

名称

型号

数量

用途

R1

排阻

10KΩ*8

1

LED限流

R2

碳膜电阻

10KΩ

1

复位电路

C1

电容

33PF

1个

晶振电路

C2

电容

33PF

1个

晶振电路

C3

电解电容

10vF/10V

1个

复位电路

单片机

AT89S52

1个

控制核心

晶振

12MHZ

1个

晶振电路

驱动器

74LS244

1个

数码管驱动

数码管

4位共阳

1个

显示装置

电源

+5V /0.5A

1个

提供+5V

按键

按键

2个

1个

分时调节

复位电路

驱动器

74LS07

1个

数码管驱动

D

LED

8*8

5个

显示电路

集成块

74LS373

5个

驱动锁存

集成块

74LS138

1个

行扫描

课题 基于AT89S52单片机的LED点阵显示电子钟设计

参考资料提示

序号

书名

出版社

1

电工基础

中国劳动社会保障出版社

2

电子电路基础

中国劳动社会保障出版社

3

数字逻辑电路

中国劳动社会保障出版社

4

电子技术工艺基础

电子工业出版社

5

电子专业技能训练

中国劳动社会保障出版社

基本操作技能

中国劳动社会保障出版社

单片机应用技术

中国劳动社会保障出版社

平分卡: (2个课时)

基于AT89S52单片机的LED点阵显示电子钟设计(满分100分)

评分页

姓名

学号

序号

项目及配分

工艺标准

扣分标准

学生自评分

教师评分

1

作图

30分

1. 布局合理\紧凑

2. 导线横平\竖直\转角成直角,无交叉

3. 元件间连接关系和电原理图一致

1. 布局不合理,每处扣5分

2. 导线不平直\转角不成直角, 每处扣2分,出现交叉, 每处扣5分

3. 连接关系错误, 每处扣10分

2

基于AT89S52单片机的LED点阵显示电子钟设计安装45分

1. 电阻器\二极管水平安装,离万能电路板间距5mm,色标电阻的色环标志方向一致

2. 三极管、可控硅、电解电容垂直安装,元件底部离电路板间距8mm

3. 按图装配,元件的位置\极性正确

4. 焊点光亮\清洁\焊料适量

5. 布线平直

6. 无漏焊\虚焊\假焊\搭焊\溅锡等现象

7. 焊接后元件引脚剪脚留头长度小于1 mm

1. 元件安装歪斜\不对称\高度超差\色环电阻标志不一致, 每处扣1分

2. 错装\漏装, 每处扣5分

3. 焊点不亮\焊料过多过少\布线不平直, 每处扣0.5分

4. 漏焊\虚焊\假焊\搭焊\溅锡, 每处扣3分

5.

6. 剪脚留头长度大于1 mm, 每处扣0.5分

3

基于AT89S52单片机的LED点阵显示电子钟设计调试25分

1.按调试要求和步骤正确测量

2.正确使用万用表

3.正确使用示波器观察波形

1.调试步骤错误,每次扣3分

2.测量结果错误, 每次扣5分误差大, 每次扣2分

3.万用表\示波器使用错误, 每次扣3分

4

安全文明操作

1. 安全用电,不人为损坏元器件\加工件和设备等

2. 保持操作环境整洁,秩序井然,操作习惯良好

1. 发生安全事故,扣总分20分

2. 违反文明操作规程,视情况扣总分5---20分

5

工时: min

超5min扣10分

6

合计

基于AT89S52单片机的LED点阵显示电子钟的维修(满分100分)

评分页

姓名

学号

序号

项目及配分

工艺标准

扣分标准

学生自评分

教师评分

1

查找故障

正确使用电烙铁、万用表、示波器等

电烙铁、万用表\示波器使用错误, 每次扣3分

2

排除故障

1.元件的位置\极性正确

2.焊点光亮\清洁\焊料适量

3.布线平直

4.无漏焊\虚焊\假焊\搭焊\溅锡等现象

5.焊接后元件引脚剪脚留头长度小于1 mm

6.正确使用电烙铁、万用表、示波器等

1.元件安装歪斜\不对称\高度超差\色环电阻标志不一致, 每处扣1分

2.焊点不亮\焊料过多过少\布线不平直, 每处扣0.5分

3.漏焊\虚焊\假焊\搭焊\溅锡, 每处扣3分

7.

4.剪脚留头长度大于1 mm, 每处扣0.5分

5. 电烙铁、万用表、示波器、直流稳压电源、毫伏表、信号发生器使用错误, 每次扣3分

3

安全文明操作

3. 安全用电,不人为损坏元器件\加工件和设备等

4. 保持操作环境整洁,秩序井然,操作习惯良好

3. 发生安全事故,扣总分20分

4. 违反文明操作规程,视情况扣总分5---20分

4

工时: min

超5min扣10分

5

合计

工作小结: (1个课时)

工作任务小结表

日期:

1:你所在的小组从接受任务到完成共用了多少时间?

2:你认为此基于AT89S52单片机的LED点阵显示电子钟设计的制作可以在哪些方面进行改进?

3:对你造成最大困难的是哪些工作?

4:你通过此基于AT89S52单片机的LED点阵显示电子钟仪设计制作在哪些方面得到了提高?

5:你认为在今后的教学中是否还应按照这种教学方法来安排?

什么是什么单片机时钟?怎么设置

什么时钟?

首先我们先讲讲什么是时钟。时钟就是单片机的心脏。每跳动一下。整个单片机的各个电路就同步的动作一下。就好像我们做广播体操的时候 广播上喊的节拍1234 2234 3234。。。。然后我们全部的同学就按照这个节奏进行一个个动作。节拍越快我们动作越快。节拍越慢我们动作的越慢。

内部时钟和外部时钟?

PIC单片机有许多型号可以设置成 用外部时钟(如外部接个4MHZ的石英晶振),也可以设置成用内部RC时钟。而且还有许多型号可以选择多种频率的时钟。

如 PICLF1823 内部时钟最高可以到达32MHZ 最低可以达到 31kHz. 这事实上提供了一条降低功耗的新路子。一般的单片机降低功耗常常用的睡眠,而睡眠期间CPU是什么都不做。如果希望降低功耗,而且CPU也能工作。降低时钟频率无疑是个非常好的选择。

时钟的设置?

时钟设置一般只和两处有关 一个是配置字,一个是振荡器控制寄存器 OSCCON 下面我们以PICLF1823为例子进行讲解。

PICLF1823 配置字设置 中与时钟有关的就是 FOSC<2:0>:振荡器选择位,和PLLEN:PLL使能位 。

OSCCON 是有关内部时钟频率选择,如果只用外部时钟一般不理会。以下是数据手册中OSCCON寄存器的详细介绍。

实例讲解:

使用内部时钟将时钟频率设置成8MHZ

开发环境:MPLAB X IDE

芯片型号:PICLF1823

#include

__CONFIG(FOSC_INTOSC&WDTE_OFF&PWRTE_ON&MCLRE_OFF&CP_ON&CPD_OFF&BOREN_ON&

CLKOUTEN_OFF&IESO_ON&FCMEN_ON);

__CONFIG(PLLEN_OFF&LVP_OFF) ;//将FOSC<2:0>:振荡器选择位设置成 INTOSC,

void init_fosc(void)

{

OSCCON = 0x70;//8MHZ IRCF<3:0>时钟频率选择位设置成8MHZ

}

int main(int argc, char** argv) {

init_fosc();

while(1);

}

PLL是用来做什么的呢?他的作用就是能将8MHZ的时钟频率X4变成32MHZ,记住只有8MHZ可以,其他频率是不行的。

使用内部时钟将时钟频率设置成32MHZ

开发环境:MPLAB X IDE

芯片型号:PICLF1823

#include

__CONFIG(FOSC_INTOSC&WDTE_OFF&PWRTE_ON&MCLRE_OFF&CP_ON&CPD_OFF&BOREN_ON

&CLKOUTEN_OFF&IESO_ON&FCMEN_ON);//这个要放到上一行去

__CONFIG(PLLEN_ON&LVP_OFF) ;//将FOSC<2:0>:振荡器选择位设置成 INTOSC,使能PLLEN

void init_fosc(void)

{

OSCCON = 0xF0;//32MHZ IRCF<3:0>时钟频率选择位设置成8MHZ ,使能4XPLL

}

int main(int argc, char** argv) {

init_fosc();

while(1);

}

相关问答

单片机 晶振显示24mhz初值怎么算?

首先要看是什么芯片,其次还要看芯片的内部时钟电路的配置有些是倍频,使用PLL锁相环技术,此时频率会高于24M,具体要看芯片的配置情况有些事分频,这时时钟频率...

系统时钟是什么?

区别如下:1、实时时钟是指给日期及时间计数器累加的时钟,通常是32768Hz,2、系统时钟是指单片机内部的主时钟,给各个模块提供工作时钟的基础,3、CPU时...区...

STM32是什么啊,是32位的 单片机 吗 - 5UTewoX7wo 的回答 - 懂得

STM32是ST公司推出的基于ARM-Cortex-M3内核的32位单片机。想了解这个系列的单片机,可以去百度百科搜'STM32'如果你从未入门,建议你学51系列的8位单...

红外线控制自动水龙头的原理是什么样的-设计本有问必答

是利用红外反射原理.电路中有一个发射模块和一个接收模块.发射模块能发出一定频率及一定功率的红外光,当遇到障碍物时,反射回来,被接受模块收到,经...

无源晶振是怎么工作的? - 小红薯346A7ED6 的回答 - 懂得

通过IC的内部整形和PLL电路后产生方波,然后输入给下级电路。无源晶振就是一个晶体,必须要结合外围电路构成一个振荡器才能输出特定频率的信号,而这...

555定时器管脚说明Multisim仿真时候管脚?

[回答]FPGA管脚说明Altera:用户I/O:不用解释了。配置管脚:MSEL[1:0]用于选择配置模式,比如AS、PS等。DATA0FPGA串行数据输入,连接到配置器件的串行数据...

诸位行家 可以推荐一下!!正规时钟一般多少钱,时钟哪家收...

[回答]通常的理解,实时时钟是指给日期及时间计数器累加的时钟,通常是32768Hz,系统时钟是指单片机内部的主时钟,给各个模块提供工作时钟的基础,CPU时钟是指...

好基友们 我想知道:免费好用的实时翻译工具,实时翻译工具...

[回答]通常的理解,实时时钟是指给日期及时间计数器累加的时钟,通常是32768Hz,系统时钟是指单片机内部的主时钟,给各个模块提供工作时钟的基础,CPU时钟是指...

tv信号发生器原理是什么?_土巴兔装修问答

早期的信号发生器都采用模拟电路,现代信号发生器越来越多地使用数字电路或单片机控制,内部电路结构上有了很大的变化。频率产生单元是信号发生器...

猜你喜欢