实验三按键与显示实验.docx

上传人:b****2 文档编号:23444569 上传时间:2023-05-17 格式:DOCX 页数:15 大小:129.87KB
下载 相关 举报
实验三按键与显示实验.docx_第1页
第1页 / 共15页
实验三按键与显示实验.docx_第2页
第2页 / 共15页
实验三按键与显示实验.docx_第3页
第3页 / 共15页
实验三按键与显示实验.docx_第4页
第4页 / 共15页
实验三按键与显示实验.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

实验三按键与显示实验.docx

《实验三按键与显示实验.docx》由会员分享,可在线阅读,更多相关《实验三按键与显示实验.docx(15页珍藏版)》请在冰豆网上搜索。

实验三按键与显示实验.docx

实验三按键与显示实验

实验报告

课程名称:

微机原理与接口设计指导老师:

齐杭丽成绩:

实验名称:

实验三按键与显示实验实验类型:

设计型同组学生姓名:

_________

1.实验目的

1熟练运用keil环境对硬件接口进行调试。

2掌握IO扩展键盘的软硬件设计方法;

3掌握数字转换成显示段码的软件译码方法;

4掌握静态显示的原理和相关程序的编写。

5掌握动态显示的原理和相关程序的编写;

2.预习要求

1理解51单片机IO实现独立式键盘扩展的工作原理。

2理解8段数码管静态显示的电路工作原理,采用静态显示有何优缺点;

3理解8段数码管动态显示的电路工作原理,采用动态显示有何优缺点;

4理解8段数码管静态显示的IO控制方式及同步串行口控制方式如何实现软件设计;

3.实验设备

计算机1台;

ZDGDTH-1型80C51实验开发系统1套;

2号导线、8P数据线若干条。

4.基础型实验内容

1查询式键盘和静态显示实验

8个独立式键盘的电路如图2-1所示,串口扩展的6个静态数码管电路如图2-2所示。

设将P0口连接到键盘接口,则如果有键按下,相应的口线输出为低,否则输出为高。

单片机通过读取接口的状态,判断按下什么键。

有键按下后,要有一定的延时,防止由于键盘抖动而引起误操作。

8个按键的键值从右至左为0~7。

实验例程是查询按键操作,并将按下的键值在6个静态数码管上显示出来。

6个静态数码管与6片74LS164(串变并移位寄存器)连接,与单片机通过IO口连接,实现串行静态显示的控制。

电路图:

 

图2-18个独立式按键电路

 

 

图2-26位静态数码管显示接口电路

DBUFEQU30H

DATEQUP3.0

CLKEQUP3.1

ORG0000H

L0:

MOVP1,#0FFH

L1:

MOVA,P1

CJNEA,#0FFH,KEYPUT

SJMPL1

KEYPUT:

CJNEA,#0FEH,NEXT1

SJMPK0

NEXT1:

CJNEA,#0FDH,NEXT2

SJMPK1

……

K0:

MOVB,#00H

LCALLDISP

LJMPL0

K1:

MOVB,#01H

LCALLDISP

LJMPL0

……

LJMPL0

DISP:

MOVDBUF,B

MOVDBUF+1,B

MOVDBUF+2,B

MOVDBUF+3,B

MOVDBUF+4,B

MOVDBUF+5,B

MOVR0,#DBUF

MOVDPTR,#TAB

MOVR2,#06H

DP0:

MOVA,@R0

MOVCA,@A+DPTR

MOVR3,#08H

DP1:

RLCA

MOVDAT,C

CLRCLK

SETBCLK

DJNZR3,DP1

INCR0

DJNZR2,DP0

RET

TAB:

DB3FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5

DB7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,B

DB58H,5EH,79H,71H,00H,40H;C,D,E,F,,-

END

2动态显示实验

6位动态数码管显示的接口电路设计如图2-3所示,假设P0口输出显示的段码,P2口输出位码,用8P数据线将80C51/C8051F020MCU模块的JD0(P0口)、JD2(P2口)分别与A7区的JD1A7、JD2A7相连;A7区的电源短路帽JD5A7打到右端。

在Keil环境连续运行该程序,观察实验结果。

图2-36位动态数码管显示接口电路

流程图如下:

 

在动态数码管上显示168168的源程序:

DBUFEQU30H

TEMPEQU40H

ORG0000H

LJMPdisp

ORG0100H

disp:

MOV30h,#8

MOV31h,#6

MOV32h,#1

MOV33h,#8

MOV34h,#6

MOV35h,#1

MOVR0,#DBUF

MOVR1,#TEMP

MOVR2,#6

MOVDPTR,#SEGTAB

DP00:

MOVA,@R0

MOVCA,@A+DPTR

MOV@R1,A

INCR1

INCR0

DJNZR2,DP00

DISP0:

MOVR0,#TEMP

MOVR1,#6

MOVR2,#1

DP01:

MOVA,@R0

MOVP0,A

MOVA,R2

MOVP2,A

ACALLDELAY

MOVA,R2

RLA

MOVR2,A

INCR0

DJNZR1,DP01

SJMPDISP0

SEGTAB:

DB3FH,06H,5BH;0,1,2

DB4FH,66H,6DH;3,4,5

DB7DH,07H,7FH,;6,7,8,

DB6FH,77H,7CH;9,A,B

DB58H,5EH,7BH,;C,D,E

DB71H,00H,40H;F,,-

DELAY:

MOVR4,#03H

AA1:

MOVR5,#0FFH

AA:

NOP

NOP

DJNZR5,AA

DJNZR4,AA1

RET

END

5.设计型实验内容

1在最后一个数码管上依次显示a、b、….f各段,每段显示时间为100ms,用T0定时器实现;

ORG0000H

DISP0:

MOVR0,#01H

MOVR1,#01H

MOVR2,#06H

DP01:

MOVA,R0

MOVP0,A

MOVA,R1

MOVP2,A

ACALLDELAY

MOVA,R0

RLA

MOVR0,A

DJNZR2,DP01

LJMPDISP0

DELAY:

MOVTMOD,#01H

MOVTL0,#0B0H

MOVTH0,#3CH

SETBTR0

JNBTF0,$

CLRTF0

MOVTL0,#0B0H

MOVTH0,#3CH

SETBTR0

JNBTF0,$

CLRTF0

RET

END

2分别指定IO控制动态扫描显示模块、静态显示模块电路,画出流程并设计程序实现数码管显示自己的学号后六位号码;

静态:

DBUFEQU30H

DATEQUP3.0

CLKEQUP3.1

ORG0000H

DISP:

MOVDBUF,#1

MOVDBUF+1,#0

MOVDBUF+2,#2

MOVDBUF+3,#7

MOVDBUF+4,#1

MOVDBUF+5,#9

MOVR0,#DBUF

MOVDPTR,#TAB

MOVR2,#06H

DP0:

MOVA,@R0

MOVCA,@A+DPTR

MOVR3,#08H

DP1:

RLCA

MOVDAT,C

CLRCLK

SETBCLK

DJNZR3,DP1

INCR0

DJNZR2,DP0

SJMP$

TAB:

DB3FH,06H,5BH,4FH,66H,6DH

DB7DH,07H,7FH,6FH,77H,7CH

DB58H,5EH,79H,71H,00H,40H

END

动态:

DBUFEQU30H

TEMPEQU40H

ORG0000H

LJMPDISP

ORG0100H

DISP:

MOV30H,#9

MOV31H,#1

MOV32H,#7

MOV33H,#2

MOV34H,#0

MOV35H,#1

MOVR0,#DBUF

MOVR1,#TEMP

MOVR2,#06H

MOVDPTR,#TAB

DP00:

MOVA,@R0

MOVCA,@A+DPTR

MOV@R1,A

INCR1

INCR0

DJNZR2,DP00

DISP0:

MOVR0,#TEMP

MOVR1,#06H

MOVR2,#01H

DP01:

MOVA,@R0

MOVP0,A

MOVA,R2

MOVP2,A

ACALLDELAY

MOVA,R2

RLA

MOVR2,A

INCR0

DJNZR1,DP01

LJMPDISP0

DELAY:

MOVR4,#03H

AA1:

MOVR5,#0FFH

AA:

NOP

DJNZR5,AA

DJNZR4,AA1

RET

TAB:

DB3FH,06H,5BH,4FH,66H,6DH

DB7DH,07H,7FH,6FH,77H,7CH

DB58H,5EH,79H,71H,00H,40H

END

3用按键输入自己的学号,并在静态或动态数码管上显示出来。

DBUFEQU30H

DATEQUP3.0

CLKEQUP3.1

ORG0000H

L0:

MOVP1,#0FFH

L1:

MOVA,P1

CJNEA,#0FFH,KEYPUT

LJMPL1

KEYPUT:

CJNEA,#0FEH,NEXT1

LJMPK0

NEXT1:

CJNEA,#0FDH,NEXT2

LJMPK1

NEXT2:

CJNEA,#0FBH,NEXT3

LJMPK2

NEXT3:

CJNEA,#0F7H,NEXT4

LJMPK3

NEXT4:

CJNEA,#0EFH,NEXT5

LJMPK4

NEXT5:

CJNEA,#0DFH,NEXT6

LJMPK5

NEXT6:

CJNEA,#0BFH,NEXT7

LJMPK6

NEXT7:

CJNEA,#7FH,L0

LJMPK7

K0:

MOVB,#00H

LCALLDISP

LJMPL0

K1:

MOVB,#01H

LCALLDISP

LJMPL0

K2:

MOVB,#02H

LCALLDISP

LJMPL0

K3:

MOVB,#03H

LCALLDISP

LJMPL0

K4:

MOVB,#04H

LCALLDISP

LJMPL0

K5:

MOVB,#05H

LCALLDISP

LJMPL0

K6:

MOVB,#06H

LCALLDISP

LJMPL0

K7:

MOVB,#07H

LCALLDISP

LJMPL0

DISP:

MOVDBUF,B

MOVR0,#DBUF

MOVDPTR,#TAB

DP0:

MOVA,@R0

MOVCA,@A+DPTR

MOVR3,#08H

DP1:

RLCA

MOVDAT,C

CLRCLK

SETBCLK

DJNZR3,DP1

RET

TAB:

DB3FH,06H,5BH,4FH,66H,6DH

DB7DH,07H,7FH,6FH,77H,7CH

DB58H,5EH,79H,71H,00H,40H

END

 

6.扩展实验及思考

1循环显示6个数码管的边缘各段,形成一个运动着的大边框。

2按键连击的消除和利用。

利用连击现象,当按键时间长于2秒时,每0.5秒在个位上加1,连续累加,直到按键释放。

3分别基于动态扫描显示模块、静态显示模块电路,画出流程并设计程序实现数码管从右到左滚动显示自己的学号的所有位数;

4利用单片机的定时器资源,实现定时对6位动态显示管输出的刷新,画出流程并设计程序实现设计型实验内容的步骤①、②。

缺实验心得阅10.1.10

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

当前位置:首页 > 外语学习 > 英语学习

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

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