打印
[Atmel]

用AtmelStudio6.2跑mega16例程(17):电压表

[复制链接]
1024|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
今天是采用TLC548做的电压表:

TLC549.pdf (166.63 KB)

下图是proteus仿真截图:


以下是Atmel Studio6.2的程序
/*
* GccApplication24.c
*
* Created: 2014-9-18 21:08:34
*  Author: Administrator
*/


#include <avr/io.h>
#include <avr/interrupt.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define SS  4//PORTB.4
#define dv  196             //5V*1000/255
uchar dat_in;
uint  adc_v;
uchar tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,  //共阳极LED  0~F的段码
0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
void  delay(uint k)            //延时约0.1ms
{
        uchar  m,n;
        for(m=0;m<k;m++)
        {
                for(n=0;n<114;n++);
        }
}
//interrupt [SPI_STC] void spi_isr(void)
ISR(SPI_STC_vect)
{
        dat_in=SPDR;
        PORTB |= 1<<SS;//SS=1;
        adc_v=(ulong)dat_in*dv/10;
}
void display(void)
{
        uchar val1,val2,val3,val4;
        val1=adc_v/1000;
        val2=(adc_v/100)%10;
        val3=(adc_v/10)%10;
        val4=adc_v%10;
        PORTD=0x01;
        PORTC=tab[val1];
        //PORTC.7=0;                            //小数点
        PORTC &= ~(1<<7);
        delay(10);
        PORTD=0x02;
        PORTC=tab[val2];
        delay(10);
        PORTD=0x04;
        PORTC=tab[val3];
        delay(10);
        PORTD=0x08;
        PORTC=tab[val4];
        delay(10);
}
//interrupt [TIM0_COMP] void timer0_isr(void)
ISR(TIMER0_COMP_vect)
{
        PORTB &=~(1<<SS);  //SS=0;                              // 每隔2ms选通TLC548
        SPDR=0x00;                           // 启动SPI
}
int main(void)
{
        DDRB=0xBF;
        PORTB=0x4F;
        DDRC=0xFF;
        PORTC=0xFF;
        DDRD=0xFF;
        PORTD=0xFF;
        TCCR0=0x0B;
        OCR0=0x7C;
        TIMSK=0x02;
        SPCR=0xD3;  //SPE=1,SPE=1,MSTR=1,SPR1=1,SPR0=1,使能SPI 主机模式,设置时钟速率为fck/128
        SPSR=0x00;
        //#asm("sei")
        sei();
        while (1)
        {
                display();
        }
}


相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2400

主题

6979

帖子

68

粉丝