标题:
用ADC_8bit(0)高速采样的示波器演示Arduino程序
[打印本页]
作者:
lgf2974
时间:
2019-5-19 15:04
标题:
用ADC_8bit(0)高速采样的示波器演示Arduino程序
1. Nokia5110显示屏显示波形 , U8GLIB_PCD8544 u8g(3, 4, 99, 5, 6); // SPI Com: SCK = 3, MOSI = 4, CS = 永远接地, dc = 5, Reset = 6
2. A0信号输入。
3. D9输出自带10khz方波信号,D9与A0相接可以自测方波波形。
4. Buffer[x] = 47-(Buffer[x]>>2); //计算纵坐标值47大小可以改变水平轴上下移动
5. ADC.H库和u8glib库附件
Arduino源程序如下:
#include <U8glib.h> //声明库
#include<ADC.h>
//Nokia5110示波器演示
U8GLIB_PCD8544 u8g(3, 4, 99, 5, 6); // SPI Com: SCK = 3, MOSI = 4, CS = 永远接地, dc = 5, Reset = 6
int Input = A0; //声明输入引脚
int x,y; //绘点坐标
float Vpp;
int Buffer[84]; //缓存值储存数组
int Buf,Bu;
void setup( )
{
ADMUX=0xe0; //测量通道0
ADCSRA=0xe2;
u8g.setFont(u8g_font_5x7);
u8g.firstPage();
analogReference(INTERNAL); //ADC使用单片机内部1.1V基准
u8g.setContrast(110);//设置对比度0-255
// 下面的等值于 OC1A = 输出用于定时器1的CTC模式
pinMode(9, OUTPUT); // 设置默认关联了D9(查表得知)为输出,方波输出A10
TCCR1B=0; // 只是个复位的习惯可以不要
TCCR1A=_BV(COM1A0); // 要是困扰的话你也可以写成 TCCR1A = 0b01000000;
//这里和上一个表示了 = CTC 模式, 开启比较器(默认输出), prescaler = 1
TCCR1B = _BV(WGM12)|_BV(CS10) ; // 这里等值于 TCCR1B = 0b00001001;
// 最有意思的了,16位的玩意来确定要一个怎样的频率
OCR1A = 800; // 计算为:F_CPU/2/Need_HZ-1 来得到你想要的,遗憾的是四舍五入来截取频率800相当于10khz
}
//采样
void sample( )
{
for(x = 0;x < 84;x++)
// Buffer[x] = analogRead(A0); //信号采样
// Buf= analogRead(A1);
// Buf = ADCH;
Buffer[x] = ADC_8bit(0);//0表示A0输入
for(x = 0;x < 84;x++)
Buffer[x] = 47-(Buffer[x]>>2); //计算纵坐标值47大小可以改变水平轴上下移动
}
//显示
void draw( )
{
for(x = 0;x < 83;x++)
/* u8g.drawStr(40,7,"V");
u8g.setPrintPos(10,7);
u8g.print(Buf);
u8g.setPrintPos(10,15);
u8g.print(Bu);*/
for(x = 0;x < 83;x++)
for(x = 0;x < 83;x++)
u8g.drawLine(x,Buffer[x],x,Buffer[x+1]); //画相邻两点连线
for(x = 0;x < 83;x++)
u8g.drawLine(42,0,42,47); // 画x坐标轴
u8g.drawLine(0,24,84,24); // 画y坐标轴
for(x=2;x<84;x+=8) //画x坐标轴刻度
u8g.drawLine(x,23,x,25);
for(x=0;x<48;x+=8) //画y坐标轴刻度
u8g.drawLine(41,x,43,x);
u8g.drawFrame(0,0,84,48); //画边框
}
void loop( )
{
sample(); //采样
u8g.firstPage(); //清屏
do draw( ); //显示
while( u8g.nextPage( ));
}
复制代码
所有资料51hei提供下载:
ADC_8bit_1_.rar
(1.46 KB, 下载次数: 27)
2019-5-19 14:58 上传
点击文件名下载附件
下载积分: 黑币 -5
ADC.rar
(969 Bytes, 下载次数: 29)
2019-5-19 15:01 上传
点击文件名下载附件
下载积分: 黑币 -5
U8Glib.7z
(550.41 KB, 下载次数: 13)
2019-5-20 01:28 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1