📄 mc145162_driver.c
字号:
#include "reg52.h"
#include "user.h"
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
sbit en =P3^2;
sbit dat=P3^3;
sbit clk=P3^4;
sbit beep=P2^2;
void init_control_reg()
{
uchar temp;
uchar i;
temp=0x88;
en=1;
clk=0;
for(i=0;i<8;i++)
{
if(temp & 0x80)
dat=1;
else
dat=0;
clk=1;
temp<<=1;
clk=0;
}
en=0;
}
void init_reference_reg()
{
ulong temp=0x35004000;
uchar i;
en=1;
clk=0;
for(i=0;i<32;i++)
{
if(temp & 0x80000000)
dat=1;
else
dat=0;
clk=1;
temp<<=1;
clk=0;
}
en=0;
}
void write_counter_reg(ulong TX,ulong RX)
{
ulong temp;
uchar i;
temp=(TX<<16)|RX;
en=0;
clk=0;
for(i=0;i<31;i++)
{
if(temp & 0x80000000)
dat=1;
else
dat=0;
clk=1;
temp<<=1;
clk=0;
}
if(temp & 0x80000000)
dat=1;
else
dat=0;
clk=1;
en=1;
clk=0;
en=0;
}
void write_pll(uint TX,uint RX)
{
uint TX_temp,RX_temp;
TX_temp=TX/5;
RX_temp=RX/5;
write_counter_reg(TX_temp,RX_temp);
}
void main()
{
delay(20);
init_control_reg();
init_reference_reg();
write_pll(29600,40300);
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -