51汇编实现的spi代码(模式0)
来源:互联网 发布:淘宝衣服挂拍布光技巧 编辑:程序博客网 时间:2024/06/07 00:35
鉴于很多单片机书上是多是使用C51实现的spi模式1,用于读取SD卡,实际上spi模式0应该更普遍才对。故这里附上汇编实现的spi代码,已在指纹模组上验证过,功能ok。
/*CopyRight@piaoxiang.zhang****/
CSn EQU P0.4MOSI EQU P0.5MISO EQU P0.6CLK EQU P0.7ORG 0000H LJMP startORG 0100Hstart: LCALL spi_init MOV R2,#40Hread_reg_all: MOV40H,#0BFH; LCALL spi_enable MOV R0,#10H MOV A,@R1 ADD A,R2 LCALL spi_write LCALL spi_disable DJNZ R2, read_reg_all SJMP startspi_read: CPL CLK NOP NOP MOV C,MISO RLC A CPL CLK DJNZ R0,spi_read RETspi_write: RLC A MOV MOSI,C CPL CLK;CLK为低,发送数据 NOP NOP NOP CPL CLK;CLK 为高 DJNZ R0,spi_write SETB MOSI RETspi_enable: CLR CSn ;MOV R0,#01H ;LCALL delay RETspi_disable: SETB CSn ;MOV R0,#01H ;LCALL delay RETspi_init: CLR CLK ;CPOL=0,CLK 空闲低电平 SETB CSn ;片选低电平有效 SETB MOSI SETB MISO MOV R1,#40H MOV 40H,#5FH CLR P0.2;在取上拉电阻时 CLR P0.1;P01 与 P02 短路了 RET
仿真图
0 0
- 51汇编实现的spi代码(模式0)
- STM8/STM32 SPI模式的MAX7456代码
- MAX1247 模拟SPI通信汇编代码
- stm32启动过程(汇编代码)及汇编到main函数的转换过程的实现
- Micro SD 卡(TF卡) spi 模式实现方法
- Micro SD 卡(TF卡) spi 模式实现方法
- Micro SD 卡(TF卡) spi 模式实现方法
- SPI的VHDL实现
- Dubbo的SPI实现
- C++代码的汇编实现之二(循环语句的实现)
- 汇编 编程实现把键入的一个字符,用二进制形式(0/1)显示它的ASCII代码值。
- 如何在VS2010下切换代码的汇编模式
- SPI时序图详解-SPI接口在模式0下输出第一位数据的时刻
- STM32 SPI 模拟实现 W25X16读写 代码
- STM32 SPI 模拟实现 W25X16读写代码
- SPI驱动主模式初步实现
- SPI驱动从模式初步实现
- C++代码的汇编实现之一(++i与i++的区别)
- 关于linux根目录分区的问题
- 葛洲坝电力集团责任有限公司携手蓝天梦共度新的开始
- Linux中man手册使用基础
- vim如何多行注释
- python连接Redis操作
- 51汇编实现的spi代码(模式0)
- 第一天学习JDBC(1)-从创建到关闭
- Java内部类
- c++的指针自增的使用,自增和*的混合运算
- Eclipse的Servers中无法添加Tomcat服务器
- 类加载器
- 团体程序设计天梯赛L2-009 抢红包
- 【XML默认编辑器】修改MyEclipse 10中的各种类型文件的默认编辑器(打开方式)
- 关于ZJOI2017day1的感想 #2