51 lines
1.1 KiB
C
51 lines
1.1 KiB
C
#ifndef MC8051FUN_H
|
|
#define MC8051FUN_H
|
|
|
|
#include <stdint.h>
|
|
#include <8052.h>
|
|
|
|
|
|
|
|
|
|
|
|
void uart_init(long fosc, long baud);
|
|
void uart_send_chr(char tx_data);
|
|
void uart_send_str(const char *str);
|
|
|
|
|
|
int8_t rotary_encoder_stat(uint8_t b);
|
|
|
|
extern uint8_t sevenseg_dec[10];
|
|
extern uint8_t sevenseg_dec_inv[10];
|
|
|
|
/**
|
|
* Minimum frequency is 15 Hz @ FOSC of 11 Mhz
|
|
*/
|
|
#define default_timer16_init_val(freq) ((65536L)-FOSC/12L/freq)
|
|
#define default_timer8_init_val(freq) ((256L)-FOSC/12L/freq)
|
|
|
|
#define at89xx_6t_timer16_init_val(freq) ((65536L)-FOSC/6L/freq)
|
|
#define at89xx_6t_timer8_init_val(freq) ((256L)-FOSC/6L/freq)
|
|
|
|
|
|
#define STC15XX 1 // STC15xx family
|
|
#define AT89XX 2 // AT89XX family
|
|
#define AT89XX_6T 3 // AT89C89C52 in 6T mode
|
|
|
|
#if MCU==AT89XX_6T
|
|
#define timer8_init_val(freq) at89xx_6t_timer8_init_val(freq)
|
|
#define timer16_init_val(freq) at89xx_6t_timer16_init_val(freq)
|
|
#else
|
|
#define timer8_init_val(freq) default_timer8_init_val(freq)
|
|
#define timer16_init_val(freq) default_timer16_init_val(freq)
|
|
#endif
|
|
|
|
|
|
uint16_t int_to_bcd(uint16_t i);
|
|
int getbutton(uint8_t pinval, uint8_t *button);
|
|
extern uint8_t getbutton_time;
|
|
|
|
|
|
|
|
#endif
|