首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
51单片机SPI代码实现
2024-11-07
51单片机 | SPI协议与应用实例
———————————————————————————————————————————— SPI总线 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 参考链接: http://blog.csdn.net/fly__chen/article/detail
[51单片机] SPI nRF24L01 无线简单程序 1
main.c #include <reg51.h> #include <api.h> #define uchar unsigned char /***************************************************/ #define TX_ADR_WIDTH 5 // 5字节宽度的发送/接收地址 #define TX_PLOAD_WIDTH 4 // 数据通道有效数据宽度 #define LED P2 uchar code TX_ADDRESS[TX
[51单片机] SPI nRF24L01无线 [可以放在2个单片机里实现通信]
main.c #include<reg51.h> #include"2401.h" #define uint unsigned int #define uchar unsigned char sbit KEY8=P3^; //发送按键 sbit beep=P2^;//喇叭 sbit LED6=P1^; ////接收到数据后的功能实现灯 void delay_ms(uint z) //延时函数 { uint x,y; ;x--) ;y>;y--); } void del
Windows 通用应用尝试开发 “51单片机汇编”总结
一.前言 终于完成windows通用应用“51单片机汇编”,半年前开始玩WindowsPhone开发的第一个真正意义上的App(还很多缺点=_=).开发从1月中旬考完试到今天,期间实习了半个月,玩了几天,算起来基本弄了3个多星期吧.不多说,总结总结. 二.开发数据准备 应用中主要的数据是单片机的汇编指令,我主要用XML文件来储存数据,没有使用SQLLite数据库,数据格式如下图: xml文件的数据是我手输入的,所以这是比较烦的.(可能有更简洁的办法获取数据). 而xml文件每个每个节点对应实例,
[51单片机] HC-SR04超声波测距仪 基础代码
>_<:超声波测距仪模块: >_<:51单片机,11.0592MHz晶振,将采集数据发送到串口的基础例子: >_<:代码: /***********************************************************************************************************/ //HC-SR04 超声波测距模块 DEMO 程序 //晶振:11.0592 //接线:模块TRIG接 P1.2 ECH0 接P1
使用内存地址点亮LED—跟51单片机一样写代码教学(初步入门)
51单片机点亮一个小灯 #include <rge52.h> sbit LED = P0^ void main(void) { P0 = 0XFE; // 总线操作 sfr P0 0X80 LED = ; // 位操作 } STM32中 STM32通过一个寄存器控制电平的输出ODR :CRL CRH实现在端口的配置(用绝地地址,目前我们没有寄存器映射,上篇文章有写.) 配置PC2使LED点亮 下图为GPIOX_CRL的配置说明 (四位控制一个GPIOx的端口我们要控制PC
基于51单片机IIC通信的PCF8591学习笔记
引言 PCF8591 是单电源,低功耗8 位CMOS 数据采集器件,具有4 个模拟输入.一个输出和一个串行I2C 总线接口.3 个地址引脚A0.A1 和A2 用于编程硬件地址,允许将最多8 个器件连接至I2C总线而不需要额外硬件.PCF8591由于其使用的简单方便和集成度高,在单片机应用系统中得到了广泛的应用,这篇文章是介绍IIC通信在ADDA转换芯片PCF8591中的应用. 关于IIC IIC总线通信协议的介绍在"基于51单片机IIC通信的AT24C02学习笔记"有详细的介绍. 关于
Windows 通用应用尝试开发 “51单片机汇编”第二次更新总结
一.前言 昨天更新了10天前上架到windows8.1平台和windowsphone平台的通用应用“51单片机汇编”,总要是添加了动态磁贴以及ListView的Groupstyle应用.下面主要主要复习下如何利用后台任务添加动态磁贴 二.动态磁贴 动态磁贴也是前几天才掌握的,基本内容可以查看我之前的有关动态磁贴博文.在这里我理顺在我的应用中,利用backgroudtask动态更新磁贴. step1:首先先添加backgroutask组件.如图一.二 step2: 将backgroundtask引
51单片机 Keil C 延时程序的简单研究
应用单片机的时候,经常会遇到需要短时间延时的情况.需要的延时时间很短,一般都是几十到几百微妙(us).有时候还需要很高的精度,比如用单片机驱动DS18B20的时候,误差容许的范围在十几us以内,不然很容易出错.这种情况下,用计时器往往有点小题大做.而在极端的情况下,计时器甚至已经全部派上了别的用途.这时就需要我们另想别的办法了. 以前用汇编语言写单片机程序的时候,这个问题还是相对容易解决的.比如用的是12MHz晶振的51,打算延时20us,只要用下面的代码,就可以满足一般的需要:
51单片机实现对24C02进行页写、顺序读取并显示验证
//************************************************************************************* //**程序名称:51单片机实现对24C02进行页写.顺序读取并显示验证 //**编写人:**** //**修改人:**** //**程序目的:熟悉I2C总线协议,实现51模拟I2C时序和24C02通信 //**功能描述:51单片机将8个字节数据写入24C02的一页中,然后顺序读出,每隔1秒送P0口LED显示 //**其他
STM32GPIO口8种模式细致分析(类比51单片机)
关于STM32GPIO口的8种工作模式,我们先引出一些问题? STM32GPIO口如果既要输入又要输出怎么办? 1.浮空输入模式 上图红色的表示便是浮空输入的过程,外部输入时0读出的就是0,外部输入时1读出的就是1,外部没有输入IO处于阻塞读不出电平状态. 用处:感觉在信号处理方面用的比较好,比如在读取一段一段的波形,可以清晰的知道什么时候是0信号,什么时候是1信号,什么时候是没有信号的. 类比:51单片机找不到类似的输入模式 2.上拉输入 上拉输入和浮空输入的区别是,上拉电阻的开关关闭了,
51单片机I/O口直接输入输出实例(附调试及分析过程)
51单片机P0/P1/P2/P3口的区别: P0口要作为低8位地址总线和8位数据总线用,这种情况下P0口不能用作I/O,要先作为地址总线对外传送低8位的地址,然后作为数据总线对外交换数据: P1口只能作为I/O口(P1.0.P1.1以外): P2口除了作为普通I/O口之外,在扩展外围设备时,要用作高8位地址线: P3口除了作为普通I/O口之外,其每个引脚都有第二功能. I/O端口具有以下特性: ① 端口自动识别:无论是P0 P2口的总线复用还是P3口的功能复用,内部资源会自动选择,不需要通过指令
4-51单片机WIFI学习(开发板51单片机自动冷启动下载原理)
上一篇链接 http://www.cnblogs.com/yangfengwu/p/8743936.html 这一篇说一下自己板子的51单片机自动冷启动下载原理,我挥舞着键盘和鼠标,发誓要把世界写个明明白白,突然想起来第一行代码的那句话了. 当接上usb线连接到电脑上的时候 看一下RTS引脚的变化,这个信号是连络信号 所以很多用继电器实现的自动下载在接上电的时候会先啪啪啪的动作一下继电器 说一下当点击下载的时候CH340G的RTS和DTR引脚的变化 先说一下平时RTS和DTR都是高电平,正常的串
[学习笔记]15个QA让你快速入门51单片机开发
一.C语言相关 Q1:sbit与sfr代表是什么?有什么作用? Q2:#define OSC_FREQ 22118400L这句宏命令里的“L”是什么意思? Q3:我粘贴了别人的代码,怎么发现没有unit这个类型? Q4:为什么好多变量都是char类型?它不是字符类型吗?怎么可以用来计数? Q4.1:51单片机中的char,int,long,float,double各占多少个字节,取值范围多大? Q5:unsigned char data是什么数据类型? Q6:void timer() inte
单片机成长之路(51基础篇) - 006 在Linux下搭建51单片机的开发烧写环境
在Linux下没有像keli那样好用的IDE来开发51单片机,开发环境只能自己搭建了. 第一步:安装交叉编译工具 a) 安装SDCC sudo apt-get install sdcc b)测试SDCC是否可用,这是个网上找的简单的流水灯代码 test.c, 用来测试 #include "8051.h" #define uint unsigned int #define uchar unsigned char uchar tab[] = {0x01,0x02,0x04,0x08,0x1
51单片机 | I/O口直接输入输出实例
51单片机P0/P1/P2/P3口的区别: P0口要作为低8位地址总线和8位数据总线用,这种情况下P0口不能用作I/O,要先作为地址总线对外传送低8位的地址,然后作为数据总线对外交换数据: P1口只能作为I/O口(P1.0.P1.1以外): P2口除了作为普通I/O口之外,在扩展外围设备时,要用作高8位地址线: P3口除了作为普通I/O口之外,其每个引脚都有第二功能. I/O端口具有以下特性: ① 端口自动识别:无论是P0 P2口的总线复用还是P3口的功能复用,内部资源会自动选择,不需要通过指令
51单片机——My-Clock项目
技术:51单片机.光敏传感器.PCF8591.DHT11.DS1302.OLED显示屏 概述 项目My-Clock是一个环境监测时钟,接入光敏传感器和温湿度传感器监测环境信息,加入DS1302模块用于获取时间,并用OLED显示屏进行实时显示. 详细 代码下载:http://www.demodashi.com/demo/14761.html 一.My-Clock简介 项目My-Clock是一个环境监测时钟,接入光敏传感器和温湿度传感器监测环境信息,加入DS1302模块用于获取时间,并用OLED
51单片机和Arduino—闪烁灯实现
技术:51单片机学习.Keil4环境安装.Arduino环境安装.闪烁灯教程 概述 本文提供51单片机.Arduino单片机入门软件安装和一些需要使用的软件介绍,为后续单片机.嵌入式开发做准备.本文还对LED闪烁代码进行讲解,让初学者更好的理解51单片机和Arduino单片机,后续也会发布单片机对传感器的使用文章 详细 代码下载:http://www.demodashi.com/demo/14663.html 一.C51环境安装和点灯测试 1.keil4软件安装 步骤1: 到百度云盘
【转载】51单片机data,bdata,idata,xdata使用注意事项
"51单片机编程在不同内存空间data xdata bdata定义变量的注意事项": 关键词:51 单片机 编程 不同 内存空间 data xdatabdata 定义 变量 注意事项 1.data区空间小,所以只有频繁用到或对运算速度要求很高的变量才放到data区内,比如for循环中的计数值. 2.data区内最好放局部变量. 因为局部变量的空间是可以覆盖的(某个函数的局部变量空间在退出该函数是就释放,由别的函数的局部变量覆盖),可以提高内存利用率.当然静态局部变量除外,其内存使用方式
2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理)
前言:了解就行,不必深究 上一篇链接 http://www.cnblogs.com/yangfengwu/p/8720148.html 源码链接:https://pan.baidu.com/s/1wT8KAOIzvkOXXNpkDI7E8g提取码:1q9y 这一篇说一下自己板子的51单片机自动冷启动下载原理,我挥舞着键盘和鼠标,发誓要把世界写个明明白白,突然想起来第一行代码的那句话了. 当接上usb线连接到电脑上的时候 看一下RTS引脚的变化,这个信号是连络信号 所以很多用继电器实现的自动下载在
热门专题
jpa 自定义 映射对象
ssh服务器拒绝了密码 请再试一次
log_prob损失函数的使用对象数据类型
使用QAbstractItemModel构建树控件
mybatis判断int为空
json手转map格式
pytest在软件测试工作中用的多吗
eclipse中导入的jeesit如何连接数据库
python中的多态的用处
openstack中用户绑定项目
jquery 获取内容实际高度,包括滚动条
php self可以调用非静态方法
什么是unqualified-id
splunk和forward
主机ping到另一台主机的虚拟机 nat
wpf contentcontrol添加用户窗体
libvlcSharp 硬件解码
ugui Dropdown设置默认值为空
canvas 黑客代码墙
dreamweaver 的替代软件