⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cfg._h

📁 cvavr ad m48 ad实验
💻 _H
字号:
/*******************************
*程序名称:各功能函数
*设    计:萧联珠
*日    期:2007-11-20
********************************/
#include <iom16v.h>
unsigned char disp[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

/*延时子程序*/
void delay_ms(int time)
{
 int i;
 for(;time>0;time--)
  for(i=0;i<1000;i++);
}

/*SPI接口初始化*/
void SPI_MasterInit(void) {

	DDRB |= (1<<PB5) | (1<<PB7);		/* 设置MOSI 和SCK 为输出,其他为输入 */
	SPCR = (1<<SPE) | (1<<MSTR)
		| (1<<SPR1) | (1<<SPR0);		/* 使能SPI主机模式,设置时钟速率为fck/128 */
}

/*SPI数据发送*/
void SPI_MasterTransmit(unsigned char i) 
{
	
	SPDR = i;							/* 启动数据传输 */
	while (!(SPSR & (1<<SPIF)));	    /* 等待传输结束 */
}

/*595数据输出*/
void SPI_595_Out(unsigned char i)
{
	PORTB &= ~(1 << 4);					/*准备锁存*/
	SPI_MasterTransmit(i);
	PORTB |= (1 << 4);					/*锁存数据*/
}

/*ADC采样函数,采样第7通道信号,采样分辨率256*/
void ADC_init() 
{
	ADMUX=0x67;			/*基准AVCC、左对齐、通道7*/
	SREG=0x80;
	ADCSRA=0xCA;			/*使能、开启、4分频*/
}
/*AD中断服务程序*/
#pragma interrupt_handler adc_int:15
void adc_int()
{
  unsigned int ad_result;
  ad_result= (unsigned int)ADCH;
  SPI_595_Out(disp[ad_result/100]);
  
  ADMUX=0x67;			/*基准AVCC、左对齐、通道7*/
  ADCSRA=0xCA;			/*使能、开启、4分频*/
}
 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -