کد:
#include <mega32a.h>
#include <delay.h>
// Graphic LCD functions
#include <glcd.h>
// Font used for displaying text
// on the graphic LCD
#include <font5x7.h>
int i,j,p,L1,L2,a2d,oldp;
int vdc1=0,vdc2=0;
int k=0;
void selectch1(void);
void selectch2(void);
void selectbothchannels(void);
void Lissajous (void);
void incvoltdiv (void);
void decvoltdiv (void);
void inctimediv (void);
void dectimediv (void);
void main(void)
{
// Declare your local variables here
// Graphic LCD initialization data
GLCDINIT_t glcd_init_data;
// Graphic LCD initialization
// The KS0108 connections are specified in the
// Project|Configure|C Compiler|Libraries|Graphic LCD menu:
// DB0 - PORTC Bit 0
// DB1 - PORTC Bit 1
// DB2 - PORTC Bit 2
// DB3 - PORTC Bit 3
// DB4 - PORTC Bit 4
// DB5 - PORTC Bit 5
// DB6 - PORTC Bit 6
// DB7 - PORTC Bit 7
// E - PORTD Bit 0
// RD /WR - PORTD Bit 1
// RS - PORTD Bit 2
// /RST - PORTD Bit 3
// CS1 - PORTD Bit 4
// CS2 - PORTD Bit 5
// Specify the current font for displaying text
glcd_init_data.font=font5x7;
// No function is used for reading
// image data from external memory
glcd_init_data.readxmem=NULL;
// No function is used for writing
// image data to external memory
glcd_init_data.writexmem=NULL;
glcd_init(&glcd_init_data);
glcd_outtextxyf(0,0,"DIGITAL OSILLOSCOPE");
glcd_outtextxyf (0,22,"BY AVR MICOCTRL");
glcd_outtextxyf (0,45,"HAMID REZA RABET" );
delay_ms(3000);
glcd_clear();
ADCSRA=0xff;
SFIOR=0x00;
ADMUX=0x40;
glcd_putcharxy( 1, 56, 'v');
glcd_putcharxy( 66, 56, 't');
glcd_putcharxy( 7, 56, '=');
glcd_putcharxy( 72, 56, '=');
glcd_putcharxy( 30, 24, '|');
glcd_putcharxy( 92, 24, '|');
glcd_putcharxy( 62, 7, '_');
glcd_putcharxy( 62, 35, '_');
glcd_line(0,27,128,27);
glcd_line(64,0,64,64);
for(i=0;i<128;i+=2){
glcd_setpixel(i,54);
glcd_setpixel(i,0);
}
for(i=0;i<=54;i+=2){
glcd_setpixel(0,i);
glcd_setpixel(127,i);
}
while (1)
{
///// namayesh moj
a2d = ADCW;
p = ((-54*a2d)/1024)+54;
if(p!= oldp)
{
oldp=p;
for(k=1;k<127;k++){
glcd_clrpixel(k,oldp);
glcd_setpixel(k,p);
}
}