单片机实验报告Word文件下载.docx
- 文档编号:14968332
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:25
- 大小:441.88KB
单片机实验报告Word文件下载.docx
《单片机实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机实验报告Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。
for(k=248;
k>
k--);
}
voidmain()
while
(1)
{
p0=0;
delay02s();
p0=1;
}
4、汇编语言源程序
START:
CLRP1.0;
和P1.0口接的二极管亮
LCALLDELAY;
延时0.2秒
SETBP1.0;
和P1.0口接的二极管灭
LJMPSTART;
循环
DELAY:
MOVR5,#20;
延时子程序
D1:
MOVR6,#20
D2:
MOVR7,#248
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
END
实验二广告灯的左移右移
一、实验任务:
做单一灯的左移右移,硬件电路如图所示,八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上,输出“0”时,发光二极管亮,开始时P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅→P1.0亮,重复循环。
1、电路原理图
3、汇编语言源程序
ORG0
MOVR2,#8
MOVA,#0FEH
SETBC
LOOP:
MOVP1,A
LCALLDELAY
RLCA
DJNZR2,LOOP
LOOP1:
RRCA
DJNZR2,LOOP1
LJMPSTART
MOVR5,#20;
MOVR6,#20
MOVR7,#248
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
END
4、c语言源程序
#include<
AT89X51.H>
unsignedchari;
unsignedchartemp;
unsignedchara,b;
voiddelay(void)
{unsignedcharm,n,s;
for(m=20;
m>
m--)
for(n=20;
n>
n--)
for(s=248;
s>
s--);
voidmain(void)
while
(1)
temp=0xfe;
P1=temp;
delay();
for(i=1;
i<
8;
i++)
a=temp<
<
i;
b=temp>
>
(8-i);
P1=a|b;
i++)
a=temp>
b=temp<
}
实验三按键识别方法
每按下一次开关SP1,计数值加1,通过AT89S51单片机的P1端口的P1.0到P1.3显示出其的二进制计数值。
unsignedcharcount;
voiddelay10ms(void)
unsignedchari,j;
for(i=20;
for(j=248;
j--);
if(P3_7==0)
delay10ms();
count++;
if(count==16)
count=0;
P1=~count;
while(P3_7==0);
MOVR1,#00H;
初始化R1为0,表示从0开始计数
MOVA,R1;
CPLA;
取反指令
MOVP1,A;
送出P1端口由发光二极管显示
REL:
JNBP3.7,REL;
判断SP1是否按下
LCALLDELAY10MS;
若按下,则延时10ms左右
JNBP3.7,REL;
再判断SP1是否真得按下
INCR1;
若真得按下,则进行按键处理,使
计数内容加1,并送出P1端口由
发光二极管显示
JNBP3.7,$;
等待SP1释放
SJMPREL;
继续对K1按键扫描
DELAY10MS:
MOVR6,#20;
延时10ms子程序
L1:
DJNZR6,L1
实验四点阵LED“0-9”数字显示技术
利用8X8点阵显示数字0到9的数字。
1、设计方法
(1)把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;
(2)把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上;
如下图所示,假设显示数字“0”
1234
●
00003E4141413E00
因此,形成的列代码为00H,00H,3EH,41H,41H,3EH,00H,00H;
只要把这些代码分别送到相应的列线上面,即可实现“0”的数字显示。
送显示代码过程如下所示
送第一列线代码到P3端口,同时置第一行线为“0”,其它行线为“1”,延时2ms左右,送第二列线代码到P3端口,同时置第二行线为“0”,其它行线为“1”,延时2ms左右,如此下去,直到送完最后一列代码,又从头开始送。
数字“1”代码建立如下图所示1234
其显示代码为00H,00H,00H,00H,21H,7FH,01H,00H
数字“2”代码建立如下图所示
1234
00H,00H,27H,45H,45H,45H,39H,00H
数字“3”代码建立如下图所示
00H,00H,22H,49H,49H,49H,36H,00H
数字“4”代码建立如下图所示
00H,00H,0CH,14H,24H,7FH,04H,00H
2、电路原理图
AT89X52.H>
unsignedcharcodetab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsignedcharcodedigittab[10][8]={{0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00},//0
{0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00},//1
{0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00},//2
{0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00},//3
{0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00},//4
{0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00},//5
{0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00},//6
{0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00},//7
{0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00},//8
{0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00}//9};
unsignedinttimecount;
unsignedcharcnta;
unsignedcharcntb;
TMOD=0x01;
TH0=(65536-3000)/256;
TL0=(65536-3000)%256;
TR0=1;
ET0=1;
EA=1;
{;
voidt0(void)interrupt1using0
P3=tab[cnta];
P1=digittab[cntb][cnta];
cnta++;
if(cnta==8)
cnta=0;
timecount++;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 报告