2024年2月1日发(作者:)
Keil创建一个汇编程序的步骤
1、 在C盘新建文件夹“实验一”,启动Keil
2、 建立一个新工程,单击Project菜单,在弹出的下拉菜单中选中New Project选项,如图1-1所示。
图1-1
3、 然后选择你要保存的路径“C:/ 实验一”,输入工程文件的名字“实验一”,然后点击保存。
4、 这时会弹出一个对话框,要求你选择单片机的型号,这里选择Atmel 89C51,如图1-2所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定。完成后,屏幕如图1-3所示。
图1-2
图1-3
5、 在图1-3中,单击“File”菜单,再在下拉菜单中单击“New”选项。新建文件后屏幕如图1-4所示。
图1-4
6、 此时光标在编辑窗口里闪烁,这时可以键入应用程序了,建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如1-5图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名如”Text
”,然后,单击“保存”按钮。
图1-5
7、 回到编辑界面后,单击“Target 1”前面的“+”号,然后在“Source Group 1”上单击右键,并单击“Add File to Group ‘Source Group 1’”选项,在出现的对话框1-6中选中“”,此时出现对话框如图1-7所示,在Type选择栏中选择第二项“Assembly Language File”,确定文件类型为汇编语言。
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变化,写出程序运行结果。
ORG 0000H;
LJMP MAIN
MAIN: MOV 50H,#0BEH
MOV 51H,#99H
MOV R1, #50H;通用寄存器验证
MOV A, @R1
INC R1
ADD A, @R1
INC R1
MOV @R1, A
CLR A
ADDC A, #0
INC R1
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输出高电平,给程序添加注释。
P1.0 P1.1 P1.2 MCU P1.3 P1.4 P1.5 P1.6 P1.72001K
图2.1 电路原理图
ORG 0000H
LJMP Main
ORG 0100H
Main: SETB P1.7 ; ______________________
JB ___ , SETLED ;按键没有按下时,跳转到SETLED
CLRLED: MOV R0,#0FFH
DJNZ R0,$ ;按键去抖
JB P1.7,SETLED; ______________________
ANL P1, ___; P1.0-P1.6输出低电平,点亮LED
SJMP Main
SETLED: MOV P1,______ ;令LED 熄灭,试用其它语句实现该功能
______ ________ ;跳转主程序
END
五、预习要求
1.例程分析补充。
2.完成预习报告。
六、实验报告要求
1.把程序和注释补充完整,并写出运行中的观察体会。
实验二 接口实验(开关量输出实验)
一、 实验目的
了解和掌握开关量输出通道的工作原理和方法。
二、 实验设备(仪器)
1.计算机
2.Keil软件
三、 实验内容
利用单片机产生PWM信号,其中占空比由外部拨码开关控制
四、 实验步骤
1.双击AT89C52将KEIL软件生成加载。(也可自己编写软件,生成HEX文件)
2.运行程序,调整PWM信号占空比,观察运行结果。
五、 预习要求
预习测控通道内容,熟悉Proteus软件。
六、 实验报告要求
按上述要求完成全部实验内容并做相应记录。
电路图为:(软件参考教材P47)
参考程序:
ORG 000H
AJMP MAIN
MAIN: MOV R7,#06H
MOV R5,#0
MOV A,R5
LOOP: JNB P1.6,POS
AJMP LOOP
POS: MOV DPTR,#TABLE1
LOOP1: MOVC A,@A+DPTR
MOV P2,A
ACALL DELAY
INC R5
MOV A,R5
DJNZ R7,LOOP1
AJMP MAIN
DELAY: MOV R3,#255
DEL1: MOV R4,#255
DEL2: NOP
DJNZ R4,DEL2
DJNZ R3,DEL1
RET
TABLE1: DB 0F1H,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:MOV R1,#data ;置数据区首地址
MOV DPTR,#7FF8H ;P2.7=0,且指向通道0
MOV R7,#08H ;置通道数
LOOP:MOVX @DPTR,A ;启动A/D转换
MOV R6,#0AH ;软件延时
DELAY:NOP
NOP
NOP
NOP
NOP
DJNZ
MOVX
MOV
INC
INC
DJNZ
R6,DELAY
A,@DPTR
,A
DPTR
R1
R7,LOOP
;读取转换结果
;指向下一个通道
;修改数据区指针
;8个通道全采样完了没?
@R1 ;存储数据
实验四 数据处理实验
一、 实验目的
了解和掌握测控系统中的人-机接口和通信接口的基本工作原理,理解在控制中接口电路软件与硬件的关系。
二、 实验设备
计算机
三、 实验内容
编程实现非线性校正,分析下面程序,查找错误,加以改正,并将其补充完整。
1).查表法公式:
z=Yi+(Yi+1—Yi)/ (Xi+1—Xi)*(X—Xi)≈Y
2).插值法—等距节点分段直线校正法:设采样结果在表DATATable中(8位),等分四段,a1i和a0i在KABTAB开始的单元中,单字节。a0i为整数,a1i为小于0的小数,校正结果存在R2,R3中,部分程序如下:
LINE:
MOV A,R2 ;求段号
MOV B,A ;Xi暂存B
ANL A,#11000000B ;求段号
SWAP A
RR A
RR A
ADD A,A
MOV R7,A
ADD A,#0EH
MOVC A,@A+PC ;取ai0
MOV R3,A
MOV A,R7
ADD A,#0AH
MOVC A,@A+PC ;取ai1
MUL AB
MOV A,B
ADD A,R3 ;a1i*Xi+a0i
MOV R3,A
CLR A
ADDC A,#00H
MOV R2,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. 根据限幅滤波、中位值滤波和低通滤波编写汇编程序实现数字滤波,并进行程序调试。
五、 预习要求
按照实验内容和步骤的安排,详细写出预习报告。
六、 实验报告要求
按上述要求完成全部实验内容并做相应记录,包括所选择的非线性校正和滤波的方法,调试通过的程序要进行详细注释。
发布者:admin,转转请注明出处:http://www.yc00.com/news/1706748291a1463812.html
评论列表(0条)