PIC控制十字交通灯的设计程序

PIC控制十字交通灯的设计程序,第1张

//-----------------------------------------------------------------

// 名称: LED模拟交通灯

//-----------------------------------------------------------------

// 说明: 东西向绿灯亮若干秒后,黄灯闪烁,闪烁5次后亮红灯,

//红灯亮后,南北向由红灯变为绿灯,2秒后南北向黄灯闪烁,

//闪烁5次后亮红灯,东西向绿灯亮,如此往复.

//本例将切换时间设得较短,以便快速观察运银轿行效果.

//

//-----------------------------------------------------------------

#include <pic.h>

#define INT8U unsigned char

#define _XTAL_FREQ 1000000UL

#define RED_EW_ON() RC0 = 0 //东西向指示灯开

#define YELLOW_EW_ON() RC1 = 0

#define GREEN_EW_ON() RC2 = 0

#define RED_EW_OFF() RC0 = 1 //东西向指示灯关

#define YELLOW_EW_OFF() RC1 = 1

#define GREEN_EW_OFF() RC2 = 1

#define RED_SN_ON() RC3 = 0 //南北向指示灯开

#define YELLOW_SN_ON() RC4 = 0

#define GREEN_SN_ON() RC5 = 0

#define RED_SN_OFF() RC3 = 1 //南北向指示灯关

#define YELLOW_SN_OFF() RC4 = 1

#define GREEN_SN_OFF() RC5 = 1

#define YELLOW_EW_BLINK() RC1 = ~RC1 //东西向黄灯闪烁

#define YELLOW_SN_BLINK() RC4 = ~RC4 //南北向黄灯闪烁

//闪烁次数, *** 作类型变量

INT8U Flash_Count = 0, Operation_Type = 1

//-----------------------------------------------------------------

// 延时函数卜册

//-----------------------------------------------------------------

void DelayX100ms(INT8U n)

{

while (n--) __delay_ms(100)

}

//-----------------------------------------------------------------

// 交通灯型搏宏切换子程序

//-----------------------------------------------------------------

void Traffic_Light()

{int i

switch (1 )

{

case 1: //东西向绿灯与南北向红灯亮

RC2 = 0

GREEN_SN_OFF()

RED_SN_ON()

RED_EW_OFF()

DelayX100ms(20)

case 2: //东西向黄灯开始闪烁,绿灯关闭

YELLOW_EW_OFF()

GREEN_EW_OFF()

for(i=0i<5i++)

{

YELLOW_EW_BLINK()

DelayX100ms(10)

}

YELLOW_EW_OFF()

case 3: //东西向红灯与南北向绿灯亮

RED_EW_ON()

RED_SN_OFF()

GREEN_SN_ON()

DelayX100ms(20)

case 4: //南北向黄灯开始闪烁

GREEN_SN_OFF()

YELLOW_SN_OFF()

for(i=0i<5i++)

{

YELLOW_SN_BLINK()

DelayX100ms(10)

}

YELLOW_SN_OFF()

}

}

//-----------------------------------------------------------------

// 主程序

//-----------------------------------------------------------------

void main()

{TRISC=0

YELLOW_EW_OFF()

YELLOW_SN_OFF()

RED_EW_OFF()

GREEN_EW_OFF()

YELLOW_SN_OFF()

GREEN_SN_OFF()

while(1)

//Traffic_Light()

}

"picU编程代码"可能是指基于"Microchip PIC"微控制器的编程代码。PIC是Microchip Technology Inc.公司开发的一系列8位、16位、32位微控制器产品,具有低成本、低功耗、高性能等特点,广泛应用于消费电子、工业控制、汽车电子、医疗设备等领域。和握

PIC微控制器可以使用汇编语言、C语言等编程语言进行编程。在编程过程中锋槐,程序员需要按照PIC微控制器的架构和特点,编写相应的代码来控制PIC微控制器的各个部分,如输入输出端口、定时器、中断等,实现所需的功能。编写好的PIC编程代码可以通过编程器等工唤基庆具下载到PIC微控制器中,让微控制器执行相应的任务。

pic控制顺序是起保停编程方式。

第一次为伸缩和回来,第二次为伸雀岁缩停留一段时间,第三次为伸缩停留一段时间。传感器x400检测到工件到位缺岁裂,钻头向下工进y430当钻到一定深度钻头套筒伏闭压到下接近开关x401时,计时器t450计时,4s后快退y431到上接近开关x402,就回到了原位。

plc存储器的存储值代替了开光的状态,提高了开关的可靠性,延长了使用寿命,而且存储器的存储值可以无限次使用,只要改变控制程序就可以实现更改逻辑关系。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12342388.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存