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

📄 main.c

📁 AVR单片机 C语言程序设计经典实用
💻 C
字号:
//***************************************************************
// File Name : LED.c
// Author    : Steaven
// Created   : 2008-07-26
// Modified  : 
// Revision  : V0.0
//***************************************************************

#include "iom16v.h"
#include "DataType.h"
#include "app.h"
#include "lcd.h" 
#include "zimo.h"

void LCD_Write_Frame0(void);
void LCD_Write_Frame1(void);
void LCD_Write_Frame2(void);
void LCD_Display_Init(void);
void LCD_Display_Update(void);

INT8U wTimeCount = 0;

void main(void) 
{ 
	Hardware_Init();
	LCD_Init();
	LCD_Display_Init();
	while(1)
	{
		LCD_Display_Update();
	}
} 

//***************************************************************
// Function    : wTimeCountr0_Interrupt                                
// Input       : none                                            
// Output      : none                                            
// Description : ATmega16 T/C0 ISR                               
//***************************************************************
#pragma interrupt_handler wTimeCountr0_Interrupt:20                    
void wTimeCountr0_Interrupt(void)                                      
{                                                                
	static INT8U int_count = 0;
	static INT8U buzzer_count = 0;
	static INT8U buzzer_status = 0;
	                                      
	//Clear wTimeCountr0 OCIF Flag                                     
	TIFR  |= 0x02;                                               
	TCNT0  = 0x00;                                              
	//Interrupt Count
	int_count++;
	if(int_count == 1)
	{
		Buzzer_ON();
	}
	else if(int_count == 6)
	{
		if(wTimeCount <= 8)
		{
			Buzzer_OFF();
		}
	}
	else if(int_count == 100)
	{
		int_count = 0;
		if(wTimeCount <= 8)
		{
			wTimeCount++;
		}
	}                                                
} 

void LCD_Write_Frame0(void)
{
	LCD_Write_Char(0,0x08,Char_0816_0x00);
	LCD_Write_Word(0,0x09,Char_1616_DI);
	LCD_Write_Char(0,0x0B,Char_0816_2);
	LCD_Write_Char(0,0x0C,Char_0816_9);
	LCD_Write_Word(0,0x0D,Char_1616_JIE);
	LCD_Write_Char(0,0x0F,Char_0816_0x00);
	
	LCD_Write_Word(1,0x08,Char_1616_AO);
	LCD_Write_Word(1,0x0A,Char_1616_LIN);
	LCD_Write_Word(1,0x0C,Char_1616_PI);
	LCD_Write_Word(1,0x0E,Char_1616_KE);
	
	LCD_Write_Char(2,0x08,Char_0816_0x00);
	LCD_Write_Word(2,0x09,Char_1616_YUN);
	LCD_Write_Word(2,0x0B,Char_1616_DONG);
	LCD_Write_Word(2,0x0D,Char_1616_HUI);
	LCD_Write_Char(2,0x0F,Char_0816_0x00);
	
	LCD_Write_Char(3,0x08,Char_0816_0x00);
	LCD_Write_Char(3,0x09,Char_0816_0x00);
	LCD_Write_Word(3,0x0A,Char_1616_KAI);
	LCD_Write_Word(3,0x0C,Char_1616_MU);
	LCD_Write_Char(3,0x0E,Char_0816_0x21);
	LCD_Write_Char(3,0x0F,Char_0816_0x00);			
}

void LCD_Write_Frame1(void)
{
	LCD_Write_Char(0,0x08,Char_0816_2);
	LCD_Write_Char(0,0x09,Char_0816_0);
	LCD_Write_Char(0,0x0A,Char_0816_0);
	LCD_Write_Char(0,0x0B,Char_0816_8);
	LCD_Write_Char(0,0x0C,Char_0816_0x3A);
	LCD_Write_Char(0,0x0D,Char_0816_8);
	LCD_Write_Char(0,0x0E,Char_0816_0x3A);
	LCD_Write_Char(0,0x0F,Char_0816_8);
	
	LCD_Write_Char(1,0x08,Char_0816_2);
	LCD_Write_Char(1,0x09,Char_0816_0);
	LCD_Write_Char(1,0x0A,Char_0816_0x5F);
	LCD_Write_Char(1,0x0B,Char_0816_0);
	LCD_Write_Char(1,0x0C,Char_0816_8);
	LCD_Write_Char(1,0x0D,Char_0816_0x5F);
	LCD_Write_Char(1,0x0E,Char_0816_0);
	LCD_Write_Char(1,0x0F,Char_0816_0);
}

void LCD_Write_Frame2(void)
{
	LCD_Write_Picture(4,80,32,32,Char_3232_8);
}

void LCD_Display_Init(void)
{
	LCD_Write_Picture(0,0,64,64,Pic_6464_BeiJing);
	LCD_Write_Frame1();
	LCD_Write_Frame2();
}

void LCD_Display_Update(void)
{
	if(wTimeCount == 0)
	{
		LCD_Write_Char(1,0x0F,Char_0816_0);
		LCD_Write_Picture(4,80,32,32,Char_3232_8);
	}
	else if(wTimeCount == 1)
	{
		LCD_Write_Char(1,0x0F,Char_0816_1);
		LCD_Write_Picture(4,80,32,32,Char_3232_7);
	}
	else if(wTimeCount == 2)
	{
		LCD_Write_Char(1,0x0F,Char_0816_2);
		LCD_Write_Picture(4,80,32,32,Char_3232_6);
	}
	else if(wTimeCount == 3)
	{
		LCD_Write_Char(1,0x0F,Char_0816_3);
		LCD_Write_Picture(4,80,32,32,Char_3232_5);
	}
	else if(wTimeCount == 4)
	{
		LCD_Write_Char(1,0x0F,Char_0816_4);
		LCD_Write_Picture(4,80,32,32,Char_3232_4);
	}
	else if(wTimeCount == 5)
	{
		LCD_Write_Char(1,0x0F,Char_0816_5);
		LCD_Write_Picture(4,80,32,32,Char_3232_3);
	}
	else if(wTimeCount == 6)
	{
		LCD_Write_Char(1,0x0F,Char_0816_6);
		LCD_Write_Picture(4,80,32,32,Char_3232_2);
	}
	else if(wTimeCount == 7)
	{
		LCD_Write_Char(1,0x0F,Char_0816_7);
		LCD_Write_Picture(4,80,32,32,Char_3232_1);
	}
	else if(wTimeCount == 8)
	{
		LCD_Write_Char(1,0x0F,Char_0816_8);
		LCD_Write_Picture(4,80,32,32,Char_3232_0);
	}
	else if(wTimeCount == 9)
	{
		LCD_Write_Frame0();
	}
}
		
//=========================END OF FILE=========================//
                                                               

⌨️ 快捷键说明

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