历史上的今天
今天是:2024年10月12日(星期六)
2019年10月12日 | atmega128 AD 转换
2019-10-12 来源: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< /**************************************************************************** 函数功能: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); } }
史海拾趣
|
请问大家哈,我用74LS47驱动两个4位数码管,数码管亮度很微弱,我更改为双电源,单独给数码管提供5V电压,但是情况仍没有改变。我一时找不到原因!大家有什么看法没?感谢!!感谢!!感谢!!!… 查看全部问答> |
|
一、开关元件 开关、干簧管和霍耳元件都是用来控制线路的通断的器件。不同的是开关一般是人工手动操作的,而干簧管和霍克元件则是通过磁信号来控制线路的通和断。 1.开关 在手机中使用的开关通常是薄膜按键开关,它由触点和触片组成。按键的两个 ...… 查看全部问答> |
|
单脉冲序列对双激式开关电源变压器铁心的磁化开关电源原理与设计(连载53) 2-1-1-4.脉冲序列对双激式开关电源变压器铁心的磁化 双激式变压器与单激式变压器的区别主要是两者输入电压的参数不一样。单激式变压器输入的电压是单极性直流脉冲,而双激式变压器输入的电压是双极性交流脉冲。为了简单起见,我们把双激式变压器 ...… 查看全部问答> |
|
我做摄像头的数据采集,用CreateFile打开设备,然后调用DeviceIoControl函数,第二个参数需要的是控制CODE,这个CODE需要驱动来提供?不是标准调用吧。如果驱动没有提供读数据的控制CODE,那我是不是就没有办法用DeviceIoControl得到数据了?… 查看全部问答> |
|
我是青岛的目前原来是从事应用程序开发的,想转型做WinCE BSP开发,现在已经辞职在家专心学习WinCE BSP开发,现在实验用的板子是飞凌的OK2440III。由于在青岛没有找到这方面的朋友,所以许多问题只能靠自己研究或是到网上查资料。现在我有下面的一 ...… 查看全部问答> |
|
replyreload += \',\' + 813951;实现功能:创建12-29.txt,写入EEWORD GOOD!,然后在读出来 主代码: int main(void){ //系统时钟 SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_OSC| SYSCTL_OSC_MAIN | &n ...… 查看全部问答> |
|
IBUFG + BUFG的使用方法:IBUFG后面连接BUFG的方法是最基本的全局时钟资源使用方法,由于IBUFG组合BUFG相当于BUFGP,所以在这种使用方法也称为BUFGP方法。 IBUFGDS + BUFG的使用方法:当输入时钟信号为差分信号时,需要使用IBUFGDS代替IBUFG。 ...… 查看全部问答> |
|
小弟手上的开放板的外部晶振是25M,串口通信,波特率为115200时,BRR是0x0135. 想问下0x0135是怎么算出来的?看了STM32的数据手册,没看懂。… 查看全部问答> |




