




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
;MCS-51系列单片机实验指导程序清单;硬件实验十七 电子音响 的程序请装载music.bin文件 ORG 0000H LJMP CHK00 ORG 0003H LJMP ZO00 ORG 000BH LJMP CLOCK;INT_T0 ORG 0013H LJMP PO16;= 软件实验十 电脑时钟(定时器、中断综合实验) = ORG 0030HCHK00: MOV SP,#60H LCALL LEDPCHK0: LCALL LCK0 ;键扫,显示子程序 LCALL PTDS0 ;显示缓冲区放数子程序 MOV TMOD,#01H ORL IE,#82H MOV TL0,#0B7H MOV TH0,#3CH ;定时中断初始化 MOV 23H,#00H SETB TR0 ;开定时LOO5: LCALL DIS;SSEE ;显示 LCALL PTDS0 SJMP LOO5 PTDS0: MOV R0,#79H MOV A,22H ACALL PTDS MOV A,21H ACALL PTDS MOV A,20H ACALL PTDS RET;-PTDS: MOV R1,A ;拆送显示缓冲区 ACALL PTDS1 MOV A,R1 SWAP APTDS1: ANL A,#0FH MOV R0,A INC R0 RETCLOCK: MOV TL0,#0B7H MOV TH0,#3CH ;恢复初值 PUSH PSW PUSH ACC SETB 0D3H ;保护 INC 23H ;0.1秒加1 MOV A,23H CJNE A,#0AH,DONE ;1秒到吗? MOV 23H,#00H ;清0.1秒单元 MOV A,22H INC A ;秒加1 DA A MOV 22H,A ;十进制调整 CJNE A,#60H,DONE ;60秒到吗? MOV 22H,#00H ;秒单元清零 MOV A,21H INC A DA A ;分加1.十进制调整 MOV 21H,A CJNE A,#60H,DONE ;60分到吗? MOV 21H,#00H ;分单元清零 MOV A,20H INC A DA A ;时加1.十进制调整 MOV 20H,A CJNE A,#24H,DONE ;24小时到吗? MOV 20H,#00H ;时单元清零DONE: POP ACC ;退栈 POP PSW RETI ORG 00D0HH900: MOV SP,#53H MOV DPTR,#0FFE1H MOV A,#00H MOVX DPTR,A ;8279方式字写入 MOV A,#32H MOVX DPTR,A ;分频 MOV A,#0DFH MOVX DPTR,AH901: MOVX A,DPTR ;清缓冲区 JB ACC.7,H901 MOV DPTR,#0FFE0H MOV A,#0C8H MOVX DPTR,A ;字形送入 INC DPTR MOV A,#80H MOVX DPTR,A ;字位送入.显示PH902: MOV 30H,#80H MOV 31H,#40HH903: MOV DPTR,#0FFE1H MOVX A,DPTR ANL A,#07H CJNE A,#00H,H904 ;有键按下吗? AJMP H903H904: MOV DPTR,#0FFE0H MOVX A,DPTR MOV B,A ;取出键值 MOV R1,#00H MOV DPTR,#GOJZH905: MOV A,#00H MOVC A,A+DPTR ;查键值表是否相同 CJNE A,B,H906 AJMP H907 ;转数字外处理程序H906: INC DPTR ;键表地址加1 INC R1 ;查找次数加1 MOV A,R1 JB ACC.4,H908 ;是功能键吗? AJMP H905 ;继续查找H908: MOV R1,#00H MOV DPTR,#GOJZ1H909: MOV A,#00H MOVC A,A+DPTR ;功能键键值取出 CJNE A,B,H90A ;键值相等吗? AJMP H90B ;转功能键处理子程序H90A: INC DPTR INC R1 MOV A,R1 JNB ACC.2,H909 ;继续查找 AJMP H900 ;无键按下返回H907: MOV A,30H MOV DPTR,#0FFE1H ;字位送入8297 MOVX DPTR,A MOV A,R1 MOV R0,31H MOV R0,A INC 31H ;字形缓冲区加1 MOV DPTR,#ZOE0 MOVC A,A+DPTR ;取出字形代码 MOV DPTR,#0FFE0H MOVX DPTR,A ;送入8279显示 INC 30H MOV A,30H ;字位加1 CJNE A,#88H,H90C ;显示到第八位,从头显示 AJMP H902H90C: AJMP H903H90B: MOV DPTR,#CKEY3 MOV A,R1 RL A ;功能键 散转处理 ADD A,R1 JMP A+DPTRCKEY3: LJMP L240 LJMP L241 LJMP L242GOJZ: DB 0C1H,0C8H,0C9H,0D0H,0D8H,0E0H,0C2H,0CAH,0D1H DB 0D9H,0DAH,0C3H,0CBH,0D2H,0D3H,0DBHGOJZ1: DB 0E3H,0E2H,0E1HZOE0: DB 0CH,9FH,4AH,0BH,99H,29H,28H,8FH,08H,09H,88H DB 38H,6CH,1AH,68H,0E8H;= org 0188h jmp XB13;= 硬件实验四 工业顺序控制 = ORG 0190HPO10: MOV P1,#7FH ORL P3,#00HPO11: JNB P3.4,PO11 ;开工吗? ORL IE,#84H ORL IP,#01H MOV PSW,#00H ;初始化 MOV SP,#53HPO12: MOV P1,#7EH ;第一道工序 ACALL PO1B MOV P1,#7DH ;第二道工序 ACALL PO1B MOV P1,#7BH ;第三道工序 ACALL PO1B MOV P1,#77H ;第四道工序 ACALL PO1B MOV P1,#6FH ;第五道工序 ACALL PO1B MOV P1,#5FH ;第六道工序 ACALL PO1B MOV P1,#0FH ;第七道工序 ACALL PO1B SJMP PO12PO16: MOV B,R2 ;保护现场PO17: MOV P1,#7FH ;关输出 MOV 20H,#0A0H ;振荡次数PO18: SETB P1.7 ;振荡 ACALL PO1A ;延时 CLR P1.7 ;停振 ACALL PO1A ;延时 DJNZ 20H,PO18 ;不为0转 CLR P1.7 ACALL PO1A ;停振 JNB P3.3,PO17 ;故障消除吗? MOV R2,B ;恢复现场 RETIPO19: MOV R2,#10H ACALL DELY ;延时1 RETPO1A: MOV R2,#06H ACALL DELY ;延时2 RETPO1B: MOV R2,#30H ACALL DELY ;延时3 RET;- ORG 0213HDELY: PUSH 02HDEL2: PUSH 02HDEL3: PUSH 02H ;延时DEL4: DJNZ R2,DEL4 POP 02H DJNZ R2,DEL3 POP 02H DJNZ R2,DEL2 POP 02H DJNZ R2,DELY RET ORG 0240HDOE0: MOV DPTR,#0FFDBH MOV A,#88H MOVX DPTR,A ;8255控制命令送入 MOV DPTR,#0FFDAH MOV A,#01H ;关打印机 MOVX DPTR,ADOE1: MOVX A,DPTR JB ACC.4,DOE1 ;打印机忙吗? MOV DPL,R0 MOV DPH,R1 MOVX A,DPTR ;取数 INC DPTR MOV R0,DPL MOV R1,DPH ;DPTR加1 MOV DPTR,#0FFD8H MOVX DPTR,A ;送打印机 MOV DPTR,#0FFDAH MOV A,#00H MOVX DPTR,A MOV A,#01H MOVX DPTR,A ;开始打印 DJNZ R2,DOE1 DJNZ R3,DOE1 ;字节打完吗? SJMP $;= 硬件实验十三 微型打印机打印字符曲线汉字 = ORG 0280HD1E0: MOV SP,#53H MOV DPTR,#0FFDBH MOV A,#88H MOVX DPTR,A ;8255初始化.A.B口输出,.C口输入 ACALL D1E2 ;打印空格和#号 ACALL D1E3 ;换行 MOV R6,#0A6H ;取代码偏移量 MOV R7,#0DH ;13个代码D1E1: MOV A,R6 MOVC A,A+PC ;取代码 ACALL D1E4 ;打印 INC R6 DJNZ R7,D1E1 ;未完继续 ACALL D1E3 ACALL D1E2 ;再打印一行#和空格 ACALL D1E3 ACALL D1EA ;设置行间距子程序 ACALL D1E5 ;图形打印命令子程序 MOV R6,#68H ACALL D1E6 ;取代码偏移量 ACALL D1E5 ;打印上部图形 MOV R6,#8CH ACALL D1E6 ;打印下部图形 ACALL D1E7 ACALL D1E7 ;回车换行 MOV DPTR,#2000H ;曲线数据存放首址 MOV R6,#14H ACALL D1E8 ;取曲线数据 MOV R7,#0DH ;行数D1E9: MOV R6,#09H ;列数 ACALL D1E8 DJNZ R7,D1E9 ;取曲线数据 SJMP $D1E3: MOV A,#0AH ;打完吗? ACALL D1E4 ;换行子程序 RETD1E7: MOV A,0DH ;回车子程序 ACALL D1E4 RETD1EA: MOV A,#1BH ACALL D1E4 MOV A,#31H ACALL D1E4 ;ESC I n (n=o) MOV A,#00H ;行间距=0 ACALL D1E4 ACALL D1E3 RETD1E6: MOV R7,#24HD1EB: MOV A,R6 MOVC A,A+PC ACALL D1E4 ;36个图形代码送打印机 INC R6 DJNZ R7,D1EB ACALL D1E3 RETD1E8: MOV A,#1BH ACALL D1E4 MOV A,#27H ACALL D1E4 ;ESC/ m n1 n2 nk CR命令 MOV A,R6 ACALL D1E4 ;(R6)=mD1EC: MOVX A,DPTR INC DPTR ;(DPTR)=n1 n2 nk ACALL D1E4 DJNZ R6,D1EC ACALL D1E7 ;CR命令 RETD1E5: MOV A,#1BH ACALL D1E4 MOV A,#4BH ACALL D1E4 ;ESC K n1 n2 MOV A,#24H ;图形打印命令 ACALL D1E4 MOV A,#00H ACALL D1E4 RETD1E2: MOV R7,#07HD1ED: MOV A,#23H ACALL D1E4 ;打印7个#号和空格 MOV A,#20H ACALL D1E4 DJNZ R7,D1ED RETD1E4: PUSH DPH PUSH DPL PUSH ACC MOV DPTR,#0FFDAHD1EE: MOVX A,DPTR JB ACC.4,D1EE ;打印机忙吗? POP ACC MOV DPTR,#0FFD8H MOVX DPTR,A ;送打印机 MOV DPTR,#0FFDBH MOV A,#00H MOVX DPTR,A MOV A,#01H MOVX DPTR,A ;产生STB后沿 POP DPL POP DPH RET;- DB 23H,20H,39H,34H,8CH,31H,32H,8DH,33H,30H,8EH DB 20H,23H ;#94年12月31日# DB 00H,00H,00H,7FH,3FH,22H,22H,0A2H,0E2H,62H DB 22H,22H,22H,3EH,7FH,20H,00H,00H ;“启”字上部代码 DB 00H,00H,00H,00H,20H,21H,27H,3FH,79H,0E1H,0BFH DB 27H,21H,21H,23H,61H,20H,00H ;“东”字上部代码 DB 00H,03H,06H,0FCH,0FCH,7FH,3EH,22H,22H,22H,22H DB 22H,22H,3FH,7FH,20H,00H,00H ;“启”字下部代码 DB 00H,00H,00H,00H,04H,0CH,0B8H,70H,22H,02H,0FEH DB 0FEH,00H,40H,38H,1EH,08H,00H ;“东”字下部代码;-X3: MOV R4,A MOV R0,#50H MOV A,R0 MOV R1,A MOV A,R4 MOV R1,A CLR A POP DPH POP DPL MOVC A,A+DPTR INC DPTR CJNE A,01H,X30 dec r1 clr a MOVC A,A+DPTRX31: MOV R0,A INC DPTR PUSH DPL PUSH DPH RETX30: DEC R1 MOV A,R1 SJMP X31;- X2: MOV R6,#50HX0: ACALL XLE JNB ACC.5,XX0 DJNZ R6,X0 MOV R6,#20H MOV R0,#50H MOV A,R0 MOV R0,A MOV A,R0 MOV R7,A MOV A,#10H MOV R0,AX1: ACALL XLE JNB ACC.5,XX1 DJNZ R6,X1 MOV A,R7 MOV R0,A SJMP X2XX1: MOV R6,A MOV A,R7 MOV R0,A MOV A,R6XX0: RETXLE: ACALL DIS ACALL KEY MOV R4,A MOV R1,#48H MOV A,R1 MOV R2,A INC R1 MOV A,R1 MOV R3,A MOV A,R4 XRL A,R3 MOV R3,04H MOV R4,02H JZ X10 MOV R2,#88H MOV R4,#88HX10: DEC R4 MOV A,R4 XRL A,#82H JZ X11 MOV A,R4 XRL A,#0EH JZ X11 MOV A,R4 JZ X12 MOV R4,#20H DEC R2 SJMP X13X12: MOV R4,#0FHX11: MOV R2,04H NOP NOP MOV R4,03HX13: MOV R1,#48H MOV A,R2 MOV R1,A INC R1 MOV A,R3 MOV R1,A MOV A,R4 JB ACC.5,X113 JB ACC.4,X113 MOV DPTR,#LS3 MOVC A,A+DPTRX113: RETLS3: DB 07H,04H,08H,05H,09H,06H,0AH DB 0BH,01H,00H,02H,0FH,03H,0EH DB 0CH,0DHDIS: PUSH DPH PUSH DPL SETB RS1 MOV R0,#7EH MOV R2,#20H MOV R3,#00H MOV DPTR,#LS0LS2: MOV A,R0 MOVC A,A+DPTR MOV R1,#0DCH MOVX R1,A MOV A,R2 inc R1 MOVX R1,ALS1: DJNZ R3,LS1 CLR C RRC A MOV R2,A DEC R0 JNZ LS2 movx r0,a dec r0 cpl a movx r0,a CLR RS1 POP DPL POP DPH RETLS0: DB 0C0H,0F9H,0A4H,0B0H,99H,92H DB 82H,0F8H,80H,90H,88H,83H,0C6H DB 0A1H,86H,8EH,0FFH,0CH,89H,7FH,0BFHKEY: SETB RS1 MOV R2,#0FEH MOV R3,#08H MOV R0,#00HLP1: MOV R1,#0DDH MOV A,R2 MOVX R1,A RL A MOV R2,A inc r1 MOVX A,R1 CPL A ANL A,#0FH JNZ LP0 INC R0 DJNZ R3,LP1XP33: MOV A,#20HXP3: mov r2,a clr a mov r1,#0ddh movx r1,a mov a,r2 CLR RS1 RETLP0: CPL A JB ACC.0,XP0 MOV A,#00H SJMP LPPXP0: JB ACC.1,XP1 MOV A,#08H SJMP LPPXP1: JB ACC.2,XP2 MOV A,#10H SJMP LPPXP2: JB ACC.3,XP33 MOV A,#18HLPP: ADD A,R0 sjmp xp3;-LEDP: MOV 50H,#7EH MOV A,#10H MOV R0,#79HLEDS:MOV R0,A INC R0 CJNE R0,#7EH,LEDS INC A MOV R0,A RET;= 硬件实验十八 串并转换实验= TIMER EQU 01H ORG 04B6HJG4B6: MOV SP,#53H MOV TMOD,#01H MOV TL0,#00H MOV TH0,#4BH MOV R0,#00H MOV TIMER,#20H MOV SCON,#00H CLR TI CLR RI SETB TR0 SETB ET0 SETB EA SJMP $INT_T0: PUSH ACC PUSH PSW CLR EA CLR TR0 MOV TL0,#00H MOV TH0,#4BH SETB TR0 DJNZ TIMER,EXIT MOV TIMER,#20H MOV DPTR,#CDATA MOV A,R0 MOVC A,A+DPTR CLR TI CPL A MOV SBUF,A INC R0 CJNE R0,#0AH,EXIT MOV R0,#00HEXIT: SETB EA POP PSW POP ACC RETICDATA: DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H;=硬件实验十九 数据存贮器扩展实验= ORG 0510HJG510: MOV DPTR,#0000H MOV R6,#08H MOV A,#55H CLR P1.0RAM1: MOV R7,#00HRAM2: MOVX DPTR,A INC DPTR DJNZ R7,RAM2 DJNZ R6,RAM1 SETB P1.0 MOV R6,#08H MOV DPTR,#0000HRAM3: MOV R7,#00HRAM4: MOVX A,DPTR CJNE A,#55H,RAM6 INC DPTR DJNZ R7,RAM4 DJNZ R6,RAM3RAM5: CLR P1.0 CALL DELAY SETB P1.0 CALL DELAY SJMP RAM5RAM6: CLR P1.0 SJMP $DELAY: MOV R5,#00H MOV R4,#00HDELAS: DJNZ R4,$ DJNZ R5,DELAS RET;= 硬件实验五 8255 A.B.C口输出方波 = ORG 0580HSE09: MOV DPTR,#0FFDBH MOV A,#80H MOVX DPTR,A ;8255初始化 MOV A,#55H ;一位隔一位高电平LO15: MOV DPTR,#0FFD8H MOVX DPTR,A INC DPTR MOVX DPTR,A INC DPTR MOVX DPTR,A ;A.B.C口送入 MOV R2,#40H ;延时 CALL DELY CPL A ;取反 SJMP LO15 ;循环;= 硬件实验九 A/D转换实验 = ORG 05A0HSE11: MOV SP,#53H MOV 7EH,#00H MOV 7DH,#08H MOV 7CH,#00H MOV 7BH,#09H MOV 7AH,#10H MOV 79H,#10H ;显示缓冲区初值LO18: CALL DIS;SSEE ;显示 MOV A,#00H MOV DPTR,#0FFE0H MOVX DPTR,A ;0809的0通道采样 CALL DIS;SSEE MOVX A,DPTR ;取出采样值 MOV R0,#79H CALL PTDS ;采样值送显示缓冲区 SJMP LO18 ;循环;= 硬件实验十 D/A转换实验 = ORG 05E0HSE13: MOV SP,#53H MOV 7EH,#00H MOV 7DH,#08H MOV 7CH,#03H MOV 7BH,#02H ;显示缓冲区初值LO20: MOV A,#80H CALL LO21 MOV A,#00H CALL LO21 MOV A,#0FFH CALL LO21 SJMP LO20 ;=D/A直流电机正转、反转、停止=LO21: MOV DPTR,#0FFE0H MOVX DPTR,A ;送0832转换 MOV R0,#79H LCALL PTDS MOV R2,#00HL023: LCALL DIS ;显示 DJNZ R2,L023 RET ;=D/A 0V输出(调基准电压)= MOV SP,#53H MOV 7EH,#00H MOV 7DH,#08H MOV 7CH,#03H MOV 7BH,#02H ;显示缓冲区初值LO22: MOV A,#80H CALL LO21 SJMP LO22 ;=D/A 方波输出= MOV SP,#53H MOV 7EH,#00H MOV 7DH,#08H MOV 7CH,#03H MOV 7BH,#02H ;显示缓冲区初值LO23: MOV A,#80H CALL LO21 MOV A,#0FFH CALL LO21 SJMP LO23;= 软件实验一 清零程序 = ORG 0640HSE01: MOV R0,#00H MOV DPTR,#0000H ;(0000H)送DPTRLOO1: MOVX DPTR,A ;0送(DPTR) INC DPTR ;DPTR+1 INC R0 ;字节数加1 CJNE R0,#00H,LOO1 ;不到FF个字节再清LOOP: SJMP LOOP;= 软件实验二 拆字程序 = ORG 0660HSE02: MOV DPTR,#0000H MOVX A,DPTR MOV B,A ;(0000)AB SWAP A ;交换 ANL A,#0FH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年农村合作建房合同协议范本
- 2025年提取公积金租房合同范本
- 2025解除合同协议书范本参考
- 2025年关于铁路货物运输的合同范本
- 2025年城市土地开发与住宅销售贷款合同(范本)模板
- 2025担保公司的贷款合同协议
- 2025规范土地流转协议
- 2025租房合同终止的模板
- 搭配不当之修饰不当课件
- 2025市场营销商品委托代理合同范本
- 2025-2030中国苯丙酮尿症(PKU)行业市场发展趋势与前景展望战略研究报告
- 2025至2030年中国PA10T行业市场竞争态势及未来前景分析报告
- 催收新人培训管理制度
- DZ/T 0089-1993地质钻探用钻塔技术条件
- CJ/T 328-2010球墨铸铁复合树脂水箅
- 2025-2030中国铁路道岔行业市场现状供需分析及投资评估规划分析研究报告
- 特种设备安全法培训课件
- 2025-2030年中国快速消费品行业市场深度调研及竞争格局与投资研究报告
- 邯郸介绍课件
- 2025至2030中国硼酸行业发展方向及供需趋势研究报告
- DB11T 634-2025 建筑物在用电子系统雷电防护装置检查规范
评论
0/150
提交评论