历史上的今天
今天是:2025年04月14日(星期一)
2020年04月14日 | atmega128 AD转换程序
2020-04-14 来源:eefocus
/*********************************包含头文件********************************/
#include
#include
/********************************数码管段码表*******************************/
extern const unsigned char tab[]={0x3f,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0x6F};
/*********************************端口定义**********************************/
#define sclon PORTG |=BIT(0); //时钟高
#define scloff PORTG &=~BIT(0);
#define dion PORTG |=BIT(1); //数据高
#define dioff PORTG &=~BIT(1);
/*********************************全局变量**********************************/
unsigned int adc_rel;
int dat;
/****************************************************************************
函数功能:ADC初始化函数
入口参数:
出口参数:
****************************************************************************/
void adc_init(void)
{
ADCSRA=0x00; //关ADC
ADMUX = (1<
ADCSRA = (1<
}
/****************************************************************************
函数功能:ADC中断函数
入口参数:
出口参数:
****************************************************************************/
#pragma interrupt_handler adc_isr:iv_ADC
void adc_isr(void)
{
int data_H,data_L;
ADCSRA = 0x00;
adc_rel=ADC;
ADCSRA = (1<
}
/****************************************************************************
函数功能:数据输出程序
入口参数:temp
出口参数:
****************************************************************************/
void dataOUT(unsigned char temp)
{
unsigned char i,temp1;
temp1 = tab[temp];
for(i = 0;i < 8;i++ )
{
scloff;
IF((temp1&0x80)!= 0x80)
{ dioff;}
else
{ dion;}
sclon;
temp1 <<=1;
scloff;
}
}
/****************************************************************************
函数功能:延时子程序
入口参数:
出口参数:
****************************************************************************/
void delay(void)
{
int i;
for(i=0;i<200;i++);
}
/****************************************************************************
函数功能:显示子程序
入口参数:k
出口参数:
****************************************************************************/
void display(unsigned int k)
{
dataOUT(k/1000);
PORTG &=0x03;
delay();
dataOUT(k/100%10);
PORTG |=0x04;
delay();
dataOUT(k/10%10);
PORTG &=0x0B;
PORTG |=0x08;
delay();
dataOUT(k%10);
PORTG |=0x0C;
delay();
}
/****************************************************************************
函数功能:主程序
入口参数:
出口参数:
****************************************************************************/
void main(void)
{
DDRE=0x00;
DDRG=0xff;
adc_init();
SEI();
display(0);
while(1)
{
delay();
display(adc_rel);
}
}
史海拾趣
|
自己制作电路板时划好线总想把多余的铜去掉,如果你用刀子在上面划没有什么用处,只好是将制作好的板子放在三氯化铁中这样多余的铜才会去掉,用覆盖剂划好图<油漆当覆盖剂也可以>然后放在三氯化铁中溶解掉铜,业余制作印刷板有很多方法,用什 ...… 查看全部问答> |
|
我们公司要招一名Linux下的蓝牙开发工程师。公司地址在上海中山公园附近。薪资待遇1万/月。 职位要求: 1、精通LINUX系统以及C/C++编程(必须)。 2、熟悉嵌入式系统、单片机的开发。 3、精通蓝牙协议、蓝牙应用开发(必须)。 4、至少三年以 ...… 查看全部问答> |
|
无线传输数据,发射端移动的时候,对传输质量影响很大,请问有没有什么好的解决方法? 现在有一个无线的项目(不采用跳频),我对无线接触不多,碰到这样的问题,发射端在移动的时候,对发射质量影响特别大,请教一下这方面的知识,和解决这个问题的方法。谢谢!… 查看全部问答> |
|
在脉冲RD的上升沿将内存的数据读到芯片的数据端口DOUT,怎样实现? 可以让这个脉冲信号直接做clock使用吗?? 例如下面这样写:always @(posedge RD ) DOUT_EN==1\'b1;产生一个enable 信号,综合时要对这个RD create clock 吗??… 查看全部问答> |
|
MSP430驱动步进电机,使用DRV8814芯片原理图和参考源代码 TI DRV8814 步进电机驱动芯片:具有浪涌电流保护功能的 2.5A 双路刷式直流电机驱动器 DRV8814原理设计,MSP430与其接口电路原理图参见附件。 … 查看全部问答> |
|
1.Found clock-sensitive change during active clock edge at time on register \"\" 原因:vector source file中时钟敏感信号(如:数据,允许端,清零,同步加 载等)在时钟的边缘同时变化.而时钟敏感信号是不能在时钟边沿变化的.其后 果为导 ...… 查看全部问答> |




