📄 hardware.h
字号:
#ifndef _HARDWARE_H
#define _HARDWARE_H
#include "main.h"
#define SET_LCD_E PORTF|=0x02 //LCD读写使能
#define CLR_LCD_E PORTF&=~(0x02) //LCD读写禁止
#define LCD_R_N PORTF|=0x04 //LCD读
#define LCD_W PORTF&=~(0x04) //LCD写
#define LCD_RS_REG PORTF&=~(0x08) //读写LCD寄存器
#define LCD_RS_RAM PORTF|=0x08 //读写LCD的RAM
#define CLR_LCD_LIGHT PORTG|=0x08 //点亮LCD背景灯
#define SET_LCD_LIGHT PORTG&=~(0x08) //熄灭LCD背景灯
#define DATAOUT PORTA //LCD数据输出口
#define DATAIN PINA //LCD数据输入口
#define SECOND_R 0
#define MINUTE_R 1
#define HOUR_R 2
#define DATE_R 3
#define MONTH_R 4
#define DAY_R 5
#define YEAR_R 6
#define WP_R 7
#define TCS_R 8
#define SET_DS1302_SCL PORTD|=0x01 //DS1302总线时钟高
#define CLR_DS1302_SCL PORTD&=~(0x01) //DS1302总线时钟低
#define SET_DS1302_SDA PORTD|=0x02 //DS1302总线数据高
#define CLR_DS1302_SDA PORTD&=~(0x02) //DS1302总线数据低
#define SET_DS1302_CE PORTG|=0x10 //DS1302使能
#define CLR_DS1302_CE PORTG&=~(0x10) //DS1302禁止
#define DATABIT PIND&0x02 //DS1302总线数据接收
#define CLK_ADDR 0x80
#define RAM_ADDR 0xc0
#define TWI_W 0
#define TWI_R 1
#define B20DATA_SET PORTE|=0x80 //ds18b20数据口高
#define B20DATA_CLR PORTE&=~(0x80) //ds18b20数据口低
#define B20DATABIT PINE&0x80 //DS18b20总线数据接收
void shortdelay(void);
void delay_us(int time); //微秒级延时
void Write_command(uint8 cmd); //向LCD写命令
void Write_data(uint8 addr,uint8 dat);//向LCD写数据
uint8 Is_Busy(void); //LCD的Busy函数
uint8 Read_data(void); //从LCD读数据函数
void gotoxy(uint8 x,uint8 y); //设置光标位置
void Welcome(void); //LCD欢迎词
uint8 twi_read_byte(uint8 addr,uint8 clk_ram);// 两线总线读一字节
void twi_write_byte(uint8 addr,uint8 data,uint8 clk_ram);// 两线总线写一字节
uint8 ds18b20_ack(); //检测ds18b20是否存在
uint8 ds18b20_read(); //ds18b20读一字节操作
void ds18b20_write(uint8 cmd); //ds18b20写一字节操作
void Is_ds18b20_done(); //转换是否完成(电源引脚供电时有效)
void LCD_init(void); //LCD初始化
void port_init(void); //端口初始化
void uart_init(void); //串口初始化
void DS_init(); //DS1302初始化
void DS18B20_init(); //18b20初始化
void timer0_init(); //定时器初始化
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -