函数名称: HC595SendData //8位串行输入/输出,并行输出
功能描述: 向SPI总线发送数据 这里只说明并行输入的一般情况
管脚描述:请参考相关的芯片资料
void HC595SendData(unsigned int SendVal)
{
unsigned char i;
for(i=0;i<8;i++)
{
if((SendVal<
关键字:74HC595 SPI总线 51单片机
引用地址:74HC595使用SPI总线连接51单片机的驱动程序
//若输入最高位为1,则令串行输入为1,反之输入0
else MOSIO=0;
S_CLK=0; //上升沿输入每一位
NOP(); //datasheet给出最大的上升下降沿时间为1000ns
NOP(); //这里为2us,已经足够
S_CLK=1;
}
R_CLK=0; //set dataline low
NOP(); //上升沿输出8位并行数据
NOP(); //延时的解释与上同
R_CLK=1; //片选
OE=0;
}
上一篇:51单片机实现步进电机加减速的例子-加注释
下一篇:基于51单片机的DS18B20温度传感器驱动程序加详解
推荐阅读最新更新时间:2024-03-16 13:50
以AT89C51单片机为微控制器的汽车转向灯控制器设计
引言 随着社会的发展,道路上到处都是飞速的汽车。如何保证行人安全,一直都是人们关注的重心。要减少交通事故,就得从汽车的各种安全设计考虑,这不仅仅是汽车本身的质量问题,还应关注汽车在行驶过程中对路人的引导指示方面。其中汽车的各种灯就是安全警示的一个方面,汽车的转弯灯、头灯、尾灯和警示灯等能够帮助路人识别汽车的动向,尤其是当遇到紧急事件时,打开紧急开关就可以警示路人该车现在不安全了,需要小心避车。转弯灯能提示路人该车要进行左转或是右转了,小心碰撞。传统的汽车闪光器结构简单体积小、闪光频率稳定、监控作用明显,故被广泛使用。但这样的继电器由于自身条件的限制,可靠性低,定时时间不够精确,使用寿命较短,且继电器受温度影响较大,对于温度变化较大
[单片机]
51单片机精确延时程序
51单片机精确延时程序(晶振12MHz,一个机器周期1us.) 几个精确延时程序:在精确延时的计算当中,最容易让人忽略的是计算循环外的那部分延时, 在对时间要求不高的场合,这部分对程序不会造成影响. 一. 500ms延时子程序程序:.(晶振12MHz,一个机器周期1us.) void delay500ms(void) { unsigned char i,j,k; for(i=15;i 0;i--) for(j=202;j 0;j--) for(k=81;k 0;k--); } 计算分析: 程序共有三层循环 一层循环n:R5*2 = 81*2 = 162us DJNZ 2us 二层循环m:R6*(n+3)
[单片机]
51单片机Keil C 延时程序
应用单片机的时候,经常会遇到需要短时间延时的情况。需要的延时时间很短,一般都是几十到几百微妙(us)。有时候还需要很高的精度,比如用单片机驱动DS18B20的时候,误差容许的范围在十几us以内,不然很容易出错。这种情况下,用计时器往往有点小题大做。而在极端的情况下,计时器甚至已经全部派上了别的用途。这时就需要我们另想别的办法了。 以前用汇编语言写单片机程序的时候,这个问题还是相对容易解决的。比如用的是12MHz晶振的51,打算延时20us,只要用下面的代码,就可以满足一般的需要: mov r0, #09h loop: djnz r0, loop 51单片机的指令周期是晶振频率的1/12,也就是1us一个周期。mov r0,
[单片机]
52-基于51单片机的指纹密码锁设计
具体实现功能 系统由STC89C51单片机+AT24C02数据存储模块+按键模块+LCD12864显示+FM10A指纹模块等构成。 具体功能: 1、能够对指纹进行录入、识别和删除; 2、能够实现最多1000枚的指纹录入识别; 3、能够实现指纹识别成功开锁功能; 4、设有4*4按键键盘,实现密码录入、修改和特殊功能。 设计背景 据统计,在全世界50亿人口当中,除了19名生来就没长指纹的特殊人物之外,没有一个重样的指纹,所以世界各国的警察机关都利用指纹鉴别技术来侦破案件。有人把人的指纹称之为“人体的立体印章”,而公安人员正是利用这些立体印章来作为认定作案分子的特征符号。 由于人体的身体特征具有不可复制的特点
[单片机]
AVR的SPI驱动74HC595测试程序
#include avr/io.h #define uchar unsigned char #define uint unsigned int #define lat_on PORTB|=0x10 #define lat_off PORTB&=0xe0 void spi_init(void) { SPCR=0x70; SPSR=0X01; } void spi_send(uchar dd) { SPDR=dd; while(0==(SPSR&0X80)); } int main(void) { DDRB=0xff; PORTB=0XFF; spi_init(); lat_off; spi_send(0x92); spi_send
[单片机]
51单片机与nRF401芯片在RFID系统中的应用
1 RFID系统简述 RFID即为非接触的识别系统,它是一种从20世纪90年代兴起的一项自动识别技术,它利用无线射频方式进行 非接触双向通信,以达到识别目的并交换数据,其数据存储在电子数据载体(称应答器)之中。然而,应答器的能量供应以及应答器与阅读器之间的数据交换不是通 过电流的触点接通而是通过磁场或电磁场,这方面采用了无线电和雷达技术。射频识别是无线电频率识别的简称,即通过无线电波进行识别。同其他识别系统相比, 射频识别系统具有许多优点。因此,射频识别系统开始占据了巨大的销售市场。这方面的例子有:用非接触Ic卡作短距离公共交通车票、公路收费系统以及在安全 系统、银行、医院、商店、宾馆及个人通信等场所广泛应用的无线呼叫系统,该
[单片机]
51单片机DS18B20温度控制报警程序(可设置温控范围)
DS18B20的管脚定义: 1、GND 2、DQ 3、VCC DQ P1.7 K1 P3.2 K2 P3.4 K3 P3.6 K4 P3.7 温度显示用四位数码管,当温度 =100度时,第四位才显示。 第五位数码管显示状态符号。 开机检测 DS18B20 状态: DS18B20正常显示: O 18.8 显示实时温度和加热标记 O DS18B20不正常显示: 黑屏、蜂鸣器一直响。 这时你要检查DS18B20是否连接好、接对,否则要更换一个新的 DS18B20 芯片。 程序在整个运行过程中,始终对 DS18B20 进行检测。 你可以将 DS18B20 从 51hei-5 拔掉,检测一下
[单片机]
基于AT89S51单片机的冲床控制器的设计与应用
本文介绍了一种用Atmel89S51单片机仿真PLC控制的方法,设计适合刚性离合器冲床的控制器,介绍了用光电隔离的输入输出电路的基本构成和工作原理,重点介绍了内部键盘显示电路的设计思想,同时给出了冲床控制的电器原理图。 系统硬件配置以AT89S51单片机为核心。AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4Kb ISP(In-system programmable)可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,内置看门狗(WDT)电路。 功能强大的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方
[单片机]
小广播
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐
最新单片机文章
更多精选电路图
更多热门文章
更多每日新闻
- 科学家研发基于AI的身份验证工具 可保护车辆免受网络攻击威胁
- Microchip推出广泛的IGBT 7 功率器件组合,专为可持续发展、电动出行和数据中心应用而设计
- 面向未来驾驶体验 博世推出新型微电子技术
- 英飞凌与马瑞利合作 利用AURIX™ TC4x MCU系列推动区域控制单元创新
- 5C超充,该怎么卷?
- 《2025年度中国汽车十大技术趋势》正式揭晓!你最看好哪个?
- Microchip推出新型VelocityDRIVE™软件平台和车规级多千兆位以太网交换芯片,支持软件定义汽车
- 英特尔中国正式发布2023-2024企业社会责任报告
- can转485数据是如何对应的
- MCU今年的重点:NPU和64位
更多往期活动
11月13日历史上的今天
厂商技术中心