下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/*/#define SSIG0x80 /SS引脚忽略#define SPEN0x40 /SPI使能位#define DORD0x20 /SPI数据发送LSB最先发送#define MSTR0x10 /主从模式选择#define CPOL0x08 /SPICLK#define CPHA0x04 /SPI时钟频率为CPU_CLK/4/SPI时钟频率为CPU_CLK/16/SPI时钟频率为CPU_CLK/64/SPI时钟频率为CPU_CLK/128空闲时为高电平数据在 SPICLK 的前时钟沿驱动 , 并在后时钟沿采样#define SP_CLK0 0x00#define SP_CLK1 0x01
2、#define SP_CLK2 0x02#define SP_CLK3 0x03对SPSTAT寄存器的设置位宏定义传输完成标志/*/#define SPIF 0x80 /#define WCOL0x40 /SPI写冲突标志/* *SPI口切换宏定义 */#define SPI_P40x20 /SPI从 P1 口切换到 P4 口12C5A12C5A12C5A12C5A12C5A12C5A12M6M3M1.5M12C5A120闲模式,低速模式12C5A0f12C5A2A12C5A12C5A12C5A0c12C5A12C5A12C5A0L0L7f0a0L0L0L0L0L0L0L0L0L12C5A12
3、C5A12C5A12C5A12C5速.同步的通信总线 , 有两种操作模式 : 主模式和从模式。12C5A12C5A12C5A速.同步的通信总线,有两种操作模式:主模式和从模式。/涉及寄存器:SPCTL(SPI控制寄存器)、SPSTAT(SPI状态寄存器)、SPDAT数据寄存器)/AUXR1(辅助寄存器 )/程序说明:本程序为 SPI 的从机程序 , 从机通过 SPI 接收主机发送过来的数据 , 并通过串口/显示到PC端,ye*'#include <12C5A>#include <> #define uchar unsigned char #define uint
4、 unsigned int对SPCTL寄存器的设置位宏定义/*波特率选择 */ #define BTL 9600 / 若要更改波特率直接更改此处 , 当波特率大于 9600 时需修改相应的接收程序 / 可选波特率有以下 : 否则有可能出现乱码/波特率为2400/波特率为28800/波特率为4800/波特率为38400/波特率为9600/波特率为57600/波特率为14400/波特率为115200/波特率为19200void UART_init(void); uchar Receive(void); void Printf( uchar *p );void Init_SPI(void);void
5、 Send_byte( uchar byte );ye*'/串口初始化 /*/void UART_init(void)/ SM0 = 0; / SM1 = 1; /8/ REN = 1; /SCON = 0x50;#if( BTL = 2400 )BRT = 0x70; /#elif( BTL = 4800 ) BRT = 0xB8;选择串口为方式 1 工作 位数据波特率可变 允许串口接收波特率设置为 9600#elif( BTL = 9600 )BRT = 0xDC; #elif( BTL = 14400 )BRT = 0xE8; #elif( BTL = 19200 )BRT =
6、0xEE; #elif( BTL = 28800 )BRT = 0xF4; #elif( BTL = 38400 )BRT = 0xF7;#elif( BTL = 57600 ) BRT = 0xFA;#elif( BTL = 115200 )BRT = 0xFD;#endifAUXR = 0x15; / ES = 1; /IPH = 0X10; /PSH = 1;/IP= 0X10; /PS = 1;串口 1 中断为最高优先级中断/EA= 1; /开总中断选择独立波特率发生器为串行 口的波特率发生器 , 模式为 1T 允许串口中断/*/发送一个字节数据 /*/void Send_byte(
7、uchar byte )SBUF = byte;while(!TI);TI = 0;/ye*'/打印字符/*/void Printf( uchar *p )while( *p != '0' )Send_byte(*p);p+; /*/ 接收函数 /*/ uchar Receive( void )uchar byte;_nop_();_nop_();_nop_();_nop_();if( RI = 1 )RI = 0;byte = SBUF;return byte;/*/* 名称: Init_SPI()/* 功能 : 对 SPI 进行初始化/* 输入:无/* 输出:无/*
8、 void Init_SPI(void)清空数据寄存器 清空 SPI 状态寄存器设置为从机模式允许 SPI 中断SPDAT = 0;/SPSTAT = SPIF|WCOL; / SPCTL =SPEN; /SPI IE2 = 0x02; /*/*名称:main/*功能 :/*输入:无/*输出:无/*/void main()uchar flag = 0;UART_init();Init_SPI();EA = 1; / 开总中断while(1)flag = Receive();SPDAT值发送岀来if(flag) /当 PC 端有给从机发送数据时把从机当前的Send_byte(SPDAT);flag = 0;/*/* 名称: SPI_ISR()/* 功能 : SPI 中断服务/* 输入:无/* 输出:无/*/ void SPI_ISR(void) interrupt 9 using 1 SPSTAT = SPIF|WCOL; / Printf("Receive_Da
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年委托合同报酬支付期限确定规则考核试卷
- 2025四川攀枝花市仁和区乡村规划建筑师补充招聘1人考试笔试备考题库及答案解析
- 2025广西贺州市消防救援支队第二次公开招录政府专职消防队员37人笔试考试参考试题及答案解析
- 2026文山州麻栗坡县铁厂乡中心卫生院招聘(1人)笔试考试参考试题及答案解析
- 2026贵州镇宁自治县“优师计划”毕业生招聘教师笔试考试参考试题及答案解析
- 2025年华能庆阳煤电核桃峪煤矿面向社会招聘生产性灵活用工179人笔试考试参考题库及答案解析
- 2025年吉安市文化和旅游研究中心编外演员招聘6人笔试考试备考试题及答案解析
- 2025重庆高新区公安分局辅警招聘33人笔试考试参考题库及答案解析
- 2025中国煤炭销售运输有限责任公司社会招聘行业分析人员1人笔试考试备考题库及答案解析
- 2025年河北邯郸市第一医院秋季第二批博硕人才引进13名考试笔试模拟试题及答案解析
- 全国大学生职业规划大赛《智能物流技术》专业生涯发展展示【高职(专科)】
- 【MOOC】《创业团队建设与管理》(首都经济贸易大学)章节期末慕课答案
- 2023年南通市公务员考试行测试卷历年真题及一套完整答案详解
- 2025年河北沧州银行招聘笔试考试备考题库及答案解析
- 河道治理钢板桩支护施工方案
- (2025年)食品安全知识竞赛题库及答案
- 江苏省南通市如皋市2026届高三上学期10月考试 语文试卷
- 2025版痛风性关节炎症状分析及护理方案
- 魅力赣州课件
- GB/T 12624-2006劳动防护手套通用技术条件
- 注塑产品常见缺陷及解决方法
评论
0/150
提交评论