单片机实验Word文档下载推荐.docx

上传人:b****8 文档编号:22268866 上传时间:2023-02-03 格式:DOCX 页数:14 大小:217.96KB
下载 相关 举报
单片机实验Word文档下载推荐.docx_第1页
第1页 / 共14页
单片机实验Word文档下载推荐.docx_第2页
第2页 / 共14页
单片机实验Word文档下载推荐.docx_第3页
第3页 / 共14页
单片机实验Word文档下载推荐.docx_第4页
第4页 / 共14页
单片机实验Word文档下载推荐.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

单片机实验Word文档下载推荐.docx

《单片机实验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机实验Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。

单片机实验Word文档下载推荐.docx

4.LED系统硬件设计

4.18*8共阴LED介绍

8LED点阵的外观及引脚图如图3.2所示,其等效电路图如图3.2所示。

图8.3中只要各LED处于正偏(Y方向为1,X方向为0),则对应的LED发光。

如Y7(0)=1,X7(H)=0时,则其对应的右下角的LED会发光。

各LED还需接上限流电阻,实际应用时,限流电阻即可接在X轴,也可接在Y轴。

图3.28×

8点阵的外观及引脚图

图3.38×

8点阵的等效电路

4.2单片机最小系统

MCS-51系列单片机芯片均为40条引脚,HMOS工艺制造的芯片用双列直插(DIP)方式封装。

各引脚功能说明如下:

a.主电源引脚

Vcc(40脚):

接+5V电源正端。

Vss(20脚):

接+5V电源地端。

b.外接晶体引脚

XTAL1(19脚):

接外部石英晶体的一端。

在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。

当采用外部时钟时,对于HMOS单片机,该引脚接地;

对于CHMOS单片机,该引脚作为外部振荡信号的输入端。

XTAL2(18脚):

接外部石英晶体的另一端。

在单片机内部,它是片内振荡器的反相放大器的输出端。

当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端;

对于CHMOS单片机,该引脚悬空不接。

c.输入/输出引脚

(1)P0口(39~32脚):

P0.0~P0.7统称为P0口。

在不接片外存储器与不扩展I/O口时,可作为准双向输入/输出口。

在接有片外存储器或扩展I/O口时,P0口分时复用为低8位地址总线和双向数据总线。

(2)P1口(1~8脚):

P1.0~P1.7统称为P1口,可作为准双向I/O口使用。

对于52子系列,P1.0与P1.1还有第二功能:

P1.0可用作定时器/计数器2的计数脉冲输入端T2,P1.1可用作定时器/计数器2的外部控制端T2EX。

(3)P2口(21~28脚):

P2.0~P2.7统称为P2口,一般可作为准双向I/O口使用;

在接有片外存储器或扩展I/O口且寻址范围超过256字节时,P2口用作高8位地址总线。

表3.2P3口第二功能

引 

脚 

第二功能

P3.0 

RXD 

串行口输入

P3.1 

TXD 

串行口输出端

P3.2 

INT0 

外部中断0请求输入端,低电平有效

P3.3 

INT1

外部中断1请求输入端,低电平有效

P3.4 

T0 

定时器/计数器0计数脉冲输入端

P3.5 

T1 

定时器/计数器1计数脉冲输入端

P3.6 

WR 

外部数据存储器写选通信号输入端,低电平有效

P3.7 

RD 

外部数据存储器读选通信号输入端,低电平有效

(4)P3口(10~17脚):

P3.0~P3.7统称为P3口。

除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可以独立定义为第一功能的输入输出或第三功能。

P3口的第二功能如表2.1所示。

d.控制线

(1)ALE/PROG(30脚):

地址锁存有效信号输入端。

ALE在每个机器周期内输出两个脉冲。

在访问片外程序存储器期间,下降沿用于控制锁存P0输出的低8位地址;

在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。

但要注意,在访问片外数据存储器期间,ALE脉冲会跳空一个,此时作为时钟输出就不妥了。

对于片内含有EPROM的机型,在编程期间,该引脚用作编程脉冲PROG的输入端。

(2)PSEN(29脚):

片外程序存储器读选通信号输出端,低电平有效。

当从外部程序存储器读取指令或常数期间,每个机器周期该信号两次有效,以通过数据总线P0口读回指令或常数。

在访问片外数据存储器期间,PSEN信号将不再出现。

(3)RST/VPD引脚(9脚):

RST即为RESET,VPD为备用电源。

该引脚为单片机的上电复位或掉电保护端。

当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。

上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10ms以上才能保证有效复位。

当Vcc发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。

(4)EA/Vpp(31脚):

EA为片外程序存储器选用端。

该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。

对于片内含有EPROM的机型,在编程期间,此引脚用作21V编程电源Vpp的输入端。

综上所述,MCS-51系列单片机的引脚可归纳为以下两点:

(1)单片机功能多,引脚数少,因而许多引脚都有第二功能。

(2)单片机对外呈现3总线形式,由P2、P0口组成16位地址总线;

由P0口分时复用为数据总线;

由ALE、PSEN、RST、EA与P3口中的INT0、INT1、T0、T1、WR、RD共10个引脚组成控制总线。

由于是16位地址线,因此,可使片外存储器的寻址范围达到64KB。

5.系统软件设计

5.1总实验设计图

图4.9总实验设计图

5.2硬件连接设计

(1)把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;

(2)把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上;

5.3点阵图样设计

1 2 34 5 678

6.程序与测试结果

;

COLUMNREGP0;

ROWREGP2;

SCANCODEEQU10000000B;

扫描码

SPEEDEQU10;

0,5s延迟

S_TIMEEQU250;

2.5ms扫描时间

ORG0;

程序从0地址开始

JMPSTART;

跳至START处

ORG0BH;

TIMER0中断向量

JMPTIMER0;

跳至TIMER0中断了程序

START:

MOVIE,#10000010B;

设置TIMER0中断

MOVTMOD,#1;

设置TIMER0为MODE1

MOVSP,#60H;

移开堆栈指针

SETBRS0;

切换到RB1

MOVR1,#20H;

显示存储器起始位置

MOVR2,#8;

扫描8列

MOVR3,#SCANCODE;

载入扫描码

CLRRS0;

切换回RB0

MOVTH0,#S_TIME;

设置每列扫描时间

MOVTL0,#S_TIME;

SETBTR0;

启动TIMER0

LOOP:

MOVDPTR,#TABLE;

指数据指针指向TABLE位置

MOVR4,#30;

30个字型

MOVR3,#0;

间距

NEXT:

加载数据数量

MOVR0,#20H;

暂存储存器起始位置

CALLLOADING;

加载一个字型

CALLDELAY;

延时

DJNZR4,NEXT;

跳至NEXT处形成一个循环

JMPLOOP;

跳至LOOP处形成一个循环

LOADING:

MOVA,R3;

将间距放入ACC

MOVCA,@A+DPTR;

读入数据

MOV@R0,A;

将数据存入存储器

INCR3;

R3+1

INCR0;

指向下一个地址

DJNZR2,LOADING;

跳至LOADING处形成一个循环

RET

DELAY:

MOVR7,#SPEED;

延时程序

D2:

MOVR6,#100;

D1:

MOVR5,#250;

DJNZR5,$;

DJNZR6,D1;

DJNZR7,D2;

RET

TIMER0:

CLRTR0;

关闭TIMER0

PUSHACC;

暂存ACC

切换RB1

MOVP0,#0;

关闭LED点阵

MOVA,@R1;

取出显示信号

;

使用共阳模式LED点阵,则假如下一行指令

CPLA

MOVP2,A;

输出显示信号

MOVA,R3;

MOVP0,A;

输出扫描码(显示一列)

RRA;

下一个扫描码

MOVR3,A;

暂存下一个扫描码

INCR1;

系一个显示信号

DJNZR2,NEXT_C;

未超过8列则跳至NEXT_C处

重新开始扫描

从第一列开始

NEXT_C:

设置每一列扫描时间

POPACC;

取回ACC

RETI

TABLE:

8B*54=432B

DB0FFH,0C1H,0D5H,00H;

电(单字)

DB55H,41H,7FH,0FFH;

DB0F7H,0F6H,0B6H,76H;

DB02H,0F2H,0F4H,0F7H;

DB0FBH,0FAH,03H,3BH;

DB0A0H,0D6H,0A0H,7BH;

DB0FBH,0FAH,03H,0B7H;

DB0F7H,00H,0F7H,0F7H;

电(左右)

DB55H,41H,7FH,0FFH

DB0D5H,00H,55H,41H

DB7FH,0FFH,0F7H,0F6H

DB0F7H,0F6H,0B6H,76H

DB0B6H,76H,02H,0F2H

DB02H,0F2H,0F4H,0F7H

DB0F4H,0F7H,0FBH,0FAH

DB0FBH,0FAH,03H,3BH

DB03H,3BH,0A0H,0D6H

DB0A0H,0D6H,0A0H,7BH

DB0A0H,7BH,0FBH,0FAH

DB0FBH,0FAH,03H,0B7H

DB03H,0B7H,0F7H,00H

电(上下)

DB0FFH,0B0H,0B5H,80H

DB95H,90H,1FH,0FFH

DB7FH,6BH,6DH,60H

DB25H,24H,47H,7FH

DB0DFH,0DBH,0DBH,0D8H

DB09H,0C9H,0D1H,0DFH

DB0FDH,0BDH,0EDH,0DDH

DB00H,0DEH,1EH,7EH

DB0BFH,0AFH,3BH,0B7H

DB00H,6FH,0FH,0BFH

DB0EFH,0EBH,0EH,0EDH

DB80H,5BH,83H,0EFH

DB0FEH,0BEH,0C0H,0CEH

DB0E8H,35H,0E8H,0DEH

DB0BFH,0AFH,30H,73H

DB7AH,0DH,7AH,77H

DB0EFH,0EBH,0CH,0DCH

DB0DEH,03H,0DEH,0DDH

DB0FBH,0FAH,03H,0B7H;

END

以上程序即能实现实验目标所要实现的功能。

7.提及的问题

程序中,编写了30个图形,组成实验所要求的显示效果。

在TIMER0的程序段中,其思想是先将LED点阵关闭,再进行一列一列的扫描。

由于使用的寄存器使用较多,所以设置了第0组和第1组工作寄存器,即SETBRS0是切换到第1组工作寄存器,CLRRS0是切换到第0组工作寄存器。

在扫描显示了第一列扫描码后,再执行RRA实现下一列的扫描码。

若扫描列数少于8列,则继续扫描,否则重新计数扫描。

8.感想体会

LED点阵屏显示在生活中得到广泛的应用,本次实验贴近生活,使我们熟悉单片机的线路连接、程序编写和程序烧写等步骤。

在实验要求中,要实现左右滚动和上下滚动显示,我们查阅资料后发现,如果图形简单,就可以用布点法,将亮点一一写出,此次实验我们就是用这种方法。

但是如果图形稍微复杂一些,这种方法便显得很繁琐。

参考文献:

[1]张义和,陈敌北.例说8051.人民邮电出版社.北京.2006年第二版.

[2]范风强,兰婵丽.单片机语言C51应用实战集锦(修订版).电子工业出版社,北京.

[3]戴胜华,蒋大明.单片机原理与应用.北京交通大学出版社,北京.

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

当前位置:首页 > 高等教育 > 教育学

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

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