📄 main.c
字号:
/*============================文件信息===========================*/
/*文 件 名:main.c */
/*创 建 人:葛康 */
/*最后修改日期:2006年2月24日 */
/*文 件 描 述: 无 */
/*===============================================================*/
#include "AT91SAM7S64.h"
#include "lib_AT91SAM7S64.h"
extern void led_init(void);
extern void led_show(unsigned short ad_data);
extern void led_on(char led, char index);
extern void led_delay(void);
extern void pwm_init(void);
extern void pwm_duty_update(unsigned int duty,unsigned int i);
extern void pwm_period_update(unsigned int period,unsigned int i);
extern void adc_init(void);
extern unsigned short ad4_read(void);
extern unsigned short ad6_read(void);
extern unsigned short ad7_read(void);
/*****************************************************************/
/*函数名称:delay */
/*功能描述:延时函数 */
/*输入参数:i */
/*输出参数:无 */
/*****************************************************************/
void delay(int time)
{
int i;
for(i=time;i>0;i--);
}
/*****************************************************************/
/*函数名称:min */
/*功能描述:求两个数中的较小数 */
/*输入参数:x,y */
/*输出参数:无 */
/*****************************************************************/
int min(int x,int y)
{
if(x<=y) return x;
else return y;
}
/*****************************************************************/
/*函数名称:main */
/*功能描述:主函数 */
/*输入参数:无 */
/*输出参数:无 */
/*****************************************************************/
void main(void)
{
int ad_val[3],ad_value,k;
unsigned int pwm_buffer,pwm_period,pwm_duty;
char i;
//led_init();
pwm_init();
adc_init();
for(i=0;i<3;i++) {ad_val[i]=0;}
while(1)
{
AT91F_WDTRestart(AT91C_BASE_WDTC); //看门狗复位
/**************************ADC部分*******************************/
ad_val[0]=ad4_read(); //读取AD值
ad_val[1]=ad6_read();
ad_val[2]=ad7_read();
k=min(ad_val[0],ad_val[1]);
ad_value=min(k, ad_val[2]);
/**************************PWM部分*******************************/
pwm_period=3160;
pwm_buffer=ad_value/12;
pwm_buffer=pwm_buffer+5;
pwm_buffer=pwm_period*pwm_buffer;
pwm_duty=pwm_buffer/100;
delay(1800);
pwm_duty_update(pwm_duty,0);
pwm_duty_update(pwm_duty,1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -