dac.c
来自「nRF24L01详细编程资料」· C语言 代码 · 共 66 行
C
66 行
//ICC-AVR application builder : 2006-02-12 14:00:00
// Target : ATmega48
// Crystal: 1.000Mhz
// Author: jackyan
#include "iom48v.h"
#include "macros.h"
#include "Defs.h"
#include "var.h"
void WriteDA(ubyte bright);
#define DAsync BIT0
#define DAsclk BIT1
#define DAout BIT2
void InitDAC(void)
{
WriteDA(Bright);
}
void WriteDA(ubyte bright)
{
ubyte cnt;
ubyte temp=0;
set(DDRB,DAsync);
set(DDRB,DAsclk);
set(DDRB,DAout);
temp=bright>>4;
cnt=8;
while(cnt>0)
{
clr(PORTB,DAsync);
set(PORTB,DAsclk);
clr(PORTB,DAout);
if (chk(temp,BIT7))
set(PORTB,DAout);
temp<<=1;
cnt--;
clr(PORTB,DAsclk); //0
}
bright<<=4;
temp=bright|0x0f;
cnt=8;
while(cnt>0)
{
clr(PORTB,DAsync);
set(PORTB,DAsclk);
clr(PORTB,DAout);
if (chk(temp,BIT7))
set(PORTB,DAout);
temp<<=1;
cnt--;
clr(PORTB,DAsclk); //0
}
set(PORTB,DAsync);
set(PORTB,DAsclk);
set(PORTB,DAout);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?