0951单片机实验指导书.docx

上传人:b****7 文档编号:9029343 上传时间:2023-02-02 格式:DOCX 页数:31 大小:158.55KB
下载 相关 举报
0951单片机实验指导书.docx_第1页
第1页 / 共31页
0951单片机实验指导书.docx_第2页
第2页 / 共31页
0951单片机实验指导书.docx_第3页
第3页 / 共31页
0951单片机实验指导书.docx_第4页
第4页 / 共31页
0951单片机实验指导书.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

0951单片机实验指导书.docx

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

0951单片机实验指导书.docx

0951单片机实验指导书

《单片机原理及应用》

实验指导书(学生用)

罗志会吴正平

 

三峡大学物理实验示范中心

2009年3月

实验注意事项

1)开发环境与最小系统实验2课时

(熟悉编译软件,最小系统的硬件搭接)

2)程序设计与调试2课时

(辅助指令记忆,简单程序调试、设计模版)

3)中断系统2课时

(外中断0的产生和清除)

4)定时器/计数器2课时

(计时秒表设计)

5)串行通讯2课时

(双机串行通讯)

6)I/O口的扩展2课时

(P0口通过74LS273、74LS244扩展)

7)显示实验2课时

(LED显示,LCD显示)

8)AD/DA实验2课时

(数/模转换器DAC0832、ADC0809)

双周实验时间:

4、6、8、10、12、14、16、18周

星期二:

56节、78节、下午18:

30~20:

30

分三组,每组20人,

地点:

理科楼L-2613

实验注意事项

一、实验素养和一般知识

1.实验前准备工作

(1)明确实验目的、熟悉实验内容、实验步骤、了解所用单片机实验开发系统及硬件的结构、仪器设备的性能。

(2)通过收集相关的资料,设计自己的实验项目,作好必要的准备,做到有的放矢。

(3)做好实验前的预习工作,设计硬件接口电路,编写好设计程序并通过编译检查。

2.进入实验室后

(1)熟悉所用的单片机实验开发系统及接口芯片,了解其外观、性能。

(2)通电瞬间,应注意仪器是否正常工作,不要只看开关,如有不正常现象,应立即断电找出原因。

(3)不允许自带光盘、软盘、闪存等存储媒质上机,违反者取消实验资格!

(指导教师允许情况除外)。

(4)故意或违规操作造成器件或仪器损坏,照价赔偿。

(AT89C51芯片赔偿10RMB)

3.实验进行时

(1)正常情况下,按规定步骤进行,读取数据,并及时记录。

(2)各种操作要有目的进行,不可盲动与本次实验无关的器件。

(3)接线要简单、正确、明了,红、绿、蓝、黑引线遵照电路连接规范进行硬件接线,经老师复查后允许后才可通电。

(4)实验过程中,如有烧焦味、芯片不工作等异常现象,立即断电并向指导老师反映。

(5)实验完后,经老师确认,并把仪器、导线、工具清理、收拾完毕,仿真器归原位,将芯片交回老师查收,签到后方可离开实验室。

二、实验报告内容和要求

1.实验报告要用学校统一的纸,进实验时交老师查阅。

2.实验内容应包括,是实验目的、原理、硬件接口电路图、程序流程图及清单、结果和分析以等。

3.对实验中发现的问题应加以讨论,并提出自己的改进意见和要求等。

实验1VW开发环境与最小系统实验

一、实验目的和要求

1.熟悉MCS-51单片机的VW、KeilC实验开发环境,仪器的操作和使用。

2.掌握AT89C51最小系统概念及硬件搭接的方法。

二、实验设备

1.TPC-2003通用微机实验系统一套

2.AT89C51开发板与仿真器一套

3.TOP851通用编程器一台

4.PC机一套

5.VW_G集成调试环境软件一套

6.KeilC开发环境一套

三、实验内容

1)、实验开发系统软、硬件的使用

TPC-2003实验台的使用

1.开电脑机前,将主机ISA数据线与实验台插接好,检查实验台上电开关是否处于“关”状态,再开启主机电源。

2.主机自检完成后,打开实验台电源+5V(+/-12必须断开),主机板上的2位LED显示器出现提示符“88”,表明系统正常。

否则应立即关掉电源!

!

!

3.关实验台电源,按预先设计的实验线路接好线后,检查无误,在指导教师允许下才可通电。

实验台主机板通电后,不允许在上面放置任何物品,特别是金属物!

(因集成芯片或线路引起短路损坏设备)。

4.将写入程序代码的AT89C51芯片(代码擦写运用TOP851专用程序)按标示的方向插入DIP40的通用插座,利用实验台的资源,按照最单片机小系统的设计要求搭接电路(电源时钟、RST、EA*)。

5.用示波器检测ALE脚与XTAL1脚的信号情况,判断芯片是否正常工作。

(细节请查阅TPC-2003实验台用户手册)

51仿真开发板的使用(读写单片机)

1.将仿真器紧固在开发板的DIP40插座上,缺口朝向手柄,锁紧仿真器。

2.将串口线公头接在PC的RS-232输出口,将随机所配的5V直流电源插头插到右侧电源插座上,电源指示灯亮;

3.运行“KeilC.exe”,初始化串口设置;

4.在主菜单中选择“文件”,装载.ASM的源文件;

(细节请阅读“如何把ASM文件导入KEIL中仿真”或KeilC编译环境软件用户手册)

VW环境软件的使用

1.PC机上电正常工作后,在显示器的桌面上点击快捷图标“VW集成调试软件绿色版”,进入“伟福V系列:

软件模拟器”工作环境,并在跳出的对话框中选择“√好”,进入软件调试平台。

2.仿真器设置:

选菜单栏仿真器/仿真器设置,将跳出对话框中的“选择厂商”、“选择CPU”、“选择晶振频率”项目设置成:

Atmel、AT89C51、12000000后,选“√好”关闭对话框。

3.源文件的建立和打开:

(参照VW.PDF文档“快速入门”,P39~43)

(1)选菜单栏文件/新文件或者工具栏新文件,出现源文件编辑窗口,输入程序文本。

(2)选菜单栏文件/保存文件(或另存为),要求输入文件名,同时保存类型选*.ASM。

实验分为A、B、C三组,先在F盘下建“单片机学生实验”文件夹,再在该文件夹中建立“A组”、“B组”、“C组”共三个子文件夹,各组同学按组保存自己的文件。

文件名按下面要求写,如:

146XXXS1

学号文件名

保存路径为:

F:

\单片机学生实验\A组,然后单击保存即可。

(3)编译源文件,选菜单栏项目/编译,根据编译结果的错误提示,修正源程序,直至成功。

此时可以关闭“编译结果”和源文件编辑窗口。

(4)出现“当前模块:

142XXXS1”,同时打开菜单栏视图/调试、寄存器、存储空间,然后可以选主菜单/窗口或者工具栏/XX窗口;整理平台视野。

KeilC环境软件的使用(见KeilC中嵌入ASM.软件的操作过程)

由老师演示,学生按步骤操作即可。

2)、搭建单片机的最小系统。

1.熟悉TPC-2003实验台的硬件资源(RST、时钟脉冲输出、DIP40通用插座、LED电路等),关闭实验台的电源开关。

2.根据最小系统的概念,利用AT89C51芯片搭接单片机的最小系统,上电时用示波器检查AT89C51芯片及外围电路工作是否正常。

3.利用单片机的P1引脚和LED(注意比较直接驱动和增强驱动的效果),在实验台上自己搭接“跑马灯”电路,如图1-1。

4按TOP851的操作步骤,利用TOP851编程器将“跑马灯”程序的二进制代码烧写进AT89C51芯片的FlashROM中。

5.合上电源,单片机上电,完成“跑马灯程序”(单片机对LED循环点亮)。

6.将仿真器锁紧在开发板上,插上串口线和电源,按照“如何进行仿真操作”的视频,利用KeilC51软件环境,在线仿真调试“跑马灯”程序。

图1-1跑马灯电路

四、实验报告要求

1)什么是单片机的最小系统?

画出在TOP-2003实验平台上搭建AT89C51单片机最小系统的简单原理图!

2)简单描述运用KeilC软件仿真的过程

3)为什么AT89C51的单片机外时钟要从XTAL1引入,而XTAL2悬空?

如果接晶振形成振荡时钟,与MCS-51接法上有无差别?

五、参考程序

“跑马灯”的实验参考程序

142XXXS1学员的参考程序如下:

ORG0090H

MOVP1,#00H;送P1口

MOVA,#01H;L1发光二极管点亮

LO33:

MOVP1,A

LCALLSE19;延时

RLA;左位移

SJMPLO33;循环

ORG07A0H

SE19:

MOVR6,#0A0H

LO36:

MOVR7,#0FFH

LO35:

NOP

NOP

DJNZR7,LO35;

DJNZR6,LO36;延时

RET

END

实验二程序调试与分析

一、实验目的和要求

1.熟悉MCS-51指令系统,程序的基本结构。

2.掌握汇编语言程序的设计、编译、调试。

二、实验设备

1.TPC-2003通用微机实验系统一套

2.AT89C51开发板与仿真器一套

3.PC机一套

4.VW_G集成调试环境软件一套

5.KeilC开发环境一套

三、实验内容

1.单步调试程序

打开菜单栏执行/跟踪,按照VW.PDF文档中的相应内容操作,注意熟悉F7(跟踪:

可以跟踪到函数或程序内部)、F8、断点设置等基本操作。

(1)“当前模块:

142XXXS1”中“小手光标”位置是PC指针所在,“寄存器”中显示当前各寄存器中的内容。

“数据存储区”中地址用右键显示地址,“输入数据”为十六进制XXXX,确认后调试。

(2)首先单步运行,选主菜单/调试/单步运行或者选工具栏单步运(F7)。

运行一个循环,观察相关的寄存器和存储区的变化。

注意利用SFR、DATA等更改程序中相关寄存器的值,调整程序执行的状态。

熟练WV程序调试界面。

有问题的地方及时和老师讨论。

(3)运用连续运行和设断点运行。

工具栏/为连续运行,在“当前模块”中鼠标出现“小手”时点击,“红色手”即为断点位置。

(4)记录下数据区xxxxH--XXXXH中,在执行程序前后的内容变化。

2.分析下列程序,熟练调试操作,解释程序实现的功能及程序结构类型(顺序结构、分支程序、循环程序、子程序、中断服务程序)。

训练程序一:

ORG1000H

START:

MOVDPTR,#2000H

MOVA,20H

MOVCA,@DPTR+A

MOV21H,A

SJMP$

TABLEEQU2000H

TABLEDB00H,01H,04H,09H,10H,19H

END

调试方法(以下程序自己设计调试方法):

1)把断点设在程序的第四行,观察累加器A的值是否为查表的结果;

2)观察程序SJMP$的执行情况;

3)思考:

分析程序出现的问题,如果把伪指令TABLEEQU2000H换成ORG2000H是否也能得到同样的结果。

程序实现的功能及程序结构类型。

训练程序二:

ORG1000H

START:

MOVDPTR,#2000H

MOVR0,#64H

LOOP:

MOVXA,@DPTR

MOV20H,A;副本

JNBACC.7,NEXT;判断符号

MOVA,20H

CPLA

INCA

MOVX@DPTR,A

NEXT:

INCDPTR

DJNZR0,LOOP

SJMP$

思考:

指出循环程序的初始化、循环体和控制变量的修改与循环次数的控制。

程序实现的功能及程序结构类型。

训练程序三:

ORG0013H

START:

MOVC,P2.2

ORLC,TF0

ANLC,P1.1

MOVF0,C;暂存F0

MOVC,IE1

ORLC,/25H

ANLC,F0

ANLC,/26H

MOVP1.3,C

SJMP$

END

说明:

MCS-51单片机有着优异的位逻辑功能,可以方便地实现各种复杂的逻辑运算。

这种用软件代替硬件的方法,可以大大简化甚至完全不用硬件,但比硬件要多花一些运算时间。

思考:

分析调试中出现的问题,观察位处理机的工作过程

训练程序四

MULTB:

MOVR0,#23H

MOVR7,#04H

LOOP:

MOV@R0,#00H;清零

DJNZR7,LOOP

ACALLBMUL

SJMP$

BMUL:

MOVA,R2

MOVB,R4

MULAB;低位乘

ACALLRADD

MOVA,R2

MOVB,R5

MULAB;交叉乘

DECR0

ACALLRADD

MOVA,R4

MOVB,R3

MULAB;交叉乘

DECR0

DECR0

ACALLRADD

MOVA,R5

MOVB,R3

MULAB;高字节乘

DECR0

ACALLRADD

RET

RADD:

ADDA,@R0

MOV@R0,A

MOVA,B

INCR0

ADDCA,@R0

MOV@R0,A

INCR0

MOVA,@R0

ADDCA,#00H;加进位

MOV@R0,A

RET

END

本程序未对BMUL和RADD的有关寄存器内容作堆栈保护,因为主子程序(包括BMUL与RADD)所共同使用的寄存器被用作为数据参数的传递单元。

思考:

分析上述程序,画出程序流程框图。

程序实现的功能及程序结构类型。

四、实验报告要求

1、完成各例程后面的思考问题;

2、按照教材上的程序注释格式,对各程序进行注释。

实验三中断程序的调试与设计

一、实验目的和要求

1.熟悉MCS-51中断的概念,中断系统的工作原理。

2.掌握中断程序的基本结构,设计技巧、编译调试方法。

3.基本中断电路的搭接、分析。

二、实验设备

1.TPC-2003通用微机实验系统一套

2.AT89C51开发板与仿真器一套

3.PC机一套

4.VW_G集成调试环境软件一套

5.KeilC开发环境一套

三、实验内容

中断是单片机的核心功能之一。

中断应用的好坏,是一个人对单片机技术掌握深度的重要评判依据。

下面的实验题将有助于大家理解和巩固外中断的产生和消除,中断响应的过程、时间等,为后续实验打下基础。

1.如图2-1(参照课本P110图5-8),利用TPC-2003实验台上的资源或Proteus软件,搭建电平方式外部中断请求的实验装置,中断事件处理为对P1口灯依次点亮一次,试编写程序。

(提示:

D触发器预置和清零端SD=0且RD=1时,Q置“1”端,即负脉冲有效;二者均为高电平时不影响工作;CP控制脉冲端上跳沿翻转,其它不变))

图2-1外中断控制电路

142XXXS3学员的参考程序如下:

ORG0000H

AJMPMAIN

ORG0003H

AJMPW1;中断入口程序,跳转到中断服务子程序去

;****************主程序初始化相关寄存器的设置******************

ORG0050H

MAIN:

MOVSP,#30H

CLRP2.0;Sd端清“0“

HERE:

AJMPHERE

;**********************外中断服务子程序*************************

W1:

(根据自己的理解补充完整程序,提示:

和边沿触发器配合完成清除中断申请,依次点亮P1口的LED灯)

…..

…..

…..

…..

…..

…..

…..

…..

RETI

END

四、实验报告要求

1、请完成实验2的程序,经上机调试后,在实验报告中画出程序流程图。

2、计算从低电平申请中断到P1.0灯点亮所需要的时间(单片机晶振12MHz)

实验四计时秒表的设计

一、实验目的和要求

1.熟悉MCS-51定时器计数器的工作原理,程序的基本结构及编译、调试。

2.利用MCS-51单片机设计秒表。

二、实验设备

1.TPC-2003通用微机实验系统一套

2.AT89C51开发板与仿真器一套

3.PC机一套

4.VW_G集成调试环境软件一套

5.KeilC开发环境一套

三、实验内容

定时器/计数器在工业控制中有着广泛的应用,常常和中断技术结合使用。

本实验要求大家利用所学的知识,设计简易的计时秒表,并通过软硬件仿真验证。

1.基于12MHz的时钟,结合中断和定时两章的知识,参考课本P133设计一个计时秒表,按单脉冲触发开始计时,再按单脉冲停止计时。

上述实验采用实验开发板和仿真器来完成,也可以直接在Proteus中仿真,如图4-1。

设计要求及思路:

1).利用T0设计“秒”时间单元,计算初值X,确定TMOD、TCON初值.

2).采用INT0*作为计时开始和计时结束信号的输入口。

3).如在主程序中对INT0*设置优先级,会有什么效果?

如何改进设计?

图4-1Proteus中的计时秒表电路

142XXXS4学员的参考程序如下:

ORG0000H

AJMPMAIN

ORG0003H

AJMPINT00;外中断入口程序

ORG000BH

AJMPIT0P;定时器1中断入口程序

ORG0100H

MAIN:

MOVSP,#30H

CLRF0;设定启动标志

MOV20H,#XXH;预置中断次数

CLRA

(根据自己的理解补充完整程序,对定时器、外中断进行初始化)

…..

…..

…..

…..

HERE:

LCALLSTAR

AJMPHERE

;**********************外中断0的服务子程序**************************

INT00:

JBF0,OVER;是否停止?

SETBTR0;启动秒表

CLRA;启动初始化,清A和相关寄存器

MOVR0,A

SETBF0;F0置1,再次外中断时则跳转到停止程序

CLOSE:

RETI

OVER:

CLRTR0

CLRF0

MOVR0,#00H;清R0

AJMPCLOSE

;**********************定时器中断服务子程序**************************

IT0P:

MOVTL0,#XXH;中断后计数器重新赋初值

MOVTH0,#XXH

DJNZ20H,RETURN

MOV20H,#XXH;1秒后重新赋值

INCA

ADDA,#00

DAA

RETURN:

RETI

;******************单个数码管的“秒”显示子程序************************

STAR:

MOVDPTR,#NUMTAB;启始地址

MOVR0,A;A中数据保存

MOVCA,@A+DPTR

MOVP0,A;显示相应的值

CLRP2.0;个位显示

MOVA,R0;保留A中的原始信息

RET

;段数码管各划的数字排列表

NUMTAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;对应代码

;0123456789;显示内容

END

四、实验报告要求

1、实验2中,作为INT0*计时开始和计时结束信号的识别方法还有哪些?

举例说明。

2、如果要计时秒表精确到0.01秒,如何改进设计程序?

实验五串行口通信实验

一、实验目的和要求

1.熟悉MCS-51串行通信的工作原理,程序的基本结构及调试。

2.实现两片AT81C51之间的数据传输。

二、实验设备

1.TPC-2003通用微机实验系统一套

2.AT89C51开发板与仿真器一套

3.PC机一套

4.VW_G集成调试环境软件一套

5.KeilC开发环境一套

三、实验内容

串行通信是单片机的重要功能之一,在自动控制领域有广泛的应用。

本次实验要求大家了解串行通信程序编写的方法,分析程序算法,并在VW环境中观察串行发送、接收的过程。

1.基于11.0592MHz的开发板,参考教材的程序,设计AT89C51芯片A机、芯片B机之间互为应答的串行通信程序,用以测试硬件线路传输的质量。

具体过程如下:

A机将信息#0AAH传递给B机,由B机收并检验,B机确认正确后,将#08H在LED数码管显示,同时传回#0BBH给A机。

A机将接收的信息与#0BBH比较,相同则显示#08H出来,否则重发#0AAH并显示“01H”报错(查询方式编写程序)。

如图5-1:

图5-1双机串行通信电路图

142XXXS5学员参考程序如下(程序设计基于11.0592MHz时钟):

A、发射机程序:

ORG0000H

AJMPASTART

ORG0030H

ASTART:

MOVR0,#00H

CLREA

MOVTMOD,#20H;设T1为定时模式2

MOVTL1,#0E8H;基于11.0592MHz时钟,波特率1.2kb/s

MOVTH1,#0E8H

MOVPCON,#00H;波特率不加倍

SETBTR1

MOVSCON,#50H;串口工作方式1,允许接受

;***********************A机开始发送********************************

ATT1:

MOVSBUF,#0AAH;发联络信号AA

AWAIT1:

JBCTI,ARR1

SJMPAWAIT1

;***********************A机发送完毕,等待B机应答*****************

ARR1:

CLRTI

JBCRI,ARR2;等待B机回答

SJMPARR1

;******************A机接收完毕B机的应答信号,进行处理****************

ARR2:

CLRRI

MOVA,SBUF

CJNEA,#0BBH,ERR

MOVR0,#08H

LCALLSTAR

SJMP$

ERR:

MOVR0,#01H;如收到的应答信息不是#0BBH,输出#01H报错

AJMPATT1;B机未准备好或通信线路故障,继续联络

STAR:

MOVDPTR,#NUMTAB;启始地址

MOVA,R0;R0中数据输出显示

MOVCA,@A+DPTR

MOVP1,A;显示相应的值

CLRP2.0;个位显示

RET

;段数码管各划的数字排列表

NUMTAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;显示内容的对应代码

;0123456789;显示内容

END

B、接收机程序:

ORG0000H

AJMPBSTART

ORG0030H

BSTART:

MOVR0,#00H

CLREA

MOVTMOD,#20H;设T1为定时模式2

MOVTL1,#0E8H;基于11.0592MHz时钟,波特率1.2kb/s

MOVTH1,#0E8H

MOVPCON,#00H;波特率不加倍

SETBTR1

MOVSCON,#50H;串口工作方式1,允许接受

(根据自己的理解补充完整B机的接收程序)

………

………

………

………

………

………

………

………

STAR:

MOVDPTR,#NUMTAB;启始地址

MOVA,R0;R0中数据输出显示

MOVCA,@A+DPTR

MOVP1,A;显示相应的值

CLRP2.0;个位显示

RET

NUMTAB:

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

END

四、实验报告要求

1、将实验2的程序改为中断工作方式,并予以调试。

(如何实现通用微机与单片机之间的串口通信,查查资料,不作硬性要求!

实验六IO口的扩展实验

一、实验目的和要求

1.了解单片机I/O接口扩展的方法。

2.熟悉简单IO扩展电路的设计

二、实验设备

1.TPC-2003通用微机实验系统一套

2.AT89C51开发板与仿真器一套

3.PC机一套

4.VW_G集成调试环境软件一套

5.KeilC开发环境一套

6.74LS273、74LS244各一片

三、实验内容

在MCS-51单片机应用系统中,采用TTL电路、CMOS电路锁存器或三态门电路也可以构成各种类型的简单输入输出口,通常都是通过P0口扩展。

利用74LS273和74LS244,将P0口扩展成简单的输入、输出口的电路如下图,74LS273输出端接8个LED发光二极管,以显示8个按钮开关状态,某位低电平时二极管发光。

74LS244是缓冲驱动器,扩展输入口,接8个按钮开关。

1、I/O数据输出编程

MOVA,#data;数据→A

MOVDPTR,#0FEFFH

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

当前位置:首页 > 解决方案 > 学习计划

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

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