⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c8051.h

📁 一个用C语言控制的读写7022
💻 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 + -