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.
There are some problem with your programme:
1) You didn't clear RI in your ISR
2) You didn't clear TI in your ISR
3) You use getkey() but I think you don't know how it work. You should rewrite this function
4) If you want to send the data and use the interrupt to receive data, you should change...
Did you try this yet?
I think you are wrong fundamentally in your theory. In sending data, TI is set by hardware and need clear by software for next time when finish sending data. So you have to clear TI in the init function.
Regards.
Re: DTMF CHECK
Have you made a test board?
If you have, it's so easy.
Connect your phone line to the input of 8870. Call from other phone. Hook up the phone which connect with 8870. Then press some numbers from the caller phone. If your test board can receive what you press , it's working...
Maybe a error in the interupt function.
You have to add:
if (TI) TI=0;
in this.
and I think you don't have to add the #ifndef in the init function if you don't need it.
Regards.
The printf() function use the putchar() function to interface with peripheral device. You can find the putchar() function in somewhere in the Keil folder (Maybe the Lib folder). Choose version which is suitable with you and copy it to your code. Now you have to set TI flag only one time in your...
msc 51 ds1621 projects
For MSC-51 with DS18S20: http://www.sixca.com/micro/mcs51/ds1820_51/ds1820_c51.zip
For MSC-51 with DS18B20 check the attachment:
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.