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

📄 timer1与timer2控制十字路口秒计时显示屏.c

📁 AVR单片机仿真100例
💻 C
字号:
//-----------------------------------------------------------------
//  名称: TIMER1与TIMER2控制十字路口秒计时显示屏
//-----------------------------------------------------------------
//  说明: 本例运行时,东西向蓝色数码管与南北向红色数码管同步倒计时,
//        若干秒后交换,如此往复.
//        本例使用的两个定时器中,T1定时器负责递减秒数及切换方向,
//        T2定时器负责刷新显示数码管.
//
//-----------------------------------------------------------------
#define F_CPU   4000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#define INT8U   unsigned char
#define INT16U  unsigned int

#define BEEP() (PORTB ^= 0x01) 

//设置最大秒数为12秒,每12秒将切换通行方向
//这里为了能尽快观察到运行效果而将该值设得较小
#define MAX_SECOND 12                          

//通行方向类型(东西/南北)



//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()
{



}

//-----------------------------------------------------------------
// 警报声输出函数
//-----------------------------------------------------------------
void Alarm()
{



}

//------------------------------------------------------------------
// 主程序
//------------------------------------------------------------------
int main() 
{ 


} 

//-----------------------------------------------------------------
// T1定时器溢出中断程序,控制倒计时
//-----------------------------------------------------------------
ISR (....)
{



}

//-----------------------------------------------------------------
// T2定时器溢出中断程序,控制数码管扫描显示
//-----------------------------------------------------------------
ISR (....)
{	




}

⌨️ 快捷键说明

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