单片机应用系统实验Word文档下载推荐.docx
《单片机应用系统实验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机应用系统实验Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
![单片机应用系统实验Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-10/9/8ebe0cbc-8f26-426e-883e-2bc48d759caa/8ebe0cbc-8f26-426e-883e-2bc48d759caa1.gif)
==============================================================
文件名称:
功能描述:
BCD整数转换为二进制整数(8位,范围从00H--FFH)
ORG0000H
LJMPMAIN
ORG0100H
MAIN:
MOVR0,#20H;
BCD存放高位地址
MOVR7,#03H;
BCD码0--255,最多3位
CLRA
MOVR4,A
LP1:
MOVA,R4
MOVB,#0AH
MULAB;
乘10
ADDA,@R0;
加下一位的值
INCR0;
指向下一单元
MOVR4,A;
结果存入R4
DJNZR7,LP1;
转换未结束则继续
SJMPMAIN;
设置断点,观察实验结果R4中的内容
END
2.将16位二进制整数存入R3R4寄存器中,转换为十进制整数,以组合BCD形式存储在RAM的20H、21H、22H单元中。
=============================================================
二进制整数(16位)转换为十进制整数(组合BCD)
0--FFFFH(R3R4)==>
0--65535
MOVR0,#22H;
转换结果低位地址
MOVA,R0
PUSHACC;
ACC表示累加器A的直接地址
MOVR7,#03H
MOV@R0,A;
结果存储地址清零
DECR0
DJNZR7,LP1
POPACC
MOVR0,A
MOVR7,#16
LP2:
PUSHACC
CLRC
MOVA,R4;
R4中为二进制数的低位
RLCA
MOVA,R3;
R3中为二进制数的高位
MOVR3,A
MOVB,#03H
LP3:
MOVA,@R0
ADDCA,@R0;
执行乘2操作
DAA;
十进制调整
MOV@R0,A;
结果保存
DJNZB,LP3
DJNZR7,LP2
LJMPMAIN;
设置断点观察结果,可进行下一次转换
3.通过查表的方法将16进制数转换为ASCII码;
查表程序设计,将十六进制数0~F通过查表的方法
转换为ASCII码
MOVDPTR,#ASCTAB;
表格首地址送DPTR
MOVA,R7;
R7中为待转换的数
ANLA,#0FH;
取低4位
MOVCA,@A+DPTR;
查表
MOVR5,A;
低4位转换结果送R1
MOVA,R7
ANLA,#0F0H;
取待转换数的高4位
SWAPA;
高4位与低4位交换
MOVR6,A;
高4位转换结果送R2
设置断点观察结果
ASCTAB:
DB30H,31H,32H,33H,34H
DB35H,36H,37H,38H,39H
DB41H,42H,43H,44H,45H,46H
4.通过查表的方法实现y=x2,其中x为0~9的十进制数,以BCD码表示,结果仍以BCD码形式输出。
查表程序,用程序实现Y=X*X,X为0到9的十进制数,
用BCD码(00H到09H)表示,将X的平方,即Y也以BCD码
的形式保存到R1中.
MOVDPTR,#SQR;
取表格首地址
要计算的值
SJMPMAIN
SQR:
DB00H,01H,04H,09H,16H
DB25H,36H,49H,64H,81H
实验二片内I/O口及中断应用实验
了解P1口作为输入输出方式使用时,CPU对P1口的操作方式。
了解MCS-51单片机的中断原理,掌握中断程序的设计方法。
PC机一台,TD-NMC+教学实验系统,连接线若干
⑴ 按实验内容要求完成硬件连线;
⑵ 编写实验程序,经编译、链接无误后,启动调试功能;
⑶ 观察实验现象,并分析原因;
⑷ 按复位键退出调试状态。
1.片内I/O口应用实验
P1口是8位准双向口,每一位均可独立定义为输入输出。
编写实验程序,将P1口的低4位定义为输出,高4位定义为输入,数字量从P1口的高4位输入,从P1口的低4位输出控制发光二极管的亮灭。
============================================================
文件名:
功能说明:
数字量输入输出实验,P1口高4位输入,低4位输出
LJMPSTART
START:
ORLP1,#0F0H;
P1口高四位为输入
MOVA,P1;
读P1口的值
A中高,低4位交换
MOVP1,A;
输出到P1口
SJMPSTART
2.片内中断系统实验
⑴定时器中断
单片机集成的定时器可以产生定时中断,利用定时器0和定时器1,编写实验程序在及引脚上输出方波信号,通过示波器观察实验现象并测量波形周期。
改变计数值,重新运行程序,反复验证程序功能。
================================================================
采用定时器的中断,在与引脚上输出周期波形.
ORG0000H
LJMPSTART
ORG000BH
LJMPTIMER0
ORG001BH
LJMPTIMER1
ORG0100H
MOVP1,#0FFH
MOVTH0,#0F8H;
初始化定时器0计数初值
MOVTL0,#00H
MOVTH1,#0F8H;
初始化定时器1计数初值
MOVTL1,#00H
MOVTMOD,#11H;
设置定时器工作模式为方式1
MOVTCON,#50H;
启动定时器
MOVIE,#8AH;
使能中断
SJMP$
TIMER0:
CPL;
定时器0中断服务程序,对引脚取反
重新装入计数初值
RETI;
中断返回
TIMER1:
定时器1中断服务程序
MOVTH1,#0F8H
RETI
END
⑵外部中断
手动扩展外部中断INT0、INT1,当INT0产生中断时,使LED8亮8灭闪烁4次;
当INT1产生中断时,使LED由右向左流水显示,一次亮两个,循环4次。
先按KK1-,观察实验现象,然后按KK2-,观察实验现象。
51单片机加入了中断系统,从而提高了CPU对外部事件的处理能力和响应速度。
增强型单片机SST89E554RC共有8个中断源,即外部中断0(INT0)、定时器0(T0)、外部中断1(INT1)、定时器1(T1)、串行中断(TI和RI)、定时器2(T2)、PCA中断和Brown-out中断。
======================================================================
外部中断INT0,INT1操作.
外部中断0:
使发光二极管闪烁4次.
外部中断1:
使发光二极管由右向左流水显示,一次亮两个LED.
ORG0003H
LJMPEINT0
ORG0013H
LJMPEINT1
MOVP1,#00H
SETBIT0;
定义外部中断0为边沿触发
SETBEX0;
使能外部中断0
SETBIT1