|
P440页,用TLC549做的电压表,量程为什么是2.5V到5V呢??我不能肯定有错啊,至少在仿真中是这样,我加了个滑动变阻器,测试结果是5V降到2.5V,接着在5V降到2.5V,我自己改编了个程序,现象这样,用书上的程序,还是这样。换个正弦波的信号,还是这样。。不明白!!!滑动变阻器从顶端到中间5V--2.5V(正常),中间到底端5V--2.5V(不正常)。。
(原文件名:111.gif)
#include"mega16.h"
#define uint unsigned int
#define ss PORTB.4
flash uint led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
flash uint pos[]={0xfe,0xfd,0xfb,0xf7};
uint disbuf[4],ad_result,dat;
uint i=0;
void display()
{
PORTD=0xff;
PORTC=led[disbuf];
if(i==1) PORTC|=0x80;
PORTD=pos;
if(++i==4) i=0;
}
interrupt [11] void spi_isr()
{
ad_result=SPDR;
ss=1;
dat=ad_result*100/51;
disbuf[0]=0;
disbuf[1]=dat/100;
disbuf[2]=(dat/10)%10;
disbuf[3]=dat%10;
}
interrupt [20] void timer0_comp()
{
display();
ss=0;
SPDR=0x00;
}
void main()
{
DDRC=0xff;
PORTC=0x00;
DDRD|=0x0f;
PORTD|=0x0f;
DDRB=0x90;
PORTB=0x40;
TCCR0=0x0b;
OCR0=0x7c; //定时2ms
TIMSK=0x02;
SPCR=0xd0; //SPI中断允许,SPI允许,主机方式,SPI模式0
SPSR=0x00; //SPI时钟频率1M
#asm("sei")
while(1);
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|