📄 atmega.h
字号:
//VERSION:1.0
#ifndef __ATMEGA_H_
#define __ATMEGA_H_
#include <avr/io.h>
#include <avr/delay.h>
#include <avr/signal.h>
#include <avr/interrupt.h>
#define u8_t unsigned char
#define u16_t unsigned int
#define u32_t unsigned long
#define pin_out_high(port, bit) \
asm volatile("sbi %0, %1" \
: \
:"I"(_SFR_IO_ADDR(port)), \
"I"(bit))
#define pin_out_low(port, bit) \
asm volatile("cbi %0, %1" \
: \
:"I"(_SFR_IO_ADDR(port)), \
"I"(bit))
/**************************************************/
//读写操作设置
#define set_read() \
pin_out_high(PORTB, 6); \
#define set_write() \
pin_out_low(PORTB, 6); \
/**************************************************/
//寄存器与显示数据选择操作
#define set_display_data_operation() \
pin_out_high(PORTC, 2); \
#define set_reg_data_operation() \
pin_out_low(PORTC, 2); \
/**************************************************/
//使能管脚设置
#define set_enable_high() \
pin_out_high(PORTB, 7); \
#define set_enable_low() \
pin_out_low(PORTB, 7); \
/**************************************************/
//CS1左半屏使能
#define left_display_enable() \
pin_out_high(PORTB, 0); \
#define left_display_disable() \
pin_out_low(PORTB, 0); \
/**************************************************/
//CS2右半屏使能
#define right_display_enable() \
pin_out_high(PORTC, 5); \
#define right_display_disable() \
pin_out_low(PORTC, 5); \
/**************************************************/
//复位LCD显示屏
#define reset_lcd() \
pin_out_low(PORTC, 4); \
_delay_ms(1000); \
pin_out_high(PORTC, 4); \
/**************************************************/
//LCD背光开关函数
#define open_back_light() \
pin_out_high(PORTC, 3); \
#define colse_back_light() \
pin_out_low(PORTC, 3); \
/**************************************************/
#endif //__ATMEGA_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -