设计与开发

单片机push 小小单片机(二)

小编 2024-10-06 设计与开发 23 0

小小单片机(二)

今天继续给大家介绍单片机的小知识,在(一)的介绍里小白给大家介绍了单片机类型,以及常用的一些命令符号,今天小白给大家介绍一些单片机的小程序以及具体讲解。

我们常用的单片机开始命令

ORG 0000H 表明的意思是程序在0000H的字节上开始

JMP 0030H 表明的意思是跳转到0030H字节

ORG 0030H 表明在0030H字节处开始程序

由上面的3个代码表明正式的程序从0030H

这是简单的开始指令以及跳转指令,下面给大家讲一下单片机的堆栈指令我们单片机里面的常见程序是PUSH,POP。它们的作用是:PUSH表明的是入栈指令这条命令是将堆栈针SP+1,然后将direct内容送到堆栈针SP中的RAM中。具体例子:当(SP)=60H,(A)=30H,(B)=70H。

执行命令:

PUSH A ;(SP)+1=61H→SP,(A)→61H

PUSh B ;(SP)+1=62H→SP,(B)→62H

这是堆栈命令的入住那,但是小白提醒大家一定记得要把A,B里的内容放在地址,不是A,B放进去!!!

出栈命令:POP表明将SP里的内容送到direct,堆栈指针—1

具体例子:当(SP)=62H,(62H)=70H,(61H)=30H

执行命令

POP DPH ;(SP)→DPH,(SP)-1→SP

POP DPL ;(SP)→DPL, (SP)-1→SP

结果为:(DPTR)=7030H,(SP)=60H

上面是单片机中比较基础的几个指令,希望自学的朋友可以收藏学习一下,这些只是小白和大家说的单片机知识中的一点点,希望大家可以慢慢学习,单片机是我们机械设计中的简单控制部分,但是也是学机械中不可缺少的一点点希望想自学机械朋友可以从基础一点点做起,把基本功做扎实!

小白是一个机械专业大二的学生,平时给大家分享一些关于机械方面的知识,有的方面介绍不周希望大家谅解。

文章仅作者所想,内容仅供参考

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:你认为在今后的教学中是否还应按照这种教学方法来安排?

相关问答

单片机push pop指令怎么用?

PUSHPOP指令的作用:PUSH和POP都是堆栈操作指令。实现压入操作的指令是PUSH指令;实现弹出操作的指令是POP指令。PUSH的操作过程是:(SP)<--(SP)-2,((sp))...

当使用8031 单片机 时,需要扩展外部程序存储器,此时EA应为____...

[最佳回答]当使用8031单片机时,需要扩展外部程序存储器,此时EA应为__0__.3.若PSW.4=0,PSW.3=1,要想把寄存器R0的内容入栈,应使用(D)指令.A.PUSHR0B.PUSH@.....

单片机 ,下列哪条指令是正确的( d ) a) PUSH R2 b) ADD R0,A ...

51单片机:PUSH后只能跟直接地址如PUSH60HADD指令的目的操作数只能是A即ADDA,ROADDA,50H等C选项A后面少逗号51单片机:PUSH后只能跟直接地...

急求 单片机 几道试题答案,哪位高手来帮下忙,谢谢1、(1)设A=6C...

[最佳回答]1、(1)设A=6CH,CY=1,执行RRC后,A=(0B6H),CY=(0).(2)、执行下列程序段后,(A)=(62H)Cy=(1)(Y是下标啊)CLRCMOVAA,#B1H...

单片机 复位后sp值为多少?

SP被赋值后单片机复位后其值应为:SP值为07H或0000H为确保设计出的电路系统稳定可靠的工作,必须在电路中加入复位电路——将电路恢复到初始状态。类似于我们...

MCS-51 单片机 汇编语言的SP指令有什么作用?

MCS-51单片机汇编语言中,没有SP这条指令,只有针对SP操作的指令。51单片机中SP是堆栈指针寄存器,存放着当前堆栈地址。堆栈用于存储子程序调用、中断程序调用时...

单片机 题目一套7.中断查询确认后,在下列各种8031 单片机 运...

[最佳回答]7.中断查询确认后,在下列各种8031单片机运行情况中,能立即进行响应的是:(D)A.当前正在执行高优先级中断处理B.当前正在执行RETI指令C.当前指令...

单片机 试题1.系列指令中,哪个寻址方式是对源操作数的寄存器...

A.MOVA,#30HB.MOVA,#30HC.MOVA,R0D.MOVA,@R02.MCS-51单片机的最小时序定时单位是()。A.状态B.拍C.机器周期...

单片机 试题解答1.当CPU响应外部中断0后,PC的值是(A)A.0003HB...

[最佳回答]一,选择题1.当CPU响应外部中断0后,PC的值是(A)A.0003HB.2000HC.000BHD.3000H2.当MCS-51复位时,下面说法准确的是(A)A.PC=0000HB....

【18.MCS-51 单片机 的最小时序定时单位是()。A.状态B.拍节C....

[最佳回答]CDACBBBCC

猜你喜欢