📄 c8051.h
字号:
#include <c8051f310.h> // SFR declarations
#include <stdio.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define BIAS 0x52
#define X32K 0x30
#define wdtdis 0x0a
#define timerdis 0x08
#define sysen 0x02
#define lcdon 0x06
#define SYSCLK 24500000 / 8 // SYSCLK frequency in Hz
#define COUNT1 21
#define AddWr 0xa0 /*器件地址选择及写标志*/
#define AddRd 0xa1 /*器件地址选择及读标志*/
//#define Hidden 0x0e /*显示器的消隐码*/
//SPI端口定义
sbit SPI_CK=P1^0; //SPI时钟,单片机输出口
sbit SPI_DI=P1^1; //SPI串行数据输入,单片机输出口
sbit SPI_DO=P1^2; //SPI串行数据输出口,单片机输入口
sbit SPI_CS=P1^3; //SPI使能,低电平有效,单片机输出口
sbit CS=P2^4; //与HT1621相连引脚,片选输入
sbit READ=P2^5; //读脉冲输入
sbit WRITE=P2^6; //写脉冲输入
sbit DATA=P2^7; //串行数据输入/输出
sbit TXC=P0^7;
sbit LED = P3^3;
sbit RST= P3^2;
sbit shezhi_bz= P1^6;
sbit Sda= P1^4; /*串行数据*/
sbit Scl= P1^5; /*串行时钟*/
sfr16 TMR2RL = 0xca; // Timer2 reload value
sfr16 TMR2 = 0xcc; // Timer2 counter
void SYSCLK_Init (void); //时钟初始化
void PORT_Init (void); //端口初始化
void UART0_Init (void); //串口初始化
void Timer2_Init (int counts); //定时器2初始化
void UART0_ISR (void); //串口0终端
void Timer2_ISR (void); //定时器2中断
void mDelay(uint Delay);
void INTI(void);
void SendBit_1621(uchar dat,uchar cnt); //dat 是要写入的命令,cnt是要写入的数据位数
void Sed1621Com(uchar LCDCOMMAND);
void INT1621();
void WrToROM(uchar Data[],uchar Address,uchar Num); //Address为2404的地址,Num为写入的字节数
void RdFromROM(uchar Data[],uchar Address,uchar Num); //Address为2404的地址,Num为读出的字节数
void RS485( );
void RESET7022(void);
// void convesn(uchar *p);
void convesn(uchar *p,uchar length);
void electric_stor(void);
void SPIRead(void); //从7022中读出数据
void SPIWrite(void); //向7022中写入数据
void SPImtWrite(void); //向7022写参数
void Brushlcd(uchar *p);
void RUNALL(void);
uchar Byte2Bcd(uchar Val);//将BIN码转换成BCD码
uchar Bcd2Byte(uchar Val);//将BCD码转换成BIN码
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -