#include <pic.h> //調用頭文件,可以去PICC軟件下去查找PIC16F87XA單片機的頭文件
__CONFIG(0x3b31); //定義配置字,晶振類型:XT,啟動開門狗,禁止低電壓編程
//************************************************************************
#define HC138_A RE2 //定義U6、U7、U8的A為RE2端口
#define HC138_B RE1 //定義U6、U7、U8的B為RE1端口
#define HC138_C RE0 //定義U6、U7、U8的C為RE0端口
//************************************************************************
#define U6_E RA2 //定義U6_E為RA2端口,U6E=1時,U6使能否則失能
#define U7_E RA3 //定義U7_E為RA3端口,U7E=1時,U7使能否則失能
#define U8_E RA1 //定義U8_E為RA1端口,U8E=1時,U8使能否則失能
#define LED PORTB //定義RB 8 point為LED端口
//*********************************************************************
#define uchar unsigned char
#define uint unsigned int
void init(void); //系統初始化
void delay (uint x);
void didi(uchar z);
//***********************************************************************
void main(void)
{
init(); //調用系統初始化函數
asm("CLRWDT"); //看門狗喂狗指令
LED=0x00;
while(1)
{
if(RC0==0)
{
delay (10);
if(RC0==0)
{
didi(1);
while(!RC0)
{
LED=0x0f;
}
}
}
if(RC1==0)
{
delay (10);
if(RC1==0)
{
didi(1);
while(!RC1)
{
LED=0xff;
}
}
}
}
}
//***************************************************************************
void init(void)//系統初始化
{
ADCON1=0X06; //所有IO均為數字口,模擬量輸入禁止
OPTION=0x80; //關閉RB口電平變化功能
TRISA=0xd1; //RA1,RA2,RA3,RA5置為輸出,其他未用設置為輸入
TRISB=0x00; //RB4-RB7置為輸出,其他RB0-RB3設置為輸入
TRISC=0xff; //未用設置為輸入
TRISD=0xf3; //未用設置為輸入
TRISE=0x00; //RE0,RE1,RE2置為輸出
LED=0x00; //RB口全部置低電平
RD2=0; //關閉蜂鳴器
RD3=0; //關閉繼電器
RA1=0; //關掉數碼管、發光二極管
RA2=0; //關掉LED點陣屏左8列
RA3=0; //關掉LED點陣屏右8列
RBIE=1; //RB口電平變化中斷open
HC138_A=0; //使74HC138的Y0端為0,其他高阻
HC138_B=0; //使74HC138的Y0端為0,其他高阻
HC138_C=0; //使74HC138的Y0端為0,其他高阻
U6_E=0; //U6關閉
U7_E=0; //U7關閉
U8_E=1; //U8打開
asm("CLRWDT");
}
//*********************************************************************************************
void didi(uchar z)
{
uchar a;
for(a=z;a>0;a--)
{
RD2=1;
delay(800);
RD2=0;
delay(500);
}
}
//**********************************************************************************************
void delay (uint x)
{
uint a,b;
for(a=x;a>0;a--);
{
for(b=110;b>0;b--);
}
}
//********************************************************
|