模拟汽车转向灯控制系统设计(3)

2019-01-07 17:34

四川师范大学成都学院专科毕业设计

else if(SA0==1or SA2==1) {P0=12H;}

pwmcycle=60% delay(30); P0=00H; delay(20); }

void shijiancha(void) {

TMOD=0x11; /定时方式,工作在方式1 TH0=0xff; TL0=0xff; TH1=0xff; TL1=0xff; IT0=1; IT1=1; EA=1; ET0=1; ET1=1; TR0=1; TR1=1; }

void timer1(void)interrupt 0 using 1 {

unsigned char tmp1,tmp2; do { tmp1=TH0; tmp2=TL0;

timer1=256*tmp1+tmp2; TH0=0; TL0=0;

11

四川师范大学成都学院专科毕业设计

}

void timer2(void)interrupt 1 using 1 {unsigned char tmp3,tmp4; do { tmp3=TH1; tmp4=TL1;

timer2=256*tmp3+tmp4; } TH0=0; TL0=0; }

void Tongbu(void) /两电机同步子程序 {

int e(k),ec(k); for(k=0;;k++)

{ e(k)=timer1(k)-timer2(k); ec(k)=E(k)-E(k-1); }

if(e(k)>25ms) {e(k)=25ms;} else if(e(k)<-25ms) {e(k)=-25ms;} if (ec(k)>50ms) {ec(k)=50ms;) else if(ec(k)<-50ms) {ec(k)=-50ms;}

if(e(k)>15ms) /时间误差置位规律 {E(k)[0]=1;}

else if (e(k)>8ms&&e(k)<=15ms) {E(k)[1]=1;}

else if (e(k)>0&&e(k)<=8ms)

12

四川师范大学成都学院专科毕业设计

{E(k)[2]=1;} else if (e(k)==0) {E(k)[3]=1;}

else if (e(k)>-8ms&&e(k)>0) {E(k)[4]=1;}

else if(e(k)>=-15ms&&e(k)<-8ms) {E(k)[5]=1;}

else if (e(k)<-15ms) {E(k)[6]=1;}

if(ec(k)>16&&ec(k)<=30) /时间误差变化置位规则 {Ec(k)[0]=1;}

else if (ec(k)>0&&ec(k)<=16) {Ec(k)[1]=1;} else if(ec(k)==0) {Ec(k)[2]=1;}

else if(ec(k)>-16&&ec(k)<0) {Ec(k)[3]=1;}

else if(ec(k)>=-30&&ec(k)<=-16) {Ec(k)[4]=1;}

while(E(k)[6]=1) /查表 {

if(Ec(4)=1) {U=-3;} else if(Ec(3)=1) {U=-2;} else if(Ec(2)=1) {U=-2;} else if(Ec(1)=1) {U=-1;} else if(Ec(0)=1) {U=0;} }

13

四川师范大学成都学院专科毕业设计

while(E(k)[5]=1) {

if(Ec(4)=1) {U=-3;}

else if(Ec(3)=1) {U=-2;}

else if(Ec(2)=1) {U=-2;}

else if(Ec(1)=1) {U=-1;}

else if(Ec(0)=1) {U=0;} }

按键功能程序设计,键盘和LED显示器是单片机应用系统中常用的输入/输出装置本设计采用的是动态接口程序,采用各数码管循环轮流显示的方法,当循环显示的频率较高时,利用P1.0,P2.0,P3.0,P4.0这些接口完成程序码的输出,另一接口完成各数码管的轮流点亮,根据数码管显示部分的电路设计可知,两个数码管的显示只需要控制6个单片机引脚。其中AA、BB、CC、DD引脚连接的是74LS47芯片的输入引脚,单片机控制这四个引脚输出的2进制数经过74LS47译码,控制数码管显示相应的十进制数字其中lock1,lock2分别连接两个74HC573使能端,当lock1=0,lock2=1时,红色数码管保持当前读数不变,蓝色数码管根据AA、BB、CC、DD的输出信号改变数字,当lock1=1lock2=0时,蓝色数码管保持当前读数不变,红色数码管根据P1、P2、P3、P4的输出信号改变灯的循环循序。该程序中包含了毫秒延时函数,具体仿真图见附录2,汇编语言程序设计如下。 ORG 0000H

AJMP START1 ORG 0030H SAME

EQU 4EH

;无输入时无输出

START1: MOV P1,#00H START: MOV A,P3

;读P3口数据

ANL A,#1FH ;取用P3口的低五位数据

;对P3口低五位数据进行判断

14

CJNE A,#1FH,SHIY

四川师范大学成都学院专科毕业设计

AJMP START1

SAME, A YS

;延时 ;读P3口的数据 ;取用P3口的低五位数据

SHIY: MOV

LCALL

MOV A,P3

ANL A,#1FH

CJNE A,#1FH,SHIY1 ;对P3口的低五位数据进行判断 AJMP START1

;开关没有动作时无输出

SHIY1: CJNE A,SAME,START1

CJNE A,#17H,NEXT1 ;P3.3=0时进入左转分支 AJMP LEFT

NEXT1: CJNE A,#0FH,NEXT2 ;P3.4=0时进入右转分支

AJMP RIGHT

NEXT2: CJNE A,#1DH,NEXT3 ;P3.1=0时进入紧急分支

AJMP EARGE

NEXT3: CJNE A,#1EH,NEXT4 ;P3.0=0时进入刹车分支

AJMP BRAKE

NEXT4: CJNE A,#1BH,NEXT5 ;P3.2=0时进入停靠分支

AJMP STOP

;其他情况进入错误分支

;左转分支

NEXT5: AJMP ERROR LEFT: MOV P1,#2AH

YS: MOV R7,#04H ;延时 YS0: YS1:

MOV

R6, #0FFH

DJNZ R6, YS1 DJNZ R7, YS0 RET MOV

R7,#04H R6, #0FFH R5, #0FFH

;延时

Y1s:

Y1s1: MOV Y1s2: MOV

DJNZ R6, Y1s2 DJNZ R7, Y1s1 RET

R7,#66H

;延时

15

Y100ms: MOV


模拟汽车转向灯控制系统设计(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017-2022年中国LED封装行业市场运营态势与投资决策分析报告(目

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: