附带proteus设计图 电路图 大图在附件里面
/*****************************************************
Project :
Version :
Date : 2015-10-29
Author :tengzaiba
Chip type : ATmega16
AVR Core Clock frequency: 8.000000 MHz
*****************************************************/
#include #include // Declare your global variables here char LCD_7[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; char dis_buff[4]; unsigned int votage=0; unsigned int vot1; // Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) { // Place your code here // Read the 8 most significant bits // of the AD conversion result PORTC.7=~PORTC.7; delay_us(20); while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; vot1=ADCW; votage=(unsigned long)vot1*5000/1024; } void display(unsigned int vot) { // move vot to dis_buff char i; char j; for (i=0;i<4;i++) { dis_buff[i]=vot % 10; vot/=10; } // dis_buff to LEDs for (j=0;j<=3;j++) { PORTC=LCD_7[dis_buff[j]]; PORTA=~(1< PORTA=0x0f; } } void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port A initialization // Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=Out // State7=T State6=T State5=T State4=T State3=0 State2=0 State1=0 State0=0 PORTA=0x00; DDRA=0x0F; // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00; DDRB=0x00; // Port C initialization // Func7=In Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=T State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTC=0x00; DDRC=0xFF; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x03; TCNT0=0x00; OCR0=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x01; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // ADC initialization // ADC Clock frequency: 1000.000 kHz // ADC Voltage Reference: AREF pin // ADC Auto Trigger Source: Timer0 Overflow // Only the 8 most significant bits of // the AD conversion result are used ADMUX=0x47; ADCSRA=0xA3; SFIOR&=0x1F; SFIOR|=0x80; // Global enable interrupts #asm("sei") while (1) { display(votage); }; }
上一篇:AVR单片机nrf24l01驱动程序
下一篇:AVR单片机I2C总线程序
推荐阅读
史海拾趣
贝尔金的成功不仅仅局限于美国本土。随着全球市场的不断扩张,贝尔金也在全球范围内建立了广泛的销售网络和物流中心。位于加州洛杉矶的总部、好莱坞的工业设计中心以及纽约州罗切斯特的研发机构,共同构成了贝尔金全球业务的核心。这些机构之间的紧密合作,确保了贝尔金能够迅速响应全球市场的需求,提供高品质的产品和服务。
Cantherm公司在电子行业中以其技术创新而著称。在一次重要的研发项目中,公司团队成功开发了一种新型的散热技术,该技术能有效降低电子设备在工作时产生的热量,从而提高设备的性能和稳定性。这一突破不仅为公司带来了大量的专利和知识产权,还吸引了众多知名电子产品制造商的合作意向,使Cantherm在行业中崭露头角。
EDC一直将产品质量视为企业的生命线。为了确保产品质量,公司建立了严格的质量管理体系,从原材料采购到生产过程中的每一个环节都进行严格的质量控制。
此外,EDC还注重售后服务,为客户提供全方位的技术支持和解决方案。这些举措让EDC赢得了客户的信赖和好评,也为公司赢得了更多的市场份额。
在通信行业的细分市场中,一家名为“精准通信”的公司凭借其专业的技术和精准的市场定位,逐渐崭露头角。他们专注于为特定行业提供定制化的通信解决方案,如工业自动化、医疗信息化等领域。
通过深入了解行业需求和痛点,“精准通信”成功开发出了多款具有针对性的通信产品,有效解决了行业内的通信难题。他们的产品和服务得到了客户的广泛认可,市场份额也逐年攀升。
面对日益激烈的市场竞争,ERG始终坚持技术研发和创新。他们与多所知名大学和科研机构建立合作关系,共同研发新型电源技术和照明解决方案。这些合作不仅为ERG带来了先进的技术和研发资源,还使其在行业中保持了技术领先地位。通过与科研机构的紧密合作,ERG不断推出更具创新性和竞争力的产品。
随着Eclipse项目的不断发展,越来越多的知名公司加入到这一开源社区中,如Oracle、Red Hat等。这些公司不仅为Eclipse贡献了代码,还提供了资金支持。Eclipse的功能日益完善,逐渐成为了Java开发领域的佼佼者。同时,Eclipse也支持其他编程语言,如C/C++、Python等,进一步扩大了其用户群体。
本人在学习用430f449单片机接受GPS数据,可是,为什么用串口选择接受GPS模块数据时总出现问题。如果我用足够大的数组将数据全部接收,是可以全部收进来的。而我想选择接收其中的“$GPRMC……”这一句中的数据则怎么也进不来。接收采用串口中断。还 ...… 查看全部问答∨ |
买了一个128M的FLASH的mini2440,将光盘自带的u-boot.bin烧入后,在超级终端里看不到任何信息。。。。。。。。 急!请大家帮帮忙,谢谢了~… 查看全部问答∨ |
难得休息两天,回到工作,第一件事情是给媳妇帮忙翻译论文,而手头上的事情虽然充满着挑战,当总体还是应付的过来。由于很长一段的时间都是直接给国外做支持工作,对比国内项目的管理,让我生出了一种感受,同样的方法,同样的流程,到了我们这里一 ...… 查看全部问答∨ |
rt,小弟想对语音信号实时的压缩/解压,但是又不想花大量时间去研究算法,不知道是否有插件或库函数之类的东西可以使用,请各位高手给些建议,谢谢!… 查看全部问答∨ |
大虾们!帮帮忙,我现在在学串口通信,我知道上位机发送一个字节的数据给单片机,然后让数码管显示发送的数据但是现在我想通过上位机发送一些数据给单片机,让1602显示的时间通过上位机发过来的数据进行改变, 该怎么发送呢 哪位大虾有这个程序没 ...… 查看全部问答∨ |