Continue to Site

# Looking for simple projects with 7404

Status
Not open for further replies.

#### zhi_yi

##### Full Member level 4

is there any simple / traditional methods to rewind the transformer? without using any machine..

if i want to build a linear power supply with voltage showed on the LCD, which one is better? i use an ADC or a DAC? if i use DAC, i can set the output voltage within push button connected to int 0 and int 1 of 89S52, and output from 89S52 will be converted into analog voltage by DAC, and if i use ADC, i can set the voltage with a potentiometer, and then convert it into digital signal, and send into 89S52, which one is better for learning? is there any tutorials on how to interfacing the LCD using 89S52?

thank you

do re mi fa so la si do converter

...
7404 is an IC with 6 inverters ..
https://focus.ti.com/docs/prod/folders/print/sn7404.html
One of the simplest projects based on this IC can be an astable multivibrator: **broken link removed**
...
Re-winding a transformer: you can do it by hand, but I am telling you, it will be a pain-in-the-axx, but it can be done ..
...
For learning purposes you can include A/D converter to read a potentiometer and D/A converter to control a voltage regulator ..
Have a look at these projects:

Regards,
IanP

### zhi_yi

Points: 2
7404 ic uses

okay .. thank you

another question.. :b

if i want to generate tones using computer parallel port, which frequency is assigned for "do","re","mi","fa","so","la","si","do'"??? how much is the interval between do to re, re to mi, mi to fa, and so on..?

thank you very much.. IanP

playing doremi using parallel port

For musical notes frequencies see:

http://en.wikipedia.org/wiki/Note_(music)

There are 12 notes in each octave. So the 12th root of 2 is the ratio between two consecutive notes. Take as reference the central LA as 440Hz.

7404 help

Code:
Doe Re Me Beer
by Homer J. Simpson

DOUGH... the stuff...that buys me beer...

RAY..... the guy that sells me beer...

ME...... the guy... who drinks the beer,

FAR..... the distance to my beer

SO...... I think I'll have a beer...

LA...... La la la la la la beer

TEA..... no thanks, I'm drinking beer...

That will bring us back to...(Looks into an empty glass)

DOH!

And the conclusion from the above is that LA (A4) is the reference, and, as rkodaira has pointed out, its frequency is 440Hz (all other frequencies can be found in WIKIPEDIA) ..

Regards,
IanP

PS: hope you don't mind a little bit of humor from time to time ..

do re mi fa so la si do beer

hi.. thank you...

i tried to generate do re mi fa sol la si do using c, but there is a problem with the delay, when i want to generate do (262Hz), i typed like this :

void doo(void){ // frequency for do is 262 Hz
int i;
for(i=0;i<262;i++){
outportb(data,high);
delay(1.9);
outportb(data,low);
delay(1.9);
}
}

void re(void){ // frequency for re is 294
int i;
for(i=0;i<294;i++){
outportb(data,high);
delay(1.7);
outportb(data,low);
delay(1.7);
}
}

but the c compiler cannot recognize floating values for the instruction "delay", it will round it into 1 (it recognize the value of delay as integer), therefore the do re mi i generated only give me one melody of sound

thank you...

astable multivibrator 7404

7404 is an inverter

do re mi fa so la si frequency

hi.. thank you.. i found another way to generate tones.. hehe..

here is the code in C, i've tried it

#include <stdio.h>
#include <dos.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>

#define data 0x0378
#define status data+1
#define control data+2

#define doo 100
#define re 90
#define mi 80
#define fa 75
#define sol 68
#define la 60
#define si 54
#define od 51

int high=0xff, low=0x00;

void delay2(int x){
int i,j;
for(i=0;i<x;i++){
for(j=0;j<30000;j++);
}
}

void n(int doremi, int lama){
int i;
for(i=0;i<lama;i++){
outportb(data,high);
delay2(doremi);
outportb(data,low);
delay2(doremi);
}
}

void main(){
int i,j,input;
clrscr();
textmode(C80);
gotoxy(25,1);textcolor(BLUE);cprintf("PROGRAM GENERATE TONES");
gotoxy(24,2);textcolor(RED);cprintf("========================");
gotoxy(1,3);printf("1. do\n2. re\n3. mi\n4. fa\n5. so\n6. la\n7. si\n8. do!\nEsc. Exit");

outportb(data,low);
while(1){
fflush(stdin);
input = getch();
if(input == 27) _exit(0);
switch(input) {
case '1': n(doo,100); break;
case '2': n(re,105); break;
case '3': n(mi,110); break;
case '4': n(fa,115); break;
case '5': n(sol,120); break;
case '6': n(la,125); break;
case '7': n(si,130); break;
case '8': n(od,135); break;
case '9': n(doo,100); n(doo,100); n(re,180); n(doo,190); n(fa,200); n(mi,300);delay(250);
n(doo,100); n(doo,100); n(re,180); n(doo,190); n(sol,200); n(fa,300);
break;
}
}
}

Status
Not open for further replies.