长沙理工单片机原理作业

发布 2022-09-09 20:24:28 阅读 6473

51单片机控制两个发光二极管的电路图和程序。

如图所示:在p1.0、p11端口上各接一个发光二极管l1、l2,使l1、l2在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。

如图所示的石英晶体为12mhz,因此,1个机器周期为1微秒。

机器周期微秒。

mov r6,#20 2个机器周期 2

d1: mov r7,#248 2个机器周期 2 2+2×248=498 20×

djnz r7,$ 2个机器周期 2×248498

djnz r6,d1 2个机器周期 2×20=40 10002

因此,上面的延时程序时间为10.002ms。

由以上可知,当r6=10、r7=248时,延时5ms,r6=20、r7=248时,延时10ms,以此为基本的计时单位。如本实验要求0.2秒=200ms,10ms×r5=200ms,则r5=20,延时子程序如下:

delay: mov r5,#

d1: mov r6,#

d2: mov r7,#

djnz r7,$

djnz r6,d2

djnz r5,d1

ret2). 输出控制。

如图所示,当p1.0端口输出高电平,即p1.0=1时,根据发光二极管的单向导电性可知,这时发光二极管l1熄灭;当p1.

0端口输出低电平,即p1.0=0时,发光二极管l1亮;我们可以使用setb p1.0指令使p1.

0端口输出高电平,使用clr p1.0指令使p1.0端口输出低电平。

p1.1同理;

5. 程序框图。

如图4.1.2所示。

图4.1.2

6. 汇编源程序。

org 0start: clr p1.0

setb p1.1

lcall delay

setb p1.0

clr p1.1

lcall delay

ljmp start

delay: mov r5,#20 ;延时子程序,延时0.2秒。

d1: mov r6,#

d2: mov r7,#

djnz r7,$

djnz r6,d2

djnz r5,d1

retend

7. c语言源程序。

#include <>

sbit l1=p1^0;

sbit l2=p1^1;

void delay02s(void) /延时0.2秒子程序。

unsigned char i,j,k;

for(i=20;i>0;i--)

for(j=20;j>0;j--)

for(k=248;k>0;k--)

void main(void)

while(1)

l1=0;l2=1;

delay02s();

l1=1;l2=0;

delay02s();

用51单片机的p1口接8个发光二极管,在p3.2引脚接一个按钮,每按一次,发光二极管亮一个,顺序下移,且每次只有一个亮,周而复始,请编制程序。

#include<>

sbitk1=p3^2;

unsigned int i,j;

void key()if(j>5000)}

else}void main ()

p1=0x80;

while(1)

单片机原理2答案

成绩统计表。专业班级考生姓名学号 一 填空 15分 1分 空 1.7eh 3.0000h 07h 4.通用ram 可位寻址ram 寄存器组。7.定时 计数器中断 外部中断 串行中断。二 选择 10分 2分 空 三 简答题 共20分,每小题5分 1.mcs 51的定时器用作定时时,其定时时间与时钟频率...

单片机作业

单片机测试一。第一部分选择题。一 单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的,请将其 填写在题前的括号内。错选 多选或未选均无分。1.下列关于单片机说法错误的是。单片机的cpu能处理8位二进制数据或 以及布尔运算。b.8051总共有256个ram单元,内部数据存储器为前128单元。...

单片机作业

单片机原理及应用 作业。1 叫原码 反码和补码?答 正数的反码和补码都是和原码相同。负数。在计算机中,负数以其正值的补码形式表达。什么叫补码呢?这得从原码,反码说起。原码 一个整数,按照绝对值大小转换成的二进制数,称为原码。比如 是5的原码。反码 将二进制数按位取反,所得的新二进制数称为原二进制数的...