|
普中的 為什么這個(gè)代碼不止點(diǎn)亮led點(diǎn)陣的一個(gè)點(diǎn),同時(shí)點(diǎn)亮了三個(gè)點(diǎn)
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
//74HC595芯片
sbit SER=P3^4; //串行輸入
sbit RLCK=P3^5; //時(shí)鐘移位寄存器
sbit SRCLK=P3^6; //數(shù)據(jù)移位寄存器
void Hc595Send(uchar num);
void main()
{
while(1)
{
P0=0x7f;
Hc595Send(0x80);
while(1);
}
}
void Hc595Send(uchar num)
{
uchar a;
SRCLK=0;
RCLK=0;
for(a=0;a<8;a++)
{
SER=num>>7; //將最高位傳送
num<<=1; //次高位移至最高位
SRCLK=1;
_nop_(); //延時(shí)一個(gè)機(jī)器周期
_nop_();
SRCLK=0;
}
RCLK=1;
_nop_();
_nop_();
RCLK=0;
}
|
-
123.png
(58.5 KB, 下載次數(shù): 58)
下載附件
2020-1-5 11:08 上傳
|