1、单片机原理和接口试验指导书梁炳东 编广东海洋大学9月目 录试验1 试验系统认识试验1试验2-1 分支程序试验5试验2-2 循环程序试验8试验3-1 查表程序试验10试验3-2 中止试验12试验4-1 并行口试验14试验4-2 串行口试验17试验5-1 A/D试验20试验5-2 D/A试验22试验6-1 应用项目综合试验(1)25试验6-2 应用项目综合试验(2)27附录A TDN86/51系统集成软件MD51使用说明28试验1 试验系统认识试验一、试验目标1、了解TDN86/51教学试验系统结构。2、学习并掌握试验系统基础操作。3、掌握TDN86/51系统集成软件使用方法。二、试验设备TDN8
2、6/51教学试验系统一台。三、试验内容编程计算n个数据和,即Y = X1 + X2 + X3 + + Xn ,其中X1、X2、X3、Xn分别存放在片内RAM区50H一55H单元中,n = 6,求和结果Y放在片内RAM区 03H (高位),04H(低位)单元中。题目: (1)32H + 41H + 01H + 56H + 11H + 03H = 00DEH (2)95H + 01H + 02H + 44H + 48H + 12H = 0136H (3)54H + F6H + 1BH + 20H + 04H + C1H = 024AH要求试验前,进行试验预习,读懂试验程序,并对程序中每条指令加上注
3、解。同时,研习本指导书附录A,充足了解TDN86/51系统集成软件功效、操作方法和每条调试指令使用方法。四、试验步骤1、使用串行通信电缆将试验系统和PC微机相连(通常在试验室中设备已连接好,无需再连)。2、按下试验机箱电源键,开启试验系统;将试验机箱“8651”选择开关(在试验机箱下方中偏右处)拨至“51”位置(使机箱用于进行51系列单片机试验)。3、 开启PC机电源,双击PC机桌面上MD51快捷方法图标或进入MD51. EXE应用程序所在目录,运行该程序(双击MD51. EXE),进入TDN86/51系统集成软件引导界面(具体说明参见附录A)。依据系统所使用通信端口,选择键入1或2(通常是使
4、用COM1,键入“1”),并回车,便可进入TDN86/51系统集成软件操作界面。假如屏幕光标不响应回车命令,可按试验系统复位键(在试验机箱下方中偏右处)进行系统复位即可。若屏幕出现提醒符为“”,则表示已进入“51”状态。若为“”提醒符,则表明系统处于86状态,此时,可经过键盘键入“5”(回车),即可转至51状态。 进入TDN86/51系统集成软件操作界面后,按下Fl功效键,进入全屏幕编辑界面,按ALT + F进入文件菜单,选择建立新文件(NEW),即可开始输入源程序。试验程序以下(输入程序时,只输入汇编源程序,不要输入左边反汇编代码):反汇编程序代码 汇编源程序ORG0000H0000 021
5、000LJMPMAIN ORGl000H1000 7A06 MAIN:MOV R2, #06H1002 7B00 MOV R3, #00H1004 7C00MOV R4, #00H1006 7850MOV R0, #50H1008 EC L1: MOV A, R41009 26 ADD A, R0100A FC MOV R4, A100B 08INCR0100C E4CLRA100D 3BADDCA, R3100E FBMOVR3, A100F DAF7DJNZR2, L11011 80FE L2:SJMPL2END4、输入源程序后,按F2功效键,保留源程序(文件名由用户自己命名,注意:文件名
6、后一定要加上扩展名,扩展名要求为 “ASM”),使用ALT + X退出全屏幕编辑界面,返回集成软件操作界面。5、在集成软件操作界面中,按F2功效键,输入文件名 (“”表示按回车键,注意:只需输入文件名,不需带扩展名,系统默认为 *ASM),汇编程序自动对源程序进行汇编生成浮动目标文件(*r03)及错误信息文件(*M)。汇编无误后,自动生成对应*LST文件。6、汇编完成后,按F3功效键,输入文件名 (不需带扩展名),汇编程序自动对汇编生成*r03文件进行链接,链接信息显示于屏幕上,生成对应 *HEX可实施文件及链接信息汇报文件(*L)。7、按F5功效键,输入文件名HEX (此时,一定要带扩展名“
7、HEX”),PC机开始将程序从磁盘装入到TDN86/51试验系统内存,提醒装载完成(Load OK)后,使用U命令(本试验输入U0000 ,再输入U1000 )进行反汇编,检验程序是否正确装入。当源程序输入有错误或需要调整时,可使用A命令进行修改。8、用R07XX 格式命令(本试验为:“R0750 ”),将题目(1)中六个数放入片内RAM区50H 55H单元中,过程以下:屏幕显示信息用户键入R0750 0750 = XX_32(按空格键)0751 = XX_41(按空格键)0752 = XX_01(按空格键)0753 = XX_56(按空格键)0754 = XX_11(按空格键)0755 =
8、XX_03 9、将试验系统运行状态开关(在试验机箱右下角)拨至STEP单步运行位,使用T命令,单步方法运行程序,过程以下:屏幕显示信息用户键入注释T = 0000 屏幕显示寄存器状态1000 7A06 MOV R2,#06HT( 或:按F4键)屏幕显示立即实施指令1002 7B00 MOV R3,#00HT( 或:按F4键)屏幕显示立即实施指令(不停使用T命令单步运行至进入动态停机为止) 10、用R07格式命令,检验单片机内03H一04H单元用R0703,检验03H单元;用R0704或直接按空格键,检验04H单元。此即程序运行结果。请统计并检验结果是否正确,检验时,请注意十进制数据和十六进制数
9、据差异。 11、将试验系统运行状态开关拨至EXEC位,用B命令,在1011处设一个断点,过程以下:屏幕显示信息用户键入B 0:10111:12、用R07XX 命令,将题目(2)中六个数放入片内RAM区50 H 55H单元中(仿照步骤8、过程进行)。13、用GB 命令,带断点连续运行程序,过程以下:显示信息用户键入GB = 1000 稍过一会,就会显示单片机目前状态。14、反复步骤10、统计并检验运行结果。15、按试验系统RESET复位键(在试验机箱下方中偏右处),清除断点。16、仿照步骤8、用R07XX 命令,将题目(3)中六个数放入片内RAM区50 H 55H单元中。17、将试验系统运行状态
10、开关拨至EXEC连续运行位,用G 命令,无断点连续运行程序,过程以下:显示信息用户键入G =0000 按试验系统复位键(RESET)18、按试验系统RESET复位键,中止程序运行。反复步骤10、统计并检验运行结果。五、试验汇报按学校要求格式撰写。试验2-1 分支程序试验一、试验目标1、加深对分支程序了解;2、充足认识分支程序作用;3、掌握分支程序设计方法。二、试验设备PC机一台 + Dais集成开发环境。三、试验内容及步骤试验步骤和试验统计内容参考“试验一”进行。试验时请和教材中附录A应用项目源程序对照,逐步熟悉其中指令。1、 双分支程序试验试验应用项目中包含双分支程序结构T0中止服务程序(注
11、:不加编号指令是为了试验而加上去指令。试验时应将编号去掉下文相同之处,不再提醒)。; T0中止服务程序:ORG0030HMOV26H,#0AHMOV27H,#59HMOV28H,#59HMOV29H,#23HMOV2BH,#60HMOV2CH,#60HMOV2DH,#24H85CLOCK: PUSH PSW; 保护现场86PUSH ACC87SETB RS0; 选择工作寄存器组188MOV TH0, #3CH; 重装定时器T0初值89MOV TL0, #0BDH 90INC 26H; 0.1s单元加191MOV A, 26H ; 取0.1s单元内容92CJNE A, #0AH, DONE1;
12、不等于10, 转DONE193MOV 26H, #00H ; 等于10, 则清094MOV R0, #27H ; 指向秒计数单元95MOVRl, #2BH ; 指向秒计数基制单元96MOV R3, #03H ; 循环3次(秒、分、时)97CLOCK1:MOV A, R0; 取计时单元值98ADD A, #01H; 计时单元加199DA A; 十进制调整100MOV R0, A; 送回计时单元101MOV 3BH, Rl; 取计时基制102CJNE A, 3BH, NEXT3 ; 不等于计时基制, 转出103MOV R0, #00H; 相等, 则计时单元清0104INC R0; 计时单元指针加1
13、105INC R1; 时间基制单元指针加1106DJNZ R3, CLOCK1 ; 秒、分、时共3次循环107NEXT3:ACALLCTRL; 调用控制子程序108DONE1:POPACC; 恢复现场109POP PSWSJMP$110RETI; 中止返回CTRL:RETEND要求单步运行程序,每实施一条指令,查看一次调试窗口、寄存器窗口、特殊寄存器窗口、CPU内部数据区窗口,观察(PC)、(26H)、(27H)、(28H)、(29H)、(3BH)、(A)、(R0)、(R1)值改变情况,了解指令功效、双分支程序结构,并逐步了解指令程序功效,为弄懂应用项目打下基础。2、 多分支程序试验【例4-3
14、】请依据R2中存放转移序号,编写出转向对应处理分支程序。R2=0, 转PROG0; R2=1, 转PROG1; R2=n, 转PROGn。试验程序以下: ORG0030HMOVR2,#00HMOVR3,#00HLOOP:INCR3CJNER3,#04H,GOSJMP$GO:MOVDPTR, #TAB; 指向转移指令表首地址 MOVA, R2; 取转移序号 ADDA, R2; 序号值乘2 JNCNEXT; 乘积小于256, 转 INCDPH; 大于等于256, DPTR高8位加1NEXT:JMPA+DPTR; 散转TAB:AJMPPROG0; 转移指令表 AJMPPROG1 AJMPPROG2
15、AJMPPROG3NOPPROG0:NOPSJMPLOOPPROG1:NOPSJMPLOOPPROG2:NOPSJMPLOOPPROG3:NOPSJMPLOOP要求单步运行程序,每实施一条指令,查看一次调试窗口、寄存器窗口、特殊寄存器窗口、CPU内部数据区窗口,观察(R2)、(R3)、(DPTR)、(A)、(PC)值改变情况,了解指令功效、多分支程序结构和领会程序设计方法。思索:若将转移指令表中AJMP改为LJMP,要求实现相同功效,则怎样修改程序?四、试验汇报按学校要求格式撰写试验汇报。对试验结果进行分析,对试验中碰到问题加以说明。试验2-2 循环程序试验一、试验目标1、加深对循环程序了解;
16、2、充足认识循环程序作用;3、掌握循环程序设计方法。二、试验设备PC机一台 + Dais集成开发环境。三、试验内容和步骤试验步骤参考“试验一”进行。试验和应用项目相关内容时请和教材中附录A应用项目源程序对照,逐步熟悉其中指令。1、 “先实施后判定”循环程序试验“先实施后判定”循环程序是一进入循环程序,先实施循环体,然后依据循环结束条件判定是否结束循环。若不满足结束条件,则继续实施循环体;若满足结束条件,则进行结束处理,退出循环。其特点是循环体最少被实施一次。题目:已知单片机内部RAMBLOCK单元开始有一个无符号数据块,块长在LEN单元,请用“先实施后判定”循环方法编出求数据块中各数累加和并存
17、入SUM单元程序。解:试验程序以下:ORG0030HLENEQU20HSUMEQU21HBLOCKEQU22HCLRA;A清零 MOVR2, LEN; 块长度送R2 MOVR1, #BLOCK; 块起始地址送R1 INCR2; 块长加1 SJMPCHECKLOOP:ADDA,R1; 求累加和INCR1;数据块指针加1CHECK:DJNZR2, LOOP; 若未完,则转LOOPMOVSUM, A; 累加完成,保留结果 SJMP$; 动态停机END要求单步运行程序,每实施一条指令,查看一次调试窗口、寄存器窗口、特殊寄存器窗口、CPU内部数据区窗口,观察(R2)、(R1)、(A)、(PC)、(SUM
18、)值改变情况,了解指令功效、先实施后判定循环程序结构和领会程序设计方法。2、 “先判定后处理”循环程序试验“先判定后处理”循环程序将循环程序控制部分放在循环入口处,先依据循环结束条件判定是否结束循环。若满足结束条件,则直接进行结束处理,退出循环;若不满足结束条件,则反复实施循环体,其特点是:若一开始就满足循环结束条件,则一次也不实施循环体,即循环次数有可能为0。题目:已知单片机内部RAMBLOCK单元开始有一个无符号数据块,块长在LEN单元,请用“先判定后处理”循环方法编出求数据块中各数累加和并存入SUM单元程序。解:试验程序以下:ORG0100HLENEQU20HSUMEQU21HBLOCK
19、EQU22HCLRA;A清零 MOVR2, LEN; 块长度送R2 MOVR1, #BLOCK; 块起始地址送R1LOOP:ADDA,R1; 求累加和INCR1;数据块指针加1DJNZR2, LOOP; 若未完,则转LOOPMOVSUM, A; 累加完成,保留结果 SJMP$; 动态停机END要求单步运行程序,每实施一条指令,查看一次调试窗口、寄存器窗口、特殊寄存器窗口、CPU内部数据区窗口,观察(R2)、(R1)、(A)、(PC)、(SUM)值改变情况,了解指令功效、先判定后处理循环程序结构和领会程序设计方法。思索:实际应用时将怎样选择上述两种方法?3、延时程序:若单片机晶振频率为6MHz,
20、则下列程序将延时多长时间?DELAY:MOVR7,#02HD1:MOVR6,#0FFH D2:DJNZR6,D2DJNZR7,D1 RET四、试验汇报按学校要求格式撰写试验汇报。对试验结果进行分析,对试验中碰到问题加以说明。试验3-1 查表程序试验一、试验目标1、加深对查表程序了解;2、充足认识循环程序作用;3、掌握循环程序设计方法。二、试验设备PC机一台 + Dais集成开发环境。三、试验内容和步骤试验步骤参考“试验一”进行。试验和应用项目相关内容时请和教材中附录A应用项目源程序对照,逐步熟悉其中指令。1、 使用MOVC A,A+DPTR指令查表题目:有一变量存放在片内 RAM 20H 单元
21、,其取值范围为:00H05H。要求编制一段程序,依据变量值求其平方值,并存入片内 RAM 21H 单元。 算法:在程序存放器一片存放单元中建立起该变量平方表。用数据指针 DPTR 指向平方表首址,则变量和数据指针之和地址单元中内容就是变量平方值。试验程序以下: ORG0030HLJMPMAINORG1000HMAIN:MOV20H, #00HLOOP:MOVDPTR,#TABLEMOVA,20HCJNEA,#06H,NEXTSJMP$NEXT:MOVCA,A+DPTRMOV21H,AINC20HSJMPLOOPORGHTABLE:DB 00,01,04,09,16,25END要求单步运行程序,
22、每实施一条指令,查看一次调试窗口、寄存器窗口、特殊寄存器窗口、CPU内部数据区窗口,观察(20H)、(A)、(21H)、(PC)值改变情况,了解MOVC A,A+DPTR查表指令功效、查表程序结构和领会查表程序设计方法。2、 使用MOVC A,A+PC指令查表题目:将16个两位十六进制数转换成 ASCII 码:设地址指针 R0指向待转换十六进制数,R2中存放字节数,R1指向要存放 ASCII 码起始地址。算法:在程序存放器一片存放单元中建立起十六进制数ASCII 码表。使用查表指令MOVC A,A+PC,经过查表方法将十六进制数转换为ASCII 码。试验程序以下: ORG 0030HMOVR0
23、, #20H;赋初值MOVR2, #10HMOVR1, #30HMOVA, #00HSETDAT:MOVR0, A;设置待转换十六进制数ADDA, #11HINCR0DJNZR2, SETDATMOVR0, #20H;重赋初值MOVR2, #10HHTASC:MOV A, R0 ; 取十六进制数低 4 位 ANL A, #0FH ADD A, #16;偏移量修正 MOVC A, A+PC;查表 MOV R1, A;存 ASCII 码 INC R1 MOV A, R0 ;取十六进制数高 4 位 SWAP A ANL A, #0FH ADD A, #07;偏移值修正 MOVC A, A+PC MO
24、V R1, A INC R0 ;指向下一单元 INC R1 DJNZ R2, HTASC;未完,继续SJMP$;完成,动态停机ASCTAB:DB 30H,31H,32H,33H,34H,35H,36H,37H DB 38H,39H,41H,42H,43H,44H,45H,46H END要求单步运行程序,每实施一条指令,查看一次调试窗口、寄存器窗口、特殊寄存器窗口、CPU内部数据区窗口,观察(PC)、(R0)、(R1)、(R2)、(A)值改变情况,了解MOVC A,A+PC查表指令功效、查表程序结构和领会查表程序设计方法。思索:在使用MOVC A,A+PC查表指令时,怎样确定偏移量修正值?四、试
25、验汇报按学校要求格式撰写试验汇报。对试验结果进行分析,对试验中碰到问题加以说明。试验3-2 中止试验一、试验目标1、掌握单片机和外设传送信息方法;2、掌握查询方法编程方法;3、掌握中止系统初始化编程。二、试验设备TDN86/51教学试验系统一台。三、试验内容和步骤1、查询方法题目:生产控制过程中有一台机器正在工作,单片机经过查询其工作状态,并从I/O端口输出控制信号和状态信号。假如机器正常工作(KK1-=1)时,绿色发光二极管不停地闪烁,一旦出现故障(KK1-=0,按下KK1),则绿色发光二极管熄灭,停止工作,同时红色发光二极管不停地闪烁,故障排除后(KK1-=1),继续工作(绿色发光二极管闪
26、烁)。用单片机实现这一控制过程。参考程序以下:ORG0000HLJMPMAINORG0030HMAIN:MOVP1,#0FFHL:JNBP3.3,L2L1:CPLP1.3SETBP1.4ACALLDLYJBP3.3,L1L2:SETBP1.3CPLP1.4ACALLDLYAJMPLDLY:MOVR3,#0FFHD0:MOVR2,#88HD1:DJNZR2,D1DJNZR3,D0RETEND试验操作步骤:(1)连接电路:将单片机和KK1-相连,依据题目要求和所给程序将P1.3、P1.4分别和绿色、红色LED相连。(2)输入源程序并检验无误,经汇编、连接后装入系统。(3)用G=0000运行程序,按
27、下和放开KK1-仔细观察红、绿灯改变。(4)按RESET键终止运行,返回监控。思索:试估算延时程序延时时间。2、中止方法要求:有故障(有奇数次下降沿)时控制红色发光二极管亮和绿色发光二极管灭;假如故障排除(有偶数次下降沿)时控制绿色发光二极管亮和红色发光二极管灭。参考程序以下:ORG0000HLJMPMAINORG0013HCPLP1.3CPLP1.4RETIORG0030HMAIN:MOVP1,#0F0HSETBIT1SETBEASETBEX1SJMP$END试验操作步骤:(1)连接电路:将单片机和KK1-相连,依据题目要求和所给程序将P1.3、P1.4分别和绿、红色LED相连。(2)输入源
28、程序并检验无误,经汇编、连接后装入系统。(3)用G=0000运行程序,数次按下KK1-仔细观察红、绿灯改变。(4)按RESET键终止运行,返回监控。思索:试编写能实现中止表示有故障,中止表示正常控制程序。四、试验汇报要求按学校要求格式撰写汇报,并要求:1、读懂程序功效,并逐条加上注解。2、写出试验过程和试验结果。并进行分析和总结。试验4-1 并行口试验一、试验目标1、掌握单片机并行口结构、工作原理和使用方法;2、掌握单片机并行接口芯片结构、工作原理和使用方法;3、掌握单片机并行接口扩展方法。二、试验设备TDN86/51教学试验系统一台。三、试验内容试验应用项目中,单片机和6个共阴LED数码管接
29、口电路,参考教材“第8章 MCS-51 单片机并行接口”相关内容。四、试验步骤1、在TDN86/51教学试验系统机箱上搭建图1所表示电路。图1 应用项目中单片机和6位LED接口电路2、试验以下程序,检验数码管上是否显示出时间为06:19:00。(试验时将指令前编号去掉);主程序:9ORG0050H10MAIN:MOVA, #03H; 8155初始化命令字11MOVDPTR, #8000H; 8155命令口地址12MOVX DPTR, A; 向8155写入命令字MOV27H, #00H;向计时单元写入06:19:00MOV28H, #19HMOV29H, #06H22 LOOP:LCALLDIS
30、P ; 调用显示子程序23 LJMPLOOP ; 循环; ; 显示子程序:50DISP:MOVR0, #4FH; 准备向缓冲区放数51MOVA, 27H; 取秒值52ACALLPUTT; 放秒值53MOVA, 28H; 取分值54ACALLPUTT; 放分值55MOVA, 29H ; 取小时值56ACALLPUTT; 放小时值57MOVR0, #4AH; 指向显示缓冲区首地址58MOVR2, #0DFH ; 从左边第一位开始显示59DISP1:MOVDPTR, #8002H; 字形口地址60MOVA, #00H ; 熄灭码61MOVXDPTR, A ; 关显示62MOVA, R0 ; 取显示缓
31、冲区中数63MOVDPTR, #SEGTAB ; 指向字形码表首64MOVCA, A+DPTR ; 查表, 找字形码65MOVDPTR, #8002H; 字形口地址66MOVXDPTR, A; 送出字形码67MOVA, R2; 取字位码68MOVDPTR, #8001H; 字位口地址69MOVXDPTR, A; 显示一位数据70MOVR3, #00H; 计数延时初值71DISP2:DJNZR3, DISP2; 延时一段时间(1ms)72INCR0; 修改显示缓冲区指针73RRA; 为显示下一位做准备74MOVR2, A; 存字位码75JBACC.7, DISP1; 不到最终一位, 则继续76R
32、ET; 显示完6位, 返回77PUTT:MOVR1, A; 暂存78ACALLPUTT1; 低4位先放入缓冲区79MOVA, R1; 取出原数80SWAPA; 高4位放入低4位中81PUTT1:ANLA, #0FH ; 屏蔽高4位82MOVR0, A; 放进显示缓冲区83DECR0 ; 缓冲区地址指针减184RET ;字形码表:135SEGTAB:DB3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH136 DB07H, 7FH, 6FH ; 五、试验汇报要求按学校要求格式撰写汇报,并要求写出试验过程和试验结果。并进行分析和总结。试验4-2 串行口试验一、试验目标1、掌握单片机
33、串行口结构、工作原理和使用方法;2、掌握单片机串行接口编程方法;3、掌握利用串行口实现双机通信编程方法。二、试验设备TDN86/51教学试验系统一台。三、试验内容和步骤1、单片机串行口自发自收通信:把单片机片内RAM30H3FH中数据经过串行口发出,再从串行口接收,存放到片内40H4FH单元中。试验程序以下:ORG0000HLJMPMAINORG0023HLJMPL4ORG1000HMAIN:MOVTMOD, #20HMOVTH1, #0F2HMOVTL1, #0F2HSETBTR1MOVSCON, #50HMOVPCON, #00HSETBEASETBESMOVR1, #30HMOVSBUF
34、, R1INCR1MOVR0, #40HL1:SJMPL1L2:MOVA, SBUFCLRRIMOVR0, AINCR0CJNER0, #50H, L3CLRESRETIL3:MOVSBUF, R1INCR1RETIL4:JBRI, L2CLRTIRETIEND试验操作步骤:(1)按图2所表示接好线路。图2 串行口试验接线图(2)输入试验程序并检验无误,经汇编、链接后装入系统。(3)用R0730命令将待传送数据放入片内RAM30H3FH中。数据内容由读者任选。(4)用R0740命令将入片内RAM40H4FH单元清0。(5)用G=0000命令连续运行程序,稍后按下试验机箱RESET键终止程序运行
35、。(6)用R0740命令检验片内RAM 40H4FH单元中接收到是否正确。2、把二台单片机串行口三根线连接好。假设一台为接收,另一台为发送。编写发送和接收通信程序。要求把甲机内部RAM 30H为首址单元内一组数据向乙机发送。乙机接收一组数据放在内部RAM 40H为首址单元内。甲、乙两机选择振荡频率为6MHz,波特率为2400。试验参考程序以下:发送程序:ORG0000HLJMPMAINORG1000HMAIN:MOVTMOD,#20HMOVTH1,#0F4HMOVTL1,#0F4HMOVPCON,#80HSETBTR1MOVSCON,#0D0HMOVR0,#30HSEND:MOVA,R0MOV
36、SBUF,AJF:JBCTI,NEXTSJMPJFNEXT:INCR0CJNER0,#3FH,SENDSJMP$END接收程序:ORG0000HLJMPMAINORG1000HMAIN:MOVTMOD,#20HMOVTH1,#0F4HMOVTL1,#0F4HMOVPCON,#80HSETBTR1MOVSCON,#0D0HMOVR0,#40HJR:JBCRI,SSSJMPJRSS:MOVA,SBUFMOVR0,AINCR0CJNER0,#4FH,JRSJMP$END试验操作步骤:(1)连接电路:将甲机TXD和乙机RXD相连、甲机RXD和乙机TXD相连、甲机GND和乙机GND相连便可进行双机通信。
37、(2)输入源程序并检验无误,经汇编、链接后装入系统。(3)先运行接收方程序,再运行发送方程序,在运行发送程序前,先给程序中指定片内RAM单元赋值。(4)检验接收方是否接收到正确数据,假如没有,检验硬件连接及程序,直到正确为止。四、试验汇报要求按学校要求格式撰写汇报,并要求:1、读懂程序功效,并逐条加上注解。2、写出试验过程和试验结果。并进行分析和总结。试验5-1 D/A试验一、试验目标1、深入了解DAC0832结构和功效。2、掌握DAC0832在51系列单片机中使用方法。二、试验设备 TDN8651教学试验系统一台。三、试验电路试验电路图3所表示,图中当WR和P27有效时选中DAC0832,所
38、以可取7FFFH 为DAC0832片选地址。图3 D /A 转换试验电路 四、试验内容1、产生锯齿波,周期约为2ms。试验程序以下: ORG0000H0000 021000LJMPMAINORG1000H1000 907FFF MAIN:MOVDPTR,#7FFFH1003 E4CLR A1004 F0 A1:MOVXTPTR,A1005 04INCA1006 80FCSJMPA1END2、产生三角波,周期约为4ms。试验程序以下:ORG0000H0000 021000LJMPMAINORG1000H1000 907FFF MAIN:MOVDPTR,#7FFFH1003 E4CLRA1004 F0 L1:MOVXDPTR,A1005 04INCA1006 84FFFBCJNEA,#0FFH,L11009 14DEC