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

📄 main.c

📁 单片机c语言程序设计100例--基于PIC+PROTEUS
💻 C
字号:
//-----------------------------------------------------------------
//  名称: TMR1与TMR2定时器控制十字路口秒计时显示屏
//-----------------------------------------------------------------
//  说明: 本例运行时,东西向蓝色数码管与南北向红色数码管同步倒计时,
//        若干秒后交换,如此往复.
//        本例使用的两个定时器中,TMR1定时器负责递减秒数及切换方向,
//        TMR2定时器负责刷新显示数码管.
//
//-----------------------------------------------------------------
#include <pic.h> 
#define INT8U   unsigned char
#define INT16U  unsigned int
#define _XTAL_FREQ 1000000UL
//蜂鸣器定义
#define BEEP() (RA0 = ~RA0)
//设置最大秒数为12秒,每12秒将切换通行方向
//这里为了能尽快观察到运行效果而将该值设得较小
#define MAX_SECOND 12 
//通行方向类型(东西/南北)
enum TRAFFIC_DIRECTION {EW,SN} Current_Direct;
//0~9的数码管段码
const INT8U SEG_CODE[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
//当前剩余秒数(两位)及秒显示缓冲
int   Remain_Second;
INT8U Second_Display_Buffer[] = {0,0};
//-----------------------------------------------------------------
// 根据剩余秒数Remain_Second刷新秒显示缓冲
//-----------------------------------------------------------------
void Refresh_Second_Display_Buffer()
{

}

//-----------------------------------------------------------------
// 在剩余5秒时输出声音
//-----------------------------------------------------------------
void Alarm()
{

}

//------------------------------------------------------------------
// 主程序
//------------------------------------------------------------------
void main() 
{ 
    ADCON1 = 0x06;
    PORTB = TRISB = 0x00;                   //数码管段码输出端口
    PORTD = TRISD = 0x00;                   //数码管位码输出端口
    TRISA0 = 0;                             //RA0接蜂鸣器输出






}
    
//-----------------------------------------------------------------
// TMR1,TMR2定时器中断分别控制倒计时与数码管显示
//-----------------------------------------------------------------
void interrupt TMR12_OVR_INT()
{
    //TMR1定时器溢出中断控制倒计时
    if (TMR1IF)
    { 




    }
    
    //TMR2定时器匹配中断控制数码管刷新显示
    if (TMR2IF)
    {



    }
}

⌨️ 快捷键说明

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