当前位置:文档之家› 单片机原理及应用A实验四

单片机原理及应用A实验四

单片机原理及应用A实验四
单片机原理及应用A实验四

西南科技大学实验报告

课程名称:单片机原理及应用A

实验名称:UART串口通信及驱动程序设计姓名:张德蓉

学号: 5120141524

班级:生医1402

指导教师:雷华军

西南科技大学信息工程学院制

实验题目:

1、单片机点对点串口通信

要求:甲单片机外接一个3×3矩阵键盘和8个LED;乙单片机外接一个独立按键和一个数码管;甲乙两个单片机通过串口进行通信(即TXD和RXD引脚)。

按下甲单片机矩阵键盘的任意一个按键,将该键编号(编号自己设定)通过串口发送给乙单片机,乙单片机在数码管上显示出对应的按键号;

按下乙单片机的外接独立按键控制甲单片机的8个LED(按键之前8个LED灯均点亮),具体关系为:

(1)第1次按键,乙单片机向甲单片机通过串口发送命令字符A,甲收到该命令,使前4个LED灯亮,后4个不亮;

(2)第2次按键,乙单片机向甲单片机通过串口发送命令字符B,甲收到该命令,使前4个LED不亮,后4个亮;

(3)第3次按键,乙单片机向甲单片机通过串口发送命令字符C,甲收到该命令,使奇数个灯亮,偶数个灯不亮;

(4)第4次按键,乙单片机向甲单片机通过串口发送命令字符D,甲收到该命令,使偶数个灯亮,奇数个灯不亮;

(5)第5次按键,乙单片机向甲单片机通过串口发送命令字符E,甲收到该命令,使所有灯都不亮;

2、单片机与计算机串口通信

要求:设置单片机的串口为工作方式1,波特率设置为9600。计算机通过串口调试助手向单片机依次发送字符1、2、3、4,单片机收到每个字符后向计算机回复相应的内容

实验目的

1、理解串口通信原理

2、掌握串口调试

二、实验原理

1、矩阵键盘

按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接到+5V 电源上。无按键按下时,行线处于高电平的状态,而当有按键按下时,行线电平与此行线相连的列线电平决定。使行线为编程的输入线,列线是输出线,拉低所有的列线,判断行线的变化,如果有按键按下,按键按下的对应行线被拉低,否则所有的行线都为高电平。在第一步判断有键按下后,延时10ms 消除机械抖动,再次读取行值,如果此行线还处于低电平状态则进入下一步,否则返回第一步重新判断。开始扫描按键位置,采用逐行扫描,每间隔1ms 的时间,分别拉低第一列,第二列,第三列,第四列,无论拉低哪一列其他三列都为高电平,读取行值找到按键的位置,分别把行值和列值储存在寄存器里。从寄存器中找到行值和列值并把其合并,得到按键值,对此按键值进行编码,按照从第一行第一个一直到第四行第四个逐行进行编码,编码值从“0000”至“1111”,再进行译码,最后显示按键号码。

2、数码管显示

数码管动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,

就使各个数码管轮流受控显示,这就是动态驱动。

3、串口

串行端口可提供标准的连接器和协议,允许我们将调制解调器等设备连接到计算机上。当今人们使用的所有计算机操作系统都支持串行端口;取名为“串行”端口,是因为这种端口会将数据“串行化”。更具体地说,它一次获取一个字节的数据并传输该字节的8位。这样做的优势在于,串行端口只需要一条线路就能传输8个位,而并行端口则需要8条。相应的劣势在于,其传输数据的用时是拥有八条线路时的8倍。此外,串行端口还可以降低线缆成本,使线缆更加小巧。在发送数据的每个字节之前,串行端口会发送一个开始位,这是一个值为0的单个位。在发送完数据的每个字节之后,它将发送一个停止位,表示该字节已传输完成。此外,它还可以发送奇偶校验位。串行端口也称为通信(COM)端口,是一种双向端口。在双向通信中,每个设备都可以接收数据和传输数据。串行设备使用不同的针脚来接收和传输数据——如果使用相同的针脚,通信将限制为半双工模式,这表示信息一次只能在一个方向上传播。使用不同的针脚可以实现全双工通信,在这种模式中,信息可以同时在两个方向上传播。

三、实验步骤

1、在编程软件(Keil5)中编写源程序,并编译,改错,形成.hex文件;

2、在仿真软件(Ptoteus)中画出实验所需的外设电路;

3、将生成的.hex文件下载到仿真电路中进行测试;

4、分析结果。

四、实验结果及分析

题目1:

单片机甲源程序

#include

sbit P10 = P1^0;sbit P11 = P1^1;sbit P12 = P1^2;//位设置

sbit P13 = P1^3;sbit P14 = P1^4;sbit P15 = P1^5;//位设置

void ConfigUART(unsigned int baud)//波特率设置

{

SCON = 0x50;//模式选择

TMOD &= 0x0f;//定时器模式选择

TMOD |= 0x20;//定时器模式选择

TH1 = 256 - (11059200/12/32)/baud;//定时器设置初值

TL1 = TH1;//自动重装载

ET1 = 0;//禁止定时器中断

ES = 1;//启动串口中断

TR1 = 1;//启动定时器

}

void delay(int t){ //延时函数

int j;

for(j = 0;j < t; j ++);

}

void InterruptUART() interrupt 4 //串口中断函数

{

if(RI) //接收信号

{

RI = 0; //手动清零接收中断标志位

switch(SBUF){ //判断按键次数

case 1:P2 = 0xef;break;

case 2:P2 = 0xaa;break;

case 3:P2 = 0x55;break;

case 4:P2 = 0xda;break;

case 5:P2 = 0xb6;break;

case 6:P2 = 0xf0;break;

}

}

if(TI) //发送信号

{

TI = 0; //手动清零发送信号

}

}

void main()

{

EA = 1; //使能总中断

ConfigUART(9600); //设置波特率为9600

P1 = 0xff; //按键设置输入状态为1

P2 = 0xff; //LED灯全亮

while(1){

P1 = 0xfe; //矩阵键盘第一行为低

if(P13 == 0){SBUF = 1;delay(100);} //第一列按下

else if(P14 == 0) {SBUF = 2;delay(100); }//第二列按下

else if(P15 == 0) {SBUF = 3;delay(100); }//第三列按下

P1 = 0xfd;//矩阵键盘第二行为低

if(P13 == 0){SBUF = 4;delay(100);}

else if(P14 == 0) {SBUF = 5;delay(100); }

else if(P15 == 0) {SBUF = 6;delay(100); }

P1 = 0xfb;//矩阵键盘第三行为低

if(P13 == 0) {SBUF = 7;delay(100);}

else if(P14 == 0) {SBUF = 8;delay(100);}

else if(P15 == 0) {SBUF = 9;delay(100);}

}

}

单片机乙源程序

#include

sbit KEY = P1^0;

unsigned char code dis[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数字0-9 void ConfigUART(unsigned int baud)//设置波特率

{

SCON = 0x50;//模式选择

TMOD &= 0x0f;//定时器模式选择

TMOD |= 0x20;//定时器模式选择

TH1 = 256 - (11059200/12/32)/baud;//定时器设置初值

TL1 = TH1;//自动重装载

ET1 = 0;//禁止定时器中断

ES = 1;//启动串口中断

TR1 = 1;//启动定时器

}

void delay(int t){//延时函数

int j;

for(j = 0;j < t; j ++);

}

unsigned int a = 0;//按键次数

void InterruptUART() interrupt 4 //串口中断函数{

if(RI)

{

RI = 0; //手动清零接收标志位

P2 = dis[SBUF]; //数码管显示

}

if(TI)

{

TI = 0;//手动清零发送标志位

}

}

void main(void){

EA = 1;//总中断

ConfigUART(9600);//波特率9600

P2 = 0x00;//数码管显示清零

while(1){

KEY = 1; //按键输入状态为1

if(KEY == 0){ //判断按键按下

SBUF = a++; //按键加一次

delay(10000);

}

}

}

实验结果电路图

图1 单片机之间的通信仿真图题目2:

实验源程序

#include

unsigned char *SendText;//定义指针变量发送的字符串

unsigned char LenText;//发送的字符串长度

unsigned char str1[] = "Name:ZhangDerong\n";

unsigned char str2[] = "No:5120141524\n";

unsigned char str3[] = "Class:BME1402\n";

unsigned char str4[] = "Sex:F\n";

unsigned char str5[] = "Addr:SiChuanSuiNing\n";

unsigned char str6[] = "Error\n";

void ConfigUART(unsigned int baud) //设置波特率

{

SCON = 0x50;//模式选择

TMOD &= 0x0f;//定时器模式选择

TMOD |= 0x20;//定时器模式选择

TH1 = 256 - (11059200/12/32)/baud;//定时器设置初值

TL1 = TH1;//自动重装载

ET1 = 0;//禁止定时器中断

ES = 1;//启动串口中断

TR1 = 1;//启动定时器

}

void InterruptUART() interrupt 4 //串口中断函数

{

unsigned char cmd; //接收的数据

if(RI)

{

RI=0; //手动清零接收标志位

cmd = SBUF;

switch(cmd){ //判断接的数据

case '1': SendText = str1;LenText = sizeof(str1);TI = 1;break;

case '2': SendText = str2;LenText = sizeof(str2);TI = 1;break;

case '3': SendText = str3;LenText = sizeof(str3);TI = 1;break;

case '4': SendText = str4;LenText = sizeof(str4);TI = 1;break;

case '5': SendText = str5;LenText = sizeof(str5);TI = 1;break;

default: SendText = str6;LenText = sizeof(str6);TI = 1;break;

}

}

if(TI)

{

TI = 0; //手动清零发送标志位

if(LenText> 0){ //判断发送的字符串长度

SBUF = *SendText;

LenText--;

SendText++;

}

}

}

void main()

{

EA = 1; //总中断使能

ConfigUART(9600);//设置波特率9600

while(1);

}

图2 单片机与计算机之间通信串口调试窗口

五、体会

这次的串口软件与硬件的结合,对串口的理解更加深刻。实验过程中一直遇到单片机发送和接收信号不稳定的情况,通过加延时规避了。第二个题目,用了之前不熟悉的指针变量,使用了一次后对指针的恐惧减轻了。学以致用就是这样吧。在运用中学习。

单片机原理及应用技术苏家建曹柏荣汪志锋课后习题参考答案

单片机原理及应用技术苏家建 课后习题参考答案 第三章MCS-51指令系统 3-1 MCS-51指令系统有哪几种寻址方式?按功能分类有哪几种指令? 3-2 设A=0FH,R0=30H,片内RAM的(30H)=0AH, (31H)=0BH, (32H)=0CH,下列程序段运行后的结果? MOV A,@R0 ;A=0AH MOV @R0,32H ;(30H)=0CH MOV 32H,A ;(32H)=0AH MOV R0,#31H ;R0=31H MOV A,@R0;A=(31H)=0BH 3-3 (1)R0的内容传送到R1 MOV A,R0 MOV R1,A (2)内部RAM 20H单元的内容传送到A MOV A,20H (3)外部RAM 30H单元的内容传送到R0 MOV R1,#30H MOVX A,@R1 MOV R0,A (4) 外部RAM 30H单元的内容传送到内部RAM 20H单元 MOV R1,#30H MOVX A,@R1 MOV 20H,A (5) 外部RAM 1000H单元的内容传送到内部RAM 20H单元 MOV DPTR,#1000H MOVX A,@DPTR MOV 20H,A (6)程序存储器ROM 2000H单元的内容传送到R1 MOV DPTR,#2000H CLR A MOVC A,@A+DPTR MOV R1,A (7) RAM 2000H单元的内容传送到内部RAM 20H单元 MOV DPTR,#2000H MOVX A,@DPTR MOV 20H,A (8) RAM 2000H单元的内容传送到外部RAM 30H单元 MOV DPTR,#2000H MOVX A,@DPTR MOV R0,#30H MOVX @R0,A (9) RAM 2000H单元的内容传送到外部RAM 1000H单元

单片机原理及其接口技术实验报告

单片机原理及其接口技术实验指导书 实验1 Keil C51的使用(汇编语言) 一.实验目的: 初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。 二.实验设备: ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。 三.实验原理及环境: 在计算机上已安装Keil C51软件。这个软件既可以与硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。 四:实验内容: 1.掌握软件的开发过程: 1)建立一个工程项目选择芯片确定选项。 2)加入C 源文件或汇编源文件。 3)用项目管理器生成各种应用文件。 4)检查并修改源文件中的错误。 5)编译连接通过后进行软件模拟仿真。 6)编译连接通过后进行硬件仿真。 2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。 3.在2的基础上,实现同时在P1.0和P1.1上各输出一个频率同为1Hz但电平状态相反的方波。 五:程序清单: ORG 0000H AGAIN:CPL P1.0 MOV R0,#10 ;延时0.5秒 LOOP1:MOV R1,#100 LOOP2:MOV R2,#250 DJNZ R2,$ DJNZ R1,LOOP2 DJNZ R0,LOOP1 SJMP AGAIN END 六:实验步骤: 1.建立一个工程项目选择芯片确定选项 如图1-1所示:①Project→②New Project→③输入工程名test→④保存工程文件(鼠标点击保存按钮)

《单片机原理及应用》实验指导

《单片机原理及应用》实验指导 控制技术实验室

实验一 熟悉 Keil c51 集成开发环境及常用指令实验 (2 课时,验证型) 一、实验目的 1) 了解 8051 典型应用系统的开发过程,熟悉 Keil C51集成开发环境。 2) 掌握单步执行程序,查看专用寄存器和单片机 RAM 的执行结果。 3) 掌握 8051 的寻址方式及常用指令的使用方法。 二、实验内容 1) 基本指令练习。 2) 数据传送(循环方式) 。 3) 位操作指令。 4) 8051 内部 RAM 的 40H~4FH 置初值 A0H~AFH,然后将 40H~4FH 的内容 传送到外部 RAM 中的 C000H~C00FH 单元,再把外部数据 RAM 中的 C000H~C00FH 单元的内容传送到 8051 内部 RAM 中的 50H~5FH 单元。 5) 调试下列程序,熟悉程序调试手段,观测程序运行结果。 ORG 0000H SJMP MAIN ORG 0030H MAIN: MOV SP,#6FH MOV R0,#40H MOV R1,#30H MOV 30H,#40H MOV A,#40H MOV @R0,A ?哪一个存储单元的内容与 A 中内容相等 INC A MOV A,@R1 ?A 中的内容?哪一个存储单元的内容传给 A PUSH ACC POP 32H ?SP 指针的变化?32H 中的内容 MOV A,#5FH SWAP A ?A 中的内容 ?上面程序为顺序执行的程序 XUNHUAN1: MOV R0,#30H MOV R7,#10H CLR A ?这 3 条指令的作用 LOOP1: MOV @R0,A INC A INC R0 DJNZ R7,LOOP1 ?R7 的作用 ?循环程序执行完之后,指出 32H,37H,3BH, 3FH 存储单元中的值,为什么? XUNHUAN2: MOV R0,#30H MOV R1,#40H

单片机原理与应用技术教学大纲

《单片机原理与应用技术》教学大纲 一、课程名称 单片机原理与应用技术 二、先修课程 电子技术类基础课程和微机应用类基础课程 三、课程性质与任务 课程性质: 本课程是高职高专电子类相关专业的的一门专业课程。本大纲可作为(高中后大专、对口单招、五年制高职)层次学生的教学参考。 课程的任务: 它以MCS-51单片机为例,详细介绍片内结构、工作原理、接口技术和单片机在各领域中的应用。为学生进一步学习微机在智能仪表、工业控制领域中的应用技术奠定必要的基础。 四、课程教学目标 1、知识目标 (1)熟练掌握单片机内部硬件结构、工作原理及指令系统,掌握程序的设计基本方法,能够较熟练地设计常用的汇编语言源程序; (2)掌握单片机的接口技术,熟悉常用的外围接口芯片及典型电路。 (3)熟悉设计、调试单片机的应用系统的一般方法,具有初步的软、硬件设计能力。 (4)能够熟练地掌握一种单片机开发系统的使用方法。 2、能力目标 初步具备应用单片机进行设备技术改造、产品开发的能力。 五、教学内容 第一章微机基础知识 (一)教学目的 熟悉微处理器、微型机和单片机的概念及组成。掌握计算中常用数制及数制间的转换,了解BCD码和ASCII码。熟悉数据在计算机中的表示方法。 (二)教学重点与难点 重点:

计算中常用数制及数制间的转换。 难点: 微处理器、微型机和单片机的概念及组成,微机的工作过程 (三)教学内容 1、微处理器、微机和单片机的概念; 2、微机的工作过程。 (四)本章小结 1、数制有二进制、十进制、十六进制等。 2、计算机系统中常包含有地址总线、数据总线、控制总线 3、微处理器是由运算器、控制器两部组成 4、单片机是由输入、输出、接口电路、时钟电路、存储器、运算器、控 制器几部分组成 (五)思考题 1、试用计算机汇编语言指令完成12*34+56÷7-8的计算步骤? 第二章 MCS-51单片机的结构和原理 (一)教学目的 熟悉MCS- 51单片机内部结构、引脚功能以及单片机执行指令的时序;掌握单片机存储器结构和输入/输出端口结构特点。掌握堆栈的使用。 (二)教学重点与难点 重点: 1、8051的存储器配置及特点; 2、21个特殊功能寄存器(SFR)的功能; 3、堆栈的概念; 4、复位电路。 难点: 1、MCS- 51单片机内部结构; 2、CPU时序。 (三)教学内容

单片机原理及应用实验指导书

单片机原理及应用实验指导书 湖南人文科技学院 二00一年三月

实验一I /O口输出实验—LED流水灯实验 一、实验目的 1、掌握单片机最小系统的构成; 2、掌握I/O口的使用及驱动能力的概念; 3、熟悉移位指令和软件延时程序。 二、实验设备与器件 1、计算机1台 2、PROTEUS单片机教学实验箱FB-EDU-P51A 三、实验原理 如下图所示,用单片机控制LED的亮与灭,在实验图中将MCU的P1口与LED的阴极相连,当P1口给低电平时,LED发亮,当P1口给高电平时,

四、实验内容 1、利用51单片机及8个发光二级管等器件,构成一个流水灯单片机系统。 2、用Keil C51软件创建程序 3、对程序进行编译与链接,建立实验程序并编译,加载hex文件,仿真; 4、实验板验证 (1)用ISP下载hex程序到CPU (2)按连接表连接电路 (3)检查验证结果 五、实验报告 在预习报告的基础上写出详细实验过程;画出实验原理图,写出单片机控制程序,写出调试步骤与仿真方法,观察实验现象,得出实验结果,并分析实验结果的正确性。 六、预习要求 1、单片机最小系统的构成 2、单片机I/O口的使用以及软件延时程序的编写。 七、实验参考程序 ORG 00H START: MOV R2,#8 MOV A,#0FEH LOOP: MOV P1,A LCALL DELAY RL A ;循环左移 DJNZ R2,LOOP ;判断移动是否超过8 位, 未超过继续循环 LJMP START DELAY: MOV R5,#20 ;延时程序,延时0.2s D1: MOV R6,#20

单片机原理及应用实验报告

单片机原理实验报告 专业:计算机科学与技术 学号: :

实验1 计数显示器 【实验目的】 熟悉Proteus仿真软件,掌握单片机原理图的绘图方法 【实验容】 (1)熟悉Proteus仿真软件,了解软件的结构组成与功能 (2)学习ISIS模块的使用方法,学会设置图纸、选元件、画导线、修改属性等基本操作 (3)学会可执行文件加载及程序仿真运行方法 (4)理解Proteus在单片机开发中的作用,完成单片机电路原理图的绘制【实验步骤】 (1)观察Proteus软件的菜单、工具栏、对话框等基本结构 (2)在Proteus中绘制电路原理图,按照表A.1将元件添加到编辑环境中(3)在Proteus中加载程序,观察仿真结果,检测电路图绘制的正确性 表A.1

Switches&Relays BUT BUTTON 【实验原理图】 【实验源程序】 #include sbit P3_7=P3^7; unsigned char x1=0;x2=0 ; unsigned char count=0; unsigned char idata buf[10]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(int time) { int k,j;

for(;time<0;time--) for(k=200;k>0;k--) for(j=500;j<0;j--); } void init() { P0=buf[x1]; delay(10); P2=buf[x2]; delay(10); } void main() { init(); while(1) { x1=count/10; x2=count%10; P0=buf[x1]; delay(10);

单片机原理与应用技术实验报告(实验项目:发光二极管闪烁)

***数学计算机科学系实验报告 专业:计算机科学与技术班级:实验课程:单片机原理与应用技术姓名:学号:实验室:硬件实验室 同组同学: 实验时间:2013年3月20日指导教师签字:成绩: 实验项目:发光二极管闪烁 一实验目的和要求 1.使用单片机的P1.5口做输出口,使该位发光二极管闪烁。 2.掌握单片机使用。 二实验环境 PC机一台,实验仪器一套 三实验步骤及实验记录 1.在pc机上,打开Keil C。 2.在Keil C中,新建一个工程文件,点击“Project->New Project…”菜单。 3.选择工程文件要存放的路径 ,输入工程文件名 LED, 最后单击保存。 4. 在弹出的对话框中选择 CPU 厂商及型号。 5.选择好 Atmel 公司的 89c51 后 , 单击确定。 6.在接着出现的对话框中选择“是”。 7.新建一个 C51 文件 , 点击file菜单下的NEW,或单击左上角的 New File快捷键。 8.保存新建的文件,单击SAVE。 9.在出现的对话框中输入保存文件名MAIN.C,再单击“保存”。 10.保存好后把此文件加入到工程中方法如下 : 用鼠标在 Source Group1 上单击右键 , 然后再单击 Add Files to Group ‘Source Group 1'。 11.选择要加入的文件 , 找到 MAIN.C 后 , 单击 Add, 然后单击Close。 12.在编辑框里输入代码如下: #include "reg51.h" //包含头文件 sbit led=P1^5; //表示用led等效于P1^5, P1^0就是指头文件里定义的P1寄存器的第5BIT #define uchar unsigned char #define uint unsigned int

单片机原理实验指导书(2012.10)

《单片机原理》实验指导书 计算机科学与技术系2012年8月

目录 第一部分单片机仿真实验 (1) 实验一:流水灯实验 (1) 实验二:中断实验 (4) 实验三:定时器中断实验 (6) 实验四:串行口实验 (9) 实验五:矩阵式键盘输入识别 (13) 实验六:LCD循环显示设计 (19) 第二部分单片机硬件实验............................错误!未定义书签。第一章试验箱系统概述 ...................................错误!未定义书签。 一、系统地址分配........................................... 错误!未定义书签。 二、系统接口定义........................................... 错误!未定义书签。 三、通用电路简介........................................... 错误!未定义书签。第二章实验指导...............................................错误!未定义书签。实验七P1口亮灯和P1口加法器实验........... 错误!未定义书签。实验八简单I/O口扩展(选作).................. 错误!未定义书签。实验九8255控制交通灯................................ 错误!未定义书签。实验十128*64LCD液晶显示 .......................... 错误!未定义书签。

第一部分单片机仿真实验 实验一:流水灯实验 一、实验目的: 通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器。 二、实验原理图 实验参考电路图如下: 三、参考实验程序 //流水灯实验 #include //包含单片机寄存器的头文件 sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机 //的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的

西南科技大学单片机原理实实验四及代码

2.1实验四中断实验 一、实验目的 加深对MCS-51单片机中断系统基础知识的理解。 二、实验设备 Keil C单片机程序开发软件。 Proteus仿真软件 DP51-PROC单片机综合实验仪。 三、实验容和步骤 容: 利用外部中断输入引脚(以中断方式)控制步进电机的转动。要求:每产生1次中断,步进电机只能步进1步。 实验程序: 使用INT0的中断服务程序控制步进电机正向步进;使用INT1中断服务程序控制步进电机反向步进。 设计思路: ①主程序在完成对INT0和INT1的设置后,可进入死循环(等待中断请求)。 ②为便于实验观察和操作,设INT0和INT1中断触发方式为边沿。 ③步进电机的转动控制由外部中断的服务程序来实现。 ④当前步进电机的相位通电状态信息可以使用片RAM中的一个字节单元来存储。 设计参考: ①主程序需要设置的中断控制位如下: IT0和IT1 外部中断触发方式控制0=电平1=边沿(下降沿) EX0和EX1 外部中断允许控制0=屏蔽1=允许 PX0和PX1 中断优先级级别控制0=低级1=高级 在同级别(PX0=PX1)时INT0的优先级高于INT1 EA 中断允许总控制0=屏蔽1=允许 ②外部中断服务程序的入口地址: 0003H 外部中断0 0013H 外部中断1 预习: 1)编写好实验程序。 2)根据编写的程序和实验步骤的要求制定调试仿真的操作方案。 实验单元电路:

1) 步进电机驱动电路。 步进电机共有4相,当以A →B →C →D →A →B …的顺序依次通电时,电机就会正转,若按相反的顺序依次通电,电机就会反转。每顺序切换一相(1步),电机旋转18°,切换的频率决定电机的转速(切换的频率不能超过电机的最大响应频率)。根据图2.4中的电路,当BA (插孔)输入为高时,对应的A 相通电。 2) SW 电路 开关SW X 拨在下方时,输出端SWX 输出低电平,开关SW X 拨在上方时,输出端SWX 输出高电平。其中SW1和SW3具备消除抖动电路,这样,SW1或SW3每上下拨动一次,输出端产生单一的正脉冲(上升沿在前,下降沿在后)。 3) LED 和KEY 电路 步骤: 1) 在S : \ STUDY \ Keil 文件夹中新建Ex04文件夹(该文件夹用于保存本次实验的所 有容),通过网上邻居将服务器上本次实验共享文件夹下的所有文件拷贝到S : \ STUDY \ Keil \ Ex04文件夹中。 2) 在Keil C 中创建一个新工程,新工程保存为S : \ STUDY \ Keil \ Ex04\Ex04.uv2, 然后选择单片机型号为Generic 中的8051。 3) 设置工程选项,将工程选项设置如下: 图2.5 单脉冲电路原理图 +5V +5V 图2.4 步进电机驱动电路原理图 LED1 LED8 +5V 图2.6 LED 和KEY 电路 +5V

单片机原理及应用习题答案

思考与练习题1 1.1单项选择题 (1)单片机又称为单片微计算机,最初的英文缩写是( D ) A.MCP B.CPU C.DPJ D.SCM (2)Intel公司的MCS-51系列单片机是( C )的单片机。 A.1位 B.4位 C.8位 D.16位 (3)单片机的特点里没有包括在内的是( C ) A.集成度高 B.功耗低 C.密封性强 D.性价比高 (4)单片机的发展趋势中没有包括的是( B ) A.高性能 B.高价格 C.低功耗 D.高性价比 (5)十进制数56的二进制数是( A ) A.00111000B B.01011100B C.11000111B D.01010000B (6)十六进制数93的二进制数是( A ) A.10010011B B.00100011B C.11000011B D.01110011B (7)二进制数11000011的十六进制数是( B ) A. B3H B.C3H C.D3H D.E3H (8)二进制数11001011的十进制无符号数是( B ) A. 213 B.203 C.223 D.233 (9)二进制数11001011的十进制有符号数是( B ) A. 73 B.-75 C.-93 D.75 (10)十进制数29的8421BCD压缩码是( A ) A.00101001B B.10101001B C.11100001B D.10011100B (11)十进制数-36在8位微机中的反码和补码是( D ) A.00100100B、11011100B B.00100100B、11011011B C.10100100B、11011011B D.11011011B、11011100B (12)十进制数+27在8位微机中的反码和补码分别是( C ) A.00011011B、11100100B B.11100100B、11100101B C.00011011B、00011011B D.00011011B、11100101B (13)字符9的ASCII码是( D ) A.0011001B B.0101001B C.1001001B D.0111001B (14)ASCII码1111111B的对应字符是( C ) A. SPACE B.P C.DEL D.{ (15)或逻辑的表达式是( B ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (16)异或逻辑的表达式是( C ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (17)二进制数10101010B与00000000B的“与”、“或”和“异或”结果是( B ) A.10101010B、10101010B、00000000B B.00000000B、10101010B、10101010B C.00000000B、10101010B、00000000B D.10101010B、00000000B、10101010B (18)二进制数11101110B与01110111B的“与”、“或”和“异或”结果是( D ) A.01100110B、10011001B、11111111B B.11111111B、10011001B、01100110B C.01100110B、01110111B、10011001B D.01100110B、11111111B、10011001B (19)下列集成门电路中具有与门功能的是( D ) A.74LS32 B.74LS06 C.74LS10 D.74LS08

《单片机原理及应用》实验指导书.

单片机原理及应用实验指导书 罗钧付丽编 重庆大学光电工程学院 2010年5月 目录 实验规则 (2 实验一单片机监控程序实验(4学时 (3 附1.1:LAB2000P实验仪 (9 附1.2:验证实验程序 (10 附1.3:K EIL的使用步骤参考 (17 实验二 A/D转换实验 (3学时 (21 附2.1:验证实验程序 (24 实验三 D/A转换实验 (2学时 (25

附3.1:DA转换实验程序 (27 实验四单片机系统综合实验( 3学时 (28 附4.1:实验仪中的温度传感器电路 (30 附4.2:直流电机和步进电机控制接口电路 (31 实验规则 为了维护正常的实验教学次序,提高实验课的教学质量,顺利的完成各项实验任务,确保人身、设备安全,特制定如下实验规则: 一、实验前必须充分预习,完成指定的预习内容,预习要求如下: 1.认真阅读本实验指导书,分析掌握本次实验的基本原理; 2.完成各实验预习要求中指定的内容; 3.明确实验任务。 二、实验时,认真、仔细的写出源程序,进行调试,有问题向指导老师举手提问; 三、实验时注意观察,如发现有异常现象(电脑故障或实验箱故障,必须及时报告指导老师,严禁私自乱动。 四、实验过程中应仔细观察实验现象,认真记录实验数据、波形、逻辑关系及其它现象,记录的原始结果必须经指导教师审阅签字后,方可离开。 五、自觉保持实验室的肃静、整洁;实验结束后,必须清理实验桌,将实验设备、工具、导线按规定放好,并填写仪器设备使用记录。 六、凡有下列情况之一者,不准做实验: 1.实验开始后迟到10 分钟以上者;

2.实验中不遵守实验室有关规定,不爱护仪器,表现不好而又不服从教育者; 七、实验后,必须认真作好实验报告,在规定时间里必须交给实验指导老师,没交实验报告者,视为缺做一次实验。实验报告要求必须包括: 1.写出设计实验程序; 2.总结实验步骤和实验结果; 八、一次未做实验,本实验课成绩视为不及格。 以上实验规则,请同学们自觉遵守,并互相监督。 实验一单片机监控程序实验(4学时 实验预习要求: 1.按照附3学习使用Keil软件。 2.熟悉键盘和显示器接口及工作原理。 3.根据实验原理,读懂验证实验程序,并写出设计性实验源程序。 4.思考题: (1从附1.2监控程序可以看出:六位数码管显示的数据存放在单片机哪个位置? (2参考图1.1A与监控程序,键盘上若数字键7被按下,单片机怎样判断该键被按下? 一、实验目的 1.掌握8031系统中,键盘和显示器的接口方法。 2.掌握键盘扫描和LED八段码显示器的工作原理。

单片机原理与应用技术实验报告(实验项目:定时器)

*****数学计算机科学系实验报告 专业:计算机科学与技术班级:实验课程:单片机原理与应用技术 姓名:学号:实验室:硬件实验室 同组同学: 实验时间:2013年3月20日指导教师签字:成绩: 实验项目:定时器 一实验目的和要求 定时器0实现1s定时,流水灯显示上的数据每秒加1。 二实验环境 PC机一台,实验仪器一套 三实验步骤及实验记录 1.在pc机上,打开Keil C。 2.在Keil C中,新建一个工程文件,点击“Project->New Project…”菜单。 3.选择工程文件要存放的路径 ,输入工程文件名 M, 最后单击保存。 4. 在弹出的对话框中选择 CPU 厂商及型号。 5.选择好 Atmel 公司的 89c51 后 , 单击确定。 6.在接着出现的对话框中选择“是”。 7.新建一个 C51 文件 , 点击file菜单下的NEW,或单击左上角的 New File快捷键。 8.保存新建的文件,单击SAVE。 9.在出现的对话框中输入保存文件名MAIN.C,再单击“保存”。 10.保存好后把此文件加入到工程中方法如下 : 用鼠标在 Source Group1 上单击右键 , 然后再单击 Add Files to Group ‘Source Group 1'。 11.选择要加入的文件 , 找到 MAIN.C 后 , 单击 Add, 然后单击Close。 12.在编辑框里输入代码如下: #include "reg51.h" //包含头文件 sbit LE1=P2^0; //位选573锁存器使能 sbit LE2=P2^1; //段选573锁存器使能 #define uchar unsigned char #define uint unsigned int

单片机原理实验报告 (格式)

成都工业学院实验报告 评定成绩:评定教师: 课程名称:单片机原理与应用实验类型:验证性 实验项目名称:实验二:基本的输入输出 学生姓名:薛佳伟专业:电子信息工程学号:1603013135 同组学生姓名:谢志宏指导老师:曾一江,袁曦 实验地点:2209 实验日期:2018 年11 月1 日 一、实验目的和要求 进一步熟悉Keil软件的单步和断点的调试方法,熟悉proteus软件的仿真环境,掌握用proteus软件绘制原理图,加载程序进行仿真的基本方法;熟悉片内I/O查询方式输入输出的仿真输出编程方法及无条件指令LJMP与SJMP的应用,完成片内I/O口查询方式输入输出的仿真调试。 二、实验内容和原理 采用查询方式判断SU1开关是否闭合,如果开关闭合,采用循环程序控制方式控制4个灯

轮流点亮,延时方式采用软件延时。 三、主要仪器设备 计算机一台,KEIL仿真软件,Proteus仿真软件,单片机开发板一个。 四、实验步骤 (一)建立设置工程,保存文件 使用keil软件工程建立,输入程序并保存工程SY3.Uv2及SY3.ASM的文件,并对工程进行设置 (二)编译,链接 编译,链接程序,修改编译错误,并生成SY3.HEX文件用于Protues仿真 (三)调用延时程序 将断点设在RET处,设置PC=0100H点击运行,看程序从0100H是否能执行到断点RET 处 (四)调试主程序 1.调试前段程序 调试时,先将“断点”设在LOOP1处,然后按复位按钮使单片机”复位“,程序从0000H 开始执行,看开关为“0”时程序是否停在LOOP1处,若不是,则用单步方式细调。 在调试P0~P3端口时,可选择打开P0~P3口的监视窗口。 2.调试后一段程序 第一步先检查调用指令是否正常。检查调用指令时,将“断点”设在标号DL Y即0100H

单片机原理实验指导书

实验一LED 流水灯 一、实验目的 1. 学习单片机并口的使用方法。 2. 学习延时子程序的编写和使用。 3. 学习集成开发环境MedWin的安装与使用。 4. 学习STC单片机在线下载软件STC-ISP的使用。 二、实验内容 所谓流水灯就是4 个发光二极管(LED)轮流点亮,周而复始。实验板上以P3口作输出口,接有四只发光二极管,当单片机的引脚输出为低电平时发光二极管点亮,为高电平时息灭。编写程序,使4 个发光二极管循环点亮,时间间隔约0.5 秒。 三、实验电路连线 实验板上与本实验有关的硬件如下图所示。4 个LED上串联4 个限流电阻,以防止其电 流过大而烧坏。单片机的主时钟为11.0592MHz。 四、实验说明 1、P3 口是准双向口,它作为输出口时与一般的双向口使用 方法相同。由准双向口结构可知当P1 口用作输入口时必须先对它 置“1”。若不先对它置“1”,读入的数据是不正确的。输出时需 要接上拉电阻,P3 口内部有弱上拉,若将外围电路设计为低有效, 高无效,则无需再外接上拉电阻。 2、为使每次点亮一个LED,应使P3.4~P3.7 4 个端口中有 一个为低,其余均为高,延时一段时间后再点亮另一个LED。 3、编写for 循环构成的软件延时子程序,在MedWin 下模拟 执行,根据MedWin 显示的执行时间,调整循环变量的终值,使延时时间约0.5秒,在晶振频率为11.0592MHz情况下,循环终值约27000。程序如下: void delay(void) { unsigned int i,j,k,l; for(i=0;i<=27000;i++) {j++; k++;l++;}; } #include void main (void) { unsigned char i,c[4] = {0xef,0xdf,0xbf,0x7f};// 从左往右流水 i = 0; while(1) { P3 = c[i & 3]; i++; 11 delay(); } } 五、思考 1、如何使点亮的LED 从右往左移动? 2、如何使点亮的LED 从两边往中间移动?

《单片机原理及应用》实验报告

《单片机原理及应用》 实验报告 2017/2018 学年第1 学期 系别计算机学院 专业软件工程 班级17软件工程班 姓名XXXXXX 学号8888888888 授课老师******

实验一:流水灯实验 1.实验目的 (1)学习编译和仿真环境使用 (2)学习P3口的使用方法 (3)学习延时子程序的编写 2实验内容 (1)通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的接口;(2)通过改变并行口输出电平控制LED灯的点亮与否,通过延时程序控制亮灯时间。 3.实验运行结果图 4.源代码 //流水灯实验 #include //包含单片机寄存器的头文件 sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机 //的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的

操作 /**************************************** 函数功能:延时一段时间 *****************************************/ void delay(void) { unsigned char i,j; for(i=0;i<255i++) for(j=0;j<255j++) ; //利用循环等待若干机器周期,从而延时一段时间 } /***************************************** 函数功能:主函数 ******************************************/ void main(void) { while(1) { x=0xfe; //第一个灯亮 delay(); //调用延时函数 x=0xfd; //第二个灯亮 delay(); //调用延时函数 x=0xfb; //第三个灯亮 delay(); //调用延时函数 x=0xf7; //第四个灯亮 delay(); //调用延时函数 x=0xef; //第五个灯亮 delay(); //调用延时函数 x=0xdf; //第六个灯亮

单片机原理及应用课程标准

《单片机原理及应用》课程标准 课程名称:《单片机原理及应用》 课程类型:专业基础课 总学时:100 适应专业:电子类专业 制订人:段安红 2010年6月

《单片机原理及应用》课程标准 课程名称:《单片机原理及应用》 课程类型:专业基础课 总学时: 适应专业:电子类专业 一、课程概述 1.课程性质 单片机技术是现代电子工程领域一门飞速发展的技术,其在教学及产业界的技术推广仍然是当今科学技术发展的热点,学习单片机并掌握其设计应用技术已经成为电子类学生必须掌握的一门技术,也是现代工科学生的一个基本条件。 《单片机原理及应用》是应用电子技术的一门专业基础课。它以模拟电子技术、数字电子技术、C语言或汇编语言等课程为基础。它可以充分体现学生利用自己所掌握的知识解决实际工程问题的能力。 通过本课程的学习,使学生掌握单片机技术及其在工业控制和日常生活中的应用,培训学生实践能力、创新能力和新产品设计开发能力,为将来从事电子电器新产品设计开发,电子产品的检测和维护等工作奠定坚实的基础,为学生将来在电子类专业领域进一步发展打下良好基础。 2.课程基本理念 本课程的设计突破了学科体系模式,打破了原来各学科体系的框架,将学科的内容按“项目”进行整合。本课程的“项目”包含了单片机就用技术的四个项目,每个项目均由若干个具体的典型工作任务组成,每个任务均将相关知识和实践过程有机结合,力求体现“做中学”,“学中做”的教学理念;本课程内容的选择上降低理论重心,突出实际应用,注重培养学生的应用能力和解问题的实际工作能力。 3.课程设计思路 本课程标准注重培养分析问题、解决问题的能力、强化学生动手实践能力,遵循学生认知规律,紧密结合应用电子专业的发展需要,为将来从事应用电子产品的设计、检测奠定坚实的基础。将本课程的教学活动分析设计成若干项目或工作情景,以项目为单位组织教学、并以典型设备为载体,通过具体案例,按单片机项目实施的顺序逐步展开,让学生在掌握技能的同时,引出相关专业理论知识,使学生在技术训练过程中加深对专业知识、技能的理解和应用、培养学生的综合职业能力,满足学生职业生涯发展的需要。

单片机原理实验报告(详细)

湖南城市学院 实验报告 2018-2019 学年上学期 姓名:*** 班级学号:****** 实验课程:单片机原理及应用 实验室名称:电子工程实验室 湖南城市学院信息与电子工程学院实验中心印制

实验项目名称:实验一指示灯和开关控制器实验 一、实验目的及要求 1、学习51单片机I/O基本输入/输出功能,掌握汇编语言的编程与调试方法; 2、熟悉proteus软件,了解软件的结构组成与功能; 3、学会在ISIS模块中进行汇编程序录入、编译和调试; 4、理解单片机程序控制原理,实现指示灯/开关控制器的预期功能。 二、实验原理 实验电路原理图如图1所示,图中输入电路由外接在P3口的8只拨动开关组成;输出电路由外接在P2口的8只低电平驱动的发光二极管组成。此外,还包括时钟电路、复位电路和片选电路。 图1 实验原理图

在编程软件的配合下,要求实现如下指示灯/开关控制功能:程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的灯亮状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。软件编程原理为:(1)8只发光二极管整体闪烁3次 亮灯:向P2口送入数值0; 灭灯:向P2口送入数值0FFH; 闪烁3次:循环3次; 闪烁快慢:由软件延时时间决定。 (2)根据开关状态控制灯亮或灯灭 开关控制灯:将P3口(即开关状态)内容送入P2口; 无限持续:无条件循环。 程序流程图如图2所示。 图2 实验程序流程图

三、实验仪器设备及装置 (1)硬件:电脑一台; (2)仿真软件:Proteus; (3)编程软件Keil uVision4。 其中,仿真软件ISIS元件清单如表1所示。 表1 仿真软件ISIS元件清单 四、实验内容和步骤 (一)实验内容: (1)熟悉ISIS模块的汇编程序编辑、编译与调试过程; (2)完成实验的汇编语言的设计与编译; (3)练习ISIS汇编程序调试方法,并最终实现实验的预期功能。 (二)实验步骤: (1)提前阅读与实验相关的阅读材料; (2)参考指示灯/开关控制器的原理图和实验的元件清单,在ISIS中完成电路原理的绘制; (3)参考程序流程图在Keil uVision4中编写和编译汇编语言程序; (4)利用ISIS的汇编调试功能检查程序的语法和逻辑错误; (5)观察仿真结果,检验与电路的正确性。

单片机原理与应用实验指导书(学生部分)(2009.4修订)

单片机原理与应用实验指导书 2009年5月

第一章实验箱系统概述一、系统地址分配 (1),存贮器地址分配 (2),I/O地址分配 二、系统接口定义 (1),CZ11:用户实验通讯接口; (2),CZ4:打印接口;

(3),JX0,JX17为系统提供的数据总线接口 (4),CZ7:系统提供的扩展接口; (5),JX12、JX14:液晶显示接口 三、通用电路简介 (1)LED发光二极管指示电路:实验台上包括16只发光二极管及相应驱动电路。见图1-1,Ll—L16为相应发光二极管驱动信号输入端, 该输入端为低电平 “0”时发光二极管亮

图1-6 (2)逻辑电平开关电路:见图1-2。实验台上有8只开关Kl-K8, 与之相对应的K1-K8个引线孔为逻辑电平输出端。开关向上拨相应插孔输出高电平“l”, 向下拨相应插孔输出低电平“0”。 图1-7 (3)单脉冲电路:实验台上单脉冲产生电路如图1-3,标有“”和“”的两个引线插孔为正负单脉冲输出端。附近按钮AN为单脉冲产生按钮,每按一次产生一个单脉冲。 图1-8

(4)分频电路:该电路由一片74LS393组成,见图1-4。T0—T7为分频输出插孔。 该计数器在加电时由RESET信号清零。当脉冲输入为8.0MHZ时,T0—T7输出脉 冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。 图1-9 (5)脉冲发生电路:实验台上提供一8MHZ的脉冲源,见图1-5,实验台上标有8MHZ 的插孔,即为脉冲的输出端。 图1-10 (6)485接口电路: 图1-11

EMC系列单片机原理及应用技术

第一章 EM78系列单片机简介 台湾义隆公司推出的八位EM78系列单片机已有多年,并广泛应用在家用电器、工业控制、仪器等方面,其优良的单片机结构和性能为用户所认同,但与AT89系列、PIC系列、Z86系列、GMS97系列等单片机比较而言,EM78系列单片机进入内地市场稍晚一些,所以一般人并不太了解。本章将对EM78系列单片机的主要特点作一个概述,供大家参考(以EM78X56为例)。 第一章一、先进的单片机结构 EM78系列单片机将众多功能集于一身,这其中包括ALU、ROM、RAM、I/O、堆栈、中断控制器、定时/计数器、看门狗、电压检测器、复位电路、振荡电路等,成为真正意义上的单片机小系统。 第二章二、优越的数据处理性能 EM78系列单片机采用RISC结构设计、单周期、单字节及流水线指令、五级堆栈、RAM 数量从32~157个,最短指令周期100ns,程序页面为1K(多至4页),与其它一些单片机相比,EM78系列单片机具有更高、更快的运行处理速度。 第三章三、强大的单片机新功能 这包括: ①①三个中断源:定时器中断、I/O唤醒中断、外部信号输入中断 ②②R-OPTION功能:如果用户程序有几个版本,希望能放在同一ROM内,则通过 R-OPTION功能便可实现此想法,R-OPTION功能设置是在相关I/O上上拉或下拉电阻,通过判断相关I/O的状态来选择执行内部何种版本程序。 ③③内置电压检测器:当电源电压掉在一额定值以下时单片机始终处于复位状态,以此提 高系统的复位性能。 ④④低功耗设计:正常工作电流2mA、休眠状态电流1μA ⑤⑤多功能I/O口:可程序设置为I/O上拉、下拉、开路等方式 ⑥⑥I/O唤醒功能:通过I/O变化唤醒处于休眠状态的单片机 ⑦⑦内置看门狗定时器:提高单片机抗干扰能力 第四章四、灵活的功能选择设计 通过软件分别设置: ①①指令周期的时钟周期数(2/4) ②②特殊指令的指令周期数(1/2) ③③振荡方式(内部RC、外部RC 、XTAL低频、XTAL高频等) ④④R-OPTION功能开/关 ⑤⑤WDT开/关 第五章五、通俗易懂的指令系统

2012单片机原理及应用实验指导书

《单片机原理与应用》 实验指导书 青岛科技大学信息学院

实验一简单程序设计 一、实验目的 1.熟悉实验环境 2.掌握基本指令的使用方法 3.掌握RAM的操作方法 二、预习知识 1. MCS-51存储器组织 2. 简单指令 3. QTH单片机实验仪和模拟调试器集成开发环境 三、实验设备与环境 1.硬件:QTH单片机实验仪 2.软件:QTH模拟调试器集成开发环境 四、实验内容 1. 设从片内30H和32H开始分别存放两个16位无符号二进制数(低8位在低地址,高8位在高地址),完成两个数相加的程序,并将结果放入34H开始的单元。将1122H和3344H分别送入RAM单元,观察结果和CY标志;再分别将8899H和AABBH放入RAM单元,再观察结果和CY标志。 2.将30H单元内的2个BCD数相乘,乘积为BCD数,并把乘积送入31H单元。 3.实现将无符号数扩大6倍,设扩大6倍后的值不超过255。 4.内部RAM从30H开始的连续10个单元存放着10个无符号数,写一段程序将此十个数按增序列排序 5. 以上编写的程序,进行单步执行,观察相应专用寄存器、RAM空间(包括工作寄存器区、位寻址区、用户RAM区)数据的变化情况以及程序存储器的指令代码。 6. 验证堆栈操作的步骤: PUSH direct:①(SP)←(SP)+1, ②direct地址单元的内容压入SP指向的单元。 POP direct:①SP指向的单元内容弹出到以direct为地址的单元, ②(SP)←(SP)-1。 7. 调试上课所讲的例题。 五、实验要求 掌握程序的设计、调试并保证其正确运行;认真完成实验报告。 六、实验报告1、实验目的2、实验内容3、实验采用的器件和连线4、实验结果和现象5、实验过程分析6、实验总结

相关主题
文本预览
相关文档 最新文档