//当单片机的IO口不够用时,可以用一般的数字集成电路74LS(HC)595扩展IO口用。
//下面是51单片机74HC595的c51驱动
#include
#include
#define uchar unsigned char
#define uint unsigned int
code uchar shu[]={1,2,4,8,16,32,64,128};
sbit ssj=P2^0;//数据线
sbit ssz=P2^1;//同步时钟
//sbit sss=P2^2;
void delay()
{
uint i,j;
for(i=0;i<400;i++)
for(j=0;j<200;j++);
}
void fasong( uchar sj )
{
uchar i;
ssz=0;
ssj=0;
// sss=0;
_nop_();
ssz=1;
ssj=1;
// sss=1;
for(i=0;i<9;i++)
{
ssz=0;//时钟拉低
// sss=0;
_nop_();
_nop_();
if((sj&0x80)==0x80)
{
ssj=1;
}
else
{ ssj=0;}
ssz=1;//时钟抬高
// sss=1;
sj=sj<<1;//数据左移一位
}
}
void main(void)
{
uchar i;
while(1)
{
for(i=0;i<8;i++)
{
fasong(shu[i]);
delay();
}
}
}
关键字:74HC595 扩展IO口 单片机
引用地址:
74HC595扩展IO口
推荐阅读最新更新时间:2024-03-16 14:44
Keil C51单片机中变量的使用方法解析
8051内核单片机是一种通用单片机,在国内占有较大的市场份额。在将C语言用于51内核单片机的研究方面,Keil公司做得最为成功。由于51内核单片机的存储结构的特殊性,Keil C51中变量的使用与标准C有所不同。正确地使用变量,有利于获得高效的目标代码。下面详细介绍Keil C51中变量的使用方法。 一、CPU存储结构与变量的关系 变量都需要有存储空间,存储空间的不同使得变量使用时的工作效率也不同。 标准C的典型运行环境是8086(含IA-32系列)内核,其存储结构是CPU内部有寄存器,外部有存储器,寄存器的访问速度大大高于存储器的访问速度。在标准C中,不加特别定义的变量是放在存储器中的,使用register可以强制变量存储在
[单片机]
基于单片机的智能仪器监控平台设计
1 引言 工业燃烧过程所释放出的烟气是现代城市大气污染源,烟气检测是大气环境检测中必要的项目,它是确定重点污染源并对污染源进行检测和控制的基本手段。为了控制燃烧过程的燃烧空气比,提高燃烧效率,节约能源,减少大气污染,必须可靠地测量烟气中各种气体的含量。本文针对烟气分析,介绍了一种基于Intel单片机的智能仪器监控平台。 2 监控平台的硬件结构设计 硬件配置应针对分析检测器的不同组合方式可在各模块中选择,如该平台用于二组分分析时,则只接入两路的操作回路和信号回路,其他两路不接,由于硬件模块的独立特性,配合软件的系统参数设置功能,系统完全可以正常工作,未接入的回路对工作回路不产生影响。监控平台的硬件结构如图1所示。
[单片机]
一种基于ARM单片机与CPLD的数字轴角转换方法
0 引言 同步机正余弦旋转变压器等广泛应用于火力控制,航空航天、自动控制等领域以实现系统间轴角信息的传输,由于计算机技术在上述领域的广泛应用,数字-轴角转换已(Digitalto Shaft-angle Converting,DSC)成为一个重要的问题。市场上DSC集成模块产品价格较高且接口不够灵活,在某些领域应用受到限制,特别在多路DSC使用时效费问题更为突出。基于上述问题,提出一种采用ARM单片机+CPLD实现数字-轴角转换的方法。 1 数字-轴角转换原理 数字-轴角转换(DSC)是将数字形式表示的轴角度θ通过运算电路转换为正余弦旋转变压器形式的电压,经正余弦旋转变压器和经过Scott变压器后驱动同步机指向对应轴角
[单片机]
基于μPD78F0034单片机的出租车计费器的设计与实现
摘要:介绍了基于μPD78F0034单片机和模块式结构的出租车计费器的硬件和软件设计方法,讨论了μPD78F0034单片机的主要特点;介绍了该单片机和PC机串行通信的硬件连接方法;同时给出了采用单、双信号防作弊技术来防止计费器作弊的具体实现方法。
关键词:出租车计费器;μPD78F0034;串行通信;防作弊技术
随着出租车行业的发展,对出租车计费器的要求也越来越高,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票资料打印 、IC卡付费、语音报话、和电脑串行通信等功能。通常,设计出租车计费器面临以下三方面的问题:
(1)不同国家和地区的计费方式存在差异。有些地区有夜间收费及郊区收费等,而有些地区则无夜
[应用]
基于51单片机双极型PWM 的软件实现
Keil C是基于标准C内核的第三方语言,利用它可以很方便高效地实现对C51系列单片机的高级编程。C51是目前使用最普遍的8位单片机,价格低廉。它与软件编程结合,可以比较方便地满足众多功能要求,甚至取代一些复杂的硬件电路,简化硬件设计,并提高系统的可靠性和降低成本。基于这个思想,本文提出了一种在C51单片机上软件实现相对复杂的双极型PWM 的新方法。 1 PWM 控制原理 PWM(Pulse Width Modulation)即脉冲宽度调制,它通过控制信号去调制方波脉冲的宽度,从而获得控制的实现。 产生PWM 信号可以由硬件方法和软件方法实现。传统的硬件模拟方法是把调制信号和载波(一般是三角波)同时接入运算放大器的两
[单片机]
探析单片机中PWM的原理与控制程序
PWM 在单片机中的应用是非常广泛的,它的基本原理很简单,但往往应用于不同场合上意义也不完全一样,这里我先把基本概念和基本原理给大家介绍一下,后边遇到用的时候起码知道是个什么东西。 PWM 是 Pulse Width Modulation 的缩写,它的中文名字是脉冲宽度调制,一种说法是它利用微处理器的数字输出来对模拟电路进行控制的一种有效的技术,其实就是使用数字信号达到一个模拟信号的效果。这是个什么概念呢?我们一步步来介绍。首先从它的名字来看,脉冲宽度调制,就是改变脉冲宽度来实现不同的效果。我们先来看三组不同的脉冲信号,如图 10-1 所示。 这是一个周期是 10ms,即频率是 100Hz 的波形,但是每个周期内,高低电
[单片机]
51单片机-无源蜂鸣器+LED
1.联系生活 我们已经学会控制无源蜂鸣器鸣叫的时间,那么作为本章最后一讲,联合我们学过的LED章节知识,写一个用开发板实现一个生活常见现象的代码,比如常见机器报警时,灯亮的时候蜂鸣器就响,灯灭的时候就不响,时间上表现为灯亮的时候蜂鸣器马上响,亮的时间和鸣叫的时间都为1秒,然后灯灭与鸣叫停止也持续1秒,循环往复就形成报警信号了。 #include reg52.h sbit BEEP = P1^6; sbit LED2 = P0^0; sbit ADDR2 = P1^2; sbit ADDR1 = P1^1; sbit ADDR0 = P1^0; sbit ENLED = P1^4; sbit ADDR3 = P1^3;
[单片机]
采用C8051F单片机实现半导体激光器驱动电源的设计
半导体激光器(LD)体积小,重量轻,转换效率高,省电,并且可以直接调制。基于他的多种优点,现已在科研、工业、军事、医疗等领域得到了日益广泛的应用,同时其驱动电源的问题也更加受到人们的重视。使用单片机对激光器驱动电源的程序化控制,不仅能够有效地实现上述功能,而且可提高整机的自动化程度。同时为激光器驱动电源性能的提高和扩展提供了有利条件。 1总体结构框图 本系统原理如图1所示,主要实现电流源驱动及保护、光功率反馈控制、恒温控制、错误报警及键盘显示等功能,整个系统由单片机控制。本系统中选用了C8051F单片机。C8051F单片机是完全集成的混合信号系统级芯片(SOC),他在一个芯片内集成了构成一个单片机数据采集或控制系统所需要的几乎
[单片机]