ATMEGA128 DS1302 LM016L-C语言和电路图.pdfVIP

  • 52
  • 0
  • 约8.59千字
  • 约 8页
  • 2018-12-29 发布于广东
  • 举报
ATMEGA128+DS1302+LM016L #includeiom128v.h #includemacros.h #define uchar unsigned char #define uint unsigned int #define LCD_PORT PORTB //1602 控制端口定义 #define LCD_DDR DDRB //控制端口方向寄存器定义 #define LCD_RS PB0 //定义三个控制引脚 #define LCD_RW PB1 #define LCD_E PB2 #define LCD_data_PORT PORTA //输出数据总线端口定义 #define LCD_data_PIN PINA //输入数据总线端口定义 #define LCD_data_DDR DDRA //数据总线方向寄存器定义 #define LCD_set_RS() LCD_PORT|=BIT(LCD_RS) //三个控制管脚的控制操作 #define LCD_set_RW() LCD_PORT|=BIT(LCD_RW) #define LCD_set_E() LCD_PORT|=BIT(LCD_E) #define LCD_clr_RS() LCD_PORT=~BIT(LCD_RS) #define LCD_clr_RW() LCD_PORT=~BIT(LCD_RW) #define LCD_clr_E() LCD_PORT=~BIT(LCD_E) #define LCD_line1 0X80 //第一行的地址:0x80+addr ,addr 为列数 #define LCD_line2 0XC0 //第二行的地址:0x80+0x40+addr #define LCD_CGRAM_ADDR 0X40 //CGRAM 的开始地址 #define LCD_CGMAX 64 //CGRAM 存储的最大字节数 #define LCD_function 0X38 // 液晶模式为8 位,2 行,5*8 字符 #define iDat 1 //数据标志 #define iCmd 0 //指令标志 #define LCD_clr 0X01 // 清屏 #define LCD_home 0X02 // 地址返回原点,不改变DDRAM 内容(即为软复位) #define LCD_cleft 0X10 // 光标左移 #define LCD_cright 0X14 // 光标右移 #define LCD_dleft 0X18 // 屏幕左移 #define LCD_dright 0X1C // 屏幕右移 #define LCD_on 0X0C // 打开显示,不显示光标 #define LCD_off 0X08 // 关闭显示 #define LCD_curon 0X0E // 显示光标 #define LCD_curflash 0X0F // 打开光标闪烁 #define DS1302_CLK_low PORTD=~BIT(4) #define DS1302_CLK_high PORTD|=BIT(4) #define DS1302_IO_low PORTD=~BIT(5) #define DS13

文档评论(0)

1亿VIP精品文档

相关文档