📄 74ls165._c
字号:
/*********************************************************************
微 雪 电 子 WaveShare http://www.waveShare.net
目 的: 测试SeialBoard的74LS165模块
目标系统: 基于AVR单片机
应用软件: ICCAVR
版 本: Version 1.0
圆版时间: 2005-05-2
开发人员: SEE
说 明: 若用于商业用途,请保留此段文字或注明代码来源
深 圳 微 雪 电 子 保 留 所 有 的 版 权
*********************************************************************/
/*01010101010101010101010101010101010101010101010101010101010101010101
----------------------------------------------------------------------
版本更新记录:
----------------------------------------------------------------------
实验内容:
使用PA口作为信号源输入到74LS165,74LS165将会将该信号转为串行信号,
MCU再自己接收串行信号,使用PB口的LED指示灯查看数据是否正确。
----------------------------------------------------------------------
硬件连接:
将PB口的LED指示灯使用短路帽短接。
SeialBoard(165PrlPort) M16SD
P0 --------- PB0
P1 --------- PB1
P2 --------- PB2
P3 --------- PB3
P4 --------- PB4
P5 --------- PB5
P6 --------- PB6
P7 --------- PB7
PL --------- PD2
SeialBoard(165SrlPort) M16SD
VCC --------- VCC
GND --------- GND
TXD --------- RXD
RXD --------- TXD
----------------------------------------------------------------------
注意事项:
详见M16SD说明书
----------------------------------------------------------------------
10101010101010101010101010101010101010101010101010101010101010101010*/
#include <iom16v.h>
#include "D:\ICC_H\CmmICC.H"
#define DISP_DDR DDRB
#define DISP_PORT PORTB
#define SOURCE_DDR DDRA
#define SOURCE_PORT PORTA
#define IN_RXD cbi(DDRD,0) //PD0 数据口
#define GET_RXD gbi(PIND,0)
#define OUT_TXD sbi(DDRD,1) //PD1 脉冲口
#define SET_TXD sbi(PORTD,1)
#define CLR_TXD cbi(PORTD,1)
#define OUT_PL sbi(DDRD,2) //PD2 锁存口
#define SET_PL sbi(PORTD,2)
#define CLR_PL cbi(PORTD,2)
/*--------------------------------------------------------------------
函数名称:
函数功能:
注意事项:
提示说明:
输 入:
返 回:
--------------------------------------------------------------------*/
uint8 getDat()
{
uint8 i,dat;
for(i=0;i<7;i++)
{
SET_TXD;
if(GET_RXD)
dat |= 0x01;
dat = dat<<1;
CLR_TXD;
}
dat = dat>>1;
return dat;
}
/*--------------------------------------------------------------------
函数名称:
函数功能:
注意事项:
提示说明:
输 入:
返 回:
--------------------------------------------------------------------*/
void main()
{
uint8 i;
DISP_DDR = 0XFF;
SOURCE_DDR = 0XFF;
OUT_PL;
OUT_TXD;
IN_RXD;
//while(1)
//{
SOURCE_PORT = 0X55;
SET_PL;
CLR_PL;
SET_PL;
DISP_PORT = getDat();
//}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -