单片机实验.docx

上传人:b****5 文档编号:30208383 上传时间:2023-08-07 格式:DOCX 页数:16 大小:579.90KB
下载 相关 举报
单片机实验.docx_第1页
第1页 / 共16页
单片机实验.docx_第2页
第2页 / 共16页
单片机实验.docx_第3页
第3页 / 共16页
单片机实验.docx_第4页
第4页 / 共16页
单片机实验.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

单片机实验.docx

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

单片机实验.docx

单片机实验

实验一并行口实验

一、实验目的

1、掌握51汇编语言设计和调试方法。

2、掌握protues软件平台及实验箱的操作步骤。

二、实验内容及步骤

(一)、在单片机外部扩展8KBRAM芯片6264,其地址范围为0000H~1FFFH。

将片内ROM从1000H开始的存放的15个数据转存到外部RAM1000H开始的单元中。

请编写程序实现。

查看并给出外部RAM地址为1000H~100EH的内容。

(提示:

程序中定义的数据存放在内部ROM中。

ORG1000H

Data1:

DB11h,22h,33h、、、、、FFh)

图1电路原理图

实验步骤:

1、运行protues7软件。

或者双击打开实验一中的shiy1_P0.DSN。

2、记事本编辑51汇编源程序。

3、按图2~图4步骤添加、编译源程序。

4、编译通过后,运行程序。

观察8051CPU寄存器、RAM、SFR的内容,及外部RAM1000H开始的内容。

步骤见图5~图9。

图2添加源代码

图3编译源代码

图4编译成功提示

图5运行程序

图6选择8051CPU寄存器、RAM、SFR

图7打开8051CPU寄存器、RAM、SFR

图8暂停运行程序,打开外部RAM(即U3)窗口

图9外部RAM地址1000H~100FH单元内容

(二)编写汇编程序,用P1口控制LED灯,显示为流水灯的形式。

按图10所示电路原理图,搭接电路,编写程序,实现功能。

图10P1口控制流水灯显示

(三)实验箱的连接

1、将实验箱与计算机通过USB口连接。

2、运行桌面上的下载器“风标电子ISP”。

3、选中“擦除芯片”、“编程Flash”、“校验Flash”。

然后点击“打开文件”,选择由自己编写的汇编程序成功编译生成的hex文件,最后点击“自动编程”将程序下载到实验箱的单片机。

三、实验报告

1、画出电路原理图。

(有学号、姓名)

2、写出程序清单、运行结果截图。

 

实验二中断控制实验

一、实验目的

1、掌握中断程序的编程方法。

2、进一步掌握并行口的双功能使用方法。

二、实验内容

1、编程实现:

正常情况下,仅绿灯亮。

有故障发生时,绿灯灭,红灯闪烁;故障排除后,拨上总开关,恢复正常,即绿灯亮,红灯灭。

思路:

使用P1.0控制绿灯的亮灭;P1.1控制红灯的亮灭;P1.2读取总开关的状态;

P3.3复用为外部中断1的输入源,模拟故障发生。

注意:

(1)实验的LED是共阳极接法,输出“0”时,灯亮。

(2)有故障时(产生中断),总开关跳闸,即P1.2接的开关合上。

故障排除后,开关打开。

图2-1外部中断1电路

主程序及子程序框图:

思考题1:

将外部中断1改为使用外部中断0,电路与程序如何变动?

(1)硬件电路上,将中断源引至P3.2引脚。

(2)外部中断0的中断向量地址为0003H。

(3)初始化外部中断0的指令。

(SETBEX0;SETBIT0)

思考题2:

当有中断请求时,即有故障发生时,红灯闪烁同时报警器响。

程序应该如何变动?

提示:

报警器响,需要在P1.7输出至少2个不同频率的方波。

即分别重复调用2个不同时间的延时程序。

图2-2添加报警器的电路原理图

三、实验报告

1、画出电路原理图。

(有学号、姓名)

2、写出程序清单、运行结果截图。

 

实验三定时/计数实验

一、实验目的

1、熟悉8031定时/计数功能。

2、掌握定时/计数初始化编程方法。

二、实验内容

1、选择T1工作于模式0定时,在P1.0脚上输出周期为4ms的方波,单片机采用6MHZ晶振。

分析:

输出周期为4ms的方波,即高低电平的持续时间均为2ms,那么只要使P1.0脚上的电平每隔2ms取反一次,就可得到周期为4ms的方波。

将T1设为定时方式0:

GATE=0,C/T=0,M1M0=00;T0不用,可为任意,只要不使其进入方式3(此时,定时器1对外停止计数),一般取0即可。

计数初值的计算:

单片机系统默认的定时/计数器的工作时钟是晶振经12分频的,即T=12/(6*106),所以计数初值为

X=(213-2ms/T)=213-(2*10-3*6*106)/12=8192-1000=7192=1110000011000B

因为是13位计数器,所以X的高8位装入TH1,X的低5位装入TL1的低5位,即TH1=0E0H,TL1=18H。

思考:

T1计数结束采用中断工作方式,程序应如何编写?

2、在P1.7端接一个发光二极管LED,要求利用定时器控制,使LED亮1秒、灭1秒,周而复始,设

=6MHZ。

提示:

=6MHZ时,定时/计数器工作在方式0,最大定时值16.384ms;方式1,最大定时值为131.082ms。

因此需要软硬结合循环嵌套。

3、利用定时/计数器,产生1、2、3、4、、

的音符。

设定T0为工作方式1,

=12MHZ,各音符频率与计数初值对照下表:

音符

1

2

3

4

5

6

7

初值

64580

64684

64777

64820

64898

64968

65030

65058

TH

FC

FC

FD

FD

FD

FD

FE

FE

TL

44

AC

09

34

82

C8

06

22

三、实验内容一参考程序框图:

 

三、实验报告

1、画出电路原理图。

(有学号、姓名)

2、写出程序清单、运行结果截图。

 

实验四串行口应用实验

一、实验目的

掌握串行口工作方式的程序设计,掌握单片机通信程序编制方法。

二、实验内容

1、重复发送同一个数据,观察TXD端输出的波形。

将8031串口设为工作方式1,即10位异步收发,发送时钟由计数器控制;计数器T1设为定时工作,工作方式2,即自动重装8位计数器;波特率取1000bps,不加倍;单片机采用6MHZ晶振。

计数初值的计算:

TH1=256-[(1+0)*fosc]/(12*32*BPS)

P3.1复用为串行发送端TXD,将其接至示波器,观察输出波形。

注意观察8位数据位前后的起始位和停止位。

2、自发自收。

将代码段中定义的10个数据0~9,通过串口发送和接收,存放在外部存储器7000H开始的单元中。

实验内容一参考程序框图:

 

三、实验报告

1、画出电路原理图。

(有学号、姓名)

2、写出程序清单、运行结果截图。

实验五D/A转换实验

一、实验目的

1、掌握D/A转换与单片机的接口方法。

2、了解芯片DAC0832转换性能及编程方法。

二、实验内容

编写程序,使用DAC0832进行数模转换,产生锯齿波、三角波。

三、实验报告

1、画出电路原理图。

(有学号、姓名)

2、写出程序清单、运行结果截图。

 

实验六A/D转换实验

一、实验目的

1、掌握A/D转换与单片机的接口方法。

2、了解芯片ADC0809转换性能及编程方法。

二、实验内容

编写程序,使用ADC0809将电位器W1提供模拟量转换成数字量,通过发光二极管L1—L8显示。

模拟电量(V)

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

数字量

(注:

分析电路,得出ADC0809的片选地址)

三、实验报告

1、画出电路原理图。

(有学号、姓名)

2、写出程序清单、运行结果截图。

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

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

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

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