微型计算机接口技术程序及注解实例.doc_第1页
微型计算机接口技术程序及注解实例.doc_第2页
微型计算机接口技术程序及注解实例.doc_第3页
微型计算机接口技术程序及注解实例.doc_第4页
微型计算机接口技术程序及注解实例.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微型计算机接口技术程序及注解实例 作者: 日期:实验考查内容1、 广告灯实验中,演示一个亮灯(其它灯灭)左循环闪亮,和右循环闪亮;调快速度;1至2个电路或程序的提问;ORG 0000H ;定义当前位置为 0000Hstart:mov r0,#8 ;传送 通用寄存器0,立即数8 mov a,#0feh ;传送 寄存器A,立即数0feh setB c ;位-置1 进位标志/累加位,LOOP:MOV P1,A ;传送 接口1,A LCALL DELAY ;长调用 DELAY, RLC A ;带进位循环左移 寄存器A, DJNZ R0,LOOP ;减一不为0转移 通用寄存器0,LOOP MOV R0,#8 ;传送 通用寄存器0,立即数8 LOOP1:MOV P1,A ;传送 接口1,A LCALL DELAY ;长调用 DELAY, RRC A ;带进位循环右移 寄存器A, DJNZ R0,LOOP1 ;减一不为0转移 通用寄存器0,LOOP1 LJMP START ;长转移到 START,DELAY:MOV R5,#20 ;传送 通用寄存器5,立即数20 D1:MOV R6,#20 ;传送 通用寄存器6,立即数20 D2:MOV R7,#248 ;传送 通用寄存器7,立即数248 DJNZ R7,$ ;减一不为0转移 通用寄存器7,$ DJNZ R6,D2 ;减一不为0转移 通用寄存器6,D2 DJNZ R5,D1 ;减一不为0转移 通用寄存器5,D1 RET ;子程序返回 END ;END 2、 广告灯实验中,演示一个灭灯(其它灯亮)左循环闪亮,和右循环闪亮;调慢速度;1至2个电路或程序的提问;ORG 0000H ;定义当前位置为 0000Hstart:mov r0,#8 ;传送 通用寄存器0,立即数8 mov a,#00h ;传送 寄存器A,立即数00h setB c ;位-置1 进位标志/累加位,LOOP:MOV P1,A ;传送 接口1,A LCALL DELAY ;长调用 DELAY, RLC A ;带进位循环左移 寄存器A, DJNZ R0,LOOP ;减一不为0转移 通用寄存器0,LOOP MOV R0,#8 ;传送 通用寄存器0,立即数8 LOOP1:MOV P1,A ;传送 接口1,A LCALL DELAY ;长调用 DELAY, RRC A ;带进位循环右移 寄存器A, DJNZ R0,LOOP1 ;减一不为0转移 通用寄存器0,LOOP1 LJMP START ;长转移到 START,DELAY:MOV R5,#20 ;传送 通用寄存器5,立即数20 D1:MOV R6,#20 ;传送 通用寄存器6,立即数20 D2:MOV R7,#248 ;传送 通用寄存器7,立即数248 DJNZ R7,$ ;减一不为0转移 通用寄存器7,$ DJNZ R6,D2 ;减一不为0转移 通用寄存器6,D2 DJNZ R5,D1 ;减一不为0转移 通用寄存器5,D1 RET ;子程序返回 END ;END 3、 定时器实验中,调快或调慢定时器的速度;演示0.5秒改变一次状态;2秒改变一次状态;1个提问;ORG 0000H ;定义当前位置为 0000H AJMP START ;绝对转移 START ORG 001BH ;定义当前位置为 001BH AJMP INT_T1 ;绝对转移 INT_T1, ORG 0100H ;定义当前位置为 0100Hstart: mov SP,#60H ;传送 SP,立即数60H mov TMOD,#10H ;传送 TMOD,立即数10H mov TL1,#0B0H ;传送 TL1,立即数0B0H mov TH1,#3CH ;传送 TH1,立即数3CH mov R0,#00H ;传送 通用寄存器0,立即数00H mov R1,#20 ;传送 通用寄存器1,立即数20 SETB TR1 ;位-置1 TR1 SETB ET1 ;位-置1 ET1 SETB EA ;位-置1 EA SJMP $ ;短转移到 到本行INT_T1: ; PUSH ACC ;入栈 ACC, PUSH PSW ;入栈 PSW PUSH DPL ;入栈 DPL PUSH DPH ;入栈 DPH CLR TR1 ;清0 TR1, MOV TL1,#0B0H ;传送 TL1,立即数0B0H MOV TH1,#3CH ;传送 TH1,立即数3CH SETB TR1 ;位-置1 TR1, DJNZ R1,EXIT ;减一不为0转移 通用寄存器1,EXIT MOV R1,#20 ;传送 通用寄存器1,立即数20 MOV DPTR,#TABLE ;传送 DPTR,立即数TABLE MOV A,R0 ;传送 寄存器A,R0 MOVC A, A+DPTR ;程序存储器-读 寄存器A,A+DPTR 指向的单元的内容 MOV P1,A ;传送 接口1,A INC R0 ;加1 通用寄存器0 MOV A,R0 ;传送 寄存器A,通用寄存器0 ANL A,#0FH ;逻辑-与 寄存器A,立即数0FH MOV R0,A ;传送 通用寄存器0,寄存器AEXIT:POP DPH ;出栈 DPH, POP DPL ;出栈 DPL POP PSW ;出栈 PSW POP ACC ;出栈 ACC RETI ;中断返回 TABLE:DB 03H,0aH,50H,0a0H,55H,0aaH,0FFH,00h ;程序空间定义数据 03H,0aH,END ;END 0000 01010000 10100101 00001010 00000101 01011010 10101111 11114、 计时器(或计数器)实验中,操作演示计数过程;1至2个电路或程序的提问;SECOND EQU 30H ;SECOND 定义为,30H ORG 0000H ;定义当前位置为 0000HAJMP MAIN ;绝对转移 MAINORG 001BH ;定义当前位置为 001BH,AJMP INT ;绝对转移 INTORG 0030H ;定义当前位置为 0030HMAIN:MOV SECOND,#00H ;传送 SECOND,立即数00H MOV TMOD,#10H ;传送 TMOD,立即数10H MOV TL1,#0B0H ;传送 TL1,立即数0B0H MOV TH1,#3CH ;传送 TH1,立即数3CH SETB EA ;位-置1 EA SETB ET1 ;位-置1 ET1 SETB TR1 ;位-置1 TR1NEXT:MOV A,SECOND ;传送 寄存器A,SECOND MOV B,#10 ;传送 B,立即数10 DIV AB ;无符号除法 AB MOV DPTR,#TABLE ;传送 DPTR,立即数TABLE MOVC A,A+DPTR ;程序存储器-读 寄存器A,A+DPTR指向的单元的内容 CLR P2.1 ;清0 接口2第1位 MOV P0,A ;传送 接口0,A LCALL DELAY ;长调用 DELAY, MOV P0,#0FFH ;传送 接口0,立即数0FFH SETB P2.1 ;位-置1 接口2第1位 MOV A,B ;传送 寄存器A,B MOVC A,A+DPTR ;程序存储器-读 寄存器A,A+DPTR指向的单元的内容 CLR P2.0 ;清0 接口2第0位 MOV P0,A ;传送 接口0,A LCALL DELAY ;长调用 DELAY, MOV P0,#0FFH ;传送 接口0,立即数0FFH SETB P2.0 ;位-置1 接口2第0位 MOV A,SECOND ;传送 寄存器A,SECOND CJNE A,#60,NEXT ;比较-不等转移 寄存器A,立即数60, ; INT:PUSH ACC ;入栈 ACC, PUSH PSW ;入栈 PSW PUSH DPL ;入栈 DPL PUSH DPH ;入栈 DPH CLR TR1 ;清0 TR1, MOV TL1,#0B0H ;传送 TL1,立即数0B0H MOV TH1,#3CH ;传送 TH1,立即数3CH SETB TR1 ;位-置1 TR1 INC R1 ;加1 通用寄存器1 MOV A,R1 ;传送 寄存器A,R1 CJNE A,#20,CBA ;比较-不等转移 寄存器A,立即数20, INC SECOND ;加1 SECOND, MOV R1,#00H ;传送 通用寄存器1,立即数00HCBA:POP DPH ;出栈 DPH POP DPL ;出栈 DPL POP PSW ;出栈 PSW POP ACC ;出栈 ACC RETI ;中断返回 DELAY:MOV R7,#2 ;传送 通用寄存器7,立即数2D1:MOV R6,#20 ;传送 通用寄存器6,立即数20 DJNZ R6,$ ;减一不为0转移 通用寄存器6,$ DJNZ R7,D1 ;减一不为0转移 通用寄存器7,D1 RET ;子程序返回 TABLE:DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H ;程序空间定义数据 03H,9FH,END ;END 计数器COUNT EQU 30H ;COUNT 定义为,30HSP1 BIT P3.7 ;SP1 BIT,接口3第7位ORG 0000H ;定义当前位置为 0000HAJMP MAIN ;绝对转移 MAINORG 0030H ;定义当前位置为 0030HMAIN: MOV COUNT,#00H ;传送 COUNT,立即数00HNEXT: MOV A,COUNT ;传送 寄存器A,COUNT MOV B,#10 ;传送 B,立即数10 DIV AB ;无符号除法 AB MOV DPTR,#TABLE ;传送 DPTR,立即数TABLE MOVC A,A+DPTR ;程序存储器-读 寄存器A,A+DPTR指向的单元的内容 CLR P2.1 ;清0 接口2第1位 MOV P0,A ;传送 接口0,寄存器A LCALL DELAY ;长调用 DELAY MOV P0,#0FFH ;传送 接口0,立即数0FFH SETB P2.1 ;位-置1 接口2第1位 MOV A,B ;传送 寄存器A,B MOVC A,A+DPTR ;程序存储器-读 寄存器A,A+DPTR指向的单元的内容 CLR P2.0 ;清0 接口2第0位 MOV P0,A ;传送 接口0,寄存器A LCALL DELAY ;长调用 DELAY MOV P0,#0FFH ;传送 接口0,立即数0FFH SETB P2.0 ;位-置1 接口2第0位 JNB P3.6,FEIWEI ;位为0转移到 接口3第6位,FEIWEI JB SP1,NEXT ;位-为1转移到 SP1,NEXTWAIT:JNB SP1,WAIT ;位为0转移到 SP1,WAIT LCALL DELAY1 ;长调用 DELAY1 INC COUNT ;加1 COUNT MOV A,COUNT ;传送 寄存器A,COUNT CJNE A,#100,NEXT ;比较-不等转移 寄存器A,立即数100, AJMP MAIN ;绝对转移 MAINFEIWEI:AJMP MAIN ;绝对转移 MAINDELAY:MOV R7,#2 ;传送 通用寄存器7,立即数2D1:MOV R6,#100 ;传送 通用寄存器6,立即数100 DJNZ R6,$ ;减一不为0转移 通用寄存器6,到本行 DJNZ R7,D1 ;减一不为0转移 通用寄存器7,D1 RET ;子程序返回 DELAY1:MOV R5,#20 ;传送 通用寄存器5,立即数20D2:MOV R4,#248 ;传送 通用寄存器4,立即数248 DJNZ R4,$ ;减一不为0转移 通用寄存器4,到本行 DJNZ R5,D1 ;减一不为0转移 通用寄存器5,D1 RET ;子程序返回 TABLE:DB 03H,9FH,25H,0DH,99H ;程序空间定义数据 03H,9FH, DB 49H,41H,1FH,01H,09H ;程序空间定义数据 49H,41H,END ;END 5、 外中断实验演示,要求利用外部中断1进行中断控制;1个提问;ORG 0000H ;定义当前位置为 0000HAJMP START ;绝对转移 STARTORG 0003H ;定义当前位置为 0003HAJMP INTTo ;绝对转移 INTToORG 000BH ;定义当前位置为 000BHAJMP TIMER0 ;绝对转移 TIMER0ORG 0030H ;定义当前位置为 0030HSTART: ; MOV P2,#0FFH ;传送 接口2,立即数0FFH CLR P2.0 ;清0 接口2第0位 MOV IE,#83H ;传送 IE,立即数83H MOV TMOD,#01H ;传送 TMOD,立即数01H MOV TL0,#0B0H ;传送 TL0,立即数0B0H MOV TH0,#3CH ;传送 TH0,立即数3CH SETB IT0 ;位-置1 IT0 setb tr0 ;位-置1 tr0 MOV R0,#0 ;传送 通用寄存器0,立即数 MOV R1,#20 ;传送 通用寄存器1,立即数20 MOV DPTR,#TAB ;传送 DPTR,立即数TAB MOV A,R0 ;传送 寄存器A,通用寄存器0 MOVC A,A+DPTR ;程序存储器-读 寄存器A,A+DPTR指向的单元的内容 MOV P0,A ;传送 接口0,寄存器A AJMP $ ;绝对转移 到本行INTTo: ; MOV R0,#0 ;传送 通用寄存器0,立即数 MOV A,R0 ;传送 寄存器A,通用寄存器0 MOVC A,A+DPTR ;程序存储器-读 寄存器A,A+DPTR指向的单元的内容 MOV P0,A ;传送 接口0,寄存器A RETI ;中断返回 TIMER0: ; MOV TL0,#0B0H ;传送 TL0,立即数0B0H MOV TH0,#3CH ;传送 TH0,立即数3CH DJNZ R1,EXIT ;减一不为0转移 通用寄存器1,EXIT MOV R1,#20 ;传送 通用寄存器1,立即数20 INC R0 ;加1 通用寄存器0 CJNE R0,#10H,TOP0 ;比较-不等转移 通用寄存器0,立即数10H, MOV R0,#0 ;传送 通用寄存器0,立即数TOP0: ; MOV A,R0 ;传送 寄存器A,通用寄存器0 MOVC A,A+DPTR ;程序存储器-读 寄存器A,A+DPTR指向的单元的内容 MOV P0,A ;传送 接口0,寄存器AEXIT:RETI ;中断返回 TAB:DB 03H,9FH,25H,0DH ;程序空间定义数据 03H,9FH, DB 99H,49H,41H,1FH ;程序空间定义数据 99H,49H, DB 01H,09H,11H,0C1H ;程序空间定义数据 01H,09H, DB 0E5H,85H,61H,71H ;程序空间定义数据 0E5H,85H,END ;END 6、动态扫描实验中,间隔显示0、2、4、6;间隔显示1、3、5、7;1个提问ORG 0000H ;定义当前位置为 0000H,AJMP START ;绝对转移 START,ORG 0030H ;定义当前位置为 0030H,START:CLR P2.0 ;清0 接口2第0位, MOV P0,#07H ;传送 接口0,立即数07H LCALL DELAY ;长调用 DELAY, MOV P0,#0FFH ;传送 接口0,立即数0FFH SETB P2.0 ;位-置1 接口2第0位, CLR P2.1 ;清0 接口2第1位, MOV P0,#1FH ;传送 接口0,立即数1FH LCALL DELAY ;长调用 DELAY MOV P0,#0FFH ;传送 接口0,立即数0FFH SETB P2.1 ;位-置1 接口2第1位 CLR P2.2 ;清0 接口2第2位 MOV P0,#41H ;传送 接口0,立即数41H LCALL DELAY ;长调用 DELAY MOV P0,#0FFH ;传送 接口0,立即数0FFH SETB P2.2 ;位-置1 接口2第2位 CLR P2.3 ;清0 接口2第3位 MOV P0,#49H ;传送 接口0,立即数49H LCALL DELAY ;长调用 DELAY MOV P0,#0FFH ;传送 接口0,立即数0FFH SETB P2.3 ;位-置1 接口2第3位 CLR P2.4 ;清0 接口2第4位 MOV P0,#99H ;传送 接口0,立即数99H LCALL DELAY ;长调用 DELAY MOV P0,#0FFH ;传送 接口0,立即数0FFH SETB P2.4 ;位-置1 接口2第4位 CLR P2.5 ;清0 接口2第5位 MOV P0,#0DH ;传送 接口0,立即数0DH LCALL DELAY ;长调用 DELAY MOV P0,#0FFH ;传送 接口0,立即数0FFH SETB P2.5 ;位-置1 接口2第5位 CLR P2.6 ;清0 接口2第6位 MOV P0,#25H ;传送 接口0,立即数25H LCALL DELAY ;长调用 DELAY MOV P0,#0FFH ;传送 接口0,立即数0FFH SETB P2.6 ;位-置1 接口2第6位 CLR P2.7 ;清0 接口2第7位 MOV P0,#9FH ;传送 接口0,立即数9FH LCALL DELAY ;长调用 DELAY MOV P0,#0FFH ;传送 接口0,立即数0FFH SETB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论