关键词不能为空

当前您在: 主页 > 英语 >

超声波测距实验

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-09 08:25
tags:

-

2021年2月9日发(作者:tired是什么意思)


实验


7


超声波测距实验



< br>1


)实验目的



?



掌握超声波测距的原理



?



掌握超声波测距的软件编程




2


)实验器材



电源


POWER


模块、


测距


&


振动


&


压力


&


角度模块、


主控


制器模块、


LCD1602


、超声波模块、连接线




3


)实验程序



ceju



#include


#include


#include



#define uchar unsigned char


#define uint



unsigned int



//#define Trig P2^6



//#define Echo P2^7



void Time0_Init()



{





TMOD |=0X01;





TH0=0;




TL0=0;




ET0=1;







EA=1;





}







sbit Trig=P2^6;




sbit Echo=P2^7;




double t;




int s;





int ge;




int shi;




int bai;



void main(void)




{





Time0_Init();




lcd_init();







//< /p>


定时


0



工作方 式


1,16


位定时器




//


允许


T 0


中断



//


开启总中断




while(1)



{





Trig=0;




Trig=1;




delay_ms(1);




Trig=0;





while(Echo==0);




{




}




TR0=1;





while(Echo==1)




{




}





TR0=0;




t=(double)(TH0*256+TL0)*12.0/11.0592;




TH0=0;




TL0=0;




s=(int)340*t/20000;






ge=s%10;




s=s/10;




shi=s%10;




s=s/10;




bai=s;














delay_ms(100);











lcd_display_str(0,0,










lcd_1602_display_num(1,1,bai);










lcd_1602_display_num(2,1,shi);










lcd_1602_display_num(3,1,ge);



}



}






4


)测试步骤



1.


将超声波模块插入测距


&


振动


&


压力


&


角度传感器模



J5


,按表


1


的连线关系连好线。给模块上电。


2.


编写程序,并下载到主控制器。



3.


用物体挡住超声波模块,


观察液晶显示的距离。


移动


物体,观察液晶显示的距离是否与实际吻合。






5


)实验结果



液晶显示屏上显示超声波模块 距离阻挡物的距离(直线


距离)


,最大可到

400cm


左右。

























实验


8



PWM


直流电机调速实验


< p>


1


)实验目的



?



了解单片机硬件

< br>PWM


的配置方法



?



掌握直流电机速度的控制方法




2


)实验器材



电 源


POWER


模块、


CPU_51


模块、速度


&


加速度度传

< br>感器模块、


LCD1602


、超声波模块、连接线




3


)实验程序< /p>




main.c



#include


#include


#include




int ge,shi,bai,age,ashi;



sbit KEY1=P1^4;


int i=0;


int a;


//


定时器初始化



void Time0_Init()


{


TMOD |= 0X01; //


定时


0


,工作方式


1


< br>16


位定时器



TH0 = (65536-46080)/256; //


定时时间:


50 ms



50ms


后进入中




TL0 = (65536-46080)%256;


ET0 = 1; //

允许


T0


中断



TR0 = 1; //


启动定时器


0


EA = 1; //


开启总中断



}


void Time1_Init()


{






}




int count,speed = 100


/*


定时器


0


中断函数



count


用于计数,计满即是


1s< /p>



speed


变量存

1s


内得到的脉


冲数。



*/


TMOD |= 0x50; //

定时器


1


,工作方式


1

< p>


16


位计数器



TH1 = 0; //


计数器赋初值



TL1 = 0;


TR1 = 1; //


启动计数器



void Time0_Int() interrupt 1


{


count++;


//lcd_1602_display_num(1,0,2);



if(count > 19)


{


speed = TH1*256+TL1; //


取得


1s


,计数器


1


得到 的脉冲数



count = 0;


TH1 = 0;


TL1 = 0;





}


TH0 = (65536-46080)/256; //


定 时器


0


,重新赋初值



TL0 = (65536-46080)%256;


}





/*PWM


初始化


< br>PWM


的频率是


11.0592/256 MHZ


,通过改变


CCAP0H


< br>CCAP0L


的值,可以改变


PWM

的占空比。



*/



void PWM_Init()


{



//PCA


工作模式寄存器,设置< /p>


PCA/PWM


时钟源输入为



sysclk/12


关闭


PCA


溢出计数中断






CMOD = 0X00;


CCON = 0X00;




CCAPM0 = 0X42;


//PCA


控制寄存器




//PCA


比较

/


捕获寄存器,


设置


P1.3


pwm


输出,无中断





CL = 0X00;



CH = 0X00;





//PCA



16


位计数器


< br>//PCA


捕获


/


比较寄存器, 当


PCA


模块


用于

PWM


模式时,他们用来控制输出的占空比




CCAP0L = 0XC0;//


占空比


25% CCAP0H=CCAP0L= 0X80


时占空比


50% 0(


ˇ


?


ˇ)



0X40




75%





}






int b;


void main(void)


CCAP0H = 0XC0;


CR = 1;



//


启动


PCA


定时器



{












while(1){



while(KEY1){;}//


开关不闭合不改变



if(i==0)


{CCAP0L = 0XC0;



CCAP0H = 0XC0;



a=25;}


else if(i==1)








{CCAP0L = 0X80;



CCAP0H = 0X80;



a=50;}


else



{CCAP0L = 0X40;









CCAP0H = 0X40;






a=75;}


int test_li=0


lcd_init();


Time0_Init();


Time1_Init();


PWM_Init();




















































b=speed;











ge=b%10;


b=b/10;


shi=b%10;


bai=b/10;


age=a%10;


ashi=a/10;







lcd_display_str(0,1,












lcd_1602_display_num(7,1,bai);












lcd_1602_display_num(8,1,shi);


























}






lcd_1602_display_num(9,1,ge);

lcd_display_str(0,0,


lcd_1602_display_ num(9,0,age);


lcd_1602_display_num(10,0,ashi);








i++;


i=i%3;


delay_ms(1000);


}




4< /p>


)测试步骤



1.


按照连线方法连线。



2.


自行编写主程序



3.


给系统上电。



4.


观察液晶屏显示的转速是否正确,


连续按下轻触开关


K EY1


,观察液晶屏显示的转速和占空比是否变化。




5


)实验结果



液晶显示屏上第一行显示占空比,第二行显示转速。占


空比随按键按 下变化,同时转速也发生变化。占空比大时转


速快。














实验


9


红外对管转速测量实验



< p>
1


)实验目的



?



了解电机驱动的原理



?



了解红外对管的工作原理



?



掌握使用红外对管测速的方法




2


)实验器材



电 源


POWER


模块、红外传感器模块、主控制器模块、


LCD1602


、超声波模块、连接线




3


)实验程序



main.c



#include


#include


#include




int ge,shi,bai,age,ashi;



sbit KEY1=P1^4;


int i=0;


int a;


//


定时器初始化



void Time0_Init()


{

-


-


-


-


-


-


-


-



本文更新与2021-02-09 08:25,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/620034.html

超声波测距实验的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文