Keil创建一个汇编程序的步骤学习资料.docx
《Keil创建一个汇编程序的步骤学习资料.docx》由会员分享,可在线阅读,更多相关《Keil创建一个汇编程序的步骤学习资料.docx(14页珍藏版)》请在冰豆网上搜索。
Keil创建一个汇编程序的步骤学习资料
Keil创建一个汇编程序的步骤
Keil创建一个汇编程序的步骤
1、在C盘新建文件夹“实验一”,启动Keil
2、建立一个新工程,单击Project菜单,在弹出的下拉菜单中选中NewProject选项,如图1-1所示。
图1-1
3、然后选择你要保存的路径“C:
/实验一”,输入工程文件的名字“实验一”,然后点击保存。
4、这时会弹出一个对话框,要求你选择单片机的型号,这里选择Atmel89C51,如图1-2所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定。
完成后,屏幕如图1-3所示。
图1-2
图1-3
5、在图1-3中,单击“File”菜单,再在下拉菜单中单击“New”选项。
新建文件后屏幕如图1-4所示。
图1-4
6、此时光标在编辑窗口里闪烁,这时可以键入应用程序了,建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“SaveAs”选项单击,屏幕如1-5图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名如”Text1.asm”,然后,单击“保存”按钮。
图1-5
7、回到编辑界面后,单击“Target1”前面的“+”号,然后在“SourceGroup1”上单击右键,并单击“AddFiletoGroup‘SourceGroup1’”选项,在出现的对话框1-6中选中“Text1.asm”,此时出现对话框如图1-7所示,在Type选择栏中选择第二项“AssemblyLanguageFile”,确定文件类型为汇编语言。
8、然后得到如图1-8所示的操作界面,注意比对左侧编辑框项目是否和图1-8一致,下面可以在右侧空白栏中编写汇编程序了。
图1-6
图1-7
图1-8
实验一汇编语言实验
一、实验目的
1.利用单片机的P1口作I/O口,掌握P1口同时作为输入和输出的用法。
2.掌握汇编语言程序编写方法。
二、实验设备(仪器)
PC微机一台,Keil软件
三、实验内容
1.寻址方式实验。
2.单片机I/O口实验。
输入并完善实验例程,进行Keil仿真功能调试。
四、实验步骤
1.寻址方式实验。
掌握汇编编写步骤、ORG指令定位的验证,调试状态下观察ROM代码16进制显示、RAM变化,写出程序运行结果。
ORG0000H;
LJMPMAIN
MAIN:
MOV50H,#0BEH
MOV51H,#99H
MOVR1,#50H;通用寄存器验证
MOVA,@R1
INCR1
ADDA,@R1
INCR1
MOV@R1,A
CLRA
ADDCA,#0
INCR1
MOV@R1,A
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熄灭,试用其它语句实现该功能
______________;跳转主程序
END
五、预习要求
1.例程分析补充。
2.完成预习报告。
六、实验报告要求
1.把程序和注释补充完整,并写出运行中的观察体会。
实验二接口实验(开关量输出实验)
一、实验目的
了解和掌握开关量输出通道的工作原理和方法。
二、实验设备(仪器)
1.计算机
2.Keil软件
三、实验内容
利用单片机产生PWM信号,其中占空比由外部拨码开关控制
四、实验步骤
1.双击AT89C52将KEIL软件生成PWM.HEX加载。
(也可自己编写软件,生成HEX文件)
2.运行程序,调整PWM信号占空比,观察运行结果。
五、预习要求
预习测控通道内容,熟悉Proteus软件。
六、实验报告要求
按上述要求完成全部实验内容并做相应记录。
电路图为:
(软件参考教材P47)
参考程序:
ORG000H
AJMPMAIN
MAIN:
MOVR7,#06H
MOVR5,#0
MOVA,R5
LOOP:
JNBP1.6,POS
AJMPLOOP
POS:
MOVDPTR,#TABLE1
LOOP1:
MOVCA,@A+DPTR
MOVP2,A
ACALLDELAY
INCR5
MOVA,R5
DJNZR7,LOOP1
AJMPMAIN
DELAY:
MOVR3,#255
DEL1:
MOVR4,#255
DEL2:
NOP
DJNZR4,DEL2
DJNZR3,DEL1
RET
TABLE1:
DB0F1H,0F3H,0F2H,0F6H,0F4H,0F5H
END
实验三A/D实验(四课时)
1.实验目的
了解和掌握ADC0809工作原理及应用
2.实验设备(仪器)
1.计算机
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
NOP
NOP
NOP
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
RRA
ADDA,A
MOVR7,A
ADDA,#0EH
MOVCA,@A+PC;取ai0
MOVR3,A
MOVA,R7
ADDA,#0AH
MOVCA,@A+PC;取ai1
MULAB
MOVA,B
ADDA,R3;a1i*Xi+a0i
MOVR3,A
CLRA
ADDCA,#00H
MOVR2,A
RET
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.根据限幅滤波、中位值滤波和低通滤波编写汇编程序实现数字滤波,并进行程序调试。
五、预习要求
按照实验内容和步骤的安排,详细写出预习报告。
六、实验报告要求
按上述要求完成全部实验内容并做相应记录,包括所选择的非线性校正和滤波的方法,调试通过的程序要进行详细注释。