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

📄 userdef.h

📁 一个单片机实现DA转换程序,程序实现了一个温度控制的数摸转换,并添加了去抖动处理!!
💻 H
字号:
//*************************************
//定义常量
//*************************************
#define  TIME_20MS       22857           // 22857*7*0.125=20,000us

#define  LM77Address     0x92            // LM77器件地址

#define  PCF8575Address  0x42            // PCF8575器件地址

#define  FuHao           20              // 显示负号
#define  NoDisplay       0xFF            // 没有显示


//***************************************
//定义I/O口
//***************************************
#define SET_BCDCLK   (PORTA SETBIT3)
#define CLR_BCDCLK   (PORTA CLRBIT3)

#define SET_BCDDAT   (PORTA SETBIT2)
#define CLR_BCDDAT   (PORTA CLRBIT2)

#define SET_OUTKEY1  (PORTC SETBIT0)
#define CLR_OUTKEY1  (PORTC CLRBIT0)

#define SET_OUTKEY2  (PORTC SETBIT1)
#define CLR_OUTKEY2  (PORTC CLRBIT1)

#define SET_OUTKEY3  (PORTC SETBIT6)
#define CLR_OUTKEY3  (PORTC CLRBIT6)

#define SET_OUTKEY4  (PORTC SETBIT7)
#define CLR_OUTKEY4  (PORTC CLRBIT7)

#define SDA_LOW      (DDRB  SETBIT3)     // 设为输出0,口线上是低电压
#define SDA_HIGH     (DDRB  CLRBIT3)     // 设为输入,因为有外部上拉,所以口线上是高电压
#define SCL_LOW      (DDRB  SETBIT2)
#define SCL_HIGH     (DDRB  CLRBIT2)

#define PCF_SDA_LOW  (PORTA  CLRBIT1)
#define PCF_SDA_HIGH (PORTA  SETBIT1)
#define PCF_SCL_LOW  (PORTA  CLRBIT0)
#define PCF_SCL_HIGH (PORTA  SETBIT0)


#define SET_PGC_LAH  (PORTB SETBIT0)
#define CLR_PGC_LAH  (PORTB CLRBIT0)

#define SET_PD_CNT   (PORTB SETBIT1)
#define CLR_PD_CNT   (PORTB CLRBIT1)

//SY:PD7  S:PD2  T:PD1  R:PD0  PD3~PD6:input I/O
#define SY0_S0_T0_R0 (PORTD=0x00)        // no shou, no fa
#define SY0_S0_T0_R1 (PORTD=0x01)        //    shou, no fa
#define SY1_S1_T1_R0 (PORTD=0x86)        // no shou,    fa


//**************************************
//定义标志位
//**************************************
#define SETBIT0	        |=0X01
#define SETBIT1         |=0X02
#define SETBIT2	        |=0X04
#define SETBIT3	        |=0X08
#define SETBIT4	        |=0X10
#define SETBIT5	        |=0X20
#define SETBIT6	        |=0X40
#define SETBIT7	        |=0X80

#define CLRBIT0	        &=0XFE
#define CLRBIT1	        &=0XFD	
#define CLRBIT2	        &=0XFB	
#define CLRBIT3	        &=0XF7	
#define CLRBIT4	        &=0XEF	
#define CLRBIT5	        &=0XDF	
#define CLRBIT6	        &=0XBF	
#define CLRBIT7	        &=0X7F

#define BIT0            &0X01	
#define BIT1            &0X02
#define BIT2            &0X04
#define BIT3            &0X08
#define BIT4            &0X10
#define BIT5            &0X20
#define BIT6            &0X40
#define BIT7            &0X80

#define set_key_press   (key_flag  SETBIT0)
#define clr_key_press   (key_flag  CLRBIT0)
#define key_press       (key_flag  BIT0)

#define EnableInt1      (GICR SETBIT7)
#define DisableInt1     (GICR CLRBIT7)

⌨️ 快捷键说明

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