历史上的今天
返回首页

历史上的今天

今天是:2024年10月15日(星期二)

正在发生

2019年10月15日 | 基于Atmega16的电压表制作 程序+原理图

2019-10-15 来源:eefocus

附带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<           delay_ms(2);

           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);

      };

}


推荐阅读

史海拾趣

Accuride公司的发展小趣事

作为一家专注于商用车零部件的公司,Accuride始终致力于技术创新和产品升级。其产品线涵盖了商用车车轮、卡车车身和底盘部件等多种零部件,且拥有多个知名品牌,如Accuride®、Gunite®、ImperialTM和BrillionTM等。通过不断研发和创新,Accuride成功提升了产品的质量和性能,赢得了客户的广泛认可。

CAO Group Inc公司的发展小趣事

自创立以来,CAO Group一直致力于牙科材料和器械的研发。公司不断投入研发资源,成功推出多款具有创新性的牙科产品,如Lumist美白贴、SPRAY BOTTLE HEAD喷雾瓶头等,这些产品不仅在国内市场获得了广泛认可,还成功打入了国际市场。公司的研发实力和产品品质,使其在牙科行业中树立了良好的口碑。

Altus Technology Inc公司的发展小趣事

随着公司规模的不断扩大,Altus开始实施全球化战略,积极拓展海外市场。公司通过与国际知名企业的合作,成功将产品打入国际市场,并建立了完善的销售网络和客户服务体系。同时,Altus还积极参与国际电子行业的交流和合作,不断吸收和引进国际先进技术和管理经验,提升了公司的整体竞争力。

中微股份(Cmsemicon)公司的发展小趣事

作为一家以技术创新为核心竞争力的企业,中微股份(Cmsemicon)始终坚持以市场需求为导向,持续推动技术创新和产品升级。近年来,公司在刻蚀设备领域取得了一系列重要突破,包括成功研制出针对先进逻辑和存储器件制造中关键刻蚀工艺的高端产品等。这些技术成果不仅提升了公司的核心竞争力,也为行业的发展做出了积极贡献。

ABL Heatsink公司的发展小趣事

早期,ABL Heatsink公司主要生产通用型散热器,但随着市场竞争的加剧,公司意识到必须调整市场定位。于是,公司开始专注于研发针对特定电子设备的高性能散热器。通过深入了解客户需求,ABL Heatsink成功开发出一系列定制化产品,赢得了市场的青睐。

永丰盈(CST)公司的发展小趣事

作为一家有社会责任感的企业,CST始终关注环境保护和社会公益事业。公司严格执行环保法规,积极推广绿色生产理念,努力减少生产过程中的污染排放。此外,CST还积极参与社会公益活动,为当地的教育、文化等事业做出了积极贡献。这些举措进一步提升了CST的企业形象和社会声誉。

问答坊 | AI 解惑

全国电子竞赛八要

本帖最后由 paulhyde 于 2014-9-15 09:16 编辑 全国电子竞赛八要 是一份来自东南大学的 全国大学生电子设计竞赛 参赛要领 [size=178%][size=60%]n电子大赛好,学生得益深; [size=178%][size=60%]n实践推实迹,创新育新人; [size=178%][ ...…

查看全部问答>

谁有 MEMORY STICK规范?

我正在研究memory stick和magicgate, 谁有规范, 有酬谢! 请联系cenuserwen@gmail.com…

查看全部问答>

我的老天,发现我的2440 BSP是4.2转5.0的,而在调的SDIO驱动是5.0的;请帮忙选择方案:是重新选一个完全5.0的BSP,还是改这个5.0的SDIO

先说在4.2转5.0 BSP上已经做好的工作: 1. 我的板子没有网络,以前改过一个bootloader通过USB来下载eboot,NK.BIN,再运行eboot来烧写NK.BIN; 2. 有开发板厂家提供的LCD驱动(我的项目也就是用到LCD、WIFI) 担心与疑惑: 1. 我的板子没有网络 ...…

查看全部问答>

谈谈 common.reg platform.reg project.reg 的关系

谈谈我的理解,大家看看对不对,或者还有什么补充。 common.reg  与平台无关 platform.reg  相应平台 project.reg  相应项目 它们的优先级为: project > platform > common 就是 project 中的设置会覆盖前 ...…

查看全部问答>

汇编语言实现表格绘制

用汇编语言编写画线子程序,在屏幕上绘制一个学生成绩表.主程序功能是录入学生成绩,选择表格形式及调用子程序.(表格形式两种).求源代码!…

查看全部问答>

WINCE编译不了,说找不到recorder.exe

Warning: Found duplicate entry \'binfs.dll      NK               C:\\WINCE420\\PUBLIC\\11\\RelDir\\SAMSUN~1\\binfs.dll 00000007\' ... skipping Error: Could not ...…

查看全部问答>

如何操作手机通讯录中的数据?

我们小组在实训,现在需要提取手机通讯录中的数据,还有将外部的通讯录覆盖到手机的通讯录中?这里需要哪些关键技术呢?我们都不太懂个这些,望哪位前辈指点!…

查看全部问答>

提问高手有关在pda上接传感器的问题

我想在pda上接医用传感器,但是怎么从医用传感器接口读出数据并发到pda上,有这方面经验的人,麻烦了阿!…

查看全部问答>

C51里编写移位与汇编写移位不同

   用C51写的程序:头文件略了。            uchar a;            a=0xfe;          ...…

查看全部问答>