?? 可編程外圍定時(shí)計(jì)數(shù)器8253應(yīng)用.c
字號(hào):
//-----------------------------------------------------------------
// 名稱: 可編程外圍定時(shí)計(jì)數(shù)器8253應(yīng)用
//-----------------------------------------------------------------
// 說明: 本例運(yùn)行時(shí),按下8255 PC端口按鍵K1可啟動(dòng)8253定時(shí)器0,定時(shí)器0
// 工作于方式5,程序給8253提供隨機(jī)的定時(shí)初值,定時(shí)到達(dá)后GATE0
// 觸發(fā)INT0中斷,中斷程序輸出提示音,并重置定時(shí)器.
//
//-----------------------------------------------------------------
#define F_CPU 2000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdlib.h>
#define INT8U unsigned char
#define INT16U unsigned int
//8255 PA,PB,PC端口及命令端口地址定義
//(定義前面加*可使得后面使用時(shí)不用再加*)
//8253 定時(shí)/計(jì)數(shù)器0及命令端口地址定義
//8253 定時(shí)/計(jì)數(shù)器0/1的門控制位操作定義
//蜂鳴器定義
#define BEEP() PORTB ^= _BV(PB0)
//0-9的共陽(yáng)數(shù)碼管段碼表,最后一位為黑屏
const INT8U SEG_CODE[] =
{ 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF };
//待顯示信息緩沖
INT8U Disp_Buffer[8] = {0,0,0,0,0,0,0,0};
//上次按鍵狀態(tài)
INT8U Pre_Key_State = 0x00;
//對(duì)TCO設(shè)置的定時(shí)計(jì)數(shù)初值
volatile INT16U TC0_Count = 510;
//-----------------------------------------------------------------
// 輸出提示音
//-----------------------------------------------------------------
void Sounder()
{
}
//-----------------------------------------------------------------
// 設(shè)置8253 TC0定時(shí)初值
//-----------------------------------------------------------------
void Set_8253_TC0()
{
}
//-----------------------------------------------------------------
// 8255 PC端口按鍵處理
//-----------------------------------------------------------------
void Key_Process()
{
}
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
int main()
{
}
//-----------------------------------------------------------------
// INT0中斷子程序
//-----------------------------------------------------------------
ISR (INT0_vect)
{
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -