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

📄 main.c

📁 单片机c语言程序设计100例--基于PIC+PROTEUS
💻 C
字号:
//-----------------------------------------------------------------
//  名称: PIC18单片机SPI EEPROM及USART读写测试 
//-----------------------------------------------------------------
//  说明: 本例运行时,首先通过PICC18库函数打开SPI模块,然后向25LC080B
//        写入16字节数据,随后用顺序读取函数读取16字节,通过串口发送到
//        虚拟终端显示.
//
//-----------------------------------------------------------------
#include <htc.h>
#include <stdio.h>
#include <string.h>
#define INT8U  unsigned char
#define INT16U unsigned int
#define SPI_CS LATCbits.LATC2  //SPI CS控制引脚定义
//-----------------------------------------------------------------
// 本例函数声明
//-----------------------------------------------------------------
void Set_EN_Write();
void Busy_Polling();
INT8U Read_Status();
void Write_Status(INT8U data);
void Write_Byte(INT8U H_Addr,INT8U L_Addr,INT8U data);
void Write_String(INT8U H_Addr,INT8U L_Addr,INT8U *wrptr);
void Read_String(INT8U H_Addr,INT8U L_Addr,INT8U *rdptr,INT8U count);
INT8U Read_Byte(INT8U H_Addr,INT8U L_Addr);
INT8U dat;
INT8U MyString[] = "abcdefghijklmnopqrstuvwxyz";
INT8U MyBuff[26];
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void main()
{
    INT8U i,s[6];
    OpenUSART( USART_TX_INT_OFF &    //发送中断关
               USART_RX_INT_OFF &    //接收中断关
               USART_ASYNCH_MODE &   //异步模式
               USART_EIGHT_BIT &     //8位收发
               USART_CONT_RX &       //持续接收
               USART_BRGH_HIGH,      //高速模式(默认值,可省)
               25 );  //异步高速模式公式,FOSC/9600/16–1=25
    
    putsUSART((char*)"PIC18 USART & SPI Memory 25LC08B Test...\n\r");
    putsUSART((char*)"Open SPI...\n\r");
    










}

//-----------------------------------------------------------------
// 使能写
//-----------------------------------------------------------------
void Set_EN_Write()
{


}

//-----------------------------------------------------------------
// 向SPI总线写入一字节
//-----------------------------------------------------------------
void Write_Byte(INT8U H_Addr,INT8U L_Addr,INT8U data)
{


}

//-----------------------------------------------------------------
// 从SPI总线读取一字节
//-----------------------------------------------------------------
INT8U Read_Byte (INT8U H_Addr,INT8U L_Addr)
{


}

//-----------------------------------------------------------------
// 读SPI状态
//-----------------------------------------------------------------
INT8U Read_Status()
{


}

//-----------------------------------------------------------------
// 写SPI状态
//-----------------------------------------------------------------
void Write_Status(INT8U data)
{


}

//-----------------------------------------------------------------
// 忙等待
//-----------------------------------------------------------------
void Busy_Polling()
{


}

//-----------------------------------------------------------------
// 写字符串
//-----------------------------------------------------------------
void Write_String(INT8U H_Addr,INT8U L_Addr,INT8U *wrptr)
{


}

//-----------------------------------------------------------------
// 从SPI总线读取多个字符
//-----------------------------------------------------------------
void Read_String(INT8U H_Addr,INT8U L_Addr,INT8U *rdptr,INT8U count)
{


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -