1 编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去.docx
- 文档编号:26749077
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:12
- 大小:50.89KB
1 编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去.docx
《1 编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去.docx》由会员分享,可在线阅读,更多相关《1 编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去.docx(12页珍藏版)》请在冰豆网上搜索。
1编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去
1编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去。
解:
STRAT:
MOVR0,#30H
MOVR7,#0FH
MOVDPTR,#3000H
LOOP:
MOVA,@R0
MOVX@DPTR,A
INCR0
INCDPTR
DJNZR7,LOOP
RET
2片内RAM30H开始的单元中有10B的二进制数,请编程求它们之与(与<256).
解 ADDIO:
MOVR0,30H
MOVR7,#9
MOVA,@R0
LOOP:
INCR0
ADDA,@R0
DJNZR7,LOOP
MOV30H,A
RET
5片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中.
解START:
MOVR0,#40H;数据块首地址送R0
MOVR7,#09H;比较次数送R7
MOVA,@R0;取数送A
LOOP:
INCR0
MOV30H,@R0;取数送30H
CJNEA,30H,NEHT;(A)与(30H)相比
NEXT:
JNCBIE1(A)≥(30H)转BIR1
MOVA,30H;(A)<(30H),大数送A
BIE1:
DJNZR7,LOOP;比较次数减1,不为0,继续比较
MOV50H,A;比较结束,大数送50H
RET
6编一子程序,从串行接口接受一个字符.
解:
START:
MOVTMOD,#20H;定时器T1工作于模式2
MOVTH1,#0E8H;设置波特率为1200b/s
MOVTL1,#0E8H
SETBTR1;启动T1
MOVSCON,#50H;串行接口工作于方式1,充许接收
L1:
JNBRI,L1;等待接收数据,末接收到数据,继续等待
CLRRI;接收到数据,清RI
MOVA,SBUF;接收到数据送A
RET
9编制一个循环闪烁灯的程序。
有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。
画出电路图。
解
P1、0
8013
P1、7
D0Q0
74LS240
D7Q7
5V
本程序的硬件连接如图所示。
当P1、0输出高电平时,LED灯亮,否则不亮。
其程序如下:
MOVA,#01H;灯亮初值
SHIFT:
LCAILFLASH;调闪亮10次子程序
RRA;右移一位
SJMPSHIFT;循环
FLASH:
MOVR2,#0AH闪烁10次计数
FLASH1;MOVP1,A;点亮
LCALLDELAY;延时
MOVP1,#00H;熄灭
LCALLDELAY;延时
DJNZR2,FLASH1;循环
RET
1.编定一个软件延时1S与1min的子程序.设fosc=6Hz,则一个机器周期1μs。
解:
(1)1S=2US*5*100000
5*100000=250*200*10
(2)ORG1000H
TIME:
MOVR7,#10
T3:
MOVR6,#200
T2:
MOVR6,#250
T1:
DJNZR5,T1
DJNZR6,T2
DJNZR7,T3
RET
(2)1min=60,调用上面1s子程序60次
ORG0030H
MOVR0,#60
LOOP:
LCALLTIME
DJNZR0,LOOP
RET
2.请编制串行通信的数据发送程序,发送片内RAM50H~5FH的16B数据,串行接口设定为方式2,采用偶校验方式。
设晶振频率为6MHz。
解:
查询方式发送程序如下
MOVSCON,#8OH
MOVPCON,#80H
MOVR0,#50H
MOVR7,#16H
LOOP:
MOVA,@R0
MOVC,P
MOVTB8,C
MOVSBUF,A
JNBT1,$
CLRT1
INCR0
DJNZR7,LOOP
RET
4、应用单片机内部定时器T0工作在方式1下,从P1、0输出周期为2ms的方波脉冲信号,已知单片机的晶振频率为6MHZ。
请
(1)计算时间常数X,应用公式X=216-t(f/12)
(2)写出程序清单
解:
X=216-t(F/12)
=216-1*10-3*6*106/12
=OFEOCH
ORG3000H
START:
MOVTMOD,#01H
MOVTL0,#OCH
MOVTHO,#OFEH
SETBTR0
LOOP:
JBCTFO,DONE
SJMPLOOP
DONE:
MOVTL0,#OCH
MOVTHO,#OFEH
CPLP1、0
SJMPLOOP
6、用89C51的P1口,监测某一按键开关,使每按键一次,输出一个正脉冲(脉宽随意)。
编出汇编语言程序。
解:
ORG0100H
ABC:
SETBP1、0
SETBP1、7
JBPI、7,$
JNBP1、7,$
CLRP1、0
MOVR2,#0
DAY:
NOP
NOP
DJNZR2,DAY
SJMPABC
7、设计一个4位数码显示电路,并用汇编语言编程使"8"从右到左显示一遍。
解:
ORG0100H
MOVA,#08H
MOVR2,#01H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP1,A
NEXT:
MOVA,R2
MOVP3,A
ACALLDAY
JBACC、4,LPD
RLA
MOVR2,A
AJMPNEXT
LPD:
RET
TAB:
DB
END
11.设计89C51与ADC0809的接口,采集2通道10个数据,存入内部RAM的50H~59H单元,画出电路图,编出:
(2)查询方式;
解:
IN2的地址为7FFAH,P1、0查询转换结束信号,查询程序如下:
ORG0100H
MOVR7,#0AH
MOVR0,#50H
MOVDPTR,#7FFAH
NEXT:
MOVX@DPTR,A
JBP1、0,$
MOVXA,@DPTR
MOV@R0,A
INCR0
DJNZNEXT
SJMP$
12、扫描子程序:
KEY1:
ACALLKS1;调用判断有无键按下子程序
JNZLK1;有键按下,转LK1
AJMPKEY1;无键按下,返回
LK1:
ACALLT12MS;调延时12ms子程序
ACALLKS1;查有无键按下
JNZLK2;若有,则为键确实按下,转逐列扫描
AJMPKEY1;无键按下,返回
LK2:
MOVR4,#00H;首列号R4
MOVR2,#FEH;首列扫描字R2
LK4:
MOVA,R2;列扫描字P1口
MOVP1,A;使第一列线为0
MOVA,P1;读入行状态
JBACC、0,LONE;第0行无键按下,转查第一行
MOVA,#00H;第0行有键按下,该行首键号#00HA
AJMPLKP;转求键号
LONE:
JBACC、1,NEXT;第一行无键按下,转查下一列
MOVA,#02;第一行有键按下,该行首键号#02A
LKP:
ADDA,R4;键号=首行号+列号
PUSHACC;键号进栈保护
LK3:
ACALLKS1;等待键释放
JNZLK3;未释放,等待
POPAC;键释放,键号A
RET;键扫描结束
NEXT:
INCR4;列号加1,指向下一列
MOVA,R2;列扫描字A
JNBACC、1,KND;判断2列全扫描完?
扫描完,转KND
RLA;没扫描完,扫描字左移一位,形成下一列扫描字
MOVR2,A;扫描字R2
AJMPLK4;扫描下一列
AJMPKEY1;全扫描完,返回
MOVA,#FCH;全扫描字11111100BA
MOVP1,A;全扫描字所有行
MOVA,P1;读取列值
CPLA;取正逻辑,高电平表示有键按下
ANLA,#0C0H;屏蔽低6位,取高2位
RET;出口状态(A)!
=0,有键按下
2、如图所示,要求按下S1~S4中的任意一个键,则对应的(S1-D3、S2-D4、S3-D5、S4-D6)发光二极管亮,松开键对应的发光二极管灭。
解答:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV
P3,#0FFH
LOOP:
MOV A,P3
MOV P1,A
LJMP LOOP
END
1、试编程采用软件延时的方法来延时5分钟。
(系统时钟为6MHZ)(10分)
ORG 1000H
MOV R3,#05H
LP3:
MOV R2,#78H
LP2:
MOV R1,#0FAH
LP1:
MOV R0,#0FAH
LP:
NOP
NOP
DJNZ R0,LP
DJNZ R1,LP1
DJNZ R2,LP2
DJNZ R3,LP3
END
3、使用74ls164的并行输出端接8个发光二极管,利用它的串入并出的功能,把发光二极管从左到右轮流点亮一个灯,并反复循环。
(即流水灯效果)
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV SCON #00H
CLR ES
MOV A #80H
DELR:
CLR P1、0
MOV SBUF,A
JNB TI,$
SETB P1、0
LCALL DELAY
CLR TI
RR A
SJMP DELR
DELAY:
MOV R7,#10
D1:
MOV R6,#50
D2:
MOV R5,#200
DJNZ R5,$
DJNZ R6,D2
DJNZ R7,D1
RET
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去 编程 将片内 RAM30H 单元 开始 15 数据 传送 到片外 RAM3000H