Keil创建一个汇编程序的步骤Word格式.docx
《Keil创建一个汇编程序的步骤Word格式.docx》由会员分享,可在线阅读,更多相关《Keil创建一个汇编程序的步骤Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
实验一汇编语言实验
一、实验目的
1.利用单片机的P1口作I/O口,掌握P1口同时作为输入和输出的用法。
2.掌握汇编语言程序编写方法。
二、实验设备(仪器)
PC微机一台,Keil软件
三、实验内容
1.寻址方式实验。
2.单片机I/O口实验。
输入并完善实验例程,进行Keil仿真功能调试。
四、实验步骤
掌握汇编编写步骤、ORG指令定位的验证,调试状态下观察ROM代码16进制显示、RAM变化,写出程序运行结果。
ORG0000H;
LJMPMAIN
MAIN:
MOV50H,#0BEH
MOV51H,#99H
MOVR1,#50H;
通用寄存器验证
MOVA,@R1
INCR1
ADDA,@R1
MOV@R1,A
CLRA
ADDCA,#0
END
2.依据电路图,对以下程序补充并进行调试,完成下述功能:
P1.0-P1.6作为输出,控制7位LED。
P1.7口作为输入,当P1.7按下时,P1.0-P1.6输出低电平;
当P1.7没有按下时,P1.0-P1.6输出高电平,给程序添加注释。
图2.1电路原理图
ORG0000H
LJMPMain
ORG0100H
Main:
SETBP1.7;
______________________
JB___,SETLED;
按键没有按下时,跳转到SETLED
CLRLED:
MOVR0,#0FFH
DJNZR0,$;
按键去抖
JBP1.7,SETLED;
ANLP1,___;
P1.0-P1.6输出低电平,点亮LED
SJMPMain
SETLED:
MOVP1,______;
令LED熄灭,试用其它语句实现该功能
______________;
跳转主程序
五、预习要求
1.例程分析补充。
2.完成预习报告。
六、实验报告要求
1.把程序和注释补充完整,并写出运行中的观察体会。
实验二接口实验(开关量输出实验)
一、实验目的
了解和掌握开关量输出通道的工作原理和方法。
二、实验设备(仪器)
1.计算机
2.Keil软件
三、实验内容
利用单片机产生PWM信号,其中占空比由外部拨码开关控制
四、实验步骤
1.双击AT89C52将KEIL软件生成PWM.HEX加载。
(也可自己编写软件,生成HEX文件)
2.运行程序,调整PWM信号占空比,观察运行结果。
五、预习要求
预习测控通道内容,熟悉Proteus软件。
六、实验报告要求
按上述要求完成全部实验内容并做相应记录。
电路图为:
(软件参考教材P47)
参考程序:
ORG000H
AJMPMAIN
MOVR7,#06H
MOVR5,#0
MOVA,R5
LOOP:
JNBP1.6,POS
AJMPLOOP
POS:
MOVDPTR,#TABLE1
LOOP1:
MOVCA,@A+DPTR
MOVP2,A
ACALLDELAY
INCR5
DJNZR7,LOOP1
AJMPMAIN
DELAY:
MOVR3,#255
DEL1:
MOVR4,#255
DEL2:
NOP
DJNZR4,DEL2
DJNZR3,DEL1
RET
TABLE1:
DB0F1H,0F3H,0F2H,0F6H,0F4H,0F5H
实验三A/D实验(四课时)
1.实验目的
了解和掌握ADC0809工作原理及应用
2.实验设备(仪器)
2.Proteus软件
3.实验内容
学习单片机采用非复用接口方式采集ADC0809通道5的数据,通道5的数据由电位器提供
4.实验步骤
1.根据实验内容在Protues软件中选择合适电路芯片进行电路连接。
2.完善程序,使用KEIL软件编写,生成HEX文件,然后双击AT89C52将HEX文件加载。
3.运行程序,观察运行结果。
5.预习要求
熟悉Proteus软件,预习单片机及数码显示内容,。
6.实验报告要求
参考程序
MAIN:
MOVR1,#data;
置数据区首地址
MOVDPTR,#7FF8H;
P2.7=0,且指向通道0
MOVR7,#08H;
置通道数
LOOP:
MOVX@DPTR,A;
启动A/D转换
MOVR6,#0AH;
软件延时
DELAY:
NOP
DJNZR6,DELAY
MOVXA,@DPTR;
读取转换结果
MOV@R1,A;
存储数据
INCDPTR;
指向下一个通道
INCR1;
修改数据区指针
DJNZR7,LOOP;
8个通道全采样完了没?
实验四数据处理实验
了解和掌握测控系统中的人-机接口和通信接口的基本工作原理,理解在控制中接口电路软件与硬件的关系。
二、实验设备
计算机
编程实现非线性校正,分析下面程序,查找错误,加以改正,并将其补充完整。
1).查表法公式:
z=Yi+(Yi+1—Yi)/(Xi+1—Xi)*(X—Xi)≈Y
2).插值法—等距节点分段直线校正法:
设采样结果在表DATATable中(8位),等分四段,a1i和a0i在KABTAB开始的单元中,单字节。
a0i为整数,a1i为小于0的小数,校正结果存在R2,R3中,部分程序如下:
LINE:
MOVA,R2;
求段号
MOVB,A;
Xi暂存B
ANLA,#11000000B;
SWAPA
RRA
ADDA,A
MOVR7,A
ADDA,#0EH
MOVCA,@A+PC;
取ai0
MOVR3,A
MOVA,R7
ADDA,#0AH
取ai1
MULAB
MOVA,B
ADDA,R3;
a1i*Xi+a0i
CLRA
ADDCA,#00H
MOVR2,A
BKTAB:
DB;
1,0.2,2,0.5,5,0.3,4,0.1
DATATable:
DB;
2,16,34,57,60,13
END
1.根据查表法、插值法编写程序实现非线性校正,并进行程序调试。
2.根据限幅滤波、中位值滤波和低通滤波编写汇编程序实现数字滤波,并进行程序调试。
按照实验内容和步骤的安排,详细写出预习报告。
按上述要求完成全部实验内容并做相应记录,包括所选择的非线性校正和滤波的方法,调试通过的程序要进行详细注释。