历史上的今天
今天是:2025年02月02日(星期日)
2020年02月02日 | PIC单片机之AD框架
2020-02-02 来源:eefocus
/********************************
*1 ADCON1 选择参考电压和模拟输入引脚
* ADCON0 选择通道,时钟 打开AD模式
*2 清楚 ADIF 设置 ADIE PEIE GIE
*3 等待一定的时间
*4 开始A/D转化 GO/DONE=1
*5 1扫描方式开始扫描 GO/DONE 并清零
2响应中断清中断标志位
*6 读取寄存器的值
*********************************/
#include #include #include __CONFIG(0x00A); #define inter_flag union adrs { int y1; unsigned char adre[2]; }adrsult; delay_ms(unsigned char count) { unsigned int i; unsigned int j; for(j=0;j } void AD_Init(void) { /* * INTCON * PIR1 * PIE1 * ADRESH * ADRESL * ADCON0 * ADCON1 * TRISA * PORTA * TRISE * PORTE * ANSEL */ #ifdef inter_flag INTCON =0XC0; #else INTCON=0; ADIE=1; PEIE=1; ADCON0 =0X21; ADCON1 =0X80;//? TRISA5 =1;// AD input TRISA1 =0;//output } void Start_AD(void) { GO=1; #ifndef inter_flag while(!GO); adrsult.adre[0]=ADRESL; adrsult.adre[1]=ADRESH; if(adrsult.y1>0x020) { RA1=0; } else { RA1=1; } delay_ms(100); #endif } main() { AD_Init(); Start_AD(); TRISA =0x02c;//RA2 RA3 RA5 delay_ms(1); while(1) { delay_ms(100); Start_AD(); } } void interrupt AD(void) { if(ADIF) { ADIF=0; adrsult.adre[0]=ADRESL; adrsult.adre[1]=ADRESH; if(adrsult.y1>0x200) { RA1=0; } else RA1=1; } GO=1; }
上一篇:PIC单片机设定配置字信息
史海拾趣
|
随着FPGA(Field Programmable Gate Array)容量、功能以及可靠性的提高,其在现代数字通信系统中的应用日渐广泛。采用FPGA设计数字电路已经成为数字电路系统领域的主要设计方式之一[1]。在信号的处理和整个系统的控制中,FPGA不但能大大缩减电路的 ...… 查看全部问答> |
|
对射频技术感兴趣的同学,不妨到矿石收音机论坛去看看,特别是里面的矿石机专栏。在那里有许多退休或即将退休的老人,其中有的人的本职工作是微波电路设计,但是在矿坛里确实玩性正浓。他们对矿石收音机的研究,恐怕我们是想像不到的。 一个线圈, ...… 查看全部问答> |
|
我在wince里用GPSOpenDevice先打开设备,然后 GPS_DEVICE pGPSDevice = {0}; pGPSDevice.dwVersion = GPS_VERSION_1; &nb ...… 查看全部问答> |
|
我的转化函数如下: int iLen = ::MultiByteToWideChar(CP_ACP, 0, pBuff, -1, NULL, 0); if(iLen && iLen … 查看全部问答> |




