📄 demo_12_3.c~
字号:
/*****************************************************
File name : demo_12_3.c
Chip type : ATmega16
Program type : Application
Clock frequency : 4.000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
*****************************************************/
#include <mega16.h>
#define hc165_clk PORTB.0
#define hc165_lp PORTB.1
#define hc165_out PINB.2
char read_hc165(void)
{
char data = 0,i,temp = 0x80;
hc165_lp = 0; // 置lp低电平,读入8位并口数据
hc165_lp = 1; // 置lp高电平,保持数据
for (i=0;i<=7;i++)
{
if (hc165_out) // 读入1位数据
data |= temp;
hc165_clk = 1; // clk上升沿,串出下1位数据
temp = temp >> 1;
hc165_clk = 0; // clk下降沿,保持
}
return data;
}
void main(void)
{
PORTA=0xFF;
DDRA=0xFF;
PORTB=0x06;
DDRB=0x03;
while (1)
{
PORTA = ~read_hc165(); // 8位数据取反,点亮相应的LED
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -