📄 soft.h
字号:
//输出数据
void outportb(UINT addr, UINT data)
{
if(addr == D12_DATA_SOFT)
{
PTM_PTM7 = 0;
PORTB_BIT0 = 0;
}
else
{
PTM_PTM7 = 1;
PORTB_BIT0 = 1;
}
DDRA = 0xFF;
PORTA = data;
D12_WR_0
D12_WR_1
}
//输入数据
UINT inportb(UINT addr)
{
UINT rt;
if(addr == D12_DATA_SOFT)
{
PTM_PTM7 = 0;
PORTB_BIT0 = 0;
}
else
{
PTM_PTM7 = 1;
PORTB_BIT0 = 1;
}
DDRA = 0x00;
D12_RD_0
D12_RD_1
rt = PORTA;
return rt;
}
UINT D12_ReadChipID_Soft()
{
UINT i,j;
outportb(D12_COMMAND, 0xFD);
i=inportb(D12_DATA_SOFT);
j=inportb(D12_DATA_SOFT);
i = (0x00FF & i) + (0xFF00 & (j<<8));
return i;
}
//模式设置
void D12_SetMode_Soft(UINT bConfig, UINT bClkDiv)
{
outportb(D12_COMMAND, 0xF3);//设置模式
outportb(D12_DATA_SOFT, bConfig);
outportb(D12_DATA_SOFT, bClkDiv);
}
void Soft_Init()
{
//软时序初始化
//PORTM
DDRM_DDRM6 = 1;//输出
DDRM_DDRM7 = 1;//输出
// DMA传输 PORTH
DDRH_DDRH0 = 0;//输入
DDRH_DDRH1 = 1;//输出
DDRH_DDRH2 = 1;//输出
// LED显示端口 POTRP
DDRP = 0xFF;//输出
DDRA = 0xFF;
DDRB = 0xFF;
DDRE = 0xFF;
PEAR_NECLK = 1;
PEAR_RDWE = 0;
D12_SetMode_Soft(0x02,0x42);
Delay(10000);
if(D12_ReadChipID_Soft() != 0x1012)
{
Set_LED(0x55);
while(1);//设置时钟出错!
}
Set_LED(0x00);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -