1、Keil 创建一个汇编程序的步骤 1、 在 C 盘新建文件夹“实验一” ,启动 Keil 2、 建立一个新工程,单击 Project 菜单,在弹出的下拉菜单中选中 New Project 选项,如图 11 所示。 图 11 3、 然后选择你要保存的路径“C:/ 实验一”,输入工程文件的名字“实验一”,然 后点击保存。 4、 这时会弹出一个对话框,要求你选择单片机的型号,这里选择 Atmel 89C51,如图 12 所示,选择 89C51 之后,右边栏是对这个单片机的基本的说明,然后点击确 定。完成后,屏幕如图 13 所示。 图 12 图 13 5、 在图 13 中,单击“File”菜单,再在下
2、拉菜单中单击 “New”选项。新建 文件后屏幕如图 14 所示。 图 14 6、 此时光标在编辑窗口里闪烁,这时可以键入应用程序了,建议首先保存该空 白的文件,单击菜单上的“File” ,在下拉菜单中选中 “Save As”选项单击, 屏幕如 15 图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名 如”Text 1.asm”,然后,单击“保存”按钮。 图 15 7、 回到编辑界面后,单击“Target 1”前面的“”号,然后在“Source Group 1”上单击右键,并单击“Add File to Group Source Group 1”选项,在 出现的对话框 16 中选中“Tex
3、t1.asm” ,此时出现对话框如图 17 所示, 在 Type 选择栏中选择第二项“Assembly Language File”,确定文件类型为汇 编语言。 8、 然后得到如图 18 所示的操作界面,注意比对左侧编辑框项目是否和图 18 一致,下面可以在右侧空白栏中编写汇编程序了。 图 16 图 17 图 18 实验一 汇编语言实验 一、实验目的 1利用单片机的P1 口作I/O 口,掌握P1 口同时作为输入和输出的用法。 2掌握汇编语言程序编写方法。 二、实验设备(仪器) PC 微机一台,Keil软件 三、实验内容 1寻址方式实验。 2. 单片机I/O口实验。输入并完善实验例程,进行Kei
4、l仿真功能调试。 四、实验步骤 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 口作为输入,
5、当P1.7按下时,P1.0-P1.6输出低电平;当P1.7 没有按下时,P1.0-P1.6输 出高电平,给程序添加注释。 P 1 . 0 P 1 . 1 P 1 . 2 M C U P 1 . 3 P 1 . 4 P 1 . 5 P 1 . 6 P 1 . 7 1 K 2 0 0 图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, _;
6、 P1.0-P1.6输出低电平,点亮LED SJMP Main SETLED: MOV P1,_ ;令LED 熄灭,试用其它语句实现该功能 _ _ ;跳转主程序 END 五、预习要求 1例程分析补充。 2完成预习报告。 六、实验报告要求 1把程序和注释补充完整,并写出运行中的观察体会。 实验二 接口实验(开关量输出实验) 一、 实验目的 了解和掌握开关量输出通道的工作原理和方法。 二、 实验设备(仪器) 1计算机 2Keil 软件 三、 实验内容 利用单片机产生 PWM 信号,其中占空比由外部拨码开关控制 四、 实验步骤 1双击 AT89C52 将 KEIL 软件生成 PWM.HEX 加载。
7、(也可自己编写软件,生成 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
8、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计算机 2Proteus 软件 3. 实验内容 学习单片机采用非复用接口方式采集 ADC0809 通道 5 的数据,通道 5 的数 据由电位器提供 4. 实验步骤 1. 根据实验内容在 Pro
9、tues 软件中选择合适电路芯片进行电路连接。 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 ;软件延时
10、DELAY:NOP NOP NOP NOP NOP DJNZ R6,DELAY MOVX A,DPTR ;读取转换结果 MOV R1,A ;存储数据 INC DPTR ;指向下一个通道 INC R1 ;修改数据区指针 DJNZ R7,LOOP ;8 个通道全采样完了没? 实验四 数据处理实验 一、 实验目的 了解和掌握测控系统中的人-机接口和通信接口的基本工作原理,理解在 控制中接口电路软件与硬件的关系。 二、 实验设备 计算机 三、 实验内容 编程实现非线性校正,分析下面程序,查找错误,加以改正,并将其补充 完整。 1).查表法公式: z=Yi+(Yi+1Yi)/ (Xi+1Xi)*(XXi
11、)Y 2).插值法 等距节点分段直线校正法:设采样结果在表 DATATable 中 (8 位) ,等分四段,a 1i 和 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 ;取 a
12、i1 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 根据限幅滤波、中位值滤波和低通滤波编写汇编程序实现数字滤波,并 进行程序调试。 五、 预习要求 按照实验内容和步骤的安排,详细写出预习报告。 六、 实验报告要求 按上述要求完成全部实验内容并做相应记录,包括所选择的非线性校正和 滤波的方法,调试通过的程序要进行详细注释。