1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉
標題:
循跡小車單片機程序
[打印本頁]
作者:
路人一枚
時間:
2018-6-14 22:37
標題:
循跡小車單片機程序
V1.1.rar
(34.91 KB, 下載次數: 11)
2018-6-14 22:36 上傳
點擊文件名下載附件
循跡小車程序包
下載積分: 黑幣 -5
需要的自取吧~~
#include <REG52.H>
#include <intrins.h>
#include <STDIO.H>
#define uchar unsigned char
#define uint unsigned int
#define true 1
#define false 0
sbit ZEN = P1^0;
sbit ZLA = P1^1;
sbit ZLB = P1^2;
sbit YLA = P1^3;
sbit YLB = P1^4;
sbit YEN = P1^5;
sbit SSz = P2^2;
sbit SSy = P2^1;
sbit BiZ = P2^0;
sbit Mod = P2^3;
uchar temp;
uchar Left_pwm_val =0;
uchar Left_push_val =0;
uchar Righ_pwm_val =0;
uchar Righ_push_val =0;
void qianj();
void zuoz();
void yuoz();
void tingz();
void Delay_1ms(uint i)//1ms延時
{
uint x,j;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
}
void qianj()
{
Left_push_val = 10;
Righ_push_val = 10;
ZLA = 0;
ZLB = 1;
YLA = 0;
YLB = 1;
}
void zuoz()
{
Left_push_val = 0;
Righ_push_val = 10;
ZLA = 0;
ZLB = 1;
YLA = 0;
YLB = 1;
}
void youz()
{
Left_push_val = 10;
Righ_push_val = 0;
ZLA = 0;
ZLB = 1;
YLA = 0;
YLB = 1;
}
void tingz()
{
ZLA = 0;
ZLB = 0;
YLA = 0;
YLB = 0;
}
void Car_Run(void)
{
if((SSz == 0)&&(SSy == 0)){
qianj();
}
if((SSz == 1)&&(SSy == 1)){
tingz();
}
if((SSz == 1)&&(SSy == 0)){
youz();
}
if((SSz == 0)&&(SSy == 1)){
zuoz();
}
}
void Left_pwm_moto(void)
{
if(Left_pwm_val<=Left_push_val){
ZEN=1;
} else {
ZEN=0;
}
if(Left_pwm_val>=10)
Left_pwm_val=0;
}
void Righ_pwm_moto(void)
{
if(Righ_pwm_val<=Righ_push_val){
YEN=1;
} else {
YEN=0;
}
if(Righ_pwm_val>=10)
Righ_pwm_val=0;
}
void InitUART(void)
{
TMOD = 0x21;
SCON = 0x50;
TH1 = 0xFA;
TL1 = TH1;
PCON = 0x80;
EA = 1;
ES = 1;
TR1 = 1;
}
void PWM_INIT()
{
TH0= 0XFC; //1ms定時
TL0= 0X18;
TR0= 1;
ET0= 1;
EA = 1;
}
void main (void)
{
uchar Left_Speed = 0,Righ_Speed = 0;
bit modflag = 0;
Left_Speed = 9;
Righ_Speed = 8;
InitUART();
PWM_INIT();
Left_push_val = Left_Speed; //PWM 調節參數1-10 1為最慢,10是最快 改這個值可以改變其速度
Righ_push_val = Righ_Speed; //PWM 調節參數1-10 1為最慢,10是最快 改這個值可以改變其速度
Delay_1ms(500);
while(1){
zuoz();
//Car_Run();
}
}
void UARTInterrupt(void) interrupt 4
{
if(RI) {
RI = 0;
temp = SBUF;
}
}
void timer0()interrupt 1 using 2
{
TH0=0XFE;
TL0=0X0C;
Left_pwm_val++;
Righ_pwm_val++;
Left_pwm_moto();
Righ_pwm_moto();
}
復制代碼
作者:
admin
時間:
2018-6-15 02:06
補全投文件后可獲得積分
作者:
jxhjjm
時間:
2018-6-15 09:56
可以打板測試嗎
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1