单片机实验实训教材Word下载.docx

上传人:b****6 文档编号:17216958 上传时间:2022-11-29 格式:DOCX 页数:54 大小:142.98KB
下载 相关 举报
单片机实验实训教材Word下载.docx_第1页
第1页 / 共54页
单片机实验实训教材Word下载.docx_第2页
第2页 / 共54页
单片机实验实训教材Word下载.docx_第3页
第3页 / 共54页
单片机实验实训教材Word下载.docx_第4页
第4页 / 共54页
单片机实验实训教材Word下载.docx_第5页
第5页 / 共54页
点击查看更多>>
下载资源
资源描述

单片机实验实训教材Word下载.docx

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

单片机实验实训教材Word下载.docx

简易抢答器的设计实验-------------------------23页

任务15:

外部中断实验--------------------------------25页

任务16:

定时器延时程序的设计-------------------------26页

任务17:

定时器计数工作方式实验---------------------32页

任务18:

外部中断优先级实验---------------------------28页

任务19:

串口输出实验--------------------------------36页

任务20:

串口工作方式0扩展输出口实验---------------37页

任务21:

74HC154,4线-16路译码电路的设计--------------40页

实验1、Keil软件的使用

一、实验目的:

1、通过软件程序编写,掌握KEIL软件的使用。

2、学会程序的简单调试。

二、实验步骤:

1、首先双击桌面上的Uv2图标打开Keil.

2、先建立一个工程:

点选菜单栏:

工程\先建工程\(在弹出窗口新建工程中命名工程文件名如):

LED\保存\(在弹出的CPU选择窗口中选择)Atmel\AT89C51\确定(完成工程的建立)。

3、源文件的建立;

(1)、点选菜单栏:

文件\新建\文件\保存\(命名源文件名同新建工程一致)LED.ASM\保存。

(2)、编写源程序如下:

(和文字可以不输入。

4、利用KeiluVision2仿真软件进行编译,直到编译无误为止。

5、将程序下载到89S51芯片,插入实验仿真板打开模块电源和总电源,运行实验程序。

三、实验源程序:

程序1、显示数字0

ORG0000H

START:

CLRP2.0;

开选通端P2.0

MOVP0,#0C0H;

送入"

0"

所对应的代码

END;

结束程序

程序2、ORG0000H

LJMPMAIN

ORG0030H

MAIN:

MOVP1,#00H

CLRP1.0;

点亮LED0

SJMP$;

END

程序3、循环显示数字0-3

ORG00H;

程序开始

CLRP2.0;

选通最低位数码管

MOVP0,#0F9H;

将1的编码送P0口显示

LCALLDELAY;

显示2S

MOVP0,#0A4H;

将2的编码送P0口显示

MOVP0,#0B0H;

将3的编码送P0口显示

延时一段时间的显示

LJMPSTART

;

延时2S子程序

DELAY:

MOVR5,#250

D3:

MOVR6,#200

D2:

MOVR7,#200

D1:

DJNZR7,D1

DJNZR6,D2

DJNZR5,D3

RET

END;

程序编写结束

实验2:

发光二极管闪烁实验

一、实验目的

1、学习P1口的使用方法

2、学习延时子程序的编写和使用

二、实验说明

P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。

由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。

三、实验内容及步骤

用P1口做输出口,程序功能使发光二极管闪烁点亮。

1、使用单片机最小应用系统1模块。

关闭该模块电源,用扁平数据线连接单片机P1口与八位逻辑电平显示模块。

2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:

缺口朝上。

3、打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加源程序,进行编译,直到编译无误。

4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。

5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序,观察发光二极管显示情况。

发光二极管单只从右到左轮流循环点亮。

四、实验电路

五、实验源程序:

SETBP1.0;

LCALLDELAY;

SJMPSTART;

;

子程序

MOVR5,#10

MOVR6,#40

MOVR7,#248

DJNZR7,$

DJNZR6,D2

DJNZR5,D1

RET

实验3:

P1断口控制的流水灯实验

1、掌握KEIL软件的使用。

2、学习利用单片机编写流水灯的控制程序。

二、实验功能:

利用RL指令实现流水灯的控制。

三、实验步骤:

四、实验源程序:

程序1:

ORG0000H

MOVA,#01H;

将初始输出数存入A寄存器

LOOP:

MOVP1,A;

将A寄存器中的数从P1端口输出

LCALLDELAY;

调用延时子程序

RLA;

将A寄存器中的数向左移动一位

SJMPLOOP;

跳转到LP标号循环

MOVR5,#1;

MOVR6,#200;

MOVR7,#200;

DJNZR7,$;

DJNZR6,D2;

DJNZR5,D1;

RET;

程序2:

利用取表的方法实现的彩灯实验

单片机端口接八只LED,编程时利用取表的方法,使端口P1做单一灯的变化:

先向左移2次,然后向右移2次,再闪烁4次,不断循环。

ORG30H

START:

MOVDPTR,#TABLE;

存表

LOOP:

CLRA;

A清零

MOVCA,@A+DPTR;

取表代码

CJNEA,#01H,LOOP1;

不是01H,循环

JMPSTART;

重新设定

LOOP1:

MOVP1,A;

送P1输出

ACALLDELAY;

调延时程序

INCDPTR;

数据指针加1

JMPLOOP;

转移到LOOP处

DELAY:

MOVR5,#25;

延时0.5秒

DLY1:

MOVR6,#100;

DLY2:

MOVR7,#100;

DJNZR7,$;

DJNZR6,DLY2;

DJNZR5,DLY1;

RET;

TABLE:

DB0FEH,0FDH,0FBH,0F7H;

DB0EFH,0DFH,0BFH,7FH;

左移

左移

DB7FH,0BFH,0DFH,0EFH;

DB0F7H,0FBH,0FDH,0FEH;

右移

右移

DB00H,0FFH,00H,0FFH;

闪烁

DB01H;

结束码

END;

实验4:

一位数码管静态显示实验

1.掌握数字、字符转换成显示段码的软件译码方法

2.静态显示的原理和相关程序的编写

二、实验电路:

三、、实验步骤:

LCD\保存\(在弹出的CPU选择窗口中选择)Atmel\AT89C51\确定(完成工程的建立)。

文件\新建\文件\保存\(命名源文件名同新建工程一致)LCD.ASM\保存。

ORG0040H

MOVSP,#60H;

开始程序

MOVP0,#3FH;

最后一位七段数码管显示

延时

MOVP0,#00H;

熄灭

SETBP2.0;

循环闪烁

MOVR5,#5;

实验5:

利用查表的方法实现数码管静态显示实验

同上(略)

MOVA,#0

MOVDPTR,#TAB

MOVCA,@A+DPTR;

将数值转换为显示段码

MOVP0,A;

将查得的段码显示

段码表

TAB:

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

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,40H,80H

'

0'

1'

2'

3'

4'

5'

6'

7'

8'

9'

A'

B'

C'

D'

E'

F'

-'

.'

实验6:

数码管动态显示数码(8051)实验

2.动态显示的原理和相关程序的编写

4个数码管动态显示8051四个数字。

LED4\保存\(在弹出的CPU选择窗口中选择)Atmel\AT89C51\确定(完成工程的建立)。

文件\新建\文件\保存\(命名源文件名同新建工程一致)LED4.ASM\保存。

ORG00H

AJMPSTART

ORG30H

MOVP0,#0FFH;

关显示

MOVP2,#0FFH;

CLRP2.7;

选中第一个数码管

MOVP0,#80H;

数码管显示8

调用延时

MOVP0,#0FFH

MOVP2,#0FFH

CLRP2.6;

选中第二个数码管

MOVP0,#0C0H;

数码管显示0

ACALLDELAY

CLRP2.5;

选中第三个数码管

MOVP0,#92H;

数码管显示5

CLRP2.4;

选中第四个数码管

MOVP0,#0F9H;

数码管显示1

AJMPSTART;

程序条转到第一步,反复执行

MOVR6,#10;

延时子程序

D0:

MOVR7,#25

D1:

DJNZR7,D1

DJNZR6,D0

END

开始程序:

该程序显示“3210”

使显示器不显示

MOVP2,#0FFH;

关闭显示器位选择码目的也是使显示器不显示

LCALLDISP0;

调用将数值转换为显示段码并在P0端口输出的子程序

少许延时目的是使得数码管更亮

MOVA,#1

CLRP2.1;

倒数第二位七段数码管显示

LCALLDELAY

MOVA,#2

CLRP2.2;

倒数第三位七段数码管显示

MOVA,#3

CLRP2.3;

倒数第四位七段数码管显示

LCALLSTART;

跳回初始位置,使程序循环

MOVR6,#1;

DISP0:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,40H,80H

实验7:

独立式按键控制的流水灯实验

1.掌握键盘的工作原理及过程。

2.掌握键盘和流水灯的结合工作过程

三、实验功能:

通过P3.4口按键控制流水灯的流动。

四、、实验步骤:

MOVSP,#60H

MOVA,#01H

MOVP1,A

JBP3.4,$

RLA

SJMPLOOP

实验8:

键盘控制的数字显示与小灯。

2、掌握独立式键盘程序结合数码显示程序的编写过程。

通过对外部数据的输入从P1口输出显示。

三、实验电路:

四、实验步骤:

AJMPMAIN

ORG0030H

MOVC,P3.2;

检测按键

MOVP1.2,C;

根据按键决定输出。

AJMPMAIN;

循环

按P32,P33,P34,P35,分别全部显示0123

LJMPSTART

MOVSP,#5FH

MOVP1,#0FFH

选中6个数码管

CLRP2.2

CLRP2.3

CLRP2.4

CLRP2.5

CLRP2.6

MOVP3,#0FFH

MOVP0,#0FFH

L1:

JNBP3.2,L2;

键盘监测程序

JNBP3.3,L3;

P33按下则执行L3

JNBP3.4,L4

JNBP3.5,L5

LJMPL1;

反复监测

L2:

MOVP1,#0FFH;

关P1口的灯

MOVP0,#28H;

CLRP1.0

CLRP1.1

LJMPL1

L3:

MOVP1,#0FFH

MOVP0,#7EH;

CLRP1.2

CLRP1.3

L4:

MOVP0,#0A2H;

数码管显示2

CLRP1.4

CLRP1.5

L5:

MOVP1,#0FFH

MOVP0,#62H;

数码管显示3

CLRP1.6

CLRP1.7

实验9:

独立键盘控制的数字加1实验

一位计数器,按V3.2数码管加1,到9后回0

KEY\保存\(在弹出的CPU选择窗口中选择)Atmel\AT89C51\确定(完成工程的建立)。

文件\新建\文件\保存\(命名源文件名同新建工程一致)K

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

当前位置:首页 > 高中教育 > 初中教育

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

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