Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

how to build an oscilloscope with 16f876 and a lcd?

Status
Not open for further replies.
hi
try this link

sad
 

Thank you for supply GBDSO documentation.
 

Thank you for supply documentation, info and links.
 

who has built the EPE Scope? and what do you think of it.

I tried that. Actually the article in EPE was about T6963C LCD interface with a PIC16F877. All code in asm, so the code size is really small. The sine curve part is nice, and the scope does work. However, it is far away from commerical product quality. For pet project is nice.

John Leung
 

Hi guys, i will try to realize similar project, a Graphic LCD Electrocardiograph device. Electrocardiogram is similar to a oscilloscope :) I use a Graphic 128x64 LCD KS0108B based, and a 16F876 PIC with a biological differential amplifier that i have already realized. A prototype based on velleman VPS10:

52_1159389663.jpg


Here a link to a oscilloscope LCD project (with code).
**broken link removed**

Added after 4 minutes:

Now i must realize a PIC based LCD monitor for electrocardiogram. I use PICBasic compiler, i u want i can post code...
 

You can compare between .............

1. **broken link removed**

2. **broken link removed**

Who that good?
 

Yes i know this links, but my amplifier and software are different. In ECG biosignals there are ultra low frequencys that will be plotted very slowly, around 0.5sec x 10 pixel. Software must have also a heart rate meter. Thanks.
 

Analog circuit

Yes, code of my prototipe board is very simple for now.... i use a basic compiler and a 16F876;

Device 16F876

Declare XTAL 20
DECLARE LCD_TYPE 1
DECLARE LCD_DTPORT PORTC
DECLARE LCD_CS2PIN PORTB.1
DECLARE LCD_CS1PIN PORTB.0
DECLARE LCD_RSPIN PORTB.3
DECLARE LCD_RWPIN PORTB.2
DECLARE LCD_ENPIN PORTB.4
DECLARE INTERNAL_FONT 1
DECLARE ADIN_RES 10 ' 10-bit result required
DECLARE ADIN_TAD FRC ' RC OSC chosen
DECLARE ADIN_STIME 13989 ' sample time for a windowing 50Hz filter

TRISA = %00000001 ' Configure AN0 (PORTA.0) as an input
ADCON1 = %10000000 ' Set analogue input on PORTA.0


DIM VAR1 as WORD
DIM VAR2 as WORD
DIM VARD as BYTE
DIM FREQ as BYTE
DIM XPOS as BYTE
DIM XNEW as BYTE
DIM XOLD as BYTE
DIM XDIF as BYTE
XNEW = 0

CLS
PRINT AT 4,6, "Biomonitor"
DELAYMS 1000 ' Wait for PICmicro to stabilise
CLS

LOOP:
FOR XPOS = 0 TO 127 STEP 1
VAR1 = ADIN 0 ' Place the conversion into variable VAR1
VAR1 = VAR1/200
LINE 0, XPOS, 0, XPOS, 63
LINE 1, XPOS-1, -VAR2, XPOS, -VAR1
IF VAR1 > VAR2 THEN VARD = VAR1-VAR2 : ELSEIF VARD > 4 THEN XOLD = XNEW : XNEW = XPOS : SOUND PORTB.5, [127,1]
IF XNEW > XOLD THEN XDIF = XNEW - XOLD : ELSEIF XDIF > 25 THEN FREQ = 2980 / XDIF : PRINT AT 0,20, INVERSE 0, "*" 'caracter * is modifield to a heart icon
PRINT AT 0,17, DEC FREQ
VAR2 = VAR1
NEXT
GOTO LOOP



FONT:- CData $00,$00,$00,$00,$00,$00 'Graphic character 0
CData $FF,$FF,$FF,$FF,$FF,$FF 'Graphic character 1
CData $07,$07,$07,$00,$00,$00 'Graphic character 2
CData $00,$00,$00,$07,$07,$07 'Graphic character 3
CData $E0,$E0,$E0,$00,$00,$00 'Graphic character 4
CData $00,$00,$00,$E0,$E0,$E0 'Graphic character 5
CData $FF,$FF,$FF,$00,$00,$00 'Graphic character 6
CData $00,$00,$00,$FF,$FF,$FF 'Graphic character 7
CData $07,$07,$07,$07,$07,$07 'Graphic character 8
CData $E0,$E0,$E0,$E0,$E0,$E0 'Graphic character 9
CData $E0,$E0,$E0,$07,$07,$07 'Graphic character 10
CData $07,$07,$07,$E0,$E0,$E0 'Graphic character 11
CData $FF,$FF,$FF,$E0,$E0,$E0 'Graphic character 12
CData $E0,$E0,$E0,$FF,$FF,$FF 'Graphic character 13
CData $07,$07,$07,$FF,$FF,$FF 'Graphic character 14
CData $FF,$FF,$FF,$07,$07,$07 'Graphic character 15
CData $55,$AA,$55,$AA,$55,$AA 'Graphic character 16
CData $AA,$55,$AA,$55,$AA,$55 'Graphic character 17
CData $01,$01,$01,$01,$01,$01 'Graphic character 18
CData $80,$80,$80,$80,$80,$80 'Graphic character 19
CData $FF,$00,$00,$00,$00,$00 'Graphic character 20
CData $00,$00,$00,$00,$00,$FF 'Graphic character 21
CData $FF,$01,$01,$01,$01,$01 'Graphic character 22
CData $01,$01,$01,$01,$01,$FF 'Graphic character 23
CData $FF,$80,$80,$80,$80,$80 'Graphic character 24
CData $80,$80,$80,$80,$80,$FF 'Graphic character 25
CData $00,$00,$00,$00,$00,$00 'User defined character 26
CData $00,$00,$00,$00,$00,$00 'User defined character 27
CData $00,$00,$00,$00,$00,$00 'User defined character 28
CData $00,$00,$00,$00,$00,$00 'User defined character 29
CData $00,$00,$00,$00,$00,$00 'User defined character 30
CData $00,$00,$00,$00,$00,$00 'User defined character 31
CData $00,$00,$00,$00,$00,$00 'User defined character 32
CData $00,$00,$4F,$00,$00,$00 '33 - ! - 21
CData $00,$07,$00,$07,$00,$00 '34 - " - 22
CData $14,$7F,$14,$7F,$14,$00 '35 - # - 23
CData $24,$2A,$7F,$2A,$12,$00 '36 - $ - 24
CData $23,$13,$08,$64,$62,$00 '37 - % - 25
CData $36,$49,$55,$22,$50,$00 '38 - & - 26
CData $00,$05,$03,$00,$00,$00 '39 - ' - 27
CData $1C,$22,$41,$00,$00,$00 '40 - ( - 28
CData $00,$00,$41,$22,$1C,$00 '41 - ) - 29
CData $0E,$1E,$7C,$7C,$1E,$0E '42 - * - 2A
CData $08,$08,$3E,$08,$08,$00 '43 - + - 2B
CData $00,$50,$30,$00,$00,$00 '44 - , - 2C
CData $08,$08,$08,$08,$08,$00 '45 - - - 2D
CData $00,$60,$60,$00,$00,$00 '46 - . - 2E
CData $20,$10,$08,$04,$02,$00 '47 - / - 2F
CData $3E,$51,$49,$45,$3E,$00 '48 - 0 - 30
CData $00,$42,$7F,$40,$00,$00 '49 - 1 - 31
CData $42,$61,$51,$49,$46,$00 '50 - 2 - 32
CData $21,$41,$45,$4B,$31,$00 '51 - 3 - 33
CData $18,$14,$12,$7F,$10,$00 '52 - 4 - 34
CData $27,$45,$45,$45,$39,$00 '53 - 5 - 35
CData $3C,$4A,$49,$49,$30,$00 '54 - 6 - 36
CData $01,$71,$09,$05,$03,$00 '55 - 7 - 37
CData $36,$49,$49,$49,$36,$00 '56 - 8 - 38
CData $06,$49,$49,$49,$3E,$00 '57 - 9 - 39
CData $00,$36,$36,$00,$00,$00 '58 - : - 3A
CData $00,$56,$36,$00,$00,$00 '59 - ; - 3B
CData $08,$14,$22,$41,$00,$00 '60 - < - 3C
CData $14,$14,$14,$14,$14,$00 '61 - = - 3D
CData $00,$41,$22,$14,$08,$00 '62 - > - 3E
CData $02,$01,$51,$09,$06,$00 '63 - ? - 3F
CData $32,$49,$79,$41,$3E,$00 '64 - @ - 40
CData $7E,$11,$11,$11,$7E,$00 '65 - A - 41
CData $7F,$49,$49,$49,$36,$00 '66 - B - 42
CData $3E,$41,$41,$41,$22,$00 '67 - C - 43
CData $7F,$41,$41,$22,$1C,$00 '68 - D - 44
CData $7F,$49,$49,$49,$41,$00 '69 - E - 45
CData $7F,$09,$09,$09,$01,$00 '70 - F - 46
CData $3E,$41,$49,$49,$7A,$00 '71 - G - 47
CData $7F,$08,$08,$08,$7F,$00 '72 - H - 48
CData $00,$41,$7F,$41,$00,$00 '73 - I - 49
CData $20,$40,$41,$3F,$01,$00 '74 - J - 4A
CData $7F,$08,$14,$22,$41,$00 '75 - K - 4B
CData $7F,$40,$40,$40,$40,$00 '76 - L - 4C
CData $7F,$02,$0C,$02,$7F,$00 '77 - M - 4D
CData $7F,$04,$08,$10,$7F,$00 '78 - N - 4E
CData $3E,$41,$41,$41,$3E,$00 '79 - O - 4F
CData $7F,$09,$09,$09,$06,$00 '80 - P - 50
CData $3E,$41,$51,$21,$5E,$00 '81 - Q - 51
CData $7F,$09,$19,$29,$46,$00 '82 - R - 52
CData $46,$49,$49,$49,$31,$00 '83 - S - 53
CData $01,$01,$7F,$01,$01,$00 '84 - T - 54
CData $3F,$40,$40,$40,$3F,$00 '85 - U - 55
CData $1F,$20,$40,$20,$1F,$00 '86 - V - 56
CData $3F,$40,$38,$40,$3F,$00 '87 - W - 57
CData $63,$14,$08,$14,$63,$00 '88 - X - 58
CData $07,$08,$70,$08,$07,$00 '89 - Y - 59
CData $61,$51,$49,$45,$43,$00 '90 - Z - 5A
CData $7F,$41,$41,$00,$00,$00 '91 - [ - 5B
CData $02,$04,$08,$10,$20,$00 '92 - \ - 5C
CData $00,$00,$41,$41,$7F,$00 '93 - ] - 5D
CData $04,$02,$01,$02,$04,$00 '94 - ^ - 5E
CData $40,$40,$40,$40,$40,$00 '95 - _ - 5F
CData $00,$01,$02,$04,$00,$00 '96 - ` - 60
CData $20,$54,$54,$54,$78,$00 '97 - a - 61
CData $7F,$48,$44,$44,$38,$00 '98 - b - 62
CData $38,$44,$44,$44,$20,$00 '99 - c - 63
CData $38,$44,$44,$48,$7F,$00 '100 d - 64
CData $38,$54,$54,$54,$18,$00 '101 e - 65
CData $08,$7E,$09,$01,$02,$00 '102 f - 66
CData $0C,$52,$52,$52,$3E,$00 '103 g - 67
CData $7F,$08,$04,$04,$78,$00 '104 h - 68
CData $00,$44,$7D,$40,$00,$00 '105 i - 69
CData $00,$20,$40,$44,$3D,$00 '106 j - 6A
CData $7F,$10,$28,$44,$00,$00 '107 k - 6B
CData $00,$41,$7F,$40,$00,$00 '108 l - 6C
CData $7C,$04,$18,$04,$78,$00 '109 m - 6D
CData $7C,$08,$04,$04,$78,$00 '110 n - 6E
CData $38,$44,$44,$44,$38,$00 '111 o - 6F
CData $7C,$14,$14,$14,$08,$00 '112 p - 70
CData $08,$14,$14,$18,$7C,$00 '113 q - 71
CData $7C,$08,$04,$04,$08,$00 '114 r - 72
CData $48,$54,$54,$54,$20,$00 '115 s - 73
CData $04,$3F,$44,$40,$20,$00 '116 t - 74
CData $3C,$40,$40,$20,$7C,$00 '117 u - 75
CData $1C,$20,$40,$20,$1C,$00 '118 v - 76
CData $3C,$40,$30,$40,$3C,$00 '119 w - 77
CData $44,$28,$10,$28,$44,$00 '120 x - 78
CData $0C,$50,$50,$50,$3C,$00 '121 y - 79
CData $44,$64,$54,$4C,$44,$00 '122 z - 7A
CData $08,$36,$41,$00,$00,$00 '123 { - 7B
CData $00,$00,$7F,$00,$00,$00 '124 | - 7C
CData $00,$00,$41,$36,$08,$00 '125 } - 7D
CData $00,$08,$04,$08,$04,$00 '126 ~ - 7E

Added after 16 minutes:

50_1161477828.jpg


This is the amplifier, simplified design with minimal number of parts, single op-amp right leg drive, high common mode rejection ratio (>120dB), 0,3Hz high pass filter (remove electrodes noise) and low pass filter 108Hz (for electromiogram noise).
 

سلام
کسی فارسی بلده؟
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top