您的位置 首页 培训

PIC16F72 -74HC595控制程序

PIC16F72控制4个74HC595程序/*************PIC16F72单片机程序******************************//********************

PIC16F72操控4个74HC595程序

/*************PIC16F72单片机程序******************************/
/*********************************************************************/
/*****File Function : 74HC595操控程序 *****/
/*****Program Author : ZhengWen(ClimberWin)*****/
/*****MCU : PIC16F72 外部晶振12MHZ *****/
/*****Compile Date : 2011/04/13 *****/
/*****Edition Info : V1.0*****/
/*************************************************************/

#include #include “binary.h”

#define uchar unsigned char
#define uint unsigned int

void Init(void); //初始化子程序
void LockOut(void);
void Write(void);//写8位数据
void LockOut(void);

#define HC595_SCLK RB2 //移位时钟脉冲
#define HC595_RCK RB3 //输出锁存器操控脉冲
#define HC595_SI RB4 //串行数据输入
#define HC595_EN RB5

uchar temp;

/*********************************************/
void delayms(unsigned int count)
{
uint i,j;
for(i=0;ifor(j=0;j<120;j++);
}
/*********************************************/

/////////////////74HC595部分程序////////////////////////

/********存数据到移位寄存器*******/
void Write(void)//写8位数据
{
uchar j;

for (j=0;j<8;j++)
{

if (temp & 0x80) //读取
{
HC595_SI=1;
}
else
{
HC595_SI=0;
}
temp=temp<<1;
HC595_SCLK=1;
asm(“NOP”);
asm(“NOP”);
HC595_SCLK=0;
LockOut(); //数据移位结束后锁存输出
}
}

/********************************************************/
/*寄存器内的数据锁存到输出寄存器并输出显现*/

void LockOut(void)
{
HC595_RCK=0;
asm(“NOP”);
asm(“NOP”);
HC595_RCK=1;
asm(“NOP”);
asm(“NOP”);
HC595_RCK=0;
}
/*********************************************************/

void Init(void)
{
PORTB = 0B00000000;
TRISB = 0B00000000;//设置RB0为输入,作为按键口
RBPU=0;//PORTB上拉使能
}

////////////主程序/////////////////////////
void main (void)
{

uchar i;
Init();//初始化程序

PORTB=0XFF;

HC595_SCLK=0;
HC595_RCK=1;
HC595_EN=0;

temp=0x55;
Write();

temp=0xaa;
Write();

temp=0x01;
Write();

temp=0x22;
Write();
while(1);

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/272025.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部