?? ports.h
字號:
/**************** (c) 2005 佛山菱電 *****************************************
PROJECT : 簡易風盤控制器
COMPILER : AVR ICC for m48
MODULE : ports.c
VERSION : 1.0.0
DATE : 2005/12/08
AUTHOR : 朱坤
MODIFICATIONS :
DESCRIPTION : ADC routines
******************************************************************************/
#ifndef PORT_DEF
#define PORT_DEF
#include <avr/io.h>
#include <avr/wdt.h>
#include "lib.h"
#include "version.h"
#include "main.h"
#include "fan.h"
#include "buz.h"
#include "scom.h"
#include "timer.h"
/* PB 定義 */
#ifdef EnPGFENGJI
#define PGZero ((u8)0) /* PB0 過零檢測 */
#define PGFan ((u8)1) /* PB1 風機輸出 */
#define PGFeed ((u8)2) /* PB2 風機反饋 */
#define PGFanOn() (PORTB &= ~(1 << PGFAN))
#define PGFanOff() (PORTB |= (1 << PGFAN))
#define GetPGZero() ((u8)(PINB & (1 << PGZero)))
#define GetPGFeed() ((u8)(PINB & (1 << PGFeed)))
#define DDRBSET ((u8)0x3a) /* PB2,PB0 輸入,其他輸出 */
#define PORTBSET ((u8)0x1d)
#else
#define LFAN ((u8)0) /* PB0 */
#define MFAN ((u8)1) /* PB1 */
#define HFAN ((u8)2) /* PB2 */
#define SetHiFan() (PORTB |= (1 << HFAN))
#define SetMiFan() (PORTB |= (1 << MFAN))
#define SetLoFan() (PORTB |= (1 << LFAN))
#define ClrHiFan() (PORTB &= ~(1 << HFAN))
#define ClrMiFan() (PORTB &= ~(1 << MFAN))
#define ClrLoFan() (PORTB &= ~(1 << LFAN))
#define DDRBSET ((u8)0x3f) /* PB5 - 0 All are Output */
#define PORTBSET ((u8)0x18)
#endif
/* HT1621 接口定義 */
#define CS_HT1621 ((u8)3)
#define WR_HT1621 ((u8)4)
#define DATA_HT1621 ((u8)5)
#define SetCS_HT1621() (PORTB |= (1 << CS_HT1621))
#define SetWR_HT1621() (PORTB |= (1 << WR_HT1621))
#define SetDATA_HT1621() (PORTB |= (1 << DATA_HT1621))
#define ClrCS_HT1621() (PORTB &= ~(1 << CS_HT1621))
#define ClrWR_HT1621() (PORTB &= ~(1 << WR_HT1621))
#define ClrDATA_HT1621() (PORTB &= ~(1 << DATA_HT1621))
/* PC 定義 */
#define JP5 ((u8)5) /* PC5 SW5 1:掉電記憶 */
#define JP4 ((u8)4) /* PC4 SW4 */
#define JP3 ((u8)3) /* PC3 SW3 */
#define JP2 ((u8)2) /* PC2 SW2 */
#define JP1 ((u8)1) /* PC1 SW1 */
#define GetJP(jp) ((u8)(PINC & (1 << (jp)))) /* 掉電記憶選擇 */
#define GetSW() ((u8)((PINC >> 1) & 0x0f)) /* 本機地址 */
#define DDRCSET ((u8)0x00) /* PC5 - 0 All Input */
#define PORTCSET ((u8)0x0e) /* 上拉選擇 */
/* A/D - PC0 為 3470B 溫度傳感器輸入
新板可以考慮將溫度傳感器輸入移到 AD7 或 AD6, 將 PC0 作房卡輸入
程序需要相應更改
*/
/* PD 定義 */
#define BackLight 7 /* LCD 背光 0:點亮 */
#define LCD_BK_Off() (PORTD |= (1 << BackLight))
#define LCD_BK_On() (PORTD &= ~(1 << BackLight))
#define OnOffKey ((u8)6) /* 開關按鈕 */
#define ModeKey ((u8)5) /* 模式按鈕 */
#define FanKey ((u8)4) /* 風速按鈕 */
#define DownKey ((u8)3) /* - 按鈕 */
#define UpKey ((u8)2) /* + 按鈕 */
#define SW1 ((u8)(1 << OnOffKey)) /* 0x40 */
#define SW2 ((u8)(1 << ModeKey)) /* 0x20 */
#define SW3 ((u8)(1 << FanKey)) /* 0x10 */
#define SW4 ((u8)(1 << DownKey)) /* 0x08 */
#define SW5 ((u8)(1 << UpKey)) /* 0x04 */
#define SWALL ((u8)(SW1|SW2|SW3|SW4|SW5))
#define vOnOffKey ((u8)(SW2|SW3|SW4|SW5)) /* 開關按鈕 */
#define vModeKey ((u8)(SW1|SW3|SW4|SW5)) /* 模式按鈕 */
#define vFanKey ((u8)(SW1|SW2|SW4|SW5)) /* 風速按鈕 */
#define vDownKey ((u8)(SW1|SW2|SW3|SW5)) /* - 按鈕 */
#define vUpKey ((u8)(SW1|SW2|SW3|SW4)) /* + 按鈕 */
#define vModeFanKey ((u8)(SW1|SW4|SW5)) /* 模式按鈕 */
#define HoldKeyTmSet ((u8)(150)) /* 3s On 20mS */
#define GetKey() ((u8)(PIND & SWALL))
#define DDRDSET ((u8)0x82)
#define PORTDSET ((u8)0x7E) /* 上拉選擇 */
/* 通信端口設置 */
#define TxD 1 /* 通信輸出 */
#define RxD 0 /* 通信輸入 */
#define SetTxD() (PORTD |= (1 << TxD))
#define ClrTxD() (PORTD &= ~(1 << TxD))
#define GetRxD() ((u8)(PIND & (1 << RxD)))
void PORTS_Init(void);
void PORTS_Ref(void);
void Get_JP(void);
void Key_Scan(void);
void Downward(void);
void Upward(void);
extern u8 SWTime; /* 按鍵激活 LCD 顯示時間 */
extern u8 AckTm; /* 修改參數計時 */
extern u8 SWKeyHoldTm; /* 保持按鍵時間 */
#endif
/*** (c) 2005 佛山菱電 **************************** END OF FILE *************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -