历史上的今天

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

正在发生

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

发布者:Yuexiang888 来源: eefocus关键字:Atmega16  电压表  proteus 手机看文章 扫描二维码
随时随地手机看文章

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

      };

}


关键字:Atmega16  电压表  proteus 引用地址:基于Atmega16的电压表制作 程序+原理图

上一篇:AVR单片机nrf24l01驱动程序
下一篇:AVR单片机I2C总线程序

推荐阅读

继联电在2017年进行高阶主管大改组,并宣布未来经营策略将着重在成熟制程之后,格芯(GLOBALFOUNDRIES)也在新执行长Tom Caulfield就任半年多后,于日前宣布无限期暂缓7纳米制程研发,并将资源转而投入在相对成熟的制程服务上。联电与格芯先后退出先进制程军备竞赛,加上英特尔(Intel)的10纳米制程处理器量产出货时程再度递延到2019年底,均显示先进制程的...
据统计,2018年,我国新能源汽车销量125.6万辆,继续保持全球第一,创下历史新高。截至2018年底,全球新能源汽车总销量突破550万辆,其中我国占比超过53%。2018年中国汽车市场遭遇寒冬,出现了近20年以来首次负增长,而新能源汽车领域却表现抢眼。随着国家双积分等政策导向,充电基础设施逐渐完善,未来新能源市场将不断扩大,各大车企实质上已将新能源与...
在10月14日的新品发布会上,苹果给我们带来了iPhone 12 mini、iPhone 12、iPhone 12 Pro和iPhone 12 Pro Max四款新机,令人大饱眼福同时也使人有点眼花缭乱。现在,我们就来简单地总结一下这四款新机的配置都有哪些异同。设计上,iPhone 12 mini和iPhone 12均采用超瓷晶面板玻璃搭配铝金属边框,有黑色、白色、红色、绿色和蓝色五种配色可选。...
几乎所有的智能手表品牌,都对健康的价值有清晰认识,并已在技术、功能和生态上都有展开布局。与它们相比,华米如何构建自己的护城河? 10月12日,华米正式发布新一代智能手表Amazfit GTR 3和GTS 3系列,同时启动品牌焕新,首次公布了Amazfit中文名称“跃我”。 这是具有破局意义的关键一跃。 此前,虽然华米坚持全面自研,已经在激烈的智能穿戴市场,...

史海拾趣

问答坊 | AI 解惑

430单片机串口接受GPS模块数据问题

本人在学习用430f449单片机接受GPS数据,可是,为什么用串口选择接受GPS模块数据时总出现问题。如果我用足够大的数组将数据全部接收,是可以全部收进来的。而我想选择接收其中的“$GPRMC……”这一句中的数据则怎么也进不来。接收采用串口中断。还 ...…

查看全部问答∨

128M的mini2440烧入u-boot不好用

买了一个128M的FLASH的mini2440,将光盘自带的u-boot.bin烧入后,在超级终端里看不到任何信息。。。。。。。。 急!请大家帮帮忙,谢谢了~…

查看全部问答∨

(我是原创)矩阵式管理与设计时间

难得休息两天,回到工作,第一件事情是给媳妇帮忙翻译论文,而手头上的事情虽然充满着挑战,当总体还是应付的过来。由于很长一段的时间都是直接给国外做支持工作,对比国内项目的管理,让我生出了一种感受,同样的方法,同样的流程,到了我们这里一 ...…

查看全部问答∨

wince6下如何实现mp3或AAC的实时压缩/解压呢?

rt,小弟想对语音信号实时的压缩/解压,但是又不想花大量时间去研究算法,不知道是否有插件或库函数之类的东西可以使用,请各位高手给些建议,谢谢!…

查看全部问答∨

请教高手!!!!!!!!!!

我想实现对线性flash芯片SST39VF320的所有程序自毁,请教该如何实现!!!…

查看全部问答∨

过年了说声过年好

                                 过年了 说声过年好…

查看全部问答∨

TI官网下的最新AM335X的SDK里为毛没有交叉编译工具

TI官网下的最新AM335X的SDK-6.0,安装后linux-devkit目录下没有交叉编译开发工具bin目录 …

查看全部问答∨

msp430数据采集

关于msp430数据采集程序程序中,经过A/D转换后的数据无法经过232传送到PC,求前辈能否告诉我这个发送与接受的程序怎么写?谢谢啦!!!…

查看全部问答∨

关于上位机发送数据给单片机改变当前1602的显示时间

大虾们!帮帮忙,我现在在学串口通信,我知道上位机发送一个字节的数据给单片机,然后让数码管显示发送的数据但是现在我想通过上位机发送一些数据给单片机,让1602显示的时间通过上位机发过来的数据进行改变, 该怎么发送呢 哪位大虾有这个程序没 ...…

查看全部问答∨

FPGA的了解

学了半学期的EDA,就感觉啥都没有学会,老师上周来了说现在才开始正是学习,之前都是准备工作,我那个梦啊! 求大神指导,FPGA和单片机之间有什么联系!…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved