⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 单片机c语言程序设计100例--基于PIC+PROTEUS
💻 C
字号:
//-----------------------------------------------------------------
//  名称: 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()
{
    switch (Operation_Type)
    {
        case 1:  //东西向绿灯与南北向红灯亮




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



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



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




    }
}

//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void main()
{
 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -