好文档 - 专业文书写作范文服务资料分享网站

给初学单片机的40个实验

天下 分享 时间: 加入收藏 我要投稿 点赞

RET

TABLE:DB0FEH,0FDH,0FBH,0F7HDB0EFH,0DFH,0BFH,07FHDB0FEH,0FDH,0FBH,0F7HDB0EFH,0DFH,0BFH,07FHDB07FH,0BFH,0DFH,0EFHDB0F7H,0FBH,0FDH,0FEHDB07FH,0BFH,0DFH,0EFHDB0F7H,0FBH,0FDH,0FEHDB00H,0FFH,00H,0FFHDB01HEND

7.C语言源程序

#include

unsignedcharcodetable[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x00,0xff,0x00,0xff,0x01};

unsignedchari;voiddelay(void){

unsignedcharm,n,s;for(m=20;m>0;m--)for(n=20;n>0;n--)for(s=248;s>0;s--);}

voidmain(void){

while(1){

if(table[i]!=0x01){

P1=table[i];i++;delay();}

else{i=0;}}}

6.报警产生器

1.实验任务

用P1.0输出1KHz和500Hz的音频信号驱动扬声器,作报警信号,要求1KHz信号响100ms,500Hz信号响200ms,交替进行,P1.7接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止,编出程序。2.电路原理图

图4.6.1

3.系统板上硬件连线

(1.把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”

区域中的SPKIN端口上;(2.在“音频放大模块”区域中的SPKOUT端口上接上一个8欧的或者是

16欧的喇叭;(3.把“单片机系统”区域中的P1.7/RD端口用导线连接到“四路拨动开

关”区域中的K1端口上;4.程序设计内容(1.信号产生的方法

500Hz信号周期为2ms,信号电平为每1ms变反1次,1KHz的信号周期为1ms,信号电平每500us变反1次;

5.程序框图

图4.6.2

6.汇编源程序FLAGBIT00HORG00H

START:JBP1.7,STARTJNBFLAG,NEXTMOVR2,#200DV:CPLP1.0LCALLDELY500LCALLDELY500DJNZR2,DVCPLFLAG

NEXT:MOVR2,#200DV1:CPLP1.0LCALLDELY500DJNZR2,DV1CPLFLAGSJMPSTART

DELY500:MOVR7,#250LOOP:NOPDJNZR7,LOOPRETEND

7.C语言源程序

#include#includebitflag;

unsignedcharcount;voiddely500(void){

unsignedchari;for(i=250;i>0;i--){

_nop_();}}

voidmain(void){

while(1){

if(P1_7==0){

for(count=200;count>0;count--){

P1_0=~P1_0;dely500();}

for(count=200;count>0;count--){

P1_0=~P1_0;dely500();dely500();}}}

7.I/O并行口直接驱动LED显示

1.实验任务

如图13所示,利用AT89S51单片机的P0端口的P0.0-P0.7连接到一个共阴数码管的a-h的笔段上,数码管的公共端接地。在数码管上循环显示0-9数字,时间间隔0.2秒。2.电路原理图

给初学单片机的40个实验

RETTABLE:DB0FEH,0FDH,0FBH,0F7HDB0EFH,0DFH,0BFH,07FHDB0FEH,0FDH,0FBH,0F7HDB0EFH,0DFH,0BFH,07FHDB07FH,0BFH,0DFH,0EFHDB0F7H,0FBH,0FDH,0FEHDB07FH,0BFH,0DFH,0EFHDB0F7H,0FBH,0FDH,0FEHDB00H,0FFH,00
推荐度:
点击下载文档文档为doc格式
2xmzm5cerr3qhtz4wh2h1h1yk7phhy00sm6
领取福利

微信扫码领取福利

微信扫码分享