📄 amp.c~
字号:
#include <mega16.h>
#include <delay.h>
#define uchar unsigned char
#define uint unsigned int
/*
#define SECTION1 (((PORTC|=0x0d)&(PORTC&=0xfd))&((PORTD|=0x80)&(PORTD&=0xdf)))
#define SECTION2 (((PORTC|=0x0b)&(PORTC&=0xfb))&((PORTD|=0x20)&(PORTD&=0x7f)))
#define SECTION3 (((PORTC|=0x0e)&(PORTC&=0xfe))&(PORTD&=0x5f))
#define SECTION4 (((PORTC|=0x07)&(PORTC&=0xf7))&(PORTD&=0x5f))
#define SECTION5 (((PORTC|=0x02)&(PORTC&=0xf2))&((PORTD|=0x20)&(PORTD&=0x7f)))
#define SECTION6 (((PORTC|=0x05)&(PORTC&=0xf5))&(PORTD|=0xa0))
#define SECTION7 (((PORTC|=0x08)&(PORTC&=0xf8))&(PORTD|=0xa0))
#define SECTION8 ((PORTC&=0xf0)&((PORTD|=0x80)&(PORTD&=0xdf)))
*/
#define SIN (((PORTB|=0x80)&(PORTB&=0x8f))&((PORTD|=0x20)&(PORTD&=0xbf)))
#define SQUART (((PORTB|=0x10)&(PORTB&=0x1f))&((PORTD|=0x40)&(PORTD&=0xdf)))
#define TRIGLE (((PORTB|=0x20)&(PORTB&=0x2f))&((PORTD|=0x20)&(PORTD&=0xbf)))
#define STEP_UP (PORTB&=0xfb)
#define STEP_DOWN (PORTB&=0xfd)
#define NOT_STEP_UP (PORTB|=0x04)
#define NOT_STEP_DOWN (PORTB|=0x02)
static uchar step=0;
/*数控电阻选择子程序
jmp_step在0到32之间选择
*/
void x9511(uchar jmp_step)
{
uchar i;
uchar j;j=step;
if(j>jmp_step)
{
for(i=0;i<j-jmp_step;i++)
{
STEP_DOWN;
delay_ms(50);
NOT_STEP_DOWN;
delay_ms(5);
step--;
}
}
else
{
for(i=0;i<jmp_step-j;i++)
{
STEP_UP;
delay_ms(50);
NOT_STEP_UP;
delay_ms(5);
step++;
}
}
}
void clr_x9511(void)
{
uchar i;
for(i=0;i<31;i++)
{
STEP_DOWN;
delay_ms(50);
NOT_STEP_DOWN;
delay_ms(5);
}
}
/*调幅总程序
参数channel为通道选择,1为SIN正弦波,2为SQUART方波,3为TRIGLE三角波
参数amp_data为幅度选择,范围0~32
*/
void amp(uchar channel,uchar amp_data)
{
switch(channel)
{
case 1:
SIN;
break;
case 2:
SQUART;
break;
case 3:
TRIGLE;
break;
default:
break;
}
x9511(amp_data);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -