单片机实验指导书.docx

上传人:b****3 文档编号:5924322 上传时间:2023-05-09 格式:DOCX 页数:27 大小:25.05KB
下载 相关 举报
单片机实验指导书.docx_第1页
第1页 / 共27页
单片机实验指导书.docx_第2页
第2页 / 共27页
单片机实验指导书.docx_第3页
第3页 / 共27页
单片机实验指导书.docx_第4页
第4页 / 共27页
单片机实验指导书.docx_第5页
第5页 / 共27页
单片机实验指导书.docx_第6页
第6页 / 共27页
单片机实验指导书.docx_第7页
第7页 / 共27页
单片机实验指导书.docx_第8页
第8页 / 共27页
单片机实验指导书.docx_第9页
第9页 / 共27页
单片机实验指导书.docx_第10页
第10页 / 共27页
单片机实验指导书.docx_第11页
第11页 / 共27页
单片机实验指导书.docx_第12页
第12页 / 共27页
单片机实验指导书.docx_第13页
第13页 / 共27页
单片机实验指导书.docx_第14页
第14页 / 共27页
单片机实验指导书.docx_第15页
第15页 / 共27页
单片机实验指导书.docx_第16页
第16页 / 共27页
单片机实验指导书.docx_第17页
第17页 / 共27页
单片机实验指导书.docx_第18页
第18页 / 共27页
单片机实验指导书.docx_第19页
第19页 / 共27页
单片机实验指导书.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机实验指导书.docx

《单片机实验指导书.docx》由会员分享,可在线阅读,更多相关《单片机实验指导书.docx(27页珍藏版)》请在冰点文库上搜索。

单片机实验指导书.docx

单片机实验指导书

 

实验一实验环境及I/O口应用实验

 

一、实验目的

熟悉单片机系统的硬件电路。

熟悉单片机编程软件、程序下载软件的使用。

熟悉单片机I/O口基本输入、输出功能。

二、实验内容

1.学习单片机实验硬件环境(mini80E开发板)的使用,了解开发板上电路的组成以及各元器件的作用。

2.学习软件环境(编程软件keil)的安装、设置与使用。

3.学习下载环境(程序烧写软件STC_ISP_V3.1)的安装、设置与使用。

4.开关控制灯实验,要求分别按下S1—S4,LED2—LED4分别点亮,松开S1—S4,LED2—LED4熄灭。

5.使用单片机的I/O口完成流水灯实验,要求从LED2—LED9依次点亮,然后再从LED9—LED2依次点亮,亮灯间隔0.2秒,如此循环下去。

三、实验环境

软件资源:

编程软件keil,程序烧写软件STC_ISP_V3.1。

硬件资源:

mini80E开发板上8个发光二极管LED2--LED9,小按键S1--S4,插针J11。

带串口的PC机一台以及串口下载线一根(如果PC机没有串口,请用USB转串口下载线)。

四、实验原理

发光二极管连接电路如图1所示,8个LED阳极串联300欧姆电阻到电源正端VCC,LED阴极接单片机P1口,LED2接最低位P1.0,LED9接最高位P1.7。

当P1口输出低电平时LED点亮,高电平时LED熄灭。

首先P1.0输出低电平,LED2点亮,其它LED熄灭,采用延时子程序延时0.2秒,然后P1.1输出低电平,LED3点亮,其它LED熄灭,如此LED2--LED9依次点亮时,就形成了

流水灯现象。

按键连接电路如图2所示,用跳冒将J11的左边两个引脚针(1和2)连接,键盘S1--S4是独立按键,S5--S16不用。

当按

键S1--S4分别按下时,P3.0--P3.3分别为低电平,此时单片机控制相应的灯点亮。

例如S1按下,P3.0为低电平,单片机点亮

LED2,当S1松开,LED2熄灭。

 

1

图1LED电路图2按键/键盘电路

五、实验步骤

1.熟悉硬件环境mini80E开发板,对照开发板的原理图和说明书学习,了解发板上电路的组成以及各元器件的作用。

mini80E开发板实物参照下图。

 

2.

熟悉软件环境(编程软件keil)的安装、设置与使用,请参照《Keil使用说明.doc》。

3.

熟悉下载环境(程序烧写软件STC_ISP_V3.1)的安装、设置与使用,请参照《stc使用说明以及注意事项.doc》

4.首先进行硬件连接,将J11的左边两个引脚针(1和2)用跳冒连接,用串口下载线将PC机与单片机连接。

然后编写程序,编译程序,下载到单片机,完成流水灯实验和开关控制灯实验。

六、实验程序(选用12M晶振)

实验A、开关控制灯实验:

ORG00H

MAIN:

JNBP3.0,S1OK;检测按键是否按下

JNBP3.1,S2OK

JNBP3.2,S3OK

JNBP3.3,S4OK

MOVP1,#0FFh;没有键按下,LED2—LED5全部熄灭

JMPMAIN

 

2

S1OK:

MOVP1,#0FEh;点亮LED2

JMPMAIN

S2OK:

MOVP1,#0FDh;点亮LED3

JMPMAIN

S3OK:

MOVP1,#0FBh;点亮LED4

JMPMAIN

S4OK:

MOVP1,#0F7h;点亮LED5

JMPMAIN

 

END

 

实验B、流水灯实验:

ORG00H

START:

MOVA,#0FFH;赋初值

CLRC

MOVR2,#8

LOOP:

RRCA;带进位右移

MOVP1,A

CALLDELAY

DJNZR2,LOOP

MOVR2,#7

LOOP1:

RLCA;带进位左移

MOVP1,A

CALLDELAY

DJNZR2,LOOP1

JMPSTART

DELAY:

MOVR3,#20;延时0.2秒

D1:

MOVR4,#20

D2:

MOVR5,#248

DJNZR5,$

DJNZR4,D2

DJNZR3,D1

RET

END

七、实验结果记录

1.请记录实验A中输入与输出的对应关系。

2.若要求开关按下后,灯保持状态不变,如何修改程序?

3.请记录实验B的实验现象。

4.如果将亮灯间隔1秒,应该如何修改程序?

5.请画出实验A和实验B的程序流程图。

 

3

 

实验二定时器/计数器实验和外部中断实验

 

一、实验目的

熟悉单片机定时器/计数器的工作原理、寄存器设置以及工作方式的选择。

熟悉单片机中断系统结构、中断寄存器设置,理解中断响应的处理过程。

二、实验内容

1.

使用定时器/计数器T1完成循环流水灯实验,定时时间100ms。

2.

使用外部中断INT0完成外部中断实验,按一下

S3(INT0)按键,8个LED全亮,再按一下

S3按键,8个LED全灭,使LED

状态取反。

三、实验环境

软件资源:

编程软件keil,程序烧写软件STC_ISP_V3.1。

硬件资源:

mini80E开发板上8个发光二极管LED2--LED9,小按键S3,插针J11。

带串口的PC机一台以及串口下载线一根(如果PC机没有串口,请用USB转串口下载线)。

四、实验原理

首先点亮LED2,其它LED熄灭,启动定时器T1延时100ms,当定时时间到产生中断,单片机执行中断程序,点亮下一个灯LED3,其它LED熄灭,T1再延时100ms点亮LED4,如此循环下去,当点亮LED9后延时100ms再点亮LED2,形成循环流水灯现象。

单片机引脚P3.2的第二功能是外部中断INT0输入端,低电平有效,下降沿触发。

首先软件设置中断寄存器将INT0中断功

能打开,小按键S3按下,引脚P3.2的电平由高变为低,触发中断,单片机执行中断程序,将LED状态取反。

五、实验步骤

1.进行定时器/计数器实验,编写软件。

首先设置T1工作在方式1,根据定时时间100ms计算定时初值,打开中断,启动定时器,等待中断。

进入中断后点亮下一个LED灯,实现流水灯。

2.进行外部中断实验,编写软件。

首先设置中断寄存器IE、IP和TCON,打开中断,等待按键按下触发中断,当按键按下时进入中断程序,LED状态取反。

六、实验程序(选用12M晶振)

实验A、定时器/计数器实验:

ORG0000H

LJMPMAIN

ORG000BH;定时器0中断入口地址

LJMPINT

 

ORG0030H

MAIN:

MOVR0,#00H;中断次数R0清0

MOVA,#0FEH

 

4

 

MOVP1,A;点亮LED2

MOVTMOD,#01H;定时器0工作方式1

MOVTH0,#3CH;置50ms定时初值

MOVTL0,#0AFH

SETBEA;开总中断

SETBET0;开T0中断

SETBTR0

SJMP$;动态暂停

 

ORG0050H

;中断程序

INT:

INCR0

;中断次数

R0加1

CJNER0,#2,EXIT

;R0等于2,即中断两次,定时

100ms,如果没到100ms,跳至EXIT退出

MOVR0,#00H

;中断次数

R0清0

RLA

;A的值循环左移;点亮下一个灯

MOVP1,A

EXIT:

RETI

 

END

 

实验B、外部中断实验:

ORG0000H

AJMPMAIN

ORG0003H

AJMPIN0

 

ORG0030H

MAIN:

MOVA,#0FFH

MOVP1,A;8个LED全灭

SETBEX0;开外部中断

SETBEA;开总中断

SETBIT0

SJMP$;等待中断

 

IN0:

CLREX0;关外部中断

CALLDELAY_10;延时10ms去抖动

JNBP3.2,$;等待按键松开

 

5

 

MOVA,P1

CPLA;P1口状态取反

MOVP1,A

SETBEX0;开外部中断

RETI

 

DELAY_10:

MOVR7,#20

D4:

MOVR6,#250

DJNZR6,$

DJNZR7,D4

RET

 

END

 

七、实验结果记录

1.记录实验A的现象。

2.在实验A中,如果流水灯定时时间间隔改为1秒,程序应该如何修改?

3.在实验B中,将语句MAIN:

MOVA,#0FFH改成MAIN:

MOVA,#0F0H,实验现象是怎样的?

如果改成MAIN:

MOVA,#55H,实验现象又是怎样的?

4.请画出实验A和实验B的程序流程图。

 

6

 

实验三串口通信实验

 

一、实验目的

1.理解串行通信的基本概念和51系列单片机的串行通信接口结构。

2.熟悉串口的4种工作方式、通信连线和应用编程。

二、实验内容

1.使用串口实现单片机1与单片机2的数据通信,实现互相控制。

要求按下单片机1系统板上的S3—S4键,单片机2系统板上LED4—LED5分别点亮。

按下单片机2系统板上的S3—S4键,单片机1系统板上LED4—LED5也分别点亮。

2.使用串口实现单片机与PC机的数据通信。

要求按下单片机系统板上中断INT0时,单片机向PC机发送0-9这十个数字,

并用“串口调试助手”接收显示。

在“串口调试助手”上发送0-9中任何一个数字时,单片机用8个发光二极管显示对

应的ASCII码值。

三、实验环境

软件资源:

编程软件keil,程序烧写软件STC_ISP_V3.1,串口调试工具。

硬件资源:

两块mini80E开发板,板上资源用到发光二极管LED3,小按键S3,插针J11。

带串口的PC机一台以及串口下载线一根(如果PC机没有串口,请用USB转串口下载线)。

四、实验原理

MAX232芯片用于电平转换,实现RS232电平与TTL电平(单片机)的互相转换。

本次实验单片机之间通信不使用握手信号,只需3根信号线:

TXD(发送线),RXD(接收线),GND(地线)。

单片机之间通信的原理图如图1所示,当单片机1(主机)查询外接控制开关S3按下时,单片机1发送一个自定义信号给单片机2(从机),单片机2收到信号后点亮指示灯LED4。

 

图1单片机之间通信的原理图

单片机与PC机之间通信原理图如图2所示。

S3键接P3.2,作为外部中断INT0输入端,当S3按下,产生中断,执行中断程序发送0-9这十个数字,在PC机上用“串口调试助手”接收并显示。

 

7

 

图2单片机与PC机之间通信

 

五、实验步骤

1.进行单片机1与单片机2的通信实验。

硬件连接:

将J11的左边两个引脚针(1和2)用跳冒连接,用三根导线分别连接两个串口的RX、TX、GND。

编写软件:

首先设置单片机1和单片机2的TMOD寄存器,使定时器T1为工作方式2,作为波特率时钟。

设定波特率为1200,

根据公式计算出定时器1的定时初值并启动T1。

设置SCON寄存器,使串口工作在方式1(波特率可变10位异步通信方式)。

单片机1串口负责发送数据,程序中查询P3.2--P3.3的电平,其中有一个为低电平表示S3—S4有一个按下,串口发送自定

义信号。

单片机2串口负责接收数据,收到信号并点亮相对应的灯LED4—LED5。

当单片机2这边S3—S4有键按下时,单片

机板1上也点亮相对应的灯LED4—LED5。

2.进行单片机与PC机的通信实验。

硬件连接:

将J11左边两个引脚针(1和2)用跳冒连接,用串口下载线将PC机与单片机连接。

编写软件:

单片机1串口负责发送0-9十个数据,按照上个实验的设置来配置串口的工作方式。

设置中断寄存器IE、IP和

TCON,打开中断,当S3按下时出发中断开始发送数据。

“串口调试助手”是在电脑上运行的程序,它可以接收并显示电脑串口上的数据,设置如图3所示。

 

8

 

图3串口调试助手界面

 

六、实验程序(选用12M晶振)

实验A、单片机1与单片机2的通信实验:

ORG0000H

AJMPMAIN

ORG0023H

AJMPINTRT

 

ORG0030H

MAIN:

MOVTMOD,#20H;设置定时器1的工作方式

MOVTH1,#0E6H;设置波特率1200

MOVTL1,#0E6H

SETBTR1;启动定时器1

MOVSCON,#50H;设置串口工作方式

CLRRI;清除标志位

CLRTI;清除标志位

SETBES;开串口中断

 

9

 

SETBEA

;开总中断

LOOP:

JNBP3.2,S3OK

;检测按键是否按下

JNBP3.3,S4OK

AJMPLOOP

S3OK:

MOVA,#0FBH

;点亮LED4

MOVSBUF,A

JNBTI,$

;等待发送完

SJMPLOOP2

S4OK:

MOVA,#0F7H

;点亮LED5

MOVSBUF,A

JNBTI,$

;等待发送完

LOOP2:

ACALLDELAY

AJMPLOOP

 

INTRT:

PUSHACC

JNBTI,NEXT

CLRTI

AJMPOUT

NEXT:

CLRRI;清标志

MOVA,SBUF;读取接收的数据

MOVP1,A;送P1口

OUT:

POPACC

RETI

 

DELAY:

MOVR3,#60;延时0.6秒

D1:

MOVR4,#20

D2:

MOVR5,#248

DJNZR5,$

DJNZR4,D2

DJNZR3,D1

RET

 

END

实验B、单片机与PC机的通信实验:

ORG0000H

AJMPMAIN

 

10

 

ORG0003H

AJMPIN0

 

ORG0030H

MAIN:

MOVTMOD,#20H;设置定时器1的工作方式

MOVTH1,#0E6H;设置波特率1200

MOVTL1,#0E6H

SETBTR1;启动定时器1

MOVSCON,#50H;设置串口工作方式

CLRTI;清除标志位

SETBEX0;开外部中断

SETBEA;开总中断

SETBIT0

GO_ON:

CLRRI

JNBRI,$

MOVA,SBUF

CPLA

MOVP1,A

SJMPGO_ON;等待

IN0:

PUSHACC

CLREX0;关外部中断

JBP3.2,OUT

CALLDELAY_10;延时10ms去抖动

JNBP3.2,$

CALLDELAY_10;延时10ms去抖动

JNBP3.2,$

MOVR0,#30H

LOOP:

MOVA,R0;向PC机发送P2口采集到的信号

MOVSBUF,A

JNBTI,$;等待发送完

CLRTI;清除标志位

INCR0

CJNER0,#3AH,LOOP

OUT:

SETBEX0;开外部中断

POPACC

 

11

 

RETI

DELAY_10:

MOVR7,#20

D4:

MOVR6,#250

DJNZR6,$

DJNZR7,D4

RET

END

 

七、实验结果记录

1.请记录实验A的实验现象。

2.在实验A中,若要求按下S3键时LED6点亮,应该如何修改程序?

3.在实验B中,如果要在“串口调试助手”上显示A,B,C,D,E,F,G,H,I,J这10个字母,程序应该如何修改?

4.请画出实验A和实验B的程序流程图。

 

12

 

实验四数码管显示和扫描键盘实验

 

一、实验目的

1.熟悉单片机4个并行口的结构、使用特点和程序设计。

2.学习用并行口设计LED显示电路和键盘电路。

二、实验内容

1.八个数码管显示0-7这8个数字,采用动态显示方式。

2.编写44键盘扫描程序,按下按键时能返回键值,并将按键的编号用数码管显示。

共有16个按键,编号分别为1-16。

三、实验环境

软件资源:

编程软件keil,程序烧写软件STC_ISP_V3.1。

硬件资源:

mini80E开发板上小按键S1-S16,八位共阴数码管,锁存器74HC573和译码器74HC138,插针J11和J6。

串口的PC机一台以及串口下载线一根(如果PC机没有串口,请用USB转串口下载线)。

四、实验原理

数码管连接电路如图1所示,P0口输出码型,P2口输出位选。

锁存器74HC573起驱动作用,提供驱动电流供数码管发光。

译码器74HC138将位选地址转换成位选信号,例如当前是第5个数码管显示,那么P2口输出位选地址05H,译码器输入CBA=110,

输出位选信号Y7-Y0=11101111,其中Y5=0,第5个数码管选通并显示,其它数码管不显示。

实验时将J6的左边两个引脚针(1和

2)用跳冒连接,锁存器11脚接VCC,关闭锁存功能。

数码管显示方式为动态扫描方式,当P0口送第一个数0的码型到锁存器时,P2送位选地址01H,即Y0=0,只有第一个数码管亮,显示0,其他数码管不显示。

当P0口送第二个数1的码型到锁存器时,P2送位选地址02H,即Y1=0,只有第二个数码管亮,显示1,其他数码管不显示。

即每次只有一个数码管点亮,8个数码管是轮流被点亮的,轮流点亮的间隔时间很短(一般用延时程序延时几个毫秒),由于视觉的暂留现象,看到的却好象全都点亮着,这就是动态扫描。

 

图1数码管连接电路

 

13

数码管显示数字的码型由数码管的数据脚a~dp决定,图2为数码管的笔段分布图,由于是共阴极的,所以当a~dp为高电平时相应的笔段会亮,电路中P1.0~P1.7分别接数码管的a.b.c.d.e.f.g.dp,得到0~9这10个数字的码型如表1所示。

 

图2数码管的笔段分布图

 

表1

数字的码型表

引脚

P0.7

P0.6

P0.5

P0.4

P0.3

P0.2

P0.1

P0.0

数字

码型

笔段

dp

g

f

e

d

c

b

a

0

0

1

1

1

1

1

1

0

3FH

0

0

0

0

0

1

1

0

1

06H

0

1

0

1

1

0

1

1

2

5BH

0

1

0

0

1

1

1

1

3

4FH

0

1

1

0

0

1

1

0

4

66H

0

1

1

0

1

1

0

1

5

6DH

0

1

1

1

1

1

0

1

6

7DH

0

0

0

0

0

1

1

1

7

07H

0

1

1

1

1

1

1

1

8

7FH

0

1

1

0

1

1

1

1

9

6FH

1

0

0

0

0

0

0

0

小数点

80H

44键盘电路如图3所示,用跳冒将J11的右边两个引脚针(2和3)连接,键盘S1—S16是被配置成44键盘。

机械按键在

动作时会有抖动,所以在程序中要加入延时程序来避免抖动带来的干扰,一般软件延时时间为

1020毫秒。

14

 

图344键盘电路

五、实验步骤

3.进行数码管显示实验。

硬件连接:

将J6的左边两个引脚针(1和2)用跳冒连接。

编写软件:

参考下列示例程序及注释。

4.进行单片机与PC机的通信实验。

硬件连接:

将J11的右边两个引脚针(2和3)连接。

编写软件:

参考下列示例程序及注释。

 

六、实验程序(选用12M晶振)

实验A、数码管显示实验:

ORG00H

MOV20H,#3FH

MOV21H,#06H

MOV22H,#5BH

MOV23H,#4FH

MOV24H,#66H

MOV25H,#6DH

MOV26H,#7DH

MOV27H,#07H

START:

CALLSCAN

JMPSTART

 

15

 

SCAN:

MOVA,#0;扫描子程序

MOVR0,#20H

MOVR2,#8

LOOP:

MOVP2,A

MOVP0,@R0

INCR0

CALLDELAY

ADDA,#01H

DJNZR2,LOOP;循环显示8个数字

MOVR2,#8

CLRA

RET

DELAY:

MOVR3,#1;扫描延时

D1:

MOVR4,#2

D2:

MOVR5,#248

DJNZR5,$

DJNZR4,D2

DJNZR3,D1

RET

END

实验B、矩阵键盘实验:

ORG0000H

AJMPMAIN

ORG0030H

MAIN:

MOV20H,#00H;初始化,清显示

MOV21H,#00H

MOV22H,#00H

MOV23H,#00H

MOV24H,#00H

MOV25H,#00H

MOV26H,#00H

MOV27H,#00H

LCALLSCAN;显示

S1:

LCALLKEY;调用键盘扫描程序,并返回键值

LCALLSCAN;显示

JNBF0,S1;有键按下继续执行,否则继续返回S1扫描

 

16

 

CLRF0

;清标志

MOV

A,3FH

MOV

46H,A

;存按键的编号到

46H

L

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2