久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
半導體制冷的單片機控制程序
[打印本頁]
作者:
1544457649
時間:
2017-9-13 20:35
標題:
半導體制冷的單片機控制程序
#include<reg52.h>
#include<intrins.h>
sbit PWM_L1=P1^1;
sbit PWM_L2=P1^2;
sbit PWM_R1=P1^3;
sbit PWM_R2=P1^4;
sbit xl1=P2^0;//紅外傳感器
sbit xl2=P2^1;
sbit xr1=P2^2;
sbit xr2=P2^3;
sbit zj3=P2^4;
sbit beep=P3^6;
sbit leftled=P3^5;
sbit rightled=P3^4;
sfr AUXR=0x8E;
sfr BRT=0x9c;
int L1=0,L2=0,R1=0,R2=0,timing=0;//pwm值,pwm周期值
unsigned char NUM;
/***************************************************************************************/
void set_pwm_duty_left(int l1,int l2);
void set_pwm_duty_right(int r1,int r2);
void xunji(void);
void yanshizou();
void xgo(void);
void xback(void);
void dazuozhuan(void);
void dayouzhuan(void);
void zuoxuan(void);
void youxuan(void);
void stop(void);
void turnleft();
void turnright();
void xiaoyouzhuan(void);
void xiaozuozhuan(void);
/***************************************************************************************/
void Delay100ms(); //@11.0592MHz
/***************************************************************************************/
void ConfigTimer0(void);
void UartInit(void);//用于串口通信
/***************************************************************************************/
void main()
{
ConfigTimer0();//定時10ms 11.0592mhz晶振
UartInit();
beep=1;leftled=1;rightled=1;
while(1)
{
switch(NUM)
{
case 'a':xgo();break;
case 'b':xback();break;
case 'c':dazuozhuan();break;
case 'd':dayouzhuan();break;
case 'e':turnleft();break;
case 'f':turnright();break;
case 'z':stop();break;
case 'x':xunji();break;
case 'g':zuoxuan();break;
default:break;
}
}
}
/***************************************************************************************/
void ConfigTimer0(void)
{
//配置TMOD:GATE=0,不受外部影響; C/T=0定時器;M1M0=01,16位計數
TMOD &= 0xf0;
TMOD |= 0x21;
//計數器初值:設置100us中斷 也就是計數100產生中斷,所以初值是65536-100
TH0=(65536-100)/256;
TL0=(65536-100)%256;
//TCON:TR0=1開計數器
TR0=1;
//開中斷
ET0=1;
EA=1;
}
void UartInit(void) //9600bps@11.0592MHz
{
PCON &= 0x7F;
SCON = 0x50;
AUXR |= 0x04;
BRT = 0xDC;
AUXR |= 0x01;
AUXR |= 0x10;
ES=1;
EA=1;
PS=1;//必須加
}
/***************************************************************************************/
void timer0() interrupt 1
{
TH0=(65536-100)/256;
TL0=(65536-100)%256;
if(timing<L1) // left 1
PWM_L1=1;
else
PWM_L1=0;
if(timing<L2) // left 2
PWM_L2=1;
else
PWM_L2=0;
if(timing<R1) // right 1
PWM_R1=1;
else
PWM_R1=0;
if(timing<R2) // right 2
PWM_R2=1;
else
PWM_R2=0;
timing++;
if(timing>99)
timing=0;
}
void ser() interrupt 4
{
NUM=SBUF;//出去接收到的數據
RI = 0;//清除接收中斷標志位
SBUF=SBUF;
while(!TI);
TI=0;
}
/***************************************************************************************/
void set_pwm_duty_left(int l1,int l2)//左電機
{
L1=l1;
L2=l2;
}
void set_pwm_duty_right(int r1,int r2)//右電機
{
R1=r1;
R2=r2;
}
/***************************************************************************************/
void yanshizou()
{
set_pwm_duty_right(0,23);
set_pwm_duty_left(0,20);
}
void dazuozhuan(void)
{
set_pwm_duty_right(0,60);
set_pwm_duty_left(0,40);
}
void dayouzhuan(void)
{
set_pwm_duty_right(0,40);
set_pwm_duty_left(0,60);
}
void xiaozuozhuan(void)
{
set_pwm_duty_right(0,40);
set_pwm_duty_left(0,20);
}
void xiaoyouzhuan(void)
{
set_pwm_duty_right(0,20);
set_pwm_duty_left(0,40);
}
void xgo(void)
{
set_pwm_duty_right(0,80);
set_pwm_duty_left(0,83);
}
void zuoxuan(void)
{
set_pwm_duty_right(0,40);
set_pwm_duty_left(45,0);
}
void xback(void)
{
set_pwm_duty_right(50,0);
set_pwm_duty_left(51,0);
}
void stop(void)
{
set_pwm_duty_right(0,0);
set_pwm_duty_left(0,0);
}
void turnleft()//直角
{
set_pwm_duty_right(0,50);//右進,左退
set_pwm_duty_left(0,0);
}
void turnright()
{
set_pwm_duty_right(0,0);//右退左進
set_pwm_duty_left(0,50);
}
/***************************************************************************************/
void Delay100ms() //@11.0592MHz
{
unsigned char i, j, k;
_nop_();
_nop_();
i = 5;
j = 52;
k = 195;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
/***************************************************************************************/
void xunji(void)//高電平壓線
{
int k=0;
int l=0;
while(l<2)
{
if(xl2==0&&xr1==0)//2,3不壓線
{
yanshizou();
}
else if(xl1==0&&xl2==1&&xr1==0&&xr2==0)//2壓線
{
xiaozuozhuan();
}
else if(xl1==0&&xl2==0&&xr1==1&&xr2==0)//3壓線
{
xiaoyouzhuan();
}
else if(xl1==1&&xl2==0&&xr1==0&&xr2==0)//1壓線
{
turnleft();
}
else if(xl1==0&&xl2==0&&xr1==0&&xr2==1)//4壓線
{
turnright();
}
else if(xl1==1&&xl2==1&&xr1==1&&xr2==1)//十字路口
{
Delay100ms();
beep=0;leftled=0;rightled=0;
Delay100ms();
beep=1;leftled=1;rightled=1;
yanshizou();
}
else
{
yanshizou();
}
if(NUM=='z') l=3;
}
}
復制代碼
作者:
jovew
時間:
2019-12-7 11:56
這個程序是電動車的控制程序用的,怎么說是制冷片程序?
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品久久久久久久久久免费看
|
99热.com
|
国产精品视频不卡
|
中文在线a在线
|
精品视频一区二区三区在线观看
|
精品国产99
|
色视频网站免费
|
亚洲国产视频一区二区
|
欧美一级欧美三级在线观看
|
黑色丝袜三级在线播放
|
午夜精品一区二区三区在线观看
|
天天操天天怕
|
亚洲综合区
|
91av在线免费播放
|
男女激情网站免费
|
日韩精品在线播放
|
日本成人中文字幕
|
国产高清在线视频
|
免费在线a视频
|
91青娱乐在线
|
国产欧美一区二区三区日本久久久
|
在线小视频
|
欧美一区二区大片
|
国产精品一区二区日韩
|
日韩不卡一二区
|
欧美视频中文字幕
|
亚洲精品视
|
欧美成人一区二免费视频软件
|
91色视频在线观看
|
久久99精品久久久久久国产越南
|
99re热这里只有精品视频
|
欧美成人精品欧美一级
|
www亚洲一区
|
国产精品久久久久久久久久久久久
|
狠狠干影院
|
少妇性l交大片免费一
|
国产精品欧美一区二区
|
91天堂网
|
欧美在线网站
|
国产精品1区
|
欧美午夜精品久久久久久浪潮
|