📄 test_9313.c
字号:
//*********************************************************
//测试功能:测试放大n+1倍功能
//测试方法:用示波器看输出波形。输入信号为0.2v,放大10倍,看输出波形
//测试结果: OK
//时钟频率:8m
//管脚分配:PD0为使能位,PD1为时序发生位,PD2为+或-位
//完成时间:2008.11.14
//**********************************************************
//**********************************************************
//头文件
//**********************************************************
#include <iom16v.h>
#include <macros.h>
//**********************************************************
//函数声明
//**********************************************************
void INIT_PORT(void);
void DELAY_1US(void);
void DELAY_NUS(unsigned int n);
void DELAY_1MS(void);
void DELAY_NMS(unsigned int n);
void INIT_X9313(void);
void X9313_ADD(unsigned char n);
//**********************************************************
//函数名称:void DELAY_1US(void)
//参数入口:无
//参数出口:无
//函数功能:延时1us
//注意事项:
//**********************************************************
void DELAY_1US(void)
{
NOP();
}
//**********************************************************
//函数名称:void DELAY_NUS(void)
//参数入口:无
//参数出口:无
//函数功能:延时nus
//注意事项:
//**********************************************************
void DELAY_NUS(unsigned int n)
{
for(;n>0;n--)
DELAY_1US();
}
//**********************************************************
//函数名称:void DELAY_1MS(void)
//参数入口:无
//参数出口:无
//函数功能:延时1ms
//注意事项:i=143*n-2
//**********************************************************
void DELAY_1MS(void)
{
unsigned int i;
for(i=1142;i>0;i--)
;
}
//**********************************************************
//函数名称:void DELAY_1MS(void)
//参数入口:无
//参数出口:无
//函数功能:延时1ms
//注意事项:i=143*n-2
//**********************************************************
void DELAY_NMS(unsigned int n)
{
for(;n>0;n--)
DELAY_1MS();
}
//**********************************************************
//函数名称:void INIT_PORT(void)
//参数入口:无
//参数出口:无
//函数功能:端口初始化
//注意事项:
//**********************************************************
void INIT_PORT(void)
{
DDRD|=0X07;
PORTD=0X00;
//DDRA|=0XFF;
//PORTA=0XFF;
}
//**********************************************************
//函数名称:void INIT_X9313(void)
//参数入口:无
//参数出口:无
//函数功能:是放大倍数为1
//注意事项:PD0为使能位,PD1为时序发生位,PD2为+或-位
//**********************************************************
void INIT_X9313(void)
{
unsigned char n;
PORTD|=0X07;
PORTD=(1<<2);//方法倍数减操作
DELAY_NUS(1);
PORTD&=~(1<<0);//使能操作
DELAY_NUS(1);
for(n=35;n>0;n--)
{
PORTD|=(1<<1);//+
DELAY_NUS(2);
PORTD&=~(1<<1);
DELAY_NUS(2);
PORTD|=(1<<1);//+
DELAY_NUS(2);
}
PORTD|=(1<<0);//使能操作
DELAY_NMS(20);
}
//**********************************************************
//函数名称:void X9313_ADD(unsigned char n)
//参数入口:无
//参数出口:无
//函数功能:放大n倍
//注意事项:PD0为使能位,PD1为时序发生位,PD2为-时放大
//**********************************************************
void X9313_ADD(unsigned char n)
{
PORTD|=0X07;
PORTD&=~(1<<2);//方法倍数减操作
DELAY_NUS(1);
PORTD&=~(1<<0);//使能操作
DELAY_NUS(1);
for(;n>0;n--)
{
PORTD|=(1<<1);//+
DELAY_NUS(2);
PORTD&=~(1<<1);
DELAY_NUS(2);
PORTD|=(1<<1);//+
DELAY_NUS(2);
}
PORTD|=(1<<0);//使能操作
DELAY_NMS(20);
}
//***********************************************************
//函数名称:main()
//参数入口:无
//参数出口:无
//函数功能:时钟主程序
//**********************************************************
void main(void)
{
INIT_PORT();
INIT_X9313();
//DELAY_NUS(1000);
X9313_ADD(4); X9313_ADD(2);//放大n+1倍
while(1)
{
;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -