#include __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--); } } //********************************************************
上一篇:警报声原理图+pic单片机源程序
下一篇:PIC16F877单片机DS18B20数码管温度计仿真程序 可显示负温度
推荐阅读最新更新时间:2024-11-19 19:51
设计资源 培训 开发板 精华推荐
- 使用 ROHM Semiconductor 的 BD5354 的参考设计
- STM32F407VGT6多功能板
- LTC1665CGN 微功率八通道 8 位 DAC 的典型应用
- C723944_IP65xx快充协议DC-DC芯片方案验证板
- LT1010 的典型应用 - 快速 150mA 电源缓冲器
- AM6TW-4818SH35Z 18V 6瓦单路输出DC-DC转换器的典型应用
- 用于运动电机控制的 MOSFET 功率驱动器
- 使用 ROHM Semiconductor 的 BU4337 的参考设计
- LTC2175IUKG-14、14 位、125Msps 低功率四通道 ADC 的典型应用
- 使用 BittWare 的 XCVU065 的参考设计