单片机实验指导书20xx

时间:2024.4.5

单片机实验指导书

一、实验系统简介

1.实验采用本校研发的实验系统

2.实验板上单片机采用的是Atmel公司的AT89S52单片机,并配置有多种实验模块,可以通过连线将各模块有机结合,进行综合实验。

3.AT89S52的特点是可以在线编程,不需要频繁插拔,通过USB接口与PC机相连。

4.程序编译采用Keil C仿真编译系统,可进行编程以及程序编译,生产.OBJ以及.HEX目标文件

5.编译完成的.HEX文件通过USB接口写入到实验板上的单片机中,即编程,并直接运行。

6.编程软件的文件名AVR studio。

二、实验简要步骤

1、启动运行环境

   正确连接实验系统,确认各个开关处于正确位置,打开实验机电源。

2、编程

    运行Keil C软件,选择建立工程,编写源程序,并添加到工程中,然后进行编译。

3、进行实验

   运行AVR studio软件,点击工具栏选择芯片AT89S52,在FLASH操作框中选择欲加载的.HEX文件,点击program,将程序写入到单片机中,当写入完成后即自动运行。

4、观察并记录实验结果。如现象不正确,返回第2步。


实验电路板图(一)

实验电路图

实验一、读程序存储器及简单I/O实验

一、实验要求:

1、P1口作输出口,接8只发光二极管,程序存储器的0500H~0509H单元依次存放着数字0~9的ASCII码,编程将其依次读出写入到内部RAM的30H~39H单元,并同时送P1口输出显示。

2、P1口作输出口,接8只发光二极管,编写程序,使发光二极管循环点亮。

二、实验目的

1、熟悉实验系统的使用及调试方法。

2、学习80C51汇编语言程序编写。

3、学习P1口的使用方法。

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

三、实验电路及连线

      P1.0-P1.7接LED1-LED8

四、实验说明

1、发光二极管当输入为0时点亮,1时熄灭。

2、为了使发光二极管显示的ASCII码(实验1)以及循环点亮(实验2)明确看清,可采用多重循环的软件延时。

五、实验报告要求

1、列出实验的汇编程序,画出实验连线图。

2、列出实验步骤,记录实验结果。

3、分析结果,得出结论。


实验二、定时器实验

一、实验要求:

由AT89S52内部定时器0,按方式1工作,即作为16位定时器使用每0.05秒T0溢出中断一次。P1口的P1.0~P1.8分别接8个发光二极管。要求编写程序模拟一时序控制装置。开机后第一秒钟L4,L5亮,第二秒钟L3,L6亮,第三秒钟L2,L7亮,第四秒L1,L8亮,第五秒L2,L7亮,第六秒L3,L6亮,第七秒L4,L5亮,第八秒L1,L2,L3,L4亮,第九秒L5,L6,L7,L8亮,第十秒全亮,第十一秒全灭。然后再从头循环。

二、实验目的

1、学习80C51内部定时器的使用和编程方法。

2、学习中断处理程序的编程方法。

三、实验电路及连线

同实验一,P1.0-P1.7接LED1-LED8

四、实验说明

1.关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。

2.内部计数器用作定时器时,是对机器周期计数。因为实验系统的晶振是11.0592MHz,所以定时常数的设置可按以下方法计算:
机器周期=12÷11.0592MHz=1.0857μS
(65536-定时常数)*1.0857μS=50mS
定时常数=4C00H 

3.在中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。

五、实验报告要求

1、画出实验电路原理图。

2、画汇编程序流程图,并记录实验的汇编程序。

3、列出实验步骤,记录实验结果。

六、参考程序流程

主程序:

1、设置初始常数

2、开中断

3、等待中断

中断服务程序

1、保护现场

2、置计数常数

3、判断是否到1秒。是,步骤4;否,步骤7。

4、查表

5、显示数据

6、调整表格指针

7、恢复现场

8、中断返回

 


实验三、外部中断实验

一、实验要求:

由AT89S52内部定时器0,按方式1工作,即作为16位定时器使用每0.05秒T0溢出中断一次。P1口的P1.0~P1.8分别接8个发光二极管。要求编写程序模拟一时序控制装置。开机后第一秒钟L4,L5亮,第二秒钟L3,L6亮,第三秒钟L2,L7亮,第四秒L1,L8亮,第五秒L2,L7亮,第六秒L3,L6亮,第七秒L4,L5亮,第八秒L1,L2,L3,L4亮,第九秒L5,L6,L7,L8亮,第十秒全亮,第十一秒全灭。然后再从头循环。

由键盘生成外部中断信号,当任意键按下时,为外部中断请求信号,此时L2,L4, L6,L8亮,持续时间为5秒。

二、实验目的

1、进一步熟悉80C51内部定时器的使用和编程方法。

2、学习外部中断的使用和编程方法。

3、学习中断嵌套程序的编写方法。

三、实验电路及连线

P1.0-P1.7接LED1-LED8,P0.0-P0.3接S4-S7,INT0接P3.2。

四、实验说明

1. S4-S7为键盘提供输入信号,为了实现任意键按下时,INT0引脚输出低电平,S4-S7输入应为全0。

2.外部中断0(高级)与定时器0(低级)形成两级中断嵌套。

3.外部中断时的5秒延时可以采用软件延时或使用定时器1。

五、实验报告要求

1、画出实验电路原理图。

2、画汇编程序流程图,并记录实验的汇编程序。

3、列出实验步骤,记录实验结果。

六、参考程序流程

主程序:

1、设置T0,T1初始常数

2、设置中断优先级

3、开中断

4、启动T0计数

5、等待中断

T0中断服务程序

1、保护现场

2、置计数常数

3、判断是否到1秒。是,步骤4;否,步骤7。

4、查表,显示数据

5、调整表格指针

6、恢复现场

7、中断返回

 

INT0中断服务程序

1、保护现场

2、显示数据

3、停止T0

4、置T1计数常数,启动T1计数    注:T1采用查询方式,也可采用中断嵌套

5、判断是否到5秒。是,步骤5;否,等待。

6、停止T1计数                    注:步骤4-6可由软件延时代替

7、启动T0计数,恢复现场

8、中断返回


实验四、扫描键盘及LED显示实验

一、实验要求

利用P1口与行列式键盘接口,分别定义8个按键,每个按键对应一个发光二极管,编写键盘扫描程序,当按键按下时,对应的二极管点亮;当没有定义的其它按键按下时,二极管全灭。

二、实验目的

1.学习在单片机系统中扩展行列式键盘的方法。

2.学习扫描键盘的实现方法。

三、实验电路及连线

键盘:P1.0~P1.7分别接键盘S0~S7,中断式:P3.2接INT0,扫描式不接P3.2

P0.0-P0.7接LED1-LED8。

四、实验说明

1.      首先画出实验用电气原理图(键盘和LED接口电路图);

2.      根据电气原理图连线,分别编写中断式及扫描式键盘扫描程序;

3.      根据设计的电气原理图,连线

4.      下载程序,运行

五、实验报告

1.        画出电气原理图;

2.        附上完整的程序代码;

3.        画出程序流程;

4.        具体说明中断式及扫描式键盘扫描的实现方法;


实验五  单片机与PC机串行通信实验

一、实验要求

AT89S52串行通信口工作在方式1,8位UART方式,允许接收,9600bps。在PC机上运行串口调试软件。编程实现,

1)单片机接收PC机发送的数据并回送给PC机显示,可同时送LED显示;

2)AT89S52内部定时器0,按方式1工作,每1秒钟内部RAM30H单元内容加1,并通过串行通信口送PC机显示。

二、实验目的

1、学习80C51串行通信口的编程方法。

三、实验线路

P0.0-P0.7接LED1-LED8。

用RS-232接口通信线连接实验系统与PC机。

四、实验说明

1、本次实验为两个程序。

2、在PC机上运行串口调试软件,设置波特率为9600bps,无奇偶校验位。

3、正确连线,编写并下载运行AT89S52串行通信程序。

4、观察并验证实验结果。

五、实验报告要求

1.        画出电气原理图;

2.        附上完整的程序代码;

3.        画出程序流程;


实验六  I2C串行总线存储器读写实验

一、实验要求

由AT89S52内部定时器1,按方式1工作,每1秒钟24LC32的0001H单元内容加1,以键盘作为外部中断输入信号,有键按下时,读取0001H单元内容并送LED显示。

二、实验目的

1、进一步掌握定时器和外部中断的使用方法。

2、学习80C51与I2C串行总线器件的接口方法。

3、学习80C51模拟I2C总线的编程方法。

三、实验线路

P0.0-P0.7接LED1-LED8,P1.0-P1.3接S4-S7,INT0接P3.2。

SDA接P1.7,SCL接P1.6,A0、A1、A2接地

四、实验说明

1、以内部数据存储器30H单元作为缓存,暂存定时信息,即1秒钟加1,然后再写入到24LC32中。

2、器件地址为0,采用字节写及读随意地址,读写地址均为0001H。

3、参考教材中程序例子,编写模拟I2C总线的子程序。

4、外部中断程序中,读24LC32送LED显示。

五、实验报告要求

1、画出实验电路原理图。

2、画程序流程图,说明24LC32读写方法。

3、记录实验的汇编程序。

4、列出实验步骤,记录实验结果。

六、参考程序流程

主程序略,参考实验三。

T1中断服务程序

1、保护现场

2、置计数常数

3、判断是否到1秒。是,步骤4;否,步骤6。

4、30H内容加1

5、调用写24LC32子程序

6、恢复现场

7、中断返回

 

INT0中断服务程序

1、保护现场

2、停止T1计数

3、调用读24LC32子程序

4、读出的数据(在累加器A中)送LED显示

5、启动T1计数

6、恢复现场

7、中断返回

注:调用读24LC32子程序会引起T1定时误差,此处忽略不计。

写24LC32子程序

1、发送起始位

2、发送写控制字节1010 0000B

3、发送应答位

4、发送两个地址字节,中间需发送应答位

5、发送30H内容

6、发送应答位

7、发送停止位

8、返回

读24LC32随意地址子程序

1、发送起始位

2、发送写控制字节1010 0000B

3、发送应答位

4、发送两个地址字节,中间需发送应答位

5、发送应答位

6、发送起始位

7、发送读控制字节1010 0001B

8、发送应答位

9、读一个字节到ACC

10、            发送非应答位

11、            发送停止位

12、            返回


实验七、扫描键盘及液晶显示实验

一、实验要求

利用P1口与行列式键盘接口,编写键盘扫描程序,把按键输入的键码,显示在LCD液晶显示器上。

二、实验目的

1.学习在单片机系统中扩展行列式键盘的方法。

2.学习扫描键盘的实现方法。

3.学习液晶显示的接口及程序设计方法。

三、实验电路及连线

键盘:P1.0~P1.7分别接键盘S0~S7,中断式:P3.2接INT0,扫描式不接P3.2

P2.0-P2.7接LCD数据脚DB0-DB7,P3.4接LCD RS脚,

P3.5接LCD RW脚,P3.6接LCD E脚,P3.7接LCD PSB脚

四、实验说明

5.      首先画出实验用电气原理图(键盘和液晶接口电路图);

6.      根据电气原理图连线,设计液晶显示程序,显示特定的键值;

7.      通过中断式键盘扫描程序;

8.      调试结束,编译生成*.hex文件;

9.      根据设计的电气原理图,连线

10.  下载程序,运行

五、实验报告

4.        画出电气原理图;

5.        附上完整的程序代码;

6.        画出程序流程;

7.        具体说明中断式及扫描式键盘扫描的实现方法;

8.        具体说明液晶接口设计及程序实现方法。


实验八综合实验(一)

一、实验要求

利用实验系统提供的功能模块,进行组合,完成硬件电路和软件程序的设计调试。

二、实验目的

1、学习80C51单片机系统的设计和开发技术。

2、进一步熟悉掌握单片机内部功能单元及应用接口的编程。

3、提高学生知识与实践的融合能力。

三、实验说明

1、自由选择若干个功能模块进行组合。

2、独立完成实验内容的设计。

3、画出系统的功能模块方框图,电路图。

4、画出程序设计流程图,并编程调试运行。

五、实验报告

1、每组制作一份介绍实验内容的PPT,内容包括:

1)封面:实验题目,小组成员

2)系统功能介绍,使用的功能模块列表。

3)系统设计方框图。

4)硬件电路介绍及电路图。

5)软件设计流程介绍及流程图。

6)程序代码。

2、实验结果演示。


实验九综合实验(二)

一、实验要求

利用实验系统提供的功能模块,进行组合,完成硬件电路和软件程序的设计调试。

二、实验目的

1、学习80C51单片机系统的设计和开发技术。

2、进一步熟悉掌握单片机内部功能单元及应用接口的编程。

3、提高并检验学生知识与实践的融合能力。

三、实验内容(供选择)

1、键盘+串行通信。

       实验要求:将从实验系统键盘上键入的键值显示到PC机显示器上,将PC机键盘输入的数据(00-FF)显示到实验系统的发光二极管上。

2、键盘+LED

实验要求:在键盘上定义8个键,当键按下时对应的LED灯点亮2秒钟,然后全灭;当按下其他键时,LED全亮,2秒钟后全灭。

3、外部中断+串行通信

实验要求:以键盘输入产生中断信号,每按键一次,计数器加1,并将按键次数送PC机显示。

4、I2C存储器+串行通信

实验要求:每1秒钟24LC32的0002H单元内容加1,以键盘作为外部中断输入信号,有键按下时,读取0002H单元内容送PC机显示。

5、查表+串行通信

实验要求:P1口的P1.0~P1.8分别接8个发光二极管。要求编写程序模拟一时序控制装置。开机后第一秒钟L4,L5亮,第二秒钟L3,L6亮,第三秒钟L2,L7亮,第四秒L1,L8亮,第五秒L2,L7亮,第六秒L3,L6亮,第七秒L4,L5亮,第八秒L1,L2,L7,L8亮,第九秒L3,L4,L5,L6亮,第十秒全亮,第十一秒全灭。然后再从头循环。以键盘作为外部中断输入信号,有键按下时,将当前LED状态送PC机显示。

四、实验要求

1、独立完成实验内容的设计。

2、画出系统的功能模块方框图,电路图。

3、画出程序设计流程图。

4、搭建实验电路,编写实验程序并演示实验结果。

五、实验报告

每组制作一份介绍实验内容的word文档,内容包括:

1)封面:实验题目,小组成员,班级,学号

2)系统功能介绍,使用的功能模块列表。

3)系统设计方框图。

4)硬件电路介绍及电路图。

5)软件设计流程介绍及流程图。

6)程序代码。

7)实验结果分析小结。


第二篇:单片机实验指导书(20xx)


                

MCS – 51单片机原理及接口技术

实验指导书

霍凯     郭玉明    编

张家栋   赵嘉蔚    审

北京交通大学机电学院

20##年3月

   

一、MCS-51单片机应用板系统结构说明………………………..……….2

二、MCS-51单片机应用板的使用说明……………………………..…….3

三、附表:接线端子序号定义表……………………………………..……4

实验一、学习DICE仿真系统的使用及简单编程………………….……. 5

实验二、运算处理程序设计与调试…..……….…………………..……… 6

实验三、8031单片机定时/计数器应用实验                        7

实验四、数据存储器扩展实验………………………                 8              

实验五、LED显示器实验.. …….…………………                   8 

实验六、模/数与数/模转换实验………………………..………………… . 9

附录:动态显示参考程序…………………………..…….……………….. 11

一、MCS-51单片机应用板系统结构说明

MCS-51单片机应用板上具有A/D、D/A转换、打印机接口,并行输入输出,定时计数功能和六位显示,八个开关,该板上还扩充了程序存储区8K的EPROM2764一片,数据存储区8K的RAM6264芯片一片,该应用板下边自左至右为接线端子序号1~72。附表一为该板上接线端子序号与该引脚定义内容的一览表,为了明显起见,下面把用户常用的一些资源及其地址罗列出来,供用户使用时参阅。

(一)  单片机8031部分:

1、  8031单片机,上电复位和按钮复位两种复位方式,主频晶振6MHZ。

2、  INT1外部中断输入信号,已被A/D芯片0809的EOC信号所占用。

3、P1口的八位I/O线由板上开关KA控制可有两种用途,一是当KA对应位,置于ON的状态时,P1口的该位I/O线去控制板上的对应位的发光二极管,当KA上该位处于“OFF”状态时,该位I/O线引到接线端子上供用户使用。

4、T1实时计数器:T1受KB开关上的第二位控制,当KB2处于“ON”时,T1可以作为计数工作方式,用来统计板上按钮开关J按动的次数,为学生计数实验所设计,当KB2处于“OFF”时,T1引到接线端子上供用户使用。

5、除上述之外,其它有关8031的引脚已全部引到接线端子上,供用户选用。

    (二)应用系统扩展部分

1、74LS138译码器地址:8031的P2.5~P2.7分别接于74LS138的A、B、C译码地址线上,其真值表如下:

2、8155芯片:

命令/状态寄存器的地址:2100H

A口地址:2001H    接线端子的65~72位

B口地址:2102H    PB0~PB6分别用于显示器的a~g字型选择输出

C口地址:2103H    PC0~PC5分别用于显示器字位选择输出

3、EPROM 2764 地址:0000H~1FFFH

(三)  开关、键说明:

1、K1~K8拨码开关:作为8路开关量输出。置于ON端为高电平输出,置于OFF端为低电平输出。对应于接线端子的4~11号位。

2、KA1~KA8拨码开关:分别控制8个发光二极管L1~L8。置于ON状态时,8031P1口P1.0~P1.7分别控制发光二极管的L1~L8。置于OFF状态时,P1.0~P1.7与L1~L8断开,分别引到接线端子的第18~25号位。

3、KB1~KB2拨码开关:KB1置于ON状态时,RST复位键与8031第9脚RESET接通。置于OFF状态时RST复位键与8031 RESET脚断开。此时8031的第9脚RESET接于接线端子第26号位。KB2置于ON状态时,计数按钮开关J与8031的T1定时计数器引脚连通,KB2置于OFF状态时,8031的T1与接线端子31号位相接。

4、J:计数用按钮开关。

5、RST:复位按钮开关。

6、W1电位器:A/D转换时0809模拟量输入的调节。

二、MCS-51单片机应用板的使用说明

MCS-51单片机应用板应用时,要与单片机开发系统和计算机配套使用。目前实验室用得计算机为工控机,单片机开发系统型号为伟福系列(SP51型)仿真系统,其它型号的MCS-51系列开发系统也可与其连接。另外还需要一直流5V电源。使用时,将开发系统的40芯仿真探头插到应用板上的8031插座上,将开发系统上的通讯线连接到计算机上的串行口1上或串行口2上,将开发系统的电源线和MCS-51单片机的电源线同时接通5V电源,就可以调试使用了,如下图所示。注意插接时看清方向不能插反,当作D/A转换实验时需再将一个+15V和一个 - 5V直流电源接到接线端子上。

该板上的打印机接口电路设计是与µP – 40 打印机相配合的,实验时应把打印机电源接到系统电源上,把打印机上的20芯扁平电缆线插到实验板对应的20芯插座上,即可调试。

 


三、附表:接线端子序号定义表

序号    名称                        序号    名称 

1 ——  ADC0809的 IN3                       37 —— P2.3  (A11)

2 ——  ADC0809的 IN2                       38 —— P2.4  (A12)

3 ——  ADC0809的 IN1              39 —— P2.5 

4 ——  键盘开关输入端K1             40 —— P2.6

5 ——  键盘开关输入端K2            41 —— P2.7

6 ——  键盘开关输入端K3            42 —— 程序区读信号PSEN

7 ——  键盘开关输入端K4            43 —— 锁存信号ALE

8 ——  键盘开关输入端K5            44 —— 译码器74LS138输出 Y7

9 ——  键盘开关输入端K6            45 —— 译码器74LS138输出 Y6

10 —— 键盘开关输入端K7            46 —— 数据线 D0  (P0.0)

11 —— 键盘开关输入端K8               47 —— 数据线 D1  (P0.1)

12 —— ADC0809的IN0              48 —— 数据线 D2  (P0.2)

13 —— 电源地(GND)                        49 —— 数据线 D3  (P0.3)

14 —— 电源+5V (VCC)                     50 —— 数据线 D4  (P0.4)

15 —— 电源+15V                                  51 —— 数据线 D5  (P0.5)

16 —— DAC0832OUT                            52 —— 数据线 D6  (P0.6)

17 —— 电源 –5V                                  53 —— 数据线 D7  (P0.7)

18 —— P1.0                                           54 —— 8155 的OUT

19 —— P1.1                                           55 —— 8155的IN

20 —— P1.2                                           56 —— 译码器74LS138的Y5

21 —— P1.3                                           57 —— 经锁存后的地址线A0

22 —— P1.4                                           58 —— A1

23 —— P1.5                                           59 —— A2

24 —— P1.6                                           60 —— A3

25 —— P1.7                                           61 —— A4

26 —— 复位脚                                       62 —— A5

27 —— 串行口 RXD (P3.0)              63 —— A6

28 —— 串行口 TXD  (P3.1)                   64 —— A7

29 —— 外部中断INT0 (P3.2)                 65 —— 8155的PA口的PA0

30 —— 定时计数器T0 (P3.4)                 66 —— PA1

31 —— 定时计数器T1 (P3.5)                 67 —— PA2

32 —— 读信号 RD (OE)                        68 —— PA3

33 —— 写信号 WR (WE)                      69 —— PA4

34 —— P2.0 (A8)                                  70 —— PA5

35 —— P2.1 (A9)                                  71 —— PA6

36 —— P2.2 (A10)                                72 —— PA7

实验一、学习仿真器的使用及简单编程

一、实验目的:

1、了解伟福系列(SP51型)仿真器的结构和功能;

2、掌握伟福系列(SP51型)仿真器的基本操作和使用方法;

3、利用已学过的MCS-51单片机的指令系统,进行一些简单的程序设计,并通过实验熟悉调试程序的过程。

二、实验设备:

1、伟福系列(SP51型)仿真器一台;

2、MCS-51单片机应用板一块;

       3、微机电源一台。

三、实验内容及实验方法:

1、将数据块以30H为首地址中的10个数求和(和不超过FFH),并放入40H中。

2、将40H中的16进制数FFH转换成BCD码,并将百位数放入50H,十位数与个位数合并后放入51H中(选作)。

3、打开计算机电源,先打开仿真器户的电源开关,再打开用户系统的电源开关(在关机时,先关用户系统的电源开关,再关开发系统的电源开关)。双击桌面上的“快捷方式到VF”图标,仿真软件启动并进入主调试界面。

显示器左上方为项目窗口,右上方为程序窗口,左下方为信息窗口,右下方为数据窗口。

       四、建立你的新程序:

1、选择菜单[文件/新建文件]功能,出现一个文件名为“NONAME1”的源程序窗口,将要调试的源文件输入计算机,源文件的格式如下(可参考附录一):

       ORG       0000H

              AJMP     MN

              ORG       0100H

MN:     MOV     SP,#60H

MOV      A,#12H

MOV      R0,#30H

    ADD       A,@R0

       MOV      40H,A

HERE: SJMP      HERE

        END

程序输完后,选择菜单[文件/另存为]功能,给出文件所要保存的位置,例如:

F:\XXX.ASM,保存文件。文件保存后,程序窗口上文件名变成了F:\XXX.ASM。

    2、编译你的程序:

选择菜单[项目/编译]功能或按编译快捷图标或F9键,编译你的程序。

如果有错误,信息窗口显示错误所在的位置,双击有错误的行,光标即跳到源程序的对应行上。修改错误,保存文件后,重新进行编译。若编译没有错误,信息窗口显示“就序”。

3、 仿真器/仿真器设置:

[选择仿真器]:选择SP51,[选择仿真头]:选择POD-S8X5X,[选择CPU]:选择AT89C51,○[使用伟福软件模拟器],使用伟福软件模拟器,可以在完全脱离硬件仿真器情况下,对软件进行模拟执行。如果使用硬件仿真器,请不要选择使用伟福软件。按“好”确认。

如果仿真器和仿真头设置正确,并且硬件连接没有错误,就会出现“硬件仿真”的对话框,并且显示仿真器、仿真头的型号及仿真器的序列号,表明仿真器初始化正确。按“好”确认。

4、 执行程序:

执行/全速执行

运行程序。

执行/跟踪

    跟踪程序执行的每一步,观察程序运行状态。

执行/单步

    单步执行程序,与跟踪不同的是,跟踪可以跟踪到子程序的内部,而单步执行则不跟踪到子程序内部。

执行/执行到光标处

    程序从当前PC位置,全速执行到光标所在的行。

执行/暂停

    暂停正在全速执行的程序。

执行/复位

    终止调试过程,程序将被复位,如果程序正在全速执行,则应先停止。

    程序运行完后,可以在“项目窗口”观察R0 — R7、A、B等寄存器的变化,在“数据窗口”观察CPU内部数据区的变化。全速执行,只能在硬件设备上观察执行结果。

五、实验报告内容:

1、      画出程序流程图;

2、      写出程序清单;

3、      写出调试过程及程序执行结果。

实验二、运算处理程序设计与调试

一、实验目的:

利用已学过的MCS-51单片机的指令系统,进行一些较复杂的程序设计,并通过实验,进一步熟悉调试程序的过程。

二、实验设备:

同实验一

三、实验内容及要求:

将30H~39H中10个无符号数,先剔除最大值和最小值,并将最大值放入40H单元,最小值放入41H单元;然后求出8个数的和放入42H单元,再将8个数的平均数放入43H单元;最后将8个数的和转换成BCD码,高8位即百位数存入50H单元,低8位即十位与个位合并后放入51H单元中。

四、实验报告内容:

同实验一

思考题:循环语句在编程中的作用?

实验三、数据存储器扩展实验

一、 实验目的:

1、   了解微机存储器的组成;

2、   掌握存储器与CPU之间的接口方法;

3、   掌握存储器容量的扩展方法。

二、 实验设备:

1、同实验一

2、数据存储器  6264RAM一片

三、 实验内容:

1、MCS-51单片机应用板上已有8K 的数据存储空间,其地址为0000H~1FFFH。本实验要求另外再扩展一片RAM6264,地址安排在C000H~DFFFH。为此,首先应该设计一个CPU与RAM芯片之间的接口电路,这个接口电路与8031单片机各种总线相接,使8031能够按照要求的地址范围对RAM6264进行读写操作。

MCS-51单片机应用板已将数据线D0 ~ D7、地址线A0 ~ A12、RD、WR等信号接到接线端子上了(见接线端子序号定义表)。首先应该熟悉RAM6264芯片的各管脚定义及逻辑要求,然后确定译码电路。将应用板上的74LS138译码输出脚Y6接到RAM6264的片选脚,。译码确定之后,按照6264的接线要求,画出6264与8031、74LS373、74LS138译码器连接的详细电路图,并画出接线端子与6264芯片的连线图(注明端子号和6264的管脚号),实验时,将系统提供的地址线、数据线和控制线分别接到RAM6264的对应脚,确认连接无误后,方可调试。

2、编一测试程序,将立即数35H送入RAM6264的C000H~DFFFH各单元,送后检查,若都对,将立即数09H送入CPU的50H,若有不对的,将其地址的DPH值送入50H,DPL值送入51H。

四、 实验步骤:

1、将面包板上的RAM6264芯片与接口电路和CPU连接好;

2、将应用板与仿真器相接,并接通电源;

3、将测试程序输入计算机,执行程序后,在数据区窗口看执行结果,以确定扩展是否成功。

五、 实验报告要求:

1、画出详细的8031单片机与6264芯片的连线图;

2、写出调试检测程序;

3、满足实验报告其它要求。

六、思考题:

1、写出调试过程中发现的问题及解决的方法;

2、若改变6264地址,哪些连线须做改动,试举例说明。

实验四、8031单片机定时/计数器应用实验

一、实验目的:

1、掌握定时器/计数器在定时工作和计数工作时控制寄存器TCON的用途及方式控制字TMOD各控制位的设定和含义;

2、中断允许寄存器IE各控制位的设定和含义;

3、中断的响应过程及中断源入口地址。

二、实验设备:

同实验一


       三、 实验电路:

四、实验内容及要求:

将T1设定为计数器方式工作,将按钮开关J按下(接通)抬起(断开)次数作为外部事件脉冲从T1输入,将T0设定为定时功能,每按一次按钮开关J键,实现每隔一秒钟使P1.0、P1.1、P1.2……P1.7依次输出高电平点亮发光二极管。

五、实验报告内容:

同实验一

六、             思考题:

若每按一次按钮开关-----J键,实现每隔两秒钟使P1.0、P1.1、P1.2……P1.7依次输出高电平点亮发光二极管,应怎样改写程序。

实验五、LED显示器实验

一、实验目的:

1、掌握显示程序的设计方法和8155控制字的设定;

2、复杂程序设计并显示的综合练习。

二、实验设备:

同实验一


三、实验电路:

四、实验内容及要求:

1、利用所学过的知识,编写加法运算处理程序,将30H中的数与31H中的数相加,和放入32H。

2、编写动态显示程序,将被加数显示在数码管的左边两位上,加数显示在中间两位上,和显示在右边两位上。8155 PB口控制各位显示器的字形,PC口控制各位显的阴极电位,使用六位共阴极显示器,显示缓冲区为79H~7EH。(动态显示参考程序,见附录。)

五、 实验报告内容:

同实验一

六、思考题

若数码管显示ABCDEF,怎样改写程序。

实验六、模/数与数/模转换实验

一、实验目的:

1、 掌握A/D和D/A的转换原理;

2、  熟悉A/D和D/A接口电路及接线方法;

3、  掌握A/D和D/A转换的编程方法。

二、实验设备:

1、 示波器一台;

2、 -5V电源一台;

3、  其余设备同实验一。


三、实验电路


A/D转换电路示意图

四、实验内容及要求

1、编写程序,当调节应用板上电位器W1时,即改变了0809输入端IN0的输入电压信号,记录下该模拟量转换成数字量值的大小,放入30H单元。

2、利用板上给定的DAC0832转换器,产生不同频率的波形,如锯齿波,三角波,方波,矩形波等,周期自定,波形在示波器上输出显示。锯齿波产生的原理是:每隔一定的时间往D/A转换器送一数值,且该数值逐渐提高,达到一定值后,又回到最小值重复上述过程,因为转换器输出的模拟信号与输入的数字信号成正比,所以输出的波形类似于锯齿形状,所以称为锯齿波。编程过程中需要注意的是每送完一个数需要一段软件延时,延时的长短决定了周期的大小。

3、编写程序,将A/D转换的数字量作为D/A转换的延时常数,当调节单片机应用板上的电位器W1时,D/A转换的锯齿波的频率也随之变化。

五、 实验报告内容:

同实验一

六、 思考题:

若将A/D转换的数字量作为D/A转换的延时常数,当调节单片机应用板上的电位器W1时,D/A转换的三角波、方波的频率也随之变化,应怎改写程序。

附录:

                   动态显示参考程序   (FBDIR.ASM)

                           

ORG       0000H

AJMP     MAIN

ORG       0100H

MAIN: MOV      SP,#60H

              MOV      DPTR,#2100H

              MOV      A,#0EH

              MOVX    @DPTR,A

              MOV      5AH,#56H

              MOV     5BH,#34H

              MOV      5CH,#12H

    ACALL   FB

LOOP:  ACALL   DIR

              AJMP     LOOP

              ORG       0200H

FB:         MOV      R0,#5CH

              MOV      R1,#79H

              MOV      R3,#03H

LP2:       MOV      A,@R0

              MOV      R2,A

              SWAP     A

              ANL       A,#0FH

              MOV      @R1,A

              INC     R1

              MOV     A,R2

              ANL       A,#0FH

              MOV      @R1,A

              INC        R1

              DEC              R0

              DJNZ      R3,LP2

              RET

              ORG       0300H

DIR:              MOV      R0,#79H

              MOV      R2,#01H

              MOV      A,R2

LD0:       MOV      DPTR,#2103H

              MOVX    @DPTR,A

              MOV      DPTR,#2102H

              MOV      A,@R0

              ADD       A,#0FH

              MOVC    A,@A+PC

DIR1:     MOVX    @DPTR,A

              MOV      R7,#02H

              ACALL   DL

              INC        R0

              MOV      A,R2

              JB          ACC.5,LD1

              RL          A

              MOV      R2,A

              AJMP     LD0

LD1:       RET

DSEG0:  DB  3FH,06H,5BH,4FH,66H,6DH

DSEG1:  DB  7DH,07H,7FH,6FH,77H,7CH

DSEG2:  DB  39H,5EH,79H,71H,73H,21H

DSEG3:  DB  31H,6EH,40H,3EH,00H,00H

DL:         MOV      R6,#0FFH

DL6:       DJNZ      R6,DL6

              DJNZ      R7,DL

              RET

              END

该程序执行后,数码管显示 1 2 3 4 5 6 。

更多相关推荐:
单片机实验报告

单片机实验报告学生姓名学号专业指导教师学院信息与电气工程学院20xx年11月单片机实验报告实验一MCS51指令系统实验数据排序1实验目的熟悉MCS51指令系统掌握程序设计方法加深对内部存储器读写的认识熟悉仿真开...

单片机实验报告

通信与信息工程学院20xx20xx学年第二学期实验报告课程名称单片机原理及应用专业班级学号学生姓名指导教师日期20xx年4月15日1实验一单片机汇编语言程序设计一实验目的1学习MedWin或Keilc51仿真软...

单片机实验报告

题目单片机组成原理实验报告学院计算机科学与工程学院专业信息安全姓名学号20xx年12月8日实验一输入输出接口编程一实验目的1掌握Keil软件的基本使用12掌握单片机汇编语言基本编程二实验内容1学习用Keil软件...

51单片机课程设计实验报告

51单片机课程设计报告学院:专业班级:姓名:指导教师:设计时间:51单片机课程设计一、设计任务与要求1.任务:制作并调试51单片机学习板2.要求:(1)了解并能识别学习板上的各种元器件,会读元器件标示;(2)会…

单片机实验报告

海南大学届单片机实验报告4份论文题目学生姓名学号所在院系专业班级授课教师完成时间蜂鸣器实验实验目的1熟悉实验板中蜂鸣器工作原理掌握汇编编程控制蜂鸣器播放音乐2掌握单片机编程控制蜂鸣器发出不同频率声音的方法3了解...

单片机实验报告

单片机课程设计报告实验五系别物理与电子工程学院年级专业班级学号学生姓名指导教师设计时间常熟理工学院课程设计报告目录1题目22实验要求221实验目的222实验内容23总体设计231硬件设计232软件设计44运行结...

51单片机实验报告

08424020xx单片微型计算机原理学院班级学号姓名指导教师成绩120xx年6月08424020xx硬件实验实验一定时器中断实验实验内容fosc110592MHzT0方式2产生定时中断实现秒表功能数码管后两位...

单片机实验报告

单片机实验报告实验二并行口输入输出实验循环彩灯控制任务一1实现的功能P1口接8个开关P0口接8个灯每个开关对应一个灯实时读取开关状态开关闭合时灯亮开关断开时灯灭2硬件原理图3流程图4程序ORG0000H程序入口...

单片机实验报告

一实验目的1熟练单片机的结构组成及原理2软硬兼施采用硬件电路的焊接搭建和软件的设计调试下载亲自动手对硬件系统加深了解的同时软件编程也能得心应手3了解如何从硬件和软件上分析问题排除故障二实验内容MCS51MCS5...

单片机最小系统实验报告

单片机原理及应用技术设计课题系别专业学号姓名指导老师课程设计报告20xx年6月单片机最小系统流水灯的设计一单片机简介由于单片机技术在各个领域正得到越来越广泛的应用世界上许多记成电路生产家相继推出各种类型的单片机...

单片机实验报告

单片机原理及应用一实验目的实验报告实验要求二实验电路及汇编源程序程序要加注释三仿真结果或硬件调试结果分析实验一存储器读写一实验目的1掌握寄存器存储器读写等汇编指令2掌握编程软件编辑编译调试等基本操作二实验内容1...

单片机实验报告

单片机实验报告四姓名学号时间周一11-13地点计708指导老师:实验题目C51单片机片上资源开发实验一.实验目的与要求?学习单片机片上资源开发技术?研究用片上资源实现自动控制的方案二:实验环境在KeiluVis…

单片机实验报告(42篇)