广告灯实验
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DB0FFH,7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH
DB0FEH,0FFH,0FEH,0FCH,0F8H,0F0H,0E0H,0C0H
DB80H,00H,80H,0C0H,0E0H,0F0H,0F8H,0FCH
DB0FEH,0FFH,7FH,3FH,1FH,0FH,07H,03H
答:
(3)在单步执行程序过程中,观察灯闪烁的规律,思考LED灯是“共阳极”接法,还是“共阴极”接法?百度文库
答:
(4)思考源程序中寄存器R5的初值为何是“71H”?“ACALL DELAY”指令调用了两次,如果只调用一次现象有何改变?
答:
(5)假设单片机实验箱的晶振频率为12MHz,请计算DELAY标号开始的延时程序具体延时了多长时间?写出计算公式。并思考,如果需要控制灯闪烁加快,或者减慢应如何修改程序?
DELAY:MOVR7,#00H;
MOVR6,#00H;
DE:DJNZR7,$;
DJNZR6,DE;
RET
答:
(6)假设单片机实验箱时钟频率为12MHz,使用单片机的定时器T0,编程控制灯闪烁周期为100ms,将汇编源程序粘贴在此处。(注:此问题留待定时器内容讲完后自行完成。)
END
2、请将调试正确的C源程序粘贴在此处
#include <reg51.h>
#define N 8
void main(){
unsigned int i,a=0;
const unsigned char led[N]={0x01,0x02,0x03,0x04,0x10,0x20,0x30,0x40};
DELAY:MOVR7,#00H;将00H放到R7中
MOVR6,#00H;将00H放到R7中
DE:DJNZR7,$;(R7)减1不为0,则跳转到DE
DJNZR6,DE;(R7)减1为0执行,(R6)减1不为0,则跳转到DE
RET
TAB:DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH
按要求完成以下步骤:
1、汇编源程序“ZYADV.ASM”已粘贴在下方,看懂源程序后对每条指令加上注释信息,注释信息以分号开始,将注释信息的字体设置为‘绿色’。
RG 0
MAIN:MOVDPTR,#TAB;通过该指令将字模首地址送到DPTR寄存器只能中
MOVR5,#71H;(R5)=71H
LOOP:MOVA,#00H;将待显示的数码放到A中
while(1){
P1=~led[a++];
for(i=0;i<=10000;i++);
if(a>N-1)a=0;
}
}
3、观察实验现象,阅读汇编源程序,思考并回答以下问题。
(1)将程序正确下载到实验箱后,全速运行程序,观察现象。思考程序是使用什么方法控制灯实现闪烁?
答:
(2)按F10功能键进行单步执行程序,观察流程是否会进入表格首地址。
DB01H,00H,01H,03H,07H,0FH,1FH,3FH
DB7FH,0FFH,7EH,3CH,18H,00H,18H,3CH
DB7EH,0FFH,0FEH,0FCH,0FCH,0F9H,0F3H,0E7H
DB0CFH,9FH,3FH,7FH,0FFH,7FH,3FH,9FH
DB0CFH,0E7H,0F3H,0F9H,0FCH,0FEH,0FFH
《单片机基础》第1次实验报告
实验内容
实验十广告灯实验(实验手册P28页)
实验目的
熟悉单片机实验箱的使用方法,以及Keil C51软件的使用。熟悉汇编指令。
姓名
学号
班级
电子信息工程
实验准备:
(1)在D:盘根目录下创建一个以“学号”命名的空文件夹,并将这个空文件夹复制并粘贴到/单片机实验报告(电信)/。
MOVCA,@A+DPTR;TAB+00H,将0FEH和0FDH放到A中
MOVP1,A;(P1)=(A)
ACALLDELAY;调用子程序DELAY
ACALLDELAY;再次调用子程序DELAY
INCDPTR;TAB的地址自加1
DJNZR5,LOOP;71H减1不为0,则跳转到LOOP
LJMPMAIN;71H减1为0,则跳转到MAIN
DB0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H
DB80H,40H,20H,10H,08H,04H,02H,01H,00H
DB01H,02H,04H,08H,10H,20H,40H,80H,00H
DB80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH
(2)将“C:\Keil\单片机实验程序”路径下的ZYADV.ASM文件复制到D:盘刚才创建的空文件夹里。
(3)在Keil C51环境下新建一个名为“ZYADV”的工程,并按照《单片机实验说明》文档中的第8步进行工程属性的设置。
(4)将汇编源程序“ZYADV.ASM”添加到新创建的工程里。
(5)编译程序,并进行仿真调试。
DB0FEH,0FFH,0FEH,0FCH,0F8H,0F0H,0E0H,0C0H
DB80H,00H,80H,0C0H,0E0H,0F0H,0F8H,0FCH
DB0FEH,0FFH,7FH,3FH,1FH,0FH,07H,03H
答:
(3)在单步执行程序过程中,观察灯闪烁的规律,思考LED灯是“共阳极”接法,还是“共阴极”接法?百度文库
答:
(4)思考源程序中寄存器R5的初值为何是“71H”?“ACALL DELAY”指令调用了两次,如果只调用一次现象有何改变?
答:
(5)假设单片机实验箱的晶振频率为12MHz,请计算DELAY标号开始的延时程序具体延时了多长时间?写出计算公式。并思考,如果需要控制灯闪烁加快,或者减慢应如何修改程序?
DELAY:MOVR7,#00H;
MOVR6,#00H;
DE:DJNZR7,$;
DJNZR6,DE;
RET
答:
(6)假设单片机实验箱时钟频率为12MHz,使用单片机的定时器T0,编程控制灯闪烁周期为100ms,将汇编源程序粘贴在此处。(注:此问题留待定时器内容讲完后自行完成。)
END
2、请将调试正确的C源程序粘贴在此处
#include <reg51.h>
#define N 8
void main(){
unsigned int i,a=0;
const unsigned char led[N]={0x01,0x02,0x03,0x04,0x10,0x20,0x30,0x40};
DELAY:MOVR7,#00H;将00H放到R7中
MOVR6,#00H;将00H放到R7中
DE:DJNZR7,$;(R7)减1不为0,则跳转到DE
DJNZR6,DE;(R7)减1为0执行,(R6)减1不为0,则跳转到DE
RET
TAB:DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH
按要求完成以下步骤:
1、汇编源程序“ZYADV.ASM”已粘贴在下方,看懂源程序后对每条指令加上注释信息,注释信息以分号开始,将注释信息的字体设置为‘绿色’。
RG 0
MAIN:MOVDPTR,#TAB;通过该指令将字模首地址送到DPTR寄存器只能中
MOVR5,#71H;(R5)=71H
LOOP:MOVA,#00H;将待显示的数码放到A中
while(1){
P1=~led[a++];
for(i=0;i<=10000;i++);
if(a>N-1)a=0;
}
}
3、观察实验现象,阅读汇编源程序,思考并回答以下问题。
(1)将程序正确下载到实验箱后,全速运行程序,观察现象。思考程序是使用什么方法控制灯实现闪烁?
答:
(2)按F10功能键进行单步执行程序,观察流程是否会进入表格首地址。
DB01H,00H,01H,03H,07H,0FH,1FH,3FH
DB7FH,0FFH,7EH,3CH,18H,00H,18H,3CH
DB7EH,0FFH,0FEH,0FCH,0FCH,0F9H,0F3H,0E7H
DB0CFH,9FH,3FH,7FH,0FFH,7FH,3FH,9FH
DB0CFH,0E7H,0F3H,0F9H,0FCH,0FEH,0FFH
《单片机基础》第1次实验报告
实验内容
实验十广告灯实验(实验手册P28页)
实验目的
熟悉单片机实验箱的使用方法,以及Keil C51软件的使用。熟悉汇编指令。
姓名
学号
班级
电子信息工程
实验准备:
(1)在D:盘根目录下创建一个以“学号”命名的空文件夹,并将这个空文件夹复制并粘贴到/单片机实验报告(电信)/。
MOVCA,@A+DPTR;TAB+00H,将0FEH和0FDH放到A中
MOVP1,A;(P1)=(A)
ACALLDELAY;调用子程序DELAY
ACALLDELAY;再次调用子程序DELAY
INCDPTR;TAB的地址自加1
DJNZR5,LOOP;71H减1不为0,则跳转到LOOP
LJMPMAIN;71H减1为0,则跳转到MAIN
DB0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H
DB80H,40H,20H,10H,08H,04H,02H,01H,00H
DB01H,02H,04H,08H,10H,20H,40H,80H,00H
DB80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH
(2)将“C:\Keil\单片机实验程序”路径下的ZYADV.ASM文件复制到D:盘刚才创建的空文件夹里。
(3)在Keil C51环境下新建一个名为“ZYADV”的工程,并按照《单片机实验说明》文档中的第8步进行工程属性的设置。
(4)将汇编源程序“ZYADV.ASM”添加到新创建的工程里。
(5)编译程序,并进行仿真调试。