Searching \ for 'AC' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/power.htm?key=ac
Search entire site for: 'AC'.

No exact or substring matches. trying for part
PICList Thread
'mac pic develpoment '
1994\01\11@190424 by jory

face picon face
From: Blackbird                                                 Msg#: 13089
 To: Voytovich
 Re: Macintosh versions?
     (Reply to #13026)


There is a very good Macintosh assembler for the PIC called uASM from
Micro Dialects Inc, PO Box 190, Loveland, OH 45140, Ph: 513/271-9100.
It has integrated text editor, assembler, and communications modules.
It assembles code at between 7,500 to  lines per minute, fully supports
macros,
automatic labels, local labels, conditionally assembly, includes to 10
level deep.  The editor supports up to 10 open files at a time, full
search and replace including grep searches,  and file size limited only
by RAM available.  The terminal emulator supports data transfers at up
to 38,400 buad.  We have been using this assembler for over a year now
and have had no problems at all.  MDI is currently working on an upgrade
to support the 16C71, 84, 64, and 17C42.

We also use a programmer from Beradine Products Ltd, PO Box 86757, North
Vancouver, BC CANADA V7L4L3, Ph: 604/988-9853.  Gary Anderson is very
helpful and makes the only RS-232 termial serial port compatible
programmer I know of.  It supports communications up to 38,400 baud,
stand-alone or host operation, and is very inexpensive.  We have also
used this for over a year with no problems.

We use Macintosh for development partly because our application is for
the AppleTalk environment.  However we have found that development in
the Mac environment is much easier and more productive because of the
integration of these products.  The only thing we miss is the capability
to run a simulator or ICE from our Mac.  For those things we must use
our MS-DOS PC.

Good Luck,
Kevin L. Schoen

'pic/mac guy '
1994\01\12@131959 by jory

face picon face
Full Name ....... Kevin L. Schoen
Title ........... Lead Development Engineer
Company ......... Blackbird
Location ........ New Albany, IN        Employees ...... N/A
Business Type ... Microcontrol Manufac  Annual Sales ... $N/a
E-Mail Addresses:
  Compuserve ... .                     MCI Mail ....... .
  The Source ... .                     Dialmail ....... .
  GEnie ........ .                     FidoNetmail .... .
Voice Phone # ... 812/944-0799          Computer Type .. Apple Macintosh
Operating Sys ... Mac System 7          Comm. Program .. Zterm
BBS owned ....... none
BBSs used ....... none
Interests ....... PIC-based microcontroller modules with AppleTalk
communicati
Experience ...... N/a
Applications .... N/a
Languages ....... n/a
Summary: Microcontrollers w/ AppleTalk Comm


'Getting acquainted'
1994\05\11@093219 by byron
face picon face
Hi, my name is Byron Jeff. I'm a PhD candidate at Georgia Tech and a
Asst. Prof. of Computer Science at Clark Atlanta University in Atlanta.
I think the mailing list is a great idea.

Anyway I just wanted to get the discussion going. After hearing about
the PIC 16C5X parts in Circuit Cellar INK, I quickly made friends with
my local Microchip Representative. I've gotten some samples of the
16C71, 16C54, and later on some 25 Mhz 17C42's.

Unfortunately I've had neither the time or the equipment to exploit
these chips yet.

I have a few areas of interest I'd like to share with you. Feel free to
send mail if you'd like to discuss it.

- Device programmers. Most of the talk on the sci.electronics newsgroup
 has been about a homebrew 16C84 programmer. I can see why most folks
 are attracted to the part because of the EEPROM. But while the PIC
 programmers available are relatively inexpensive, there isn't a cheap
 way to program all the PIC family members and adding up the costs of
 the different programmers can get quit expensive. So in the small
 amount of spare time I have I've been working up a design for a device
 programmer.

 Unfortunately device programmers are usually a catch-22
 situation: the best way to build a device programmer is to start with
 a programmed device. So my first target is going to be the PIC 17C42.
 (BTW DIGI KEY is selling the 17C42 and the new 16C64.) There was an
 article in Electronics NOW for a 16C5X programmer (that used a 17C42)
 and it had a small blurb about a 17C42 programmer (that used a 8749 Intel
 microcontroller). It seemed way too complicated. I'm planning on
 bootstrapping from a PC.

- Languages - I've seen the adds for a C compiler for the PIC 16C5X series.
 Seems like going duck hunting with a bazooka. I'm teaching a class in
 system software development and 2 of the projects are a simple assembler
 and compiler. I've choosen the PIC platform as the target. Unfortunately
 none of my students completed the whole project. But I've been working
 on it the compiler on and off. The language is a simpified C syntax.
 I have the scanner, parser and expression evaluator done. All that's
 left is code generation.

 Because of this class I also have the shell of an assembler. Not that
 PIC assembly is hard to do! I know that Microchip has assemblers for
 their parts but it's MSDOS only and they don't have source available.
 I'm a Linux user myself so DOS based tool have no real use for me.
 In fact the Microchip DOS assemblers crash my Linux DOS emulator.
 For the assembler I'm planning on MICROCHIP format only (no parallax
 meta stuff) and just enough so that the compiler can use it.

 BTW nothing is finished. However I'm hoping to spend some time next
 month finishing up.

- Applications - My main hobby is computer based music. I'm currently
 designing a hardware MIDI sequencer that's going to use PIC's for
 IO processors for devices such as the keyboard/mouse, LCD display,
 and MIDI serial ports. The main processor is a Motorola 68340 board
 I put together last year.

Anyway just wanted to get the ball rolling on the mailing list. Tell us
about what you're trying to do with PIC parts.

Later,

BAJ

'Getting acquainted '
1994\05\11@095743 by John Sevinsky

flavicon
face

>  the different programmers can get quit expensive. So in the small
>  amount of spare time I have I've been working up a design for a device
>  programmer.

Is this device programmer going to plug into the serial or parallel
port of your computer?  It would be nice if it used the serial port,
so those of us with non-IBM-PC computers can use it.  I currently
have this problem with my BASIC Stamp software.  My Amiga's IBM-PC
emulator will run Parallax's editor/downloader software, but it won't
program the Stamp because they do some direct I/O to the parallel
port, and my emulator gets confused.

John

'PISstart % serial I/O (mac) '
1994\05\12@124910 by jory

face picon face
ujonsson@magnus.acs.ohio-state.edu (Ulf Jonsson) write in response to an
earlier post of mine:

-snip-

ulf asks about mac asssembler...

-snip-

Here is some info I had that someone else had given me about mac
developmnt.  The assembler was about $100-150. Note that the programmer is
the same one Don Lekei and I have both mentioned and/or endorsed.

***************************begin insertion ****************************
There is a very good Macintosh assembler for the PIC called uASM from
Micro Dialects Inc, PO Box 190, Loveland, OH 45140, Ph: 513/271-9100.
It has integrated text editor, assembler, and communications modules.
It assembles code at between 7,500 to  lines per minute, fully supports
macros,
automatic labels, local labels, conditionally assembly, includes to 10
level deep.  The editor supports up to 10 open files at a time, full
search and replace including grep searches,  and file size limited only
by RAM available.  The terminal emulator supports data transfers at up
to 38,400 buad.  We have been using this assembler for over a year now
and have had no problems at all.  MDI is currently working on an upgrade
to support the 16C71, 84, 64, and 17C42.

We also use a programmer from Beradine Products Ltd, PO Box 86757, North
Vancouver, BC CANADA V7L4L3, Ph: 604/988-9853.  Gary Anderson is very
helpful and makes the only RS-232 termial serial port compatible
programmer I know of.  It supports communications up to 38,400 baud,
stand-alone or host operation, and is very inexpensive.  We have also
used this for over a year with no problems.

We use Macintosh for development partly because our application is for
the AppleTalk environment.  However we have found that development in
the Mac environment is much easier and more productive because of the
integration of these products.  The only thing we miss is the capability
to run a simulator or ICE from our Mac.  For those things we must use
our MS-DOS PC.
****************************end insertion *****************************

ulf goes on to ask:

>Do you know if the PicStart can be used through the serialport from the mac
>under SoftPC. I will buy one myself on the seminar but i don't know if I
>can use it with the mac or if I need to run to some PC user to burn my
>chips.
>
>Is it possible to play with the BasicStamp from a PC? I think you need a
>paralell port but is there some other way?


The PICstart *CANNOT* be used through the serial port of the mac using
SOFTPC. While the software works fine, uchip uses a completely nonstandard
serial connection which is completely incompatible with the mac's serial
ports. (i know this both from exapnded knowledge from uchip and those who
know a lot about mac serial, and also fro having tried it mayself with
total failure the result)

I know nothing (insert images of colonel klink) about STAMP, perhaps
someone else can help you.


{Quote hidden}

Normal can crystals die somewhere between 5000 and 10000 PSI (pretty
limited/rough data so far, since they worked @ 5000, then we went to 10,000
and the cans crushed... i also don't have long term data).

Oh yeah, the chips themselves will should take that pressure (if my
experience is any measure).


-jory

ps: one cute tidbit from my attempt to hook-up a picstart to mac serial was
that you can get the conversion from mac-->pc serial by opening the
appletalk tool with resedit. in it, there is a pict resource with the
pinout of the mac serial, and how to connect it to a pc serial cable)...



'Picstart and Mac's '
1994\05\28@084143 by ujonsson

flavicon
face
Is there anyone that have tried to use the Picstart together with a
Machintosh using SoftPC?

Ulf


'PISstart % serial I/O (mac) '
1994\05\28@142706 by ujonsson

flavicon
face

>
>The PICstart *CANNOT* be used through the serial port of the mac using
>SOFTPC. While the software works fine, uchip uses a completely nonstandard
>serial connection which is completely incompatible with the mac's serial
>ports.


Hi Jory,

Sorry that i posted the same question again. I belive fully in what you
said but a forgot your mail in the exitement over getting my own Picstart I
mixed it up with a post i got from a Amiga guy.

My wife was not happy when I told her that i might need space for one more
computer at home (Flintstone IBM PC).

Do you think that there is a possibility to get around the problem by any
meens, like putting a pic inbetween as a translator?


Ulf



'Can Macintosh people play?'
1994\06\15@092747 by Mike Harpe
flavicon
face
I have to admit that I am getting very curious about the PIC series of
chips.  I am becoming increasingly frustrated by the availability problems
that daunt Motorola products.  The idea of being able to order chips from
Digi-Key really sounds nice....

Sorry if this is an FAQ, but what's available to support us Mac users
who want to use the PIC?  What else do I need to get started?

Mike Harpe
University of Louisville
--
Michael Harpe, Communications Analyst III          Information Technology
Internet: spam_OUTmikeTakeThisOuTspamhermes.louisville.edu               University of Louisville
(502) 852-5542 (Voice) (502) 852-1400 (FAX)        Louisville, Ky. 40292
"He's not a man, he's a remorseless eating machine!" - The Simpsons


'Useful Macros for Store Allocation on 16Cxx Chips '
1994\07\01@112019 by john
flavicon
picon face

Here are a couple of MPALC macros I found useful for storage
allocation on PICs.  They're for when you wat a register allocated
but don't care which; you can choose whether to allocate from the
top or bottom end of the register set.  The parameters given here
do for 16C71 and 16C84 PICs, for others change RAM_Start and MAX_RAM.

If you like these, I also have some code for implementing timed finite
state machine dispatch (a machine is a set of states;  the current state
is executed after a delay specified as a number of calls of the dispatcher;
states can set the next state and next delay to dispatch to;  for N instances
of machines, it uses 2N+2 registers, 2N of them permanently and 2 as temps
for dispatch).  I also have a master transmitter and slave receiver I^2 C
implementation for PICs (16C84 or 16C71) running at > 6MHz that supports
multimaster operation (in theory).  If you are interested, say so, and I'll
post the code.

John Hallam, AI Dept., Edinburgh University.

-------------------cut here for MPALC code---------------------------

;******************************** Register File Store Allocation
;
; These macros allocate store from the register file.  If there is
; enough store they succeed, defining the specified label.  If not,
; they fail, leaving the label undefined and so inducing errors.

       RAM_Start       equ     0Ch             ; First GP Register
       MAX_RAM         equ     30h             ; Last GP Register + 1

       RAM_Lo          set     RAM_Start       ; Current low water mark
       RAM_Hi          set     MAX_RAM         ; Current high water mark

       AllocHi macro   label,amount            ; Allocate store called <label>

               if      RAM_Lo+amount > RAM_Hi  ; Not enough registers  
               exitm                           ; ERROR EXIT
               else
               RAM_Hi  set     RAM_Hi-amount   ; Adjust mark
               label   equ     RAM_Hi          ; Allocate at high end
               endif
               endm

       AllocLo macro   label,amount            ; Allocate store called <label>

               if      RAM_Lo+amount > RAM_Hi  ; Not enough registers  
               exitm                           ; ERROR EXIT
               else
               label   equ     RAM_Lo          ; Allocate at low end
               RAM_Lo  set     RAM_Lo+amount   ; Adjust mark
               endif
               endm


'False Alarm -- Accessing EEPROM '
1994\07\04@042150 by manningc

flavicon
face
Sorry about the mistake! If I had one IQ point less, I would probably be a
plant.

Here it is in case anybody needs to access eeprom data.

-- Charles

eeread
; reads from position in eeadr into eedata
       bsf     status,rp0
       bsf     eecon1,rd
       bcf     status,rp0
       return

eewrite
; writes stuff in eedata into position at eeadr
       bsf     status,rp0
       bsf     eecon1,wren
       movlw   55h
       movwf   eecon2          ;<-- had been movlw eecon2
       movlw   0AAh
       movwf   eecon2          ;<-- had been movlw eecon2
       bsf     eecon1,wr
wait_wr btfsc   eecon1,wr
       goto    wait_wr
       bcf     status,rp0
       return



'best place to buy pics? '
1994\08\01@140646 by mycal
flavicon
face


I am looking to buy about 40-60 PIC16c54-HS/P-ND (digi key #).  Is there
a better (read more inexpensive) place to buy these than digikey?

They are $6.56/pc at this quantity.

also If I want to program a PIC16C84 with my PICSTART-16B what revision
of firmware do I need.

thanx,

mycal


'software stack management on '57?'
1994\08\05@090835 by Leonard Norrgard

flavicon
face
You might have noticed that the application note describing software
stack management (to allow for more than 2 active calls) isn't usable
on PICs with more than 512 bytes of program memory.
 Has anyone already extended the example it so that is usable on
"bigger" PICs too (I'm using the '57 myself, for now) and would like
to share it with us?

-- vinsci


'Stamp dev sys for Mac'
1994\08\17@164549 by crocontroller discussion list

flavicon
face
                  Stamp dev sys for Mac
sorry if this a faq - i'm new to the list
is there a mac version of the stamp development system?
free/share/cost-ware ? ?


'Contacting Butterfly via Email?'
1994\11\15@220856 by crocontroller discussion list
flavicon
face
Does anyone have current email contact info for Butterfly Signal Processing
(the maker of B.LO.C)?  I tried to email them at the address in the
dcoumentation (.....blocKILLspamspam@spam@butterfly.com) and got a bounceback on a bad domain
name.

For those who've been wondering about the compiler,  my impression from
using it is that it's a very clever adaptation of C syntax to the PIC,  and is a
good compromise between assembly and "real" C.

In theory,  at least:  in practice,  there are a couple of pretty bad holes in t
he
implementation.  Notably,  that you can't effectively use INCFSZ and
DECFSZ instructions without dropping into assembly (it has some cute
tricks that allow the use of C-like bit test expressions to generate BTFSCs
and BTFSSs,  so you can create really tight code).  And it can't generate
RETLWs,  as such:  it doesn't recognize the special case of a function
returning a constant,  and does some klugey stuff for returning a variable
result even when it doesn't need to.

Its handling of subtraction in expressions is also bad:  if you code a
statement like "x = y -  z",  it subtracts y from z,  and complements the
result (at a cost of 5 extra instructions,  if you're using a 16C5x!!). I don't
think it's a coincidence that the demo version I downloaded doesn't have any
subtractions in it...

I consider these fairly serious flaws,  and we'll probably exercise the return
option that we got by buying it from Parallax if Butterfly doesn't make a
convincing case that they're going to fix them.

The "C-like" syntax is a bit annoying,  sometimes,  because it's just
different enough to trip you up.  But,  if Butterfly gets those "unfinished
features" added,  it'll probably be worth the hassle for most people.  It's
cheaper than "real C",  and lets you get closer to the hardware to wring out
the performance from low-end PICs.

(Speaking of Parallax,  I was talking to their tech support people today,  and
asked them about getting on the net:  they're working on it now,  and
waiting for their domain name to be approved.  I also found out they have no
in-house net expertise.  Not even a netsurfer on their staff.  So the
introduction may be a bit rocky...)

Ran


'Re Pic switching AC'
1994\12\07@141427 by crocontroller discussion list
flavicon
face
Martin:

Using AC (triac method )to control the nitinol wires is possible. But I strongly
suggest that you use zero crossing opto isolators to do the switching. Check
out Digi Key for a selection of solid state relays. Everything you need for AC
switching in one package. A lot of the relays are TTL compatible.

The other scheme that you were refering to in your second post was using SCR,s
in a bridge configuration. This scheme is even more diffcult to emplement than
PWM.

You could try the SGS Thompson L298n this is a TTL compatible Dual H-Bridge
capable of 1.5 amps per bridge. Standard chip used to drive Electro Magnets
Steppers etc.. I believe that Texas Instr. makes this chip also.

{Quote hidden}

Joseph D. West
Electronics Lab. Supervisor
College of Mechanical Eng.
Ohio State University

(614) 292-2845
Fax (614) 292-3163

'PIC driving triac'
1994\12\08@045559 by crocontroller discussion list

flavicon
face
I was at a PIC seminar in Edinburgh recently and I met one of the
Microchip Applications Engineers who said he was using a PIC to drive a
triac. The interesting bit was that he had one of the PIC input pins
connected to 240v a.c. via a 1M resistor to do the zero crossing
detection. Because PICs have clamp diodes on the inputs, with the
addition of a (very large) current limiting resistor this doesn't result
in the top being blown off the chip, instead giving a fairly good logic
level input that can be read by the port. Of course you have to be
fairly careful where you stick your fingers during prototyping :-)
Thought you lot might find this interesting.
                                               -Alasdair

[ The opinions expressed are my own and are therefore undeniably correct ]
[ beyond a shadow of a doubt.                                            ]

Alasdair MacLean, University of Edinburgh, Dept. of Artificial
Intelligence, 5 Forrest Hill, Edinburgh, EH1 2QL
tel. (+44) 0131 650 4497        fax. 0131-650-6899
email alasdairspamKILLspamaifh.ed.ac.uk
http://www.dai.ed.ac.uk:80/staff/personal_pages/alasdair

1994\12\08@045559 by crocontroller discussion list

flavicon
face
I was at a PIC seminar in Edinburgh recently and I met one of the
Microchip Applications Engineers who said he was using a PIC to drive a
triac. The interesting bit was that he had one of the PIC input pins
connected to 240v a.c. via a 1M resistor to do the zero crossing
detection. Because PICs have clamp diodes on the inputs, with the
addition of a (very large) current limiting resistor this doesn't result
in the top being blown off the chip, instead giving a fairly good logic
level input that can be read by the port. Of course you have to be
fairly careful where you stick your fingers during prototyping :-)
Thought you lot might find this interesting.
                                               -Alasdair

[ The opinions expressed are my own and are therefore undeniably correct ]
[ beyond a shadow of a doubt.                                            ]

Alasdair MacLean, University of Edinburgh, Dept. of Artificial
Intelligence, 5 Forrest Hill, Edinburgh, EH1 2QL
tel. (+44) 0131 650 4497        fax. 0131-650-6899
email .....alasdairKILLspamspam.....aifh.ed.ac.uk
http://www.dai.ed.ac.uk:80/staff/personal_pages/alasdair

'Multiple file search and replace?'
1994\12\20@100154 by crocontroller discussion list

flavicon
face
Hi All
    Is there an extension to the borland IDE which allows
multiple file search and replace?
    Is there a keyboard setup to support VI?  Please don't
shoot me... but my fingers know VI.  I know.. I should be put out
of my misery.

    Dave Foringer   EraseMEtrisysspam_OUTspamTakeThisOuTramp.com

1994\12\23@031435 by crocontroller discussion list

flavicon
face
OK, I have the multiple file search and destroy, er, I mean replace utility
if anybody wants it.  It's only 13K zipped (a bit more uuencoded) but in the
interest of bandwidth I won't post it.

Email me with requests.

- JohnR

P.S.:  John Johnson, you should already have it.

--
John R. Haggis            haggisspamspam_OUTnetcom.com
Millennium Research
(408) 269-1814 vox
(408) 269-9323 fax

'PICSTART vs. "Hobbyist Pack"'
1994\12\26@002937 by crocontroller discussion list

flavicon
face
Henry Carl wrote:

>You do lose fuse and id info however.

Henry:

The newest version of Microchip's assembler (MPASM v1.02.05) allows
inclusion of fuse and ID settings in the source file.

-Andy



--
Andrew Warren - @spam@fastfwdKILLspamspamix.netcom.com
Fast Forward Engineering, Vista, California


'RPM-Counter with flashing backlight'
1995\01\26@152314 by Conny Andersson
picon face
Jason Gorden wrote ...
>
> What did you use to count RPM?  Magnetic pickup?  How did you implement
> it on the PIC?
>

Well, I used the signal from the ignition coil (very simple huh) but it works
quite well. With a limiter/transient detector I managed to create a stable
input to the PIC16C55. Then I used the PIC as a frequency counter to get the
correct RPM-value. The "counting time" will vary with the number of
cylinders of your car and is about 0,3s with 4 cyls, so you will get a new
RPM reading every 0,3s (which I find a bit too slow).

The display has four digits and is VERY special. It's multiplexed (only 13
lines)
and it was probably used to measure the weight of vegetables and stuff like
that.
The first two digits are now used as a peak RPM and the other two displays
the actual RPM. In addition to this there are five bars at the bottom of the
display and why not use them too ... (of course?)

This took about 3/4:s of the EPROM and to fill the PIC I included a
test-sequence-intro with flashing backlight in red/green/yellow and display
of all LCD-segments.

That's about it

Conny Andersson / Sweden


'C-Compiler vs. Macro assembler (for small PIC:s)'
1995\02\06@035443 by Conny Andersson
picon face
I have read the messages about various "big machine" c-compilers which may be
portable to pic:s. I must say that there is no reason to program a 0,5k to 4k
microprocessor using such a compiler. It's probably better to use the powerful
macro features in MPASM to make small code fragments and make code writing
easier.

I usually start a project by writing special macros for input and output such as
TSW SkipON and TSW SkipOFF. This macro tests input from a port pin (Tilt Switch
connected) and if this input is ON the next instruction is skipped. If you need
to change pin function, just edit the macros.
I also have a couple of macros for conditional jumps (test for carry, zero, ...)

If we are talking about the 16C42 when used in microprocessor mode you might
want a C-compiler ... (it takes time to write 64k of assembler instructions).

-----------------------------------------------------------------------------
Conny Andersson / LiTH

'Stack depth insufficient'
1995\02\07@080731 by Byron A Jeff

flavicon
face
>
> Hi Folks,
>
> Can you help ...
>
> I am writting some stuff for the PIC 16C55 (because I need that number of IO
> pins AND I got one as part of the PIC-START Kit).
>
> I like to write structured code with subroutines. But .... the stack is
> only 2 deep on this device.
>
> I want to have the main loop calling the sub sections, the sub sections
calling
> sub-sub sections and in turn they can call device routines, which call delays
> etc etc.
>
> Any ideas/tricks/tips to get over having only a 2 deep stack?

There's no easy way to do it with the 16C5X series chips. This is the reason
that the 16C[71|84|64|74] have 8 level stacks and the 17C42 has a 16 level
stack.

Honestly I'm annoyed that all the PICs stacks are not addressible. It precludes
the possibility of having clean co-routines or multitasking. While not
inportant for a 16C54 a 17C42 could certainly benefit from it.

Anyway back to your problem. Simply put you'll have to restructure. You'll
have to manage your own stack and use computed GOTOs (by writing the PCL
register) to get the desired result.

OK I'm looking at the Data Book and here is the relevant section
(16C5X Data Sheet section 4.3)

---------------------------
d) If PC is the destination in any instruction (e.g. MOVWF PC, ADDWV PC etc.)
then the computed 8 bit result will be loaded into the lower 8 bits of the
program counter. The ninth bit of PC will be cleared.
---------------------------

What this means is that the "return" address must be in the first 256 words
(because the 9th bit is cleared). GOTO can jump directly to any instruction.

So an instruction sequence something like this:

;------------------------------------------------------
saveret: ds  1

; Note that this part needs to be in the first 256 words.
Caller:  movlw retadr
        movwf saveret
        goto  sub
retadr:  ; Life goes on from here.

; Somewhere later in the code. Can be anywhere
sub:     ; Do the subrouting work.
        movf  saveret,w     ; Setup for the return
        movwf pc            ; Do the return
;------------------------------------------------------

Will do the job. You can even simulate a call/return stack with a stack
pointer to do multiple level calling.

Anyway it's a pain in the butt. To be honest from the cursory description
of you application it's probably a bit much for a 16C55. A 16C64 would
probably be more appropriate.

Hope this helps,

Any other comments?

BAJ

'Found problem with WWW interface to CCI files'
1995\02\28@112128 by Lou Sortman

flavicon
face
Someone wrote me and indicated a problem with my WWW interface to the
Circuit Cellar Ink FTPmail server.

It appears that in Mosaic (at least the X version), the submit button was
rendered as a field rather than a button, so there was no way to submit
the form with your email address.  I have fixed that problem.

I am mentioning this here in case anyone tried it and gave up because it
didn't work.  If that is the case, you probably threw the URL away.  It is:
http://tfnet.ils.unc.edu/cgi-bin/CCBBS

Oh, by the way; Once you have entered your email address and gotten the
list of file areas, save that document as a bookmark.  It contains your
email address so you won't have to "log in" again.  The same is true of any of
the file area listings.


'Minolta Camera Interfacing ...'
1995\03\02@161401 by Christer Johansson
picon face
>I have a Minolta 7000i camera. I would like to interface my camera to a
>computer via RS232 link. The camera has a slot for expansion cards and I need
>to know how this interface works. I assume they use some sort of serial
>communication (maybe I2C). Does anyone of you know how to get more details
>regarding this interface? or maybe already HAS the information?

Hi Conny,

Try to call Philips and ask for the IC12a and IC12b databooks. Lots
of I2C info and datasheets...

/Christer

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* Christer Johansson --  HTH  -- * email: KILLspamcjKILLspamspamaristotle.algonet.se *
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   >> World Wide Web: http://www.algonet.se/~cj/homepage.html <<
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

'interfacing surplus Sony 60-disc CD changers'
1995\03\16@021309 by Eric Smith

flavicon
face
I'm sending this to the PIC list also.  Since I'm using PICs in it, I thought
people might be interested.  If not, sue me :-)

In article <RemoveME1995Mar9.215858.21834TakeThisOuTspamrelay.nswc.navy.mil>,> spamBeGoneacordaspamBeGonespamrelay.nswc.navy.mil (Albert J. Corda) writes about the surplus Sony
CDK-006 60-disc CD changers which are available from Haltek in Mountain View,
CA:

> Has anyone played with one of these critters yet?

Yes, I have eight of them.  I've converted one back to normal speed, and will
eventually convert the others.

> Are the control codes in the tech. manual (I hope)?

Yes.  The connector is a DB-37.

The pinout is:
pins  name        dir  description

 1-4  ECMD3..0    in   command from controller
   5  L/R*        in   local or remote control
   6  HELP*       out  indicates changer in test mode
   7  CHECK       out  indicates power up
8-13  subcode     out
14-16  ground
  17  +5V
  18  EXAM*       in   SIRCS (IR remote control) input
  19  ground
  20  CLOSE       out  magazine present and door closed
  21  EACK*       out  command handshake, indicates command nibble accepted
  22  EREQ*       in   command handshake, indicates command nibble available
  23  MUTING      out
  24  QSTB*       out  status strobe
25-28  QDATA3..0   out  status
29-34  test ctrls  in
35-36  ground
  37  TEST*       in

The changer has a four-bit parallel input port (from its point of view),
ECMD3..ECMD0.  The controller drives the L/R* signal low to indicate that it
wants to talk to the changer.  As the controller presents each nibble of the
command, it asserts the EREQ* line, waits for the changer to assert the EACK*
line, deasserts thte EREQ* line, and waits for the changer to deassert EACK*.
After the entire command has been handshaked out in this manner, the controller
raises L/R*.

The changer provides command result and status codes to the controller on a
four-bit output port, QDATA3..QDATA0.  There is a strobe line QSTB* which
signals valid data.  Since there isn't two-way handshaking on the status,
the controller has to accept each status nibble within 230 uS of the falling
edge of QSTB*.  Typically QSTB* would be used to generate an interrupt to the
controller.

The changer also provides three general status lines HELP*, CLOSE, and CHECK.
HELP* when asserted indicates that a serious problem has occurred and the
changer has dropped into test mode.  CLOSE is asserted when a magazine is in
place and the front door is closed.  CHECK is asserted when the changer is
powered up.

The player supplies 5V DC power to the connector, but the service manual
claims it is only for test purposes.  Basically they don't want you to draw a
bunch of power from it.

The interface connector also has a pin to which you can connect the output of
an IR receiver/demodulator such as the Sharp GP1U5X (or some such) which is
available from Radio Shack.  The unit will then respond to standard Sony CD
remote codes, although this is of little use if you have more than one player,
and it doesn't support direct access to any disc.

> I'd love to hear of anyone else's experience with this contraption.

Since the CDK-006 was a fairly early player, and was primarily intended for
use in radio stations, it doesn't have a particularly great D/A section.  It's
OK, but not audiophile quality.  I've been looking at adding an AES/EBU
consumer format digital output (also known as SP/DIF).  It should be easy to
do but I'm not sure how much jitter the resulting signal will have.  There
are several variations of the CDK-006 which have different digital filters and
D/A chips, and the clocking is different for each.

Interestingly enough, the nature of the modifications that Personics made to
the changer are such that it *does* have a digital output (and an external
clock input); they are unfortunately in a proprietary format.

I'm using a PIC16C84 to interface it to RS-232.  The PIC is converting the
parallel binary to serial ASCII hex.  I implemented some control codes for
addressing units so I can daisy chain more than one from the serial port.
The entire interface fits inside a DB-37 connector shell, and is powered from
the CD changer since it only needs a few milliamps.  I used RJ-11 modular
connectors for the serial input and output.


host (computer)                 interface #0                    interface #1
---------------|        |---------------------------|        |------------
        RS232 |        |                           |        |
        out   |------->| in -------    ------- out |------->|
              |        |          |    |           |        |  ...
        in    |<-------| out -    |    |    --- in |<-------|
              |        |     |    |    |    |      |        |
---------------|        |     |    |    |    |      |        |
                       |MAX  ^   ---   ^   ---     |
                       |232 / \  \ /  / \  \ /     |
                       |    ---   v   ---   v      |
                       |     |    |    |    |      |
                       |mux /-\   |   /-\   |      |
                       |   |   |  |  |   |  |      |
                       |   --^--  |  --^--  |      |
                       |    |  |  |   |  |  |      |
                       |    |  |  +---- GND |      |
                       |    |  |  |         |      |
                       |    |  |  |         |      |
                       |    |  ---u----------      |
                       |    |     |                |
                       |    |     |                |
                       |    |     |   PIC16C84     |
                       |  |---------------------|  |
                       |  |                     |  |
                       |  |                     |  |
                       |  |                     |  |
                       |  |                     |  |
                       |  |                     |  |
                       |  |---------------------|  |
                       |     | |       / \         |
                       |    \---/     /---\        |
                       |     \ /       | |         |
                       |---------------------------|
                             | |       / \
                            \---/     /---\
                             \ /       | |
                       |---------------------------|
                       |                           |
                       |  Sony CDK-006 CD Changer  |
                       |                           |
                       |---------------------------|


Ordinarily you can't attach multiple devices to an ordinary RS-232 port
(without violating the RS-232 specifications).  I considered using RS-485,
which was specifically designed for multidrop applications, but then I would
have had to build an RS-232 to RS-485 interface.  Okay, admittedly that would
be trivial, but I still would have to have DIP switches or something to
assign unique addresses to the interfaces, so I decided I was best off with
an active daisy chain arrangement, in which case it may as well be RS-232.

The PIC16C84 doesn't have a UART, so I am bit-banging the serial.  I considered
using a PIC16C74 which does have a UART, and also has more available port
lines, which would be an advantage in this application.  Unfortunately the
PIC16C74 is more expensive, harder to obtain, and takes a *LONG* time to
erase, whereas the PIC16C84 is less expensive, very easy to obtain, and uses
EEPROM so it erases and reprograms in seconds.

Since the PIC16C84 is somewhat short on I/O pins, I use a 74HC259 addressable
latch (not shown) to provide eight extra outputs, and a 74HCT151 multiplexer to
provide eight extra inputs.  It takes six lines from the PIC to control these
chips, for a gain of ten lines.

One output controls a section of a 74HC4053 multiplexer to control whether the
incoming serial from upstream (the host or a lower numbered interface) is
passed downstream to higher numbered interfaces.  Another output controls
another multiplexer section which determines whether the interface provides
its own output to the upstream device, or just passes along the output of the
downstream device.  These multiplexers are used to allow automatic assignment
of interface addresses, and to allow the interfaces to be daisy chained on a
single RS-232 port.  (The multiplexer control lines are not shown in the crude
diagram above.)

At power up, none of the interfaces has an address, and none of them forward
the upstream input to the downstream interface.  The host sends an "assign
address zero" command.  Only the first interface receives the command, so it
learns that its address is zero, sends an "acknowledge" to the host, and and
then enables the upstream input to be passed downstream, and the downstream
input to be passed upstream.  The host then sends an "assign address one"
command.  Interface #0 already has an address so it ignores the command.  The
next interace receives it and sets its address to one, sends an "acknowledge"
back to the host, and sets its multiplexers.  Eventually the host will send an
"assign address n" command which doesn't generate an ack; then it knows that
there are n interfaces.

I considered avoiding the use of multiplexers by having the PIC be responsible
for forwarding in the upstream and downstream directions as appropriate, but
I think that there would be problems with retiming the bits as they passed
through multiple daisy-chained interfaces.

I don't have everything completely debugged yet.  I'll be happy to give out
schematics and code when it's ready, but don't hold your breath.

Cheers,
Eric

PS:  Here's some notes I wrote on the serial bit-banging that might be useful
to others.  Ignore them if you're uninterested.


Notes on bit-banging serial
---------------------------
Copyright 1995 Eric L. Smith
Permission is granted to copy these notes unmodified for noncommercial use
provided this Copyright notice is preserved.

Real UARTS typically sample the received signal at 16 times the baud rate, so
that they can accurately detect the leading edge of the start bit and hence
sample the actual data bits very near the center of the bit time.  This allows
for a fair bit of slop between the transmiter and receiver bit rates.

This diagram illustrates the best and worst case timing:

-----                /-------------\-/-------------\-/-------------\-/----
   |  start bit    /  data bit 0   X  data bit 1   X  data bit 2   X
   |--------------/---------------/-\-------------/-\-------------/-\----

------                /-------------\-/-------------\-/-------------\-/----
    |  start bit    /  data bit 0   X  data bit 1   X  data bit 2   X
    |--------------/---------------/-\-------------/-\-------------/-\----

    |                       |               |               |
    0000000000111111111122222222223333333333444444444455555555556666666666
    0123456789012345678901234567890123456789012345678901234567890123456789
    ^                       ^               ^               ^
start bit detected      first data bit   subsequent data
within first 1/16 bit   sampled 24       bits sampled every
time of leading edge    intervals later  16 sample intervals
                                        thereafter

Most UARTs will actually sample the middle of the start bit (eight sample
periods after the leading edge is recognized) and verify that it is low in
case the detected leading edge was just a glitch.  Some UARTs will also take
multiple samples in the middle of the bit time (i.e, at 23, 24, and 25 in the
diagram above) and set error flags for noise if they don't all match.

Many application notes on implementing software UARTs, including the Microchip
ap notes, suggest sampling at two times the bit rate.  This results in the
following:

-----                /-------------\-/-------------\-/-------------\-/----
   |  start bit    /  data bit 0   X  data bit 1   X  data bit 2   X
   |--------------/---------------/-\-------------/-\-------------/-\----

-------------                /-------------\-/-------------\-/-------------\-
           |  start bit    /  data bit 0   X  data bit 1   X  data bit 2   X
           |--------------/---------------/-\-------------/-\-------------/-

           |               |               |               |               |
           0       1       2       3       4       5       6       7       8
           ^               ^               ^               ^               ^
start bit detected     first data bit    subsequent data
within first 1/2 bit   sampled 2         bits sampled every
time of leading edge   intervals later   2 sample intervals
                                        thereafter

This results in a 1/2 bit time uncertainty regarding when the start bit
actually arrived.  As a consequence the data bit sampling can occur any time
within the first half of the data bit, including right at the leading edge.
This allows no margin for rate mismatch.

An alternative would be to sample the first data bit three sample periods
after the start bit is detected, and every two sample periods thereafter.
This is no better as the window is then from the middle to the end of the
data bit, so the bits could be sampled right at the trailing edge, again
allowing no margin for rate mismatch.

The Microchip ap note does at least suggest waiting 1.25 bit times from the
leading edge of the start bit to sample the first data bit, which results in
the sample window being in the middle 50% of the bit.  That's great unless you
want to do full duplex serial and use the same time base for transmit.  Since
you can't get a 1.25 bit time delay using a 0.5 bit time timebase, you
maintain proper transmitter timing during that 1.25 bit time delay.

The correct solution (IMHO) is to sample at 3 times the bit rate:

-----               /------------\-/------------\-/------------\-/-----------
   |  start bit   /  data bit 0  X  data bit 1  X  data bit 2  X
   |-------------/--------------/-\------------/-\------------/-\-----------

----------               /------------\-/------------\-/------------\-/-------
        |  start bit   /  data bit 0  X  data bit 1  X  data bit 2  X
        |-------------/--------------/-\------------/-\------------/-\-------

        |                   |              |              |              |
        0    0    0    0    0    0    0    0    0    0    1    1    1    1
        0    1    2    3    4    5    6    7    8    9    0    1    2    3
        ^                   ^              ^              ^              ^
start bit detected     first data bit    subsequent data
within first 1/3 bit   sampled 4         bits sampled every
time of leading edge   intervals later   3 sample intervals
                                        thereafter

As you can see, this reduces the uncertainty of the timing of the start bit
to 1/3 of a bit time, and guarantees that the sampling of the data bits will
occur within the middle 1/3 of the bit time, thus providing better tolerance
to speed variation than the 1/2 bit time scheme provides (even with the 1.25
bit time delay).  It also uses fewer CPU cycles than would be required to
sample at 4 times the bit rate.

I've implemented this scheme on a PIC16C84 and it seems to work quite well.
I use the RTCC timer to generate interrupts at three times the bit rate, and
the interrupt routine has simple receive and transmit state machines to do the
work.  I'll make the code available after I do some more testing.

'IDE Interfacing'
1995\03\17@140321 by Byron A Jeff

face picon face
>
> I'm building a digital audio recorder to hard disk, controlled by a 17C42.
> I need to interface that to an IDE Hard Drive.  Does anyone have any knowledge
> of chips that will do this, or of another newsgroup I could try, eg a PC
> one?

Interesting project. This is one I plan to work on one day.

You need two things:

1) The data book for your disk drive. Call the manufacturer.
2) The ATA (read IDE) disk interface standard. Not sure where to get this
  one from.

IDE drives are really just an extension of the AT bus. The paddle cards
(before the advent of multi-IO) were simply buffer chips between the
bus and the drive. The 17C42 (or even an 8 bit PIC for the matter) can
simulate the same interface.

Also there's a BYTE magazine article (early nineties) that described the
process.

But you sir are not off the hook (so to speak):

1) Tell us how you are interfaceing to the phone line including ring
  detection? Someone pointed out to me that the old trick of using a
  neon lamp coupled to a photodector is quite effective.

2) How are you converting audio to digital and vice-versa. Are you going
  to use a CODEC. If so which one?

3) How are you programming the 17C42? I'm in the process of developing a
  16C84 based RAM loader for my 17C42 development board. It'll give quick
  development turnarounds (no eprom erasing) and avoid all the programming
  hassles (spending bucks on a programmer is a hassle).

Anyway I have a 40 Meg IDE drive waiting to go into a project just as
you describe. So let us know what's going on!

Later,

BAJ

'RESOURCE: Web interface now available'
1995\03\27@105119 by Kyler B Laird

flavicon
face
Since I want to be able to read this list easily, it's now
archived at
  http://pasture.ecn.purdue.edu/~laird/MLists/
(select mailing list "PIC").

If you want to reply to messages through the Web interface
using my site as the mailer, e-mail me for authorization.

My thanks to Aaron Wohl <aw0g+@andrew.cmu.edu> who pointed
me to this list (but didn't give me the name for it!).

--kyler


'Pic's and Floppy interfacing'
1995\04\18@154633 by Eric Smith
flavicon
face
Vincent Himpe <TakeThisOuTvi_himpeEraseMEspamspam_OUTMIETEC.BE> wrote:
> Bitbanging a floppy disk controller ?. Do you know that a floppy disk needs
> an ANALOG signal to write and gives you an analog signal when it reads ?

A floppy DISK needs an analog signal, but a floppy disk DRIVE takes a digital
signal.  That's why there's a board full of electronics on the drive itself.
(These days it's a pretty small board.)

> The floppy disk controller is not just another bunch of logic. It includes
> Modulators/demodulators

The modulator and demodulator are for MFM, which is very simple and can be
done in software.

> and a bunch of PLL's.

An FDC contains a single PLL which is used as a data separator, to separate
the clock and data pulses received from the drive during a read.  The PLL can
be implemented digitally, and often is.  Typically a digital PLL (DPLL) would
be implemented entirely inside the FDC, but there are also complete data
separator chips which incorporate a DPLL, such as the SMC 9216, 9229, and
9239.

> When you read data the controller demodulates this analog signal,

No, as described above the analog signal is converted to digital by the drive
electronics, although the MFM demodulation still needs to be done.

> What i am trying to tell you is that either way you !WILL! need a Floppy disc

No.  I've implemented a floppy disk controller in software on a Motorola 56001
DSP chip.  Before you say "Yes, but that's a DSP and we're talking PICs!", I
should explain that my FDC code didn't take advantage of any of the "special"
abilities of the DSP (such as single-cycle multiply and accumulate) except for
the 100 nS instruction cycle time.  The PIC16C5x family and some PIC16Cxx
parts can run with a 200 nS instruction cycle, which might actually be fast
enough.  If not, you can just use an external data separator chip as described
above, and the PIC will certainly be fast enough to do the rest of the work.

My point is that it is entirely possible to implement disk controllers in
software on a sufficiently fast microprocessor.  Is it useful to do so?
Probably not.  On a small PIC it would take up most of your I/O pins and
memory.  On a large PIC it's a little more practical, but still probably not
worth the effort when FDC chips are so inexpensive.

> The same goes for the ''old'' MFM or RLL Harddisks. Here you must
> also supply the analog signals to the drive.

No, these take digital signals also.  They are simply faster digital signals.
With a Alpha you still might be able to implement a controller in software.

> The Analog signal i mentioned above is really a special kind of BITSTREAM.

Bit streams are not analog signals.  They can be converted to or from analog
signals.  (The hardware implementation of any digital signal is in fact
analog, but this is mostly irrelevant at frequencies below 40 MHz.)

> It is still at some logic level when sent to the drive.The drive then makes
> this signal more analog (no sharp edges etc)

It has to do several things to the signal, but yes, filtering is one of them.

Cheers,
Eric

'stacking pc boards'
1995\04\27@083929 by Coats Jack

flavicon
face
----- Begin Included Message -----

From: RemoveMEmlkspamTakeThisOuTASU.EDU
Subject:      stacking pc boards
[snip]
PIC gurus,

       I am constructing a PIC design which will consist of three pc
boards stacked directly on top of each other.  I need signal interconnect
between the boards (in the center of the boards, not on the edges).
Design requirements space the boards 0.328 inches apart for the final
interconnect.  During prototyping and troubleshooting I want to extend the
space between the boards so that I can use ZIF sockets for the PICs (on the
center board as you may have guessed).
[snip]
Thanks in advance,

Martin Kirk
----- End Included Message -----

Martin, you might consider using a short ribon cable, with DIP headers, or
some other arrangement on the ends.  This does not give you the mechanical
mounting, but it would allow removal and extension appropriately.  If you
can afford the board space, then you could use other spacer
technology (nylon bolts and spacers, etc.)

Just a thought...

'FP package for pics, 16C74'
1995\04\27@134555 by Markus Imhof

flavicon
face
>I have looked at the FP package for the pics from the MC BBS. It only
>supports basic FP stuff.  Is there any place with a FP package that
>supports trig, log, etc...
>
>Is there a C that has FP built in?
>
>Thanks
>
>Mark

I don't know about the above, but check out an algorithm called CORDIC. It
provides a set of fixed-point trigonometric functions in an iterative
algorithm.
There are probably other references, I'm giving you the ones I've got
(Article plus references from that article):

Zahlenmuehle
Rafael Daliano, Raimund Perz
in elrad issue 3 1995, Heise Verlag, Hannover
p. 30

J.E. Volder
The CORDIC Trigonometric Computing Technique
IRE-EC 1959 (!)
p. 330

J.S. Walther
A unified algorithm for elementary functions
Spring Joint Computer Conference (SJCC) 1971
p. 379

Hope this helps a bit. I thought it is quite interesting. This algorithm
can deliver sin, cos, atan, sinh, cosh, atanh, division with nothing more
than a few add, multiply and shift operations.

Bye
 Markus

'stacking pc boards'
1995\04\28@144349 by Robert Ellefson

flavicon
face
I am using a custom elastomeric connector from Elastomeric Technologies
to stack PC boards.  There are a number of different vendors of
elastomeric connectors, but most of them do custom designs for each
application. I believe AMP has a line of standard products that might
fit the bill, but I don't know anything about buying them in small
quantities.  You might get away with a few samples, depending on how
many you need.

In any case, using elastomeric connectors is wonderfuly simple.  Put
identical land pads on top and bottom of the boards, and then clamp
them together with bolts or some other mechanism.  Alignment of
multiple independant connectors on each board is greatly simplified, as
the nature of elastomeric connectors allows much greater leeway than
pin and socket connectors.

For those unfamiliar, elastomeric connectors have alternating stripes
of conductive and nonconductive materials, with these stripes being at
a much tighter pitch than the land pads they need to connect.  This
allows for significant misalignment of the connector to board, although
the board-to-board alignment must be held fairly well, relative to the
pad size.  This is a big advantage over the use of surface mount
connectors if you have multiple connectors between boards, as it can be
difficult to hold these connectors in the land pads at tolerance during
reflow.  Using alignment pins on the connectors is complicated by the
fact that you're stacking multiple boards, so you need to share holes
in many cases, and then each pin can only stick halfway through the
board.  Not to say that you couldn't come up with a good solution using
SMT connectors, but for my application, elastomeric connectors were a
great alternative.

Good luck,
       Bob

'Stacking PCB's'
1995\04\28@170601 by Geoff Parker

flavicon
face
Have you considered elastomeric connectors similar to what is used to
connect LCD glass to circuit boards? An engineer at the company I work for
has used a 'Zebra' connector to interconnect 2 PCB with spacing
requiremnets similar to yours. It's basically a sandwich stack of
sillicone rubber material with layers of carbon or silver particles to
provide a conduction path. You can have very high density of connections.
The PCB connects to this elastomeric with plated PCB pads. Compression of
the elastomer is used to acheive a reliable connection.

|Geoff Parker           KK6HO           Ventura, California, USA
|geoffEraseMEspam.....rain.org


'uASM/MicroDialects (Mac-based assembler)'
1995\05\11@121700 by eric
flavicon
face
Jory,

Do you have MPW?

I took the Motorola Freeware assembler, fixed all (well, most) of the bugs,
added lots of features, and support for PICs.  I mostly use it on DOS an Linux,
but I have built Macintosh MPW versions in the past.  If this would be helpful
to you let me know.

Cheers,
Eric

'Telephone - Interface'
1995\05\18@115123 by Doug Sellner

flavicon
face
I'm developing a consumer product that needs to sense the status of the
phone line, I.E. determine - ring, offhook, onhook.

Anyone have a low cost solution?

Doug Sellner
Beach Tech
4131 Vincent Avenue South
Minneapolis MN 55410

Voice (612) 924-9193 x 521
Fax   (612) 926-1145

Internet: EraseMEdsellnerspamembay.com

1995\05\18@155209 by John M Johnson

flavicon
face
Yea simple.  put a bridge rect on the tip and ring lines.  Look up hte
stats on a telephone.  I beleive a ring is a 42V AC single and as for the
other when you pick up there is a DC current flow.  Just check for that.
Shouldnt be too hard to do with analog logic (not that i would ever try
w/o exploiting every possiblity for a digital solution first :)  AT&T
makes a nifty little plug that will cut off and answering machine when
the tele picks up.  Its not much bigger if at all then an splitter.  Go
buy one and bust the thing open.  reverse engineer it(dont tell
microsoft) and then you have your current checking bit...


later
       John
-----------------------------------------------------------------------------
John Johnson  Team OS/2 member     |Windows NT.  VMS with a GUI!
RemoveMEjohnsonjEraseMEspamEraseMEccwf.cc.utexas.edu        |.386:windows synonym for "gadget"
RemoveMEjohnsonjspam_OUTspamKILLspamutdallas.edu              |Windows 95 == CP/M 95
RemoveMEjohnsonjTakeThisOuTspamspamcomputek.net              |Windows 4.0 -> Windows 95 -> WinEver
-----------------------------------------------------------------------------

1995\05\18@161322 by Jerry Ethridge

flavicon
face
>
> I'm developing a consumer product that needs to sense the status of the
> phone line, I.E. determine - ring, offhook, onhook.
>
> Anyone have a low cost solution?
>

Do you plan to get it FCC part-68 certified and do you know how
much that certification cost? I am also planning to build a device
to interface to the phone lines and was wondering about all the
legalities in doing so. If anyone knows any specifics about the
requirements, we would like to know.

Thanks,
Jerry

===============================================================================
Jerry Ethridge                  Richardson, Tx.              |
ERICSSON Inc.                                               /O\
EraseMEexujetspamspamspamBeGoneexu.ericsson.se                            \_______[|(.)|]_______/
                                                   o   ++   O   ++   o
===============================================================================

'Request for info on PIC <--> RS232 interfacing.'
1995\05\19@100227 by Chris Madden

flavicon
face
RS232 interfacing made easy.

What you need:
--------------
               1. MAX232 / MAX233

Why you need:
-------------
               1. VOLTAGE LEVEL CONVERSION
                  -------------------------
                  The MAX232/3 acts as a voltage level converter.
                   It converts the 0/5V TTL level of the PIC to
                   +12/-12V level of the RS232 target system.
                  The MAX232 employs a charge pump to achieve the
                   larger voltage. The charge pump requires external
                   resistors / capacitors for the MAX232.
                  The MAX233 has these resistors / capacitors on chip &
                   therefore offers a SINGLE CHIP TTL <--> RS232 VOLTAGE
                   LEVEL CONVERTER.

What you need to know:
----------------------
               The MAX232/3 contains two receive & two transmit buffers
                (ie you can convert two different TTL signals to RS232 &
                two different RS232 signals to TTL).
               For a bare-bones-up-and-running-quickly implementation
                you need only one transmit and one receive buffer.
               For handshaking (if it's necessary) the spare transmit and
                receive buffer can be used for CLEAR_TO_SEND (CTS) and
                REQUEST_TO_SEND (RTS) signals.
                Using these spare buffers in this way will improve
                 communication reliability.


Example (My first attempt at ascii art!) :
--------
BARE-BONES-UP-AND-RUNNNG-QUICKLY IMPLEMENTATION:


       [RS232:+12/-12V]                              [TTL:0/5V]
                            MAX232/3                      PIC
                               ___                        ___
                                |   +5V                    |   +5V
                            ---------                   -------
                           |         |          RB0    |       |
       TARGET TX           |   |\    |          PIC RX |       |
               ________\___|___| \___|__\______________|       |_____
                       /   |   | /   |  /              |       |     |
                           |   |/    |                 |       |    ----
                           |         |          RB1    |       |    ||||
       TARGET RX           |    /|   |          PIC TX |       |    ----
               ________/___|___/ |___|__/______________|       |_____|
                       \   |   \ |   |  \              |       | crystal
                           |    \|   |                 |       |
                           |         |                 |       |
                            ---------                   -------
                                |                           |
                                |      Ground              ----
                              ----                         \  /
                              \  /                          \/
                               \/


       TARGET GROUND                                   PIC GROUND

                 _______________________________________
                |                                       |
                |                                       |
              ----                                     ----
              \  /                                     \  /
               \/                                       \/

The PIC exteranal interrupt pin may be used to signal the receipt of a START
bit. The remaining bits are then received in software from this pin.


Where to find out more:
-----------------------
               1. PIC AN510 application note: "implementation of an
                  asynchronous Serial I/O" at various PIC ftp sites.
               2. Serial communications FAQs:
            http://www.paranoia.com/~filipg/HTML/LINK/PORTS/F_Parallel.html




       Take Care,
               Chris Madden


1995\05\19@121750 by Paul Greenwood

flavicon
face
> RS232 interfacing made easy.
>
> What you need:
> --------------
>                 1. MAX232 / MAX233

Anyone know of a solution like this that allows you to tri-state the RS232
outputs?  (The +/-12V side - NOT the TTL side.)

--
           -- Paul Greenwood --  (RemoveMEpabloKILLspamspamaustin.ibm.com)
For an idea to be fashionable is ominous, since it must afterwards be
always old-fashioned.

"His super power is to turn into a scotch terrier."

1995\05\20@182158 by Timothy McDonough DIAL UP1

flavicon
face
Some of the Linear Technology RS232 transcievers let you externally
shut down the chip, I don't recall if it puts the inputs and outputs
in a high-Z state.

On Fri, 19 May 1995, Paul Greenwood wrote:

{Quote hidden}

1995\05\21@173840 by Doug Sellner

flavicon
face
>> RS232 interfacing made easy.
>>
>> What you need:
>> --------------
>>                 1. MAX232 / MAX233
>
>Anyone know of a solution like this that allows you to tri-state the RS232
>outputs?  (The +/-12V side - NOT the TTL side.)
>
>--
>            -- Paul Greenwood --  (spamBeGonepabloSTOPspamspamEraseMEaustin.ibm.com)
>For an idea to be fashionable is ominous, since it must afterwards be
>always old-fashioned.
>
>"His super power is to turn into a scotch terrier."


I'm no expert but I might try using a diode to turn the RS232 Level to
pullup only and use a terminating resistor to pull the line low at the end
of your chain of devices.

Doug Sellner
Beach Tech
4131 Vincent Avenue South
Minneapolis MN 55410

Voice (612) 924-9193 x 521
Fax   (612) 926-1145

Internet: KILLspamdsellnerspamBeGonespamembay.com

'Capacitive PIC ??'
1995\05\22@041515 by Nick Howard

flavicon
face
Hi
Whilst testing my 64 based project I noticed that a finger brought up to
the quartz window caused the output leds connected (via 2003 darlintons)
to ports C and D to behave oddly. This is not caused by the oft mentioned
optical effect as the window was covered. Neither is it a decoupling
problem as each pair of supply pins has 100n across them. The supply
comes from a 78L05 and the timing is courtesy of a three terminal (4MHz)
ceramic resonator.

1) Has anyone else come across this effect.
2) Will the effect go away when I use the OTP versions.

BTW I have tried two windowed chips, both show the 'capacitive effect'.

Thanks in anticipation of any forthcoming help

Nick

1995\05\22@171150 by Przemek Klosowski

flavicon
face
  Hi
  Whilst testing my 64 based project I noticed that a finger brought up to
  the quartz window caused the output leds connected (via 2003 darlintons)
  to ports C and D to behave oddly. This is not caused by the oft mentioned
  optical effect as the window was covered. Neither is it a decoupling
  problem as each pair of supply pins has 100n across them. The supply
  comes from a 78L05 and the timing is courtesy of a three terminal (4MHz)
  ceramic resonator.

I don't know if this is relevant, but recently I ran into this:
I have been building a PIC programmer, and I used a 7812 with
a voltage divisor  to boost the voltage slightly (to 14 V).
      _____            The voltage measured with a voltmeter
_______|    |________   looked fine, but when I looked at it
      |    |   |       with the scope, it was 14VDC plus a 10MHz
      --+---   <       oscillation with 1 Vpp amplitude. Kind of
        |      >       shook my confidence in 78xx parts. I suggest
        |      <       you look carefully for a parasitic oscillation
        |      >       (of course hooking scope probes could influence
        +------|       what you are looking for---welcome to the
               >       wonderful world of analog).
               <
               >       BTW, I ended up using LM317---works like a charm.
----------------+-----

               greetings

                       przemek klosowski (EraseMEprzemekspamEraseMErrdstrad.nist.gov)
                       Reactor Division (bldg. 235), E111
                       National Institute of Standards and Technology
                       Gaithersburg, MD 20899,      USA

                       (301) 975 6249

1995\05\22@233248 by Paul Greenwood

flavicon
face
{Quote hidden}

This would be caused because your ground was moving - right?

Probably some capacitance on the input line (on the 7812 side of your
voltage divider) would have solved the problem I think.

I took the liberty to put it in the picture.

Of course, I could be wrong.....

--

           -- Paul Greenwood --  (spamBeGonepablospamKILLspamaustin.ibm.com)

What the large print giveth, the small print taketh away.

'Use PIC derectly measure capacitance ?'
1995\05\25@183954 by Richard John Farmer

picon face
>
> Hi, I heard somebody did use PIC direcly measure the capacitance by get
discharg
> e
> time. Is there other more accurate way to directly measure capacitance ? I try
t
> o
> interface PIC directly to the capacitance sensor (it changes from 60pF to
70pF).
> Thanks for your help.
>
> Gu
>
No problem. Thats how I read a PC joystick in my servo controller. Charge
the cap through the pot on the joystick and see how long it takes to go high,
flip the port & discharge it, repeat. I was dealing with 1-100k & 50nf, but
that shouldn't matter too much just work out the TC of some RC network until
the variation meets you resolution requirement. A 555 solution is of course
trivial, and probably easier given that your only an order of magnitude above
the C of the pin itself.

----------------------------------------------------------------------------
Rick Farmer           .....gt5876bspam_OUTspamprism.gatech.edu  `85 CB700SC  AMA# 482666
3510 Buford Hwy K-6   85k miles and 10 years of merciless abuse and it still
Atlanta, Ga. 30329    lives, but then again a spare engine (or two) helps.

1995\05\26@043611 by Jaroslaw Lis

flavicon
face
> > Hi, I heard somebody did use PIC direcly measure the capacitance by get
> > discharge time. Is there other more accurate way to directly measure
> > capacitance ? I try to interface PIC directly to the capacitance
> > sensor (it changes from 60pF to 70pF).
> >
>  No problem. Thats how I read a PC joystick in my servo controller. Charge
> the cap through the pot on the joystick and see how long it takes to go high,
> flip the port & discharge it, repeat. I was dealing with 1-100k & 50nf, but
> that shouldn't matter too much just work out the TC of some RC network until
> the variation meets you resolution requirement. A 555 solution is of course
> trivial, and probably easier given that your only an order of magnitude above
> the C of the pin itself.

Maybe not so easy. I don't remember PIC specs exactly, but for 555, 74121,
74123,4046, NE567 lower value for capacitane is about 50-100 pF. So I
suspect, that PIC has similar usable limit. Near this limit you should expect
troubles with parasitic capacitance, nonlinearity, etc.

LC generator is probably the best for this. There may be problem with
stability of  coil inductance.




Jaroslaw Lis

+------------------------------------------------------------------------+
| E-mail (Internet):          | Institute of Engineering Cybernetics     |
|  TakeThisOuTjjlis.....spamTakeThisOuTict.pwr.wroc.pl      | Technical University of Wroclaw, Poland  |
+------------------------------------------------------------------------+


'Macro Assembler'
1995\06\08@072543 by iek
flavicon
face
> Does anyone know where I might be able to get C source for a nice PIC
> macro assembler? (My computer doesnt exactly emulate a PC very well - 1/4
> the speed of an XT at the last count!)

> Its an uphill struggle to finish the programmer, port the software to a
> complete new architecture, and write an assembler before I can even start
> by target project....

My GNU licenced macro assembler is available on:

ftp.funet.fi  in /pub/microprocs/pic/pictools

Version 0.1 is ANSI C and is 'cheap and nasty' and has one really big BUG
               (I can supply an easy patch on request)

Version 0.8 is ANSI C, flex and bison code and is difficult for many people
               to compile.

Version 1.0 should be out r.s.n. and will be back to ANSI C alone.  It would
have been finished by now but I have been busy trying to get a new and shinier
job recently, which is a suprisingly stressful thing to do. ;-)

I will put v1.0 up for ftp as soon as its available.

Finally I am in the process of building an ETI programmer (with a few mods)
and this should be supported by a downloader, but not until 1.1

=%-)

Ian

'Hard Disk interface'
1995\06\09@130521 by Chuck McManis

flavicon
face
BillW wrote:
>You might try one of those SCSI interfaces that connects to a PC parallel
>port ... [this gets] rid of the "cheap" qualifiers.

Doug Sellner wrote:
>Now this is the best solution to disk i/o yet.

During the course of this discussion the original design parameters have
been lost, however to carry it to its illogical extreme...

The BEST solution to disk I/O is to buy a PC/XT clone (I've seen them for
< $80 including 20mb disk.) and run a program on the PC that looks for a
simple serial protocol from the PIC. My favorite is similar to the EEPROM
protocol:
sending         <CMD><ADDRESS><DATA>
returning       <STATUS><DATA>

Where CMD is one of <READ><WRITE><VERIFY><WRITE-NEXT><READ-NEXT>
and ADDRESS is a 24 bit number specifying the address of the byte
and <DATA> is an 8 bit byte.

Now on a serial connection at any baud rate (up to the limit of the
PC's serial port) you can store and retrieve information from the
hard disk. Effectively making the PC a giant disk controller.

Of course its a ludicrous idea because why would you have the PIC driving
a PC and not the other way around?

--Chuck

'Robot Circuits: Capture Interface for velocity fee'
1995\06\11@155516 by leeh

picon face
* This message contains the file 'capture.tif', which has been
* uuencoded. If you are using Pegasus Mail, then you can use
* the browser's eXtract function to lift the original contents
* out to a file, otherwise you will have to extract the message
* and uudecode it manually.

end

Attachment converted: wonderlandone:capture.tif (????/----) (0000105C)

1995\06\11@155518 by leeh

picon face
I used a IR LED - phototransistor pair from radio shack to provide
velocity feedback.  The driven gear from the Meccano Errector set
had eight holes just the right size for the LED.

Lee Holeva

'Interfacing to MAXIM serial A/D and D/A'
1995\06\18@192903 by nino.benci

flavicon
picon face
Has anyone connected any of the MAXIM serial A/D and D/A's to any
PIC, especially the 16C71. This may be a simple question but for some
reason or other I cannot get the sample code in the Embedded
Controller Handbook, the one relating to interfacing to 93Cxx series
serial EEPROM's to work. I have tried to modify the code so that I
get 12 bit data as two 8 bit bytes into memory on the PIC. I
use the code in 4 wire mode and have checked that I am using
the correct clock phase. Data output is via a 1200 bps serial
line to a PC, this works as I issue a 'G' command to start
conversion of the A/D. When completed the 16 bit value should
be returned as two 8 bit bytes. Nothing happens. I have data
and clocking on the DO and CLK lines but nary a sign of life.
I also provide an 'O xxxx' which allows me to send a 12 bit value to
a D/A, same result, NOTHING. I know the 1200 bps
serial line works as it operates in FULL DUPLEX mode. Either the
format is incorrect or I have done something gravely wrong. Any
clues would be most appreciated

Nino Benci
Monash University - Physics
Wellington Rd, Clayton.
VICTORIA. AUSTRALIA. 3168
tel - 61 3 9905 3649    fax - 61 3 9905 3637
email - TakeThisOuTnino.benciKILLspamspamspamsci.monash.edu.au
************************************************************************
* Nino Benci - Chief Technical Officer       *                         *
* Monash University - Physics                *     Profound message    *
* Wellington Rd, Clayton. 3168               *      to be inserted     *
* Victoria, Australia.                       *       in the near       *
* TEL - 61 3 9905 3649, FAX - 61 3 9905 3637 *          future         *
* EMAIL - .....nino.bencispamRemoveMEsci.monash.edu.au       *                         *
************************************************************************

'Microchip BBS access from Internet?'
1995\06\28@124736 by tnguyen

flavicon
face
    You don't need to dial American CIS node to get on Microchip BBS.
    Compuserve nodes are available in most major cities worldwide.  If you
    have problem locating the nearest phone number, send me a private
    e-mail with your city and country names.

    Thang
    RemoveMEtnguyenspamspamBeGonemicrochip.com


______________________________ Forward Header __________________________________
Subject: Microchip BBS access from Internet?
Author:  Adam Eberbach <spamBeGoneADAM@spam@spamspam_OUTDataplex.com.au> at Internet_Exchange
Date:    6/27/95 4:19 PM


So, can you? I don't want to have to dial an American CIS node to
have a look around. Telnet to CIS doesn't seem to work...

Adam Eberbach, R&D Engineer, Dataplex Pty. Ltd.

'PIC programmer for Mac?'
1995\06\29@165209 by R Duflon

flavicon
face
I'd like to be able to program PIC16Cxx parts from a Mac (and on a budget).
I already own a Parallax PIC16Cxx Programmer for the PC, and am wondering
if anyone has worked out a Mac interface and software, or if the comm
protocol is in the public domain.

Alternatively, recommendations for a Mac based programmer would also be
appreciated.  Thanks for any and all help!

Ray
TakeThisOuTrduflonspamspamcup.portal.com

1995\06\29@194615 by Reg Neale

flavicon
face
On Jun 29,  1:18pm, R Duflon wrote:
|Subject: PIC programmer for Mac?
| I'd like to be able to program PIC16Cxx parts from a Mac (and on a budget).
| I already own a Parallax PIC16Cxx Programmer for the PC, and am wondering
| if anyone has worked out a Mac interface and software, or if the comm
| protocol is in the public domain.
|
| Alternatively, recommendations for a Mac based programmer would also be
| appreciated.  Thanks for any and all help!
|
| Ray
| rduflonEraseMEspamcup.portal.com
|-- End of excerpt from R Duflon

The Microchip tools will work under SoftPC on a Mac. But, the communications
protocols are different, so the programmer itself cannot exchange info with
the computer.

I attended the Microchip seminar yesterday, and asked if there were any
plans to develop a suite of tools for users with Macs. In response, the
instructor asked all those who would use the Mac tools if they were
available to raise their hands. Only three of us out of about a hundred
and fifty people raised their hands. The instructor said "There, that's
the answer to your question. We aren't going to get into the Mac
development tool business." So it looks like you and I and the rest of
the rest of the Mac users are SOL.

I bought an old XT just for the sole purpose of running MPASM, MPSIM
etc.

Regards,
Reg


*Reg Neale=RemoveMEnealeEraseMEspamspam_OUTee.rochester.edu ....standard disclaimer applies...*
*..."Ignorance is a renewable resource."....P.J. O'Rourke............*

1995\06\30@054640 by Karl Grabe

flavicon
face
Mail*Link(r) SMTP               RE>>PIC programmer for Mac?


       Reply to:   RE>>PIC programmer for Mac?

I've tried running picstart 16b on a mac running SoftPC.
It does work but only on 'fastish' machines like a pb180. Slower machines have
problems with communication timouts.
-Karl

--------------------------------------
Date: 6/29/95 16:51
To: Karl Grabe
From: pic microcontroller discussion
On Jun 29,  1:18pm, R Duflon wrote:
|Subject: PIC programmer for Mac?
| I'd like to be able to program PIC16Cxx parts from a Mac (and on a budget).
...snip snip ..

1995\06\30@092419 by Reg Neale

flavicon
face
On Jun 30, 12:05am, jory bell wrote:
|Subject: Re: PIC programmer for Mac?
| uChip's comments about not supporting the Mac (recounted below at a
| seminar) seem quite lame given their stubborn use of a totally non-stadard
| serial protocol for their tools. Were it not for this totally unnecessary
| anti-standard, SoftPC (or the DOS-compatability card for the newer Macs)
| would at least get us into the development game without buying Actual
| Wintel hardware.

You're right. This may also interest you: at the same seminar, I prodded
the factory guy about the continuing reports that code protection can be
defeated by various conbinations of pulsing the progr. pin, applying
strange voltages and sequencing them in particular ways. He maintains
that they watch the same traffic, and have never been able to duplicate
any of the claimed results.

Reg


*Reg Neale=@spam@nealeRemoveMEspamEraseMEee.rochester.edu ....standard disclaimer applies...*
*..."Ignorance is a renewable resource."....P.J. O'Rourke............*

'Which Databooks? / Mac Development'
1995\06\30@132502 by Christopher Kristof

flavicon
face
What Databooks???
-----------------
   I called uChip early last week and asked for databooks covering the
pic line.  To my absolute amazement, UPS showed up at my door the very
next day with the 94/95 Embedded Control Handbook!  While the Embedded
Control Handbook is great, I was a little disappointed to find that it's
just a collection of app notes.  I was more interested in nitty gritty
programming info on the individual processors, such as instruction set,
architecture, and device programming.  I'd like to build a 16C84
programmer for the Mac and write my own assembler/downloader.  I have an
old uChip databook called, simply, "Microchip Databook 1992" which
covers serial eeproms, pic family overviews, and logic products.  It
would be nice to have detailed info on uChip's serial eeproms and the
complete pic line.  What databooks should I ask for?


Mac Development Plans
---------------------
   I'm glad to see the recent Mac Development thread; I don't feel
alone anymore!  In any case, I plan to bootstrap myself with a little
16C84 serial programmer and then build a universal pic programmer using
the '84.  I'm also going to write an assembler and a little language or
two to go along with the programmer.  I'll post my progress from time to
time if people are interested.


Chris Kristof
Senior ECE Major
Carnegie Mellon University

1995\06\30@152828 by Patrick C Leger

flavicon
face
Hi again,

I ordered the Microchip full-line databook from Digi-Key (probably a
stupid move, since you managed to get the other databook free).  I'm
not sure what year it is, but it's got all the current PICs in it as
well as all (I think) of uChip's other stuff.  Building a programmer
for the '84 isn't too bad, actually; You can buy the necessary
hardware and an '84 for around $15.  As for the program, I've got one
for DOS that I hacked up from two other programs; you should just have
to change the functions for dealing with the parallel port on the Mac.
Let me know if you're interested, and I'll stick it in my public
directory.

Chris

--
Chris Leger (EraseMEblahspam@spam@cmu.edu)
Carnegie Mellon University
Field Robotics Center

1995\06\30@184556 by tnguyen

flavicon
face
    It's "PIC16/17 Microcontroller Data Book 1995/1996" edition.

    Thang


______________________________ Forward Header __________________________________
Subject: Which Databooks? / Mac Development
Author:  Christopher Kristof <ck3i+@ANDREW.CMU.EDU> at Internet_Exchange
Date:    6/30/95 1:22 PM


What Databooks???
-----------------
   I called uChip early last week and asked for databooks covering the
pic line.  To my absolute amazement, UPS showed up at my door the very
next day with the 94/95 Embedded Control Handbook!  While the Embedded
Control Handbook is great, I was a little disappointed to find that it's
just a collection of app notes.  I was more interested in nitty gritty
programming info on the individual processors, such as instruction set,
architecture, and device programming.  I'd like to build a 16C84
programmer for the Mac and write my own assembler/downloader.  I have an
old uChip databook called, simply, "Microchip Databook 1992" which covers
serial eeproms, pic family overviews, and logic products.  It would be
nice to have detailed info on uChip's serial eeproms and the complete pic
line.  What databooks should I ask for?


Mac Development Plans
---------------------
   I'm glad to see the recent Mac Development thread; I don't feel
alone anymore!  In any case, I plan to bootstrap myself with a little
16C84 serial programmer and then build a universal pic programmer using
the '84.  I'm also going to write an assembler and a little language or
two to go along with the programmer.  I'll post my progress from time to
time if people are interested.


Chris Kristof
Senior ECE Major
Carnegie Mellon University


'Which Databooks? / Mac Development'
1995\07\01@042854 by Andrew Warren
face
flavicon
face
Christopher Kristof <ck3i+@ANDREW.CMU.EDU> wrote:

>I called uChip early last week and asked for databooks covering the
>pic line.  To my absolute amazement, UPS showed up at my door the very
>next day with the 94/95 Embedded Control Handbook!  While the Embedded
>Control Handbook is great, I was a little disappointed to find that
>it's just a collection of app notes.
> ....
>It would be nice to have detailed info on uChip's serial eeproms and
>the complete pic line.  What databooks should I ask for?

Christopher:

Thang's half-right; the "95/95 Microchip Data Book" covers the complete
PIC line.  For memory info, you also need the "95/96 Non-Volatile
Memory Products Data Book".

You probably didn't receive the data book(s) because they're
brand-new... You may be on a soon-to-be-processed waiting list.

-Andy

--
Andrew Warren - @spam@fastfwdspam_OUTspam.....ix.netcom.com
Fast Forward Engineering, Vista, California

'Mac Talk, Keep it coming'
1995\07\01@115044 by Doug Sellner

flavicon
face
Consider this my vote of support for more Mac Talk.

Keep it coming!!!

Doug Sellner
Beach Tech
4131 Vincent Avenue South
Minneapolis MN 55410

Voice (612) 924-9193 x 521
Fax   (612) 926-1145

Internet: spamBeGonedsellnerEraseMEspamembay.com

'Which Databooks? / Mac Development'
1995\07\02@035554 by David Kitts

flavicon
face
You wrote:
>
>Hi again,
>
>I ordered the Microchip full-line databook from Digi-Key (probably a
>stupid move, since you managed to get the other databook free).  I'm
>not sure what year it is, but it's got all the current PICs in it as
>well as all (I think) of uChip's other stuff.  Building a programmer
>for the '84 isn't too bad, actually; You can buy the necessary
>hardware and an '84 for around $15.  As for the program, I've got one
>for DOS that I hacked up from two other programs; you should just have
>to change the functions for dealing with the parallel port on the Mac.
>Let me know if you're interested, and I'll stick it in my public
>directory.
>
>Chris
>

Chris
David Tait has a programer for the 84 already designed. Might be
adaptable to the MAC.
TNX, David

1995\07\02@053330 by David Tait

flavicon
face
Hi

David Kitts <dkittsspamBeGonespamCOM.NETCOM.IX> wrote:
> David Tait has a programer for the 84 already designed. Might be
> adaptable to the MAC.

The problem with that design is that it needs a parallel port, a
facility sadly missing on the Mac.

If you want to homebrew a programmer for the Mac the best approach, if
not the only approach, is to use a serial port for communicating with
the hardware.  This is where the ETI programmer, which has had so much
publicity on this list already, scores again.  The hardware uses a
preprogrammed 16C57 to implement a 3-wire serial connection with the
host.  As far as I know the only host software currently available is
for a PC running Windows, but as the ETI articles include a full
description of the serial protocol it should not be too difficult to
write host software for the Mac.

If you can't get hold of the ETI articles but want a look at a
schematic of the design you can grab a scanned image in GIF form.
It's available from Antti Lukats' FTP site:

ftp://rasi.lr.ttu.ee/pub/SIS/CAD/DIY/BITMAPS/eti.gif

It's a bit rough but it will give you an idea of what's involved.
Although the GIF is probably the best bet for Mac users, if you have a
PC you can grab a better schematic in Protel format together with a
freeware Protel viewer from the same site.  As I understand it, Robin
Abbott, the designer of the ETI programmer has given permission for
the schematic to be available in this form.  A Hex dump of the 16C57
code will soon be available from the same place.

I don't think it will be long before host software will be available
for most machines with a serial port because the protocol needed is so
simple and doesn't require any handshake lines.  I guess this is _the_
homebrew design for Macs and Unix boxes.

David
--
RemoveMEdavid.tait@spam@spamspamBeGoneman.ac.uk

'12-bit/16bit A/D interface to PIC ?'
1995\07\06@150944 by Gangguo Gu

flavicon
face
Hi, Folks,
       Is there any application note about PIC interfacing to 12bit or 16bit
A/D converter ? or somebody can provide some information ?

Thanks

Gu

1995\07\10@210645 by nino.benci

flavicon
picon face
I would like to thank all those that have helped me with connecting
MAXIM serial A/D's and D/A's to PICs. You know who you are. I have
succeeded in interfacing a MAX176 A/D and a MAX538 D/A to a PIC16C71.
The cct and code work in a basic loop test, confirmation of operation.

I am therefore posting this message to inform all that if you would
like a copy of the files, MAX176.ASM, adapted from 3WIRE.ASM and
MAX1.TIF, the scanned test schematic please feel free to email me
for these.

Once again, muchos gracias....

Nino Benci.

PS: Could I post these to the the MChip ftp site for all to access.
************************************************************************
* Antonio (Nino) Benci                       *                         *
* Chief Technical Officer                    *                         *
* Monash University - Dept of Physics        *         I think         *
* Wellington Rd, Clayton. 3168               *      Therefore I am     *
* Victoria, Australia.                       *          I eat          *
* TEL - 61 3 9905 3649, FAX - 61 3 9905 3637 *   Therefore I excrete   *
* EMAIL - .....nino.benci@spam@spamEraseMEsci.monash.edu.au       *                         *
************************************************************************

'Macintosh and PickStart 16b'
1995\07\13@051654 by Karl Grabe

flavicon
face
        From the desk of Karl Grabe                                 7/13/95
                                                   #240# CIM
SUBJECT:     Macintosh and PickStart 16b/c

I'm posting this thread for anyone out there who'd like to use PickStart 16B
and 16C with a Macintosh running SoftPC. I've verified it works with a
PowerBook 180 and PicSTart 16B while Otmar has verified 16C with a mac.
Cable connections are included below. It should work with most Macs that are
as fast as a PB180
-Karl
*** Thread follows:

Hi Karl,
Thank You!  It works well!

Here's what I found...

It only works on my PB180 with Soft AT only when most of the extensions are
off.
It works on a Power PC running Soft windows (Native) in dos mode with all
the extensions on.
It won't work on my Duo 230 with Soft AT at all. :-(

I find I'm still not totally clear on which pins are what but if it's wrong
I just flip it. I think the apple modem tool is correct if you use it to
look at the open end of the female on the picstart, or printer or whatever.


I found that a female DIN8 packages nice in a 9 pin D-sub cover. Just fill
it with hot glue. Makes a cute short adapter.

Thank you so much for the tip. Can I distribute it freely?

{Quote hidden}

-Otmar-

  -----------------------------------------------------------------------
                       Electric Vehicle Components Ltd.
        It's often said that life is strange, But compared to what? sf
     Otmar Ebenhoech           .....tessRemoveMEspamnetcom.com            (415) 494-9255
  -----------------------------------------------------------------------

'Driving sensitive gate triacs directly'
1995\07\28@090937 by Harrison Cooper

flavicon
face
There was some discussion on interfacing with a SSR, but I don't remember
reading how it turned out.

How about this one - since the output current is quite hefty from a PIC
(40 mA if I remember right), can you drive a sensitive gate triac directly ?
Data sheet for a MAC228A would indicate 5mA trigger with a 15mA hold.
Anyone done this before ?  Normally, I use a optocoupler but it would be
nice to eliminate another part.

.....hcooperSTOPspamspam@spam@es.com

1995\07\28@094156 by Reg Neale

flavicon
face
On Jul 28,  7:09am, Harrison Cooper wrote:
|Subject: Driving sensitive gate triacs directly
| There was some discussion on interfacing with a SSR, but I don't remember
| reading how it turned out.
|
| How about this one - since the output current is quite hefty from a PIC
| (40 mA if I remember right), can you drive a sensitive gate triac directly ?
| Data sheet for a MAC228A would indicate 5mA trigger with a 15mA hold.
| Anyone done this before ?  Normally, I use a optocoupler but it would be
| nice to eliminate another part.
|
| hcooperEraseMEspam@spam@es.com
|-- End of excerpt from Harrison Cooper

Depends on how vulnerable you are to getting fried. One of the functions
of SSR's is isolation from the line. Sure, you can do what you suggested,
but be aware that your PIC and whatever circuitry is attached will be
connected to potentially lethal power source.


*Reg Neale=RemoveMEnealespamspamBeGoneee.rochester.edu ....standard disclaimer applies...*
*..."Ignorance is a renewable resource."....P.J. O'Rourke............*

1995\07\28@102224 by Kevin P. Fleming

picon face
At 07:09 AM 7/28/95 -0600, Harrison Cooper wrote:
>There was some discussion on interfacing with a SSR, but I don't remember
>reading how it turned out.
>
>How about this one - since the output current is quite hefty from a PIC
>(40 mA if I remember right), can you drive a sensitive gate triac directly ?
>Data sheet for a MAC228A would indicate 5mA trigger with a 15mA hold.
>Anyone done this before ?  Normally, I use a optocoupler but it would be
>nice to eliminate another part.
>
>spamBeGonehcooperKILLspamspam@spam@es.com
>
>

I thought about this too, but I wanted zero-crossing, and the triac-output
optocouplers are pretty cheap and reliable (and easy to use).

I think I'd rather pay the extra two bucks per triac than risk blowing up my
PIC and all its attached hardware with 115 VAC...
Kevin Fleming, Reliable Networx, Inc.
Phoenix, AZ
Internet: kpfhomespam_OUTspam@spam@primenet.com


"Please, don't change colors while I'm talking to you."

'followup: driving triacs, being on-line'
1995\07\28@121050 by Harrison Cooper

flavicon
face
As Mr. Neale mentioned, there is lethal power running around.  However, in
this case I will be using a on-line power supply (AT&T signle chip with a
couple of parts) for the Vcc, with the whole thing in a sealed unit so no
fingers will be poking around within it.  Its kinda a smart appliance type
application, but due to size constraints can't use a SSR so just using a
triac to switch a 9 amp load.

spamBeGonehcooper@spam@spames.com

1995\07\31@112005 by Kevin P. Fleming

picon face
At 10:11 AM 7/28/95 -0600, Harrison Cooper wrote:
>As Mr. Neale mentioned, there is lethal power running around.  However, in
>this case I will be using a on-line power supply (AT&T signle chip with a
>couple of parts) for the Vcc, with the whole thing in a sealed unit so no
>fingers will be poking around within it.  Its kinda a smart appliance type
>application, but due to size constraints can't use a SSR so just using a
>triac to switch a 9 amp load.
>
>RemoveMEhcooperEraseMEspamKILLspames.com
>
>

Would you mind passing along some info on your single-chip power supply? Thanks.
Kevin Fleming, Reliable Networx, Inc.
Phoenix, AZ
Internet: spamBeGonekpfhomespam_OUTspamRemoveMEprimenet.com


"Please, don't change colors while I'm talking to you."


'Teaching your PIC programmer new tricks?'
1995\08\03@131218 by Byron A Jeff
flavicon
picon face
>
> Ok now, this RS-232 powered C84
> programmer that everyone has been
> talking about sounds great!!  But I need to
> program a C6X or C7X.  Can someone
> guide me to a simple circuit for
> programming these from a RS-232 port.
> Or please tell me that for your next trick
> you PIC gurus are going to design a
> RS-232 powered programmer for these.
> ;-)  Thanks.
>

It's not an issue of power. The problem is that the 8X is unique because
it uses EEPROM not EPROM. EEPROM in the 8X series is self timed for
writing so all that has to be issued is a start program command. The 6X and
7X need both start and stop commands with 100 uS +- 5 uS interval inbetween.

Hard to do with standard PC.

You'll probably have to bootstrap a programmer using a 16C84 which can
generate pulses that precise.

This is becoming a FAQ because this is the second time I've posted this
info in less than a week.

BAJ

1995\08\03@151326 by Derrick Early

flavicon
picon face
> It's not an issue of power. The problem is that the 8X is unique because
> it uses EEPROM not EPROM. EEPROM in the 8X series is self timed for
> writing so all that has to be issued is a start program command. The 6X and
> 7X need both start and stop commands with 100 uS +- 5 uS interval inbetween.
>
> Hard to do with standard PC.

It can be done on a pc.  You just have to code some bench mark routines
to set up an accurate delay routine.  If you use some hi resolution timer
routines, you can look at the pc clock down at the us level.

--
Derrick Early
.....earlyspamRemoveMEfinite.nrl.navy.mil

'PWM synch to ac line'
1995\08\03@225407 by Andrew Warren

face
flavicon
face
Martin Kirk (mlkspam@spam@ASU.EDU) wrote:

>how about some clever (meaning cheap/simple) ideas for PIC
>sense zero crossing from the transformer secondary.

Martin:

If you're REALLY brave, check out AN521, "Interfacing to AC Power
Lines", in the Embedded Control Handbook.

-Andy

--
Andrew Warren - EraseMEfastfwdRemoveMEspamSTOPspamix.netcom.com
Fast Forward Engineering, Vista, California

1995\08\04@003213 by Mike Keitz

flavicon
face
>Hi all,
>
>        I have an interesting challenge.  I am using a 16C57 to drive a
>nitinol wire actuator with PWM.  The drive goes to multiple actuator and
>as it turns out I need a whopping current to drive them.  I am lifting
>something heavy.  Each takes 6 amps average.  Everything was going along
>happy (in denial) until I started to purchase the power supply to provide
>the current.
>
>        Now I am wondering if any of you have experience with sourcing
>PWM current from an un-regulated supply.  I am thinking that maybe I can
>simply step down the ac line, full wave rectify it, and synch my PIC PWM
>timing to the zero crossing.  I use IRF520 MOSFETs to switch the current.
>This would insure that my driving waveform would be uniform for each cycle.
>I do not believe that having a non-DC source current is any problem.  After
>all, I am only heating wire.
>
>        Also how about some clever (meaning cheap/simple) ideas for PIC
>sense zero crossing from the transformer secondary.
>
Use a full-wave rectifier to develop a bus having positive half-cycles of AC
(i.e. 120 Hz pulses).  The transformer and diodes have to be rated for the
sum of the current through all the wires that will be heated at the same
time.  Connect one end of all the wires to this bus, and the other end to
the anode of a SCR that controls that wire.  The cathodes of the SCRs go to
ground, and the gates are driven by the PIC through resistors (as if they
were NPN transistor bases).  About any SCR will work, for example the S2006L
(about $1.20 each in Digi-Key catalog) will switch 6A RMS and turn on with
15 mA of gate current.  If you're driving multiple wires from each channel,
70 Amp SCRs are available (about $7.00), but you'll need to add a driver
transistor (emitter follower from PIC pin, with collector on 5V bus) to
supply the 50 mA gate current required.

The SCRs will turn on when positive gate voltage is applied, and turn off
during the zero-crossings of the bus voltage.  If you want on/off control
with 1/120 second resolution, synchronizing is unnecessary.  Just leave the
gate drive on while the wire is to heat up, and turn it off when not.  If
proportional control is required, synchronize the PIC with a zero-crossing
voltage derived from the bus (by comparing when the bus voltage rises above
1V or so), and generate a delayed pulse for the gate.  The more delay of
course, the less power will be applied.  But the relation between phase
delay to power is not linear (think of integrating the sine squared
function), easily corrected with a table if required.

As far as conditioning the bus voltage for the PIC, it could be simply
applied to RTCC through a suitably large resistor to limit the current to
<500 uA when the protection diode clamps the pin voltage to 5V.  Loading the
bus with a resistor to ensure that it does return to 0V at each half-cycle
would be a good idea.  The turn-on point would be about 3V.  If earlier
detection is required, a more sophisticated voltage comparator, for example
driving the base of an NPN transistor and using the collector with a pull-up
to 5V, would switch on while the bus voltage is more than 1V or so.

-Mike

1995\08\04@102659 by Paul Greenwood

flavicon
face
> >        Now I am wondering if any of you have experience with sourcing
> >PWM current from an un-regulated supply.  I am thinking that maybe I can
> >simply step down the ac line, full wave rectify it, and synch my PIC PWM
> >timing to the zero crossing.  I use IRF520 MOSFETs to switch the current.
> >This would insure that my driving waveform would be uniform for each cycle.
> >I do not believe that having a non-DC source current is any problem.  After
> >all, I am only heating wire.

I'm wondering - why not just use a triac and NOT convert to DC?  Yes, you need
to sense the zero crossing.  It's EASY!  Just add one resistor.  The app.
notes show you how.

--

           -- Paul Greenwood --  (RemoveMEpabloKILLspamspamTakeThisOuTaustin.ibm.com)

Newton's Fourth Law:  Every action has an equal and opposite satisfaction.

1995\08\05@172229 by First Last

flavicon
face
>>how about some clever (meaning cheap/simple) ideas for PIC
>>sense zero crossing from the transformer secondary.

AN521, "Interfacing to AC PowerLines"
works like a charm.  I have 2 projects where I did just that and they
have been working fine for over a year.

The only real reason to sync to zero cross is if you are using SCR or
Triac as the current switch.
Then you let the zero cross turn off the device.
If you are using MOSFETs, then you can turn them off anytime.
So, set the PWM frequency much higher than 60 Hz and don't worry about
sync.
This does not take into account switching transient noise if that is a
concern.

Hope this helps,  Gary Skinner,  ESI

1995\08\05@182403 by mlk

picon face
       Thanks all for the suggestions.  I am curious about Gary Skinner's
suggestion.  How much higher than 60Hz is "much higher"?  I do a single PWM
control loop that drives 8 separate actuators.  They all function with the
same master cycle.  All turn on at the same time and I just toggle the bit
for each off when the time for that one runs out.  The 20MHz PIC is doing
about 230Hz at best the last I checked.  Is that fast enough to avoid some
sort of beat frequency effect?

Thanks,

Martin Kirk
Arizona State University
spamBeGonemlkspam@spam@asu.edu
(602) 582-5718

On Sat, 5 Aug 1995, First Last wrote:

{Quote hidden}

1995\08\06@193046 by First Last

flavicon
face
Martin writes:
ML>        Thanks all for the suggestions.  I am curious about Gary Skinner's
ML>suggestion.  How much higher than 60Hz is "much higher"?  I do a single PWM
ML>control loop that drives 8 separate actuators.  They all function with the
ML>same master cycle.  All turn on at the same time and I just toggle the bit
ML>for each off when the time for that one runs out.  The 20MHz PIC is doing
ML>about 230Hz at best the last I checked.  Is that fast enough to avoid some
ML>sort of beat frequency effect?

I don't really know exactly what much higher means.
The PWM is chopping up the sinewave into pulses.  If it chopped up each
cycle into at least 3 or 4
pieces, then there should not be any "beat frequency" type of problems.
I suppose you could do a lot of math and verify some results, but I
would probably build a
simple device and measure the RMS output as a function of PWM on/off
ratio.
I expect it will be pretty linear with 230Hz period.

Please let us all know how the experiment works out.

Thanks,  Gary Skinner  ESI

1995\08\07@160429 by CRSO.pic

flavicon
face
-> The only real reason to sync to zero cross is if you are using SCR or
-> Triac as the current switch.

Sorry to butt in here Gary...

The main reason to sync to the zero crossing is to minimize in-rush
current and its resulting EMI. Connecting the load to the mains while at
peak voltage results in a high dI/dT surge that many loads don't
appreciate. As well, EMI emanations will abound up into the MHZ region.
An inductive load just complicates this even further.

This is one of the reasons one can't (or shoudn't) use a dimmer switch
with an inductive load.

Regards, Dana Frank Raymond - Foxtrot Systems Ltd.
Internet: RemoveMEdana.raymondspam_OUTspamcanrem.com. Compuserve: 73362,3052

1995\08\12@193210 by Eric Smith

flavicon
face
On Fri, 4 Aug 1995 00:30:08 +0600, Mike Keitz <mkeitzspamspamBEV.NET> wrote:
> As far as conditioning the bus voltage for the PIC, it could be simply
> applied to RTCC through a suitably large resistor to limit the current to
> <500 uA when the protection diode clamps the pin voltage to 5V.  Loading the

Note that the RTCC pin does not have an internal protection diode (to the
postive supply rail) as most of the other pins have.  You will need to add
the diode externally, as shown in Microchip application note AN521.

Eric

'70VAC HOT WIRES'
1995\08\15@125128 by Kenny Baby

flavicon
picon face
WELL YOU SHOULD HAVE A GOOD CASE TO DEFEND IF ANYTHING GOES WRONG,
DID THE BURNS COME FROM THE 70VAC OR THE HOT WIRES. OVER TO THEM TO
PROVE...!
.
.
.
.
.
.
I've seen things you people wouldn't believe.
Attack ships on fire off the sholder of Orion.
I watched C-beams glitter in the darkness at Tan Hauser Gate.
All those moments will be lost in time,
like tears in rain.
Time to die.

Remember now, watch out for the Fairies......!

'Spammer Blacklist (was: "Jeff 'Deathwish' Slaton")'
1995\08\16@210733 by Andrew Warren

face
flavicon
face
David Warman <spam_OUTdjw2spam_OUTspamspam_OUTUKC.AC.UK> asked:

>Is there a 'spammer blacklist' mailing list?

   YES!  math-http://www.uni-paderborn.de/~axel/BL/blacklist.html

   -Andy

--
Andrew Warren - fastfwdspam_OUTspamix.netcom.com
Fast Forward Engineering, Vista, California

'Hitachi HD404019 micro'
1995\08\20@003817 by ep2fm

flavicon
face
Dear Sirs,
Can anybody help me get an assembler and simulator program for the Hitachi 400
series 4 bit microcomputers. Hitachi does freely advertise them and distribute
nice catalogs but I have faild in my efforts to get somebody to sell me the
software support needed namely:
-- SE400PC      Macroassembler
--SE400SIMPC    software simulator
--SEAPPS400PC   application library
Best Regards
A.sadjadian

'Serial Interface'
1995\08\20@112200 by Mark A. Corio

picon face
Newson,

It was unclear from your note what your problem was.  We have
implemented an RS-232 serial interface to the 16C74 that works pretty well.
We used the ByteCraft MPC compiler (C-language).  If it would help I would
be glad to forward you the source code for our intterupt routine.  Please let
me know.

I tried to e-mail you directly and it bounced....hope you get this.

Mark A. Corio
Rochester MicroSystems, Inc.
200 Buell Road, Suite 9
Rochester, NY  14624
Tel:  (716) 328-5850
Fax:  (716) 328-1144
e-mail:  RemoveMEMcorioKILLspamspam@spam@aol.com

***** Designing Electronics For Research & Industry *****

'AN591 code ? (ADB interface)'
1995\08\28@074545 by Markus Imhof

flavicon
face
Hello,
I just downloaded AN591 - ADB from Microchip and was wondering if (and
where - URL?) the PIC code (and the Mac code ?) for that application are
available. It doesn't seem to be included in the .zip. Or would I just have
to take a few good looks at the flow diagram and go ahead ?

Bye
 Markus

1995\08\28@155904 by Doug Sellner

flavicon
face
>Hello,
>I just downloaded AN591 - ADB from Microchip and was wondering if (and
>where - URL?) the PIC code (and the Mac code ?) for that application are
>available. It doesn't seem to be included in the .zip. Or would I just have
>to take a few good looks at the flow diagram and go ahead ?
>
>Bye
>  Markus

DITTO!!!

Doug Sellner
Beach Tech
4131 Vincent Avenue South
Minneapolis MN 55410

Voice (612) 924-9193 x 521
Fax   (612) 926-1145

Internet: dsellnerspamBeGonespam.....embay.com


'ACCESS.bus'
1995\09\02@104027 by Kalle Pihlajasaari
flavicon
face
> >Access bus is apparently an implementation of a moderately fast I2C
> >bus that is going to be the new PC interface standard.  Information

> >describing the integration of microchip products onto the Access BUS.
> >I did not have a chance to read thedoc yet (only 2 sides) but will check
> >it out in the morning.
>
> Please tell us what MicroChip writes in this dos, I would greatly
> appreciate it...

It turns out that it is quite vague about the actual support, more of a
catch your eye type of flyer (caught my eye).

Title: ACCESS.BUS (tm) SUPPORT PRODUCTS
SubT: Microchip offers a variety of IC products and tools that support
     ACCESS.bus systems.
SubTback: Microchip's ACCESS.bus products are optimised for
         performance, low power consumption, small
         footprint and field programability.
Offers 8-bit microcontrollers, high-density EEPROMs and battey control devices
as solutions.

It mentions that the 16C64 (40 pin) has biult-in firmware support for
slave mode ACCESS.bus operation and field programmability.

Gives main points of serial EEPROMs in hte 1-64kbit range.

Mentions mouse and battery monitor embedded solutions.

Suggests that one speak to a local salees office for more A.b support
info.

Cheers

--
Kalle Pihlajasaari     KILLspamkallespam.....data.co.za        ( soon spam_OUTkallespamKILLspamip.co.za )
Interface Products     Box 15775, Doornfontein, 2028, South Africa
+27 (11) 402-7750      Fax: +27 (11) 402-7751  ( soon 402-7723 )

'Acknowledge (Was: Fuzzy controllers)'
1995\09\06@190308 by Ronny H. Kavli

flavicon
face
>>(Do not ask me about details regarding this code, as I _not_ am the
>> author of this code - Kavli)
>
>    No kidding, Ronny... How about asking the authors of FIDE for
>    permission before you go posting their copyrighted code to the
>    world?  Or at least acknowledging the copyright?

Since Andrew Warren has forced me :-) to investigate in this, the
author of the code I supplied is Raymod Carr. I don't know if he was
employed by Aptronix at the time the code was written or if the code
was bought by Aptronix at a later date or whatever.

In any case Raymond should be acknowledged for writing that code.
Newer versions of the code can be found by anonymous ftp at:

ftp.gre.ac.uk:/pub/robotics/motorola/mcu11/

Regards,
-------------------------------------------------------------------------------
Ronny H. Kavli                      This message was composed by 10,000 monkeys
RemoveMEkavliRemoveMEspamEraseMEludd.luth.se                  keying on 10,000 computers.  It was then
Lulea Academic Computer Soc.(Ludd)  merged using COBOL.  This was of course
Lulea University, Sweden            all done under a government contract.

'Looking for a good quality I2C DAC'
1995\09\08@072636 by divanov

flavicon
face
> I need a DAC to controll a servo amp from a PIC. Sadly I don't have any more
> pins left. (it's an existing design.) I already have an I2C port implemented.
> I have tried to use a PCF8591 (Phillips 8 bit ADC / DAC) but it does'nt seem
> accurate enough. Can anyone point me in the direction of a different part?
> It MUST be I2C compatible.

Well, there is a whole range by MAXIM, but unfortunately it's only
SPI/QSPI/Microwire compatible. Maybe that will also do for your
purposes. It's also a serial protocol.
Here we go:

MAX504   10bit   SPI   serial version of 503
MAX515   10bit   SPI   ultra low power
MAX531   12bit   SPI   serial version on 530
MAX538   12bit   SPI   8pin ultra low power
MAX539   12bit   SPI   same, just 0-5V output
MAX543   12bit   SPI   multiplying
MAX7543  12bit   SPI   multiplying

Cheers,

Richard

1995\09\09@083556 by DEZA ASENSIO, Roberto

flavicon
face
Hi

>I need a DAC to controll a servo amp from a PIC. Sadly I don't have any more
>pins left. (it's an existing design.) I already have an I2C port implemented.
>I have tried to use a PCF8591 (Phillips 8 bit ADC / DAC) but it does'nt seem
>accurate enough. Can anyone point me in the direction of a different part?
>It MUST be I2C compatible.
>

Well, if a non-monochip way is accepted, you can use the Philips PCF 8574(A)
part, wich is a I/O port expansor I2C interfaced and connect your paralell DAC
of choice. Same can be done using a '73, programed to receive I2C request from
master PIC an output it to the DAC on *any* format.

Best regards:

>
--
Roberto Deza Asensio               |KILLspamrdezaspamspamBeGonepopmail.cti.unav.es
Universidad de Navarra             |rdezaspamspamcun.unav.es
Centro de Proceso de Datos         |RemoveMErdaspamBeGonespamRemoveMEcpd.unav.es

'Getting back up to speed...'
1995\09\21@151322 by Timothy McDonough DIAL UP1

flavicon
face
It's been a while since I last programmed a PIC and I'm starting a new
project with a 16C54. I downloaded recent versions of the assembler,
simulator and Picstart software.

The assembler manual cautions that I should no longer use the OPTION
and TRIS commands. Okay, how do I go about accessing these registers
for setup, etc.? (My updated documentation on the micro's isn't here
yet but I want to get started.) Where can I look at a code snippet
of some "modern" 16C54 code?

Thanks in advance,

Tim

1995\09\22@000349 by Brian Read

flavicon
face
The difference on OPTION and TRIS commands is now you just
perform regular op-codes on the OPTION and TRIS file registers.

Brian

1995\09\22@134631 by Stuart Allman

flavicon
face
To access the ports you will need to set the appropriate bit in the
STATUS (I think it's bit 5) register so that you are in page 1.  Then set
the appropriate bits in the TRISA, TRISB, or TRISC register to configure the
pin on each port as an input or output (1 for input, 0 for output).  You
should be able to use the picreg.equ file to get the addresses of the registers.
Don't forget to change back to page 0.

Stuart Allman
KILLspamstudiospamBeGonespamhalcyon.com

1995\09\22@163944 by John Payson

flavicon
face
>
> It's been a while since I last programmed a PIC and I'm starting a new
> project with a 16C54. I downloaded recent versions of the assembler,
> simulator and Picstart software.
>
> The assembler manual cautions that I should no longer use the OPTION
> and TRIS commands. Okay, how do I go about accessing these registers
> for setup, etc.? (My updated documentation on the micro's isn't here
> yet but I want to get started.) Where can I look at a code snippet
> of some "modern" 16C54 code?

On the 16C64, those instructions ARE the way to access those registers.  On
some later micros like the 6x/7x series, the instructions are still available
but the option and tris registers are available as "general purpose" registers
and should be accessed thusly, not by special-purpose instructions.

'Cracking CP Pics & Port Timing'
1995\09\26@172740 by Christopher

flavicon
face
I saw a quick FAQ on cracking PIC's (16C84's) on a site on the Netherlands.
Has anybody tried this? (IT spoke of leaving VDD at .5vdc and VPP @ 12) Thus
placing the PIC into a mode unnoted in the data-sheet..  Has anybody tried
this?  I can't get this to work..

Also-  I am having great time problems talking between my decoder and the
chip..  Very strange.. I am using a constant 3.5 mhz clock input.  Seems like
the values change every day depending on temp, weather, etc..  Any ideas? Using
XT clock..

'2D Space Recognition'
1995\09\27@091715 by Stuart Allman

flavicon
face
I'm looking for a way to create a small pad where I can put sensors at
the corners and have them recognize where an object is in the area.  I
was thinking about doing it with magnetic fields, but there's no flux
change unless I move the object.  Is there any way to do this with an IR
transmitter.  The area is limited to 10cm x 10cm and it has to be
sensitive to within 0.1 mm.  The source of movement can't be a
directional, because the signal must be picked up no matter where the
object is.

Stuart Allman
@spam@studioSTOPspamspam@spam@halcyon.com

1995\09\27@114553 by Rolan

flavicon
face
On Wed, 27 Sep 1995, Stuart Allman wrote:

> I'm looking for a way to create a small pad where I can put sensors at
> the corners and have them recognize where an object is in the area.  I
> was thinking about doing it with magnetic fields, but there's no flux
> change unless I move the object.  Is there any way to do this with an IR
> transmitter.  The area is limited to 10cm x 10cm and it has to be
> sensitive to within 0.1 mm.  The source of movement can't be a
> directional, because the signal must be picked up no matter where the
> object is.
>
> Stuart Allman
> studiospamBeGonespamspamBeGonehalcyon.com

You might want to try modifying an old Koala Pad (a touch pad made
for Apple & Commodore computers). I think that Radio Shack used to
also sell a version of it. How heavy is your object?

-()---()---()---()---()---()---()---()---()---()---()---()---()---()---()-
Rolan Yang            http://hertz.njit.edu/~rxy5310   Electrical Engineer
spamBeGonerxy5310spamhertz.njit.edu                             spam_OUTkyuriusSTOPspamspamtsb.weschke.com
VR,ROBOTICS,FENCING,HACKING,INDUSTRIAL MUSIC,ART,EXPLOSIVES,INLINE SKATING
                   THESE ARE A FEW OF MY FAVORITE THINGS.
-()---()---()---()---()---()-----()-()---()---()---()---()---()---()---()-
4 out of 10 people are annoyed by ^ this.

'Microchip's BBS access from JANET'
1995\09\28@053359 by Sean Hagan

flavicon
face
On Wed, 27 Sep 1995, David Tait wrote:

> I notice that you are at a UK university, so you should be able to
> reach the BBS via JANET.  Although I mentioned this last March
> it might be worth repeating.
>
> Connecting to the Microchip BBS via JANET:
>
> Use telnet or whatever to connect to your local JANET PAD.
> At the "PAD:" prompt type "call pss-gate".
> At the ">" prompt type "(,r).compuserve".
> At the "Host Name:" prompt type "mchipbbs".
>
> If you want to download files from the BBS you will probably
> need to use a recent version of Kermit (i.e. one that can work over
> a telnet connection).
>

This used to work from this site, however the PAD command has recently been
removed from the local server.  If you don't have access to the PAD
command you could try TELNET to :-

lon.telnet.ja.net
south.telnet.ja.net
north.telnet.ja.net
mid.telnet.ja.net

These convertors are arranged in (obvious) geographical locations in the
U.K. - choose the nearest.  Once you get the 'Connect to:' prompt just
type 'pss-gate'.  David's instructions follow from this point.

This method seems to work for this '.ac' site !

Sean Hagan

'2D Space Recognition'
1995\09\28@085539 by Greg Riddick

flavicon
face
You also might want to try: Interlink Electronics
                           546 Flynn Road Camarillo CA 93012
                           805-484-8855

They make force-sensing resistors in various flat configurations,
including a square grid of sensors that might work for your
application. My information is 2 years old, so hopefully they're
still in business.

'p16C84 Code for VideoCrypt/D2MAC'
1995\09\28@094427 by Christopher

flavicon
face
If anybody has any code they wish to "exchange" for educational purposes..  I
have a growing library of it!  I am always looking for code with external
eeprom usage also.. twin pic, single pic, no problem!

Anything..  My interests are in VideoCrypt though with D2MAC also!


<RemoveMEatvscs27spamspamemail2.grafenwoehr.army.mil>>

'2D Space Recognition'
1995\09\28@113901 by mike

flavicon
picon face
In message <TakeThisOuT9509271419.aa03387spamspamRemoveMEpunt-4.mail.demon.net> KILLspamPICLISTspamspamspam_OUTmitvma.bitnet
writes:
> I'm looking for a way to create a small pad where I can put sensors at
> the corners and have them recognize where an object is in the area.  I
>                                              ^^^^^^
> Stuart Allman
> studioRemoveMEspamhalcyon.com
>
Any clues to the size, shape and weight of this object? It might help
with a solution.

Mike Watson
--
Mayes uk

1995\09\28@194931 by Stuart Allman

flavicon
face
On Wed, 27 Sep 1995, Mayes uk wrote:

> In message <EraseME9509271419.aa03387STOPspamspamRemoveMEpunt-4.mail.demon.net> spam_OUTPICLISTRemoveMEspamEraseMEmitvma.bitnet
>  writes:
> > I'm looking for a way to create a small pad where I can put sensors at
> > the corners and have them recognize where an object is in the area.  I
> >                                              ^^^^^^
> > Stuart Allman
> > TakeThisOuTstudioRemoveMEspam@spam@halcyon.com
> >
> Any clues to the size, shape and weight of this object? It might help
> with a solution.
>

Think of the pad in the same way as the powerbook touch pads work.  The
object could be the tip of a pen, or a finger, or the end of some type of
sensor. ie.  Something small.

Stuart Allman
EraseMEstudioRemoveMEspamhalcyon.com


> Mike Watson
> --
> Mayes uk
>

1995\09\29@185326 by Christer Johansson

picon face
Hi,

>You also might want to try: Interlink Electronics
>                            546 Flynn Road Camarillo CA 93012
>                            805-484-8855
>
>They make force-sensing resistors in various flat configurations,
>including a square grid of sensors that might work for your
>application. My information is 2 years old, so hopefully they're
>still in business.

Anyone who has the faxnumber to Interlink Electronics ?

Thanks in advance,

/Christer

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* High Tech Horizon - Christer Johansson - * email: spamcj.....spamspamalgonet.se *
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* Vi saljer Parallax, Inc. BASIC Stamp's produkter i Skandinavien *
   >> World Wide Web - http://www.algonet.se/~cj/catalog.html <<
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

1995\09\29@233919 by sorokin

flavicon
face
>Hi,

>>You also might want to try: Interlink Electronics
>>                            546 Flynn Road Camarillo CA 93012
>>                            805-484-8855
>>

>Anyone who has the faxnumber to Interlink Electronics ?

Their fax number is: (805) 484-8989.

----
Sergey Sorokin
ProSoft, Inc.
17/21 Malaya Ekaterininskaya Str., 129110, Moscow, Russia
Tel. +7(095) 971-2059
Fax. +7(095) 971-4000
E-mail: sorokinspam_OUTspam@spam@prosoftmpc.msk.su


'2D Space Recognition'
1995\10\01@132819 by Greg Riddick
flavicon
face
FAX NUMBER for Interlink Electronics: 805-484-8989

'SPI to PIC Interfacing'
1995\10\02@001612 by Tommy Brown

flavicon
face
Hi all, first of all an introduction, I am American, working overseas, as
Consultant.  Presently based in South East Asia, in Jakarta, Indonesia.
I support process controll equipment used in oilfield applications measuring
and acquiring data on flow, pressure, density, rheology, ph, temperature etc.
Also control applications such as mixing and injecting chemicals into a flow
line in controlled concentrations using open and closed loop controls, or
hydraulic speed controls using all sorts of controllers such as Z80, 8085,
6802, 68k etc.

I joined this list because I am very interested in the PIC microcontrollers.
I have been studying both the 94/95 Microchip Embedded Control handbook, and
the 94 microchip data books I got from the the distributor in Singapore.  I
have also retrieved every possible code sample snippets I could locate on
FTP locations in USA and Europe/UK.  I have Microchip mpasm, mpsim, as well
as the parallax variants, disasemblers for hex code back to
microchip/parallax source, info for building programmers, etc.  Also any
other software I found to be of any use, including PIC FAQ, FAQ's on
Parallel ports etc.  I am studying PIC code and writing short programs for
mpsim at present, to see how the code works.

I have been receiving the piclist for about two months now.  I wanted to see
what was discussed and what wasn't.  I am needing information on serial
communications between two or more SPI capable IC's and a PIC, and RS232 to a
comm port.  I have latest Microchip data and embedded manuals, I found
information on the I2C spec.  Unfortunately, what I am interested in is the
newer serial 14 and 16 bit ADC's that are available from Analog Devices and
Maxim.  I want the resolution you get with 14/16 bits, (If you measure 20,000
psi and need 1 psi accuracy, you know what I mean).  Both support SPI
interface, which are either 3 wire or four wire interfaces.  Analog Devices
or Maxim give timing diagrams and relative information on the AD itself
(command structure) etc.

Since I would like to avoid reinventing the wheel, I would like to know if
anyone out there on PICLIST, has interfaced SPI IC's to PIC's?  Any info on
pin connections between PIC and periferals?  How about Realtime Serial
communications with PIC and host Comm port?

What I am looking for is examples of code which I can use to help me understand
the SPI to PIC serial protocol better, as well as the serial comms also.

For example, I would like to do the following: send serial code over SPI
which acesses the device (usually you must also enable the chip select
also), normally
the code defines start of A/D Conversion, channel number to convert, mode of
device, etc., and then clocks the 14 or 16 bit binary number to multiple
data registers of the PIC RAM area, from one of these devices.  Since the
PIC ram area is only 8 bits wide, at a minimum, two 8 bit ram locations
would be needed for
each 14/16 bit data word.  Since I would like to use the multi channel
varients that means looping this routine n times before returning.  I don't
quite
understand how to split up the binary number received via the SPI and load
it into two places in RAM (You must also split off the leading and trailing
controll characters etc.

Once I have the 14 or 16 bit number in RAM, I would like to retrieve the 14
or 16 bit number from their respective RAM locations, assemble them as a
serial data stream of n channels of comma delimited data and send it out via
RS232 to a comm port.

I have found math examples that reference manipulating two 16 bit numbers,
to get
a 16 bit double precision number, but I would like to know what happens when
you have a 14 or 16 bit real binary number, split into 2 8 bit locations,
where least significant number is 8 bits, and most significant number is 6
bit with 2 leading zeros (for 14 bit) or 8 bits (for 16 bit).  How do you
put the number back
together before sending via RS232?

In Embedded controll, there are examples of using PIC to communicate via RS232
but the examples are using a lookup table to printout characters, and don't
really address my need to understand how to read ram and send via RS232 in
realtime.

All of examples I have found so far reference I2C and usually 8 bit data.

All of my experience is mainly hardware only, and with bytewide uP interfaces
using MUX to link multiple analog and digital inputs.  I didn't need to program
in software because the companies I worked, for wrote their own proprietary
software programs for their equipment.

As a hobby, I am now developing my own hardware and writing my own software.
I have experience with Fortran (IBM 370) and Basic programming (PC), some
assembly language (IBM 370), but has been some years since I did any
programming like
that (1980).  I chose the PIC because of it's RISC archtecture, small size,
little need for additional periferal components to get it up and running,
and reasonable development costs, and is available easily from electronic
jobbers, and it looks to be a good performer for my applications.

Thanks in advance, Tom Brown


********************************************************************************
* Tom Brown
E-Mail:.....tombrownspamspam.....indo.net.id  *
* Bumi Karang Indah                                Phone: 62-21-7508264        *
* Jalan Karang Asri II,       **************************************************
* Blok C2/#43, Lebak Bulus  *    "If somthing is worth doing,                 *
* Jakarta, Seletan 12440   *           It's worth doing right the first time"  *
* Indonesia               *                                                    *
********************************************************************************

'PICMaster Ideas - Cracking a 'thin' 16C84 ICE PIC'
1995\10\02@100634 by Scott Stephens

flavicon
face
I recently read about the Pentium's secret performance evaluation registers
being hacked and posted at a web site. These registers were described in a
confidential data book volume made available to Intel's prefered developers.

This reminded me a posting a while back, in which someone suggested
unpublished codes may exist that would allow data to be read out of a PIC's
registers, for debugging. It is obvious from the data book, Programming
Specification (pg 3-26, table 1.2.1.1) that many other codes exist, and may
have benificial undocumented effects.

If the special function and data registers can be read, the device put in an
out of programming mode in-circuit, and the number of clock pulses
controlled with a gated oscillator controlled by software to manage
break-points (a concurrent simulation, maybe?) it would go half way to
hardware emulation even if the programm would halt when the long-time serial
data read out occured. And a long way in inexpensive, simple, in-ciruit
debugging.

I was thinking of issuing commands to the PIC in programming mode, and
analyzing the state (high/low/high-Z) as clock pulses are applied. Running
code on the pic to initialize registers, and testing the registers by
running the PIC again after test commands are issued. Maybe someone has some
C-source code for programming 16C84 or other PIC's, they could modify and
share with others for a concerted, systematic assault on the
programming-mode command code space. MPSIM's archaic interface's learning
curve and the horror of multi-tasking have kept me busy and frustrated
lately, so I havn't gotten around to it.

I suppose its an ethical issue; a manufacturer's right to enable/disable
features they see fit, and price accordingly. Like Intel's zapping FPU's on
some 486 to sell them for less, and withhold information from all but
they're favorite developers, to give them a performance edge

And a customers desire to fully explore and exploit a product they have
purchased. I don't think searching out undocumented features is the same as
removing copy protection from or password cracking features on software, but
rather like modifying a car or computer to increase its performance.

Now, if I had the new & improved MP-LAB simulator, I would no doubt have
better things to do ;->

'Press coverage of PIC16C84 hacking'
1995\10\02@151440 by PETE KLAMMER

flavicon
face
In case you wondered why we've been seeing so much discussion of PIC16C84
code-protect circumvention...

August 1995 ``Electronics Now'' magazine carries two articles, ``Has DSS
Been Hacked?'' and ``Satellite Signal Piracy - The European Experience''
which both mention the PIC role in subscription-TV piracy.  As far as I can
tell, the original authorization smartcards were not PIC-based, but a first
generation of pirate smartcard emulators were built from PIC16C84s.  Then a
second wave of re-pirates cracked those pirate cards to break the first
wave's monopoly on the piracy!  Interesting reading, about piracy wars
anyway, nothing much specific on PICs (other than affirmation as very
powerful tools).

Peter F. Klammer                                       PKlammerKILLspamspamEraseMEACM.Org
w:(303)773-7411 h:(303)233-9485   EEPROM: mere bridge techology to FRAM
11221 West 27th Place       Learn about League for Programming Freedom!
Lakewood, Colorado 80215          by sending email to: EraseMElpf@spam@spam@spam@uunet.uu.net

'Re[2]: PICMaster Ideas - Cracking a 'thin' 16C84 I'
1995\10\03@132622 by BBoles

flavicon
face
    The only thing that you will find in the undocumented codes are modes
    that allow us to load instructions in parallel over the A,B ports of
    the device.  This is our primary test methodology.  We load 12 bits of
    the 14 bit instruction and 2 of the bits are defaulted.  There is a
    provision to vector to a start address and to revert to internal
    execution that allows port functionality again. We can then run the
    device from an external instruction stream to test.

    Rgds, Brian.


______________________________ Reply Separator _________________________________
Subject: Re: PICMaster Ideas - Cracking a 'thin' 16C84 ICE PIC
Author:  Scott Stephens <@spam@stephnssspamspamKILLspamKIWI.PYROTECHNICS.COM> at Internet_Exchange
Date:    10/2/95 9:09 AM


I recently read about the Pentium's secret performance evaluation registers
being hacked and posted at a web site. These registers were described in a
confidential data book volume made available to Intel's prefered developers.

This reminded me a posting a while back, in which someone suggested
unpublished codes may exist that would allow data to be read out of a PIC's
registers, for debugging. It is obvious from the data book, Programming
Specification (pg 3-26, table 1.2.1.1) that many other codes exist, and may
have benificial undocumented effects.

If the special function and data registers can be read, the device put in an
out of programming mode in-circuit, and the number of clock pulses
controlled with a gated oscillator controlled by software to manage
break-points (a concurrent simulation, maybe?) it would go half way to
hardware emulation even if the programm would halt when the long-time serial
data read out occured. And a long way in inexpensive, simple, in-ciruit
debugging.

I was thinking of issuing commands to the PIC in programming mode, and
analyzing the state (high/low/high-Z) as clock pulses are applied. Running
code on the pic to initialize registers, and testing the registers by
running the PIC again after test commands are issued. Maybe someone has some
C-source code for programming 16C84 or other PIC's, they could modify and
share with others for a concerted, systematic assault on the
programming-mode command code space. MPSIM's archaic interface's learning
curve and the horror of multi-tasking have kept me busy and frustrated
lately, so I havn't gotten around to it.

I suppose its an ethical issue; a manufacturer's right to enable/disable
features they see fit, and price accordingly. Like Intel's zapping FPU's on
some 486 to sell them for less, and withhold information from all but
they're favorite developers, to give them a performance edge

And a customers desire to fully explore and exploit a product they have
purchased. I don't think searching out undocumented features is the same as
removing copy protection from or password cracking features on software, but
rather like modifying a car or computer to increase its performance.

Now, if I had the new & improved MP-LAB simulator, I would no doubt have
better things to do ;->

1995\10\04@024020 by divanov

flavicon
face
BBoles@CCMAIL.MICROCHIP.COM writes:

... snip snip ...
>      The only thing that you will find in the undocumented codes are modes
>      that allow us to load instructions in parallel over the A,B ports of
>      the device.  This is our primary test methodology.  We load 12 bits of
>      the 14 bit instruction and 2 of the bits are defaulted.  There is a
>      provision to vector to a start address and to revert to internal
>      execution that allows port functionality again. We can then run the
>      device from an external instruction stream to test.
... snip snip ...

It may be a good idea that these modes stay undocumented. Otherwise
one may be able to pull the old 8051 trick for reading protected
code. I know that the 16C84 is not secure anyway, but it won't help
much if one can load externaly instructions that then output the
internal code through the ports...

My 2 local cents worth (about USD 0.007).

Richard
Cape Town

1995\10\04@110148 by Andrew Warren

face
flavicon
face
Richard Ivanov <spamBeGoneDIVANOVRemoveMEspamEraseMEPLESSEY.CO.ZA>, forgetting that the PICs use a
strict Harvard architecture, wrote:

>one may be able to pull the old 8051 trick for reading protected
>code. I know that the 16C84 is not secure anyway, but it won't help
>much if one can load externaly instructions that then output the
>internal code through the ports...

   Impossible, Richard... 16C84 programs can't read from code space,
   protected or not.

   -Andy

--
Andrew Warren - RemoveMEfastfwdKILLspamspamRemoveMEix.netcom.com
Fast Forward Engineering, Vista, California

1995\10\05@021735 by divanov

flavicon
face
Andy wrote:

> >one may be able to pull the old 8051 trick for reading protected
> >code. I know that the 16C84 is not secure anyway, but it won't help
> >much if one can load externaly instructions that then output the
> >internal code through the ports...
>
>     Impossible, Richard... 16C84 programs can't read from code space,
>     protected or not.

Perfectly correct, Andy. No DPTR's in PICs. However, EEPROM contents
(those 64 bytes) of the '84 would still be insecure. If I recall
correctly, the lock bits protect that as well.

Cheers,
Richard
Cape Town

'macros for "structured assembly" ?'
1995\10\11@024533 by William Chops Westfield

face picon face
Hmm.  As a processor based on fixed length instructions and SKIP based
comparisons, the PIC should be well suited for a variations of macros
I first saw on PDP-10s 15 years or so ago.  They look like:

       skipe           ; Skip if equal to zero, or on any other condition
       %if             ; a macro
         ;code to execute if the instruction skips
         ; etc
         ;  etc
       %else           ;Another macro
         ;code to run if no skip
         ; etc
       %end

Note that %if and %else generate jumps, and %end simply defines a symbol.
the challenge with most assemblers is getting each use of the macros to
generate a separate set of symbols.

If anyone would like these, I can dig up PDP-10 and MASM versions of the
macros and see if I can convert them to the microchip PIC assembler ("it's
the one with macros right?" he asks sheepishly, fearing to admit that the
disk is still in the shipping package...)

BillW

1995\10\12@011033 by Andrew Warren

face
flavicon
face
William Chops Westfield <TakeThisOuTbillwspamCISCO.COM> wrote:

>I can convert them to the microchip PIC assembler ("it's the one with
>macros right?" he asks sheepishly, fearing to admit that the
>disk is still in the shipping package...)

Bill:

Don't bother unpacking the disk; it's undoubtedly an old version of the
assembler.  Instead, call the Microchip BBS and download the newest
version.  I'm using 1.21.09, but I think the latest released version is
something like 1.21.00.  You'll like it much more than whatever version
you have.

-Andy

--
Andrew Warren - spamBeGonefastfwdKILLspamspamTakeThisOuTix.netcom.com
Fast Forward Engineering, Vista, California

'PIC Mac-ADB code?'
1995\10\19@061302 by Ronald Leenes

flavicon
face
Microchip app note 591 describes how to hook up a PIC to the Apple Desktop
Bus. Does anyone know where to find the actual code for the PIC. I got no
reply from the writers of the code?

I would be very interested in building an I/O module interface for the Mac
via the ADB bus.
Anyone ever done this?



                                             Ronald

'Help me - "unpacked" chips 16C84'
1995\10\19@092358 by Frantisek Spurny

flavicon
face
I am interested in Microchip 16C84 microcontroller. We plan to use it
in our new smart senzor. Since we are limited by a small size of the
equipment, it is unable to use the controller in package. We need
"unpacked" chips of 16C84 in order to contact them directly to the
sensor.

I would appreciate receiving an information about delivery of
"unpacked" 16C84 chips from Microchip (if available), information
about bussines conditions and price.

Thanks, Frantisek.

--
 Frantisek Spurny
 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Czech Technical University in Prague
 Faculty of Electrical Engineering
 Department of Microelectronics    +-----------------------------+
 Technicka 2                       | Tel.: +42 - 2 - 24 35 28 63 |
 CZ-166 27  Praha 6                | FAX : +42 - 2 - 24 31 07 92 |
 Czech Republic                    | E-mail: EraseMEspurny.....spamKILLspamfeld.cvut.cz |
 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

'PIC Mac-ADB code?'
1995\10\19@173606 by Chris Smolinski

flavicon
face
>Microchip app note 591 describes how to hook up a PIC to the Apple Desktop
>Bus. Does anyone know where to find the actual code for the PIC. I got no
>reply from the writers of the code?
>
>I would be very interested in building an I/O module interface for the Mac
>via the ADB bus.
>Anyone ever done this?
>
>
>
>                                              Ronald

Here's someone else who would be very interested in the same thing. I did
notice in one of the trade mags that Microchip sells a series of
micro-controllers for interfacing mice. One of them in for the Mac-ADB
port. I suspect that the code for this PIC would be most of what necessary
for interfacing to ADB.

I have the documentation from Apple that decribes the ADB bus and protocol.
I've just never had the time to "roll my own". I'd much prefer to start
with a working ADB interface and go from there.

Chris



----------------------------------------------------------------------------
|Check out my WWW page at http://www.access.digex.net/~cps/ for scientific   |
|software for the Mac, Free Radio, Shortwave Radio, and Spy Numbers Stations |
|information.                                                                |
|Finger me (spamcpsspamaccess.digex.net) for my PGP Public Key                      |
----------------------------------------------------------------------------

"Those who would sacrifice liberty for security deserve neither."
                      -Ben Franklin

'Oscillators, resistors, and Capacitors'
1995\10\20@115828 by Steve Hurd (719) 599-1778

flavicon
face
Hi there,

I have a couple of questions for the list.

How do you know which mode to use for your oscillator? (XT/HS)
In the data handbook it shows 4Mhz as both XT mode and HS mode.
I am currently using 10Mhz so I assume that HS is the mode I should use.

Also in the data book it mentions that a series resistor (RS) might be
required... It doesn't list a suggested value for RS and I am a bit unsure if I
need to use it.  I am using the ECS-100-s-4 crystal that is listed as one of
the test crystals in the data book.  I requested the data sheet for that
crystal from Digikey and the data sheet I got was fairly useless.

Still another question I have is the use of Cap's in the PIC circuits.  I know
there should be a cap near Vdd and currently I have about a 10mF planned.  How
about on the I/O lines?  Does there need to be Cap's on the I/O lines and if so
what size would be approriate so that it wouldn't slow down the I/O lines to
much.  My application will be driving an LCD Module from RS-232 info so I'm a
little concerned that if I put too large of a cap on the I/O lines that the
Serial line communication stuff may get messed up.

Thanks for the help
Steve
--
hurds-cos1STOPspamspamkaman.com

1995\10\21@032505 by Marc Laclair

picon face
-------------------------------------------------------------------------------
Marc Laclair                            |      A closed mind gathers no      |
laclairSTOPspamspamKILLspamprimenet.com                    |            intelligence            |
http://www.primenet.com/~laclair/       |                                    |
-------------------------------------------------------------------------------

On Fri, 20 Oct 1995, Steve Hurd (719) 599-1778 wrote:

> Hi there,
>
> I have a couple of questions for the list.
>
> How do you know which mode to use for your oscillator? (XT/HS)
> In the data handbook it shows 4Mhz as both XT mode and HS mode.
> I am currently using 10Mhz so I assume that HS is the mode I should use.

correct HS is the proper mode.

>
> Also in the data book it mentions that a series resistor (RS) might be
> required... It doesn't list a suggested value for RS and I am a bit unsure if
  I
> need to use it.  I am using the ECS-100-s-4 crystal that is listed as one of
> the test crystals in the data book.  I requested the data sheet for that
> crystal from Digikey and the data sheet I got was fairly useless.

About a year and a half ago I had problems gitting a PIC to oscillate.
So, I call Microchip and tried to find out more what size R to use in series.
Microchip said ask the Crystal MFG. and guess what the Crystal MFG.
said?  Thats right, ask the Microcontroller MFG.  Talk about passing the
buck.  Any way, I can't remember how I came up with the value but the
current value we use in all our products is 80.6 ohms.  Some of the PICs
will oscillate with out it and some will not.

BTW: we use the epson 4MHz and 10Mhz crystals

{Quote hidden}

A .1mF is suffient for Vdd to Vss.  Your power supply my need a diff.
size cap.  As for the I/O lines for the RS-232 you can drive right into
232 driver chip or see the APP NOTE for the RS232 direct drive in the
Microchip Embbeded controler hand book.  You will not need caps on the
LCD lines either.


> Thanks for the help
> Steve
> --
> @spam@hurds-cos1.....spamspamkaman.com
>


Cheers,

Marc La Clair

'110 VAC signal sense'
1995\10\27@082016 by Harrison Cooper

flavicon
face
I've started to play around with trying to sense a switched 110 VAC
signal.  I have brought it into an I/O pin (a diode protected pin),
but have yet to get it to work quite right.  Without a signal, the
input pin appears to be floating.  So I put a 1M pup (weak pup),
and of course, just jumpering by holding adds some capacitance from
my fingers.  It seemed to help, so I tacked it on, but it still
doesn't work - unless I probe the pin with a logic probe.  Now, a
logic probe shouldn't affect the circuit, but experiance tells me
that sometimes it does - there is by default a slight amount of
capacitance and resistive load.  I ran out of time this morning,
but what I was thinking is I need to add a small cap to ground,
such that I have a very slow rise time on a RC network, with the
1M giving a weak pup for no signal conditions.  Otherwise, the
110 hot thru a 4.7M resistor to the pin, with a cap should hold
low whenever the signal is present.

Anyone else played with this ?

spamhcooper.....spam.....es.com

1995\10\27@112152 by Conny Andersson

flavicon
face
At 06.21 1995-10-27 -0600, hcooper.....spames.com wrote:

>I've started to play around with trying to sense a switched 110 VAC
>signal.  I have brought it into an I/O pin (a diode protected pin),

-- snip -- snip --

>Anyone else played with this ?

Try this one:

               +5v

               |
               |
              ---
              / \
              ---
               |
               |
 in -|160k|----+---|100|-+--- ra0
               |         |
               |        | |
              ---       | |
              / \       | | 20k
              ---       | |
               |         |
               |         |
              ---       ---
              gnd       gnd

The diodes are there for protection (voltagelimiting to 0-5V) and the 20k
are for pull down if no input voltage. The 100 are for extra
protection and the 160k are for current limiting purposes.

Over the 160k there will be a maximum voltage drop of about
160 volt, so it should be dimensioned for maximum allowed
current into ra0 (although a small current will pass the 20k). In this case
no more than 1 mA will pass ra0. (Power dissipation = 0,16W max)

The voltage dividing part (160k/20k+diodes) will give a 5V output to
ra0 when the input voltage exceeds 45V. If the input voltage is negative
all current will float through the lower diode leaving -0,5 V to ra0.

Any comments on this? I have only tried this circuit with voltages lower
than 20V but it should work here as well.

-- Conny

1995\10\27@114727 by BBoles

flavicon
face
    Try app note AN521, Embedded Control Handbook.


______________________________ Reply Separator _________________________________
Subject: 110 VAC signal sense
Author:  Harrison Cooper <KILLspamhcooperspam_OUTspamES.COM> at Internet_Exchange
Date:    10/27/95 6:21 AM


I've started to play around with trying to sense a switched 110 VAC
signal.  I have brought it into an I/O pin (a diode protected pin),
but have yet to get it to work quite right.  Without a signal, the
input pin appears to be floating.  So I put a 1M pup (weak pup), and
of course, just jumpering by holding adds some capacitance from my
fingers.  It seemed to help, so I tacked it on, but it still doesn't
work - unless I probe the pin with a logic probe.  Now, a logic
probe shouldn't affect the circuit, but experiance tells me that
sometimes it does - there is by default a slight amount of
capacitance and resistive load.  I ran out of time this morning, but
what I was thinking is I need to add a small cap to ground, such
that I have a very slow rise time on a RC network, with the
1M giving a weak pup for no signal conditions.  Otherwise, the
110 hot thru a 4.7M resistor to the pin, with a cap should hold
low whenever the signal is present.

Anyone else played with this ?

spam_OUThcooperspamTakeThisOuTes.com

1995\10\27@124024 by Dana Frank Raymond

flavicon
face
>Anyone else played with this ?

Connie Anderson has suggested a very good circuit for detecting 117VAC. Some
notes however:

The input pin will see approximately 50 or 60 Hz (whatever the line
frequency), therefore you need to check for a high for at least 11ms (45Hz)
or so to detect the presence of voltage. If that is unacceptable, then use
the following:

My ANSI art is the pits, so here goes. Line to D1 anode. Cathode to 160K
resistor. Resistor to node with D2 anode, 10U 25V Tantalum cap, and 20K
resistor. All three of these devices are connected to GND at their other
ends. The node also has D3's anode, with its cathode connected to VCC. As
well, the node is connected to the input pin via the 100R resistor. This
last resistor prevents pin damage if the capacitor has a charge when VCC
drops during powerdown (it also provides transient protection). This circuit
will sense 117VAC within the first cycle, and the logic high will dissapear
within a few cycles when 117VAC is absent.

One other consideration is important however. To sense mains voltage you
need your GND to be a mains NEUTRAL potential. If this is a problem, then
you need to use either an isolation transformer, or an optocoupler. The
optocoupler is simple: Use a TIL113 with a series resistor and back biased
diode across the LED. The transister is connected common emitter, and the
collector has a pullup resistor to VCC and a capacitor to GND. Keep the
pullup resistor as high as possible so that the capacitor may be a small
enough value to prevent excessive current from being conducted by the
transistor.

Hope this helps.
Regards, Dana Raymond

1995\10\27@131627 by Lee Jones

flavicon
face
On Fri, 27 Oct 1995 06:21:12 -0600, Harrison Cooper wrote:

>I've started to play around with trying to sense a switched 110 VAC
>signal.  I have brought it into an I/O pin (a diode protected pin),

[snip]

On Fri, 27 Oct 1995 16:20:26 +0100, Conny Andersson wrote:

> Try this one:

[diagram removed -- high ohm resistor input with diode voltage limiters]

> The diodes are there for protection (voltagelimiting to 0-5V)

Well, actual range is 0 minus 1 diode-drop to supply (nominally 5V)
plus 1 diode-drop.  You might want to use a schottky diode to limit
the diode drop to .2 to .3 V.  This would give a nominal range, as
seen by the PIC input pin, of -0.3V to +5.3V.


Am I missing something in both postings, where's the return path?
To get a current flow, you have to close the loop.  Are you planning
on tying the digital circuit ground to the 110VAC neutral?  In the
US, mains neutral is supposed to be at earth ground (I don't know
the rules in other countries).  But I wouldn't bet _my_ life on it.

Normal solution to this is to use an isolation transformer.  Rather
than just isolate the 110VAC, you can also use it to step down the
voltage.  I've seen wall-wart units that had around 12VAC output at
low current (50-100mA).  One leg ties to digital ground.  The other
feeds into the circuit Conny provided (with appropriate adjustment
to the resistor values).

I'd provide a diagram, but I don't see how to draw a transformer's
coils using ASCII characters. :-)
                                               Lee

-------------------------------------------------------------------
Jones Computer Communications             .....lee.....spamRemoveMEfrumble.claremont.edu
509 Black Hills Dr, Claremont, CA 91711         voice: 909-621-9008
-------------------------------------------------------------------

1995\10\27@161713 by Paul Christenson [N3EOP]

flavicon
face
>I've started to play around with trying to sense a switched 110 VAC
>signal.  I have brought it into an I/O pin (a diode protected pin),

I'm sure that you have read the "see app note AN521" responses.  Going
one better, I'll give the app note (total of two pages) a once over.

The regular input pins are already over/undervoltage protected.  This
is primarily for static protection, but you can take advantage of this
for connection to 110V (child's play, compared to a static spike).

The main concern is that you have to limit the input current.  The app
note recommends a 5 Meg resistor in series, to limit the current to
32 uA peak.  (Remember to use PEAK voltage, which is 162V.)

110V -->>----/\/\/---->>--- I/O pin
              5M

Note: There is no protection to Vcc on the RTCC pin of the 16C5x series.
See the app note for more information.

===========================

Remember that you have to reference everything to AC ground potential.
Most power supplies isolate the output from the input.  However, if you
are using your own power supply, you may be able to sneak some AC
voltage from the low side of the transformer.

'Sonar Ranging with Radio Shack $24.95 electronic t'
1995\10\30@174313 by John Loch

flavicon
face
>>I found an even simpler way of getting sonar range data.  Go to Radio Shack
>>and buy their electronic tape measure for $24.95.
>I thought about hacking that too. Let me know how it works out.
>I particularly interested in the minimum distance you can measure.

>Michael J. Schreck

The minimum distance is 2 feet or 0.60 meters.  The LCD display will
display an error message for any distance below 2 feet.  This is most
probably due to a time delay required after pulsing the ultrasonic element
to allow it to settle before looking for the reflected wave.  The
repeatability is very stable at distances above 2 feet however.


- John Loch
spam_OUTjohnlochTakeThisOuTspamEraseMEmtt.com
The Source for Renewable Energy -
http://www.mtt.com/theSource/renewableEnergy


'Surface mount pics'
1995\11\01@052744 by Steven Addison
picon face
I am trying to generate a 77Khz signal from a surface mount pic in 10ms bursts.
The way I have attempted to do it at the moment I require the program
counter to increment every 0.5uS which means I need a resonator speed of
8MHz - as the PC is incremented at a quarter of the pic clock speed.

All the SMD pics in the (Farnell) catalog are 4MHz devices - and here's the
stupid question - will I be able to use an 8MHz resonator?

If anyone has any sugestions on how to achieve a 77KHz output (in 10mS
bursts) for an SMD 4MHz pic I would love to hear them!

Cheers,

Steve Addison
University of Aberdeen
Tillydrone Avenue
Aberdeen
Scotland
UK
AB9 2TN
Tel: UK 01224 272889
Fax: UK 01224 272396

'77 KHz burst (was Re: Surface mount pics)'
1995\11\01@113028 by Mike Keitz

flavicon
face
Steve Addison writes:
>I am trying to generate a 77Khz signal from a surface mount pic in 10ms bursts.
>The way I have attempted to do it at the moment I require the program
>counter to increment every 0.5uS which means I need a resonator speed of
>8MHz - as the PC is incremented at a quarter of the pic clock speed.
>
>All the SMD pics in the (Farnell) catalog are 4MHz devices - and here's the
>stupid question - will I be able to use an 8MHz resonator?

Probably.  You won't have any recourse if it doesn't work, of course.


>If anyone has any sugestions on how to achieve a 77KHz output (in 10mS
>bursts) for an SMD 4MHz pic I would love to hear them!

OK, I'll take a stab at it:

77KHz = approx 13 cycles at 4 MHz X1 (actual freq will be 1E6/13 = 76.9231 KHz.
10 ms = 770 cycles of 77 KHz signal.  Since the rate is 13 cycles, it's
tough to make a square wave using exactly a 4 MHz clock.  In the program
below, the signal will be high for 6 instruction cycles and low for 7.
Since there is some extra time in the routine, slower PIC clocks may be used
and then the waveform made symmetrical by removing some NOPs.  I'll leave
this for the programmer.  It appears that a 77K*12*4 = 3.696 MHz clock would
be ideal for making square waves, by removing the NOP after burstsl below.

burst
       movlw   .2              ;2 byte cycle counter - initialize to 770 dec.
       movwf   ccntl           ;Need 2 RAM variables.
       movlw   .3
       movwf   ccnth
burstfl
       nop                     ;Equalize loop time if only low byte dec.
       nop
burstsl
       nop                     ;May be removed for slower clocks.
       bsf     PORT_B,0        ;Set output high. (can use any port here)
       goto    $+1             ;2- cycle NOPs.
       goto    $+1
       nop
       bcf     PORT_B,0        ;Output was high for 6 cycles, now low.
; From here, always 5 cycles back to burstsl.
       decfsz  ccntl
       goto    burstfl
       decfsz  ccnth
       goto    burstsl
;Fall thru to here when burst is done.

This code is not tested or guaranteed.  Use at your own risk.

-Mike

'Surface mount pics'
1995\11\01@114326 by Jim Scorse

picon face
>If anyone has any sugestions on how to achieve a 77KHz output (in 10mS
>bursts) for an SMD 4MHz pic I would love to hear them!

Sounds like you'll gave to go forthe 10 MHz part.

'77 KHz burst (was Re: Surface mount pics)'
1995\11\01@115558 by Paul Greenwood

flavicon
face
Steve Addison writes:
>I am trying to generate a 77Khz signal from a surface mount pic in 10ms bursts.
>The way I have attempted to do it at the moment I require the program
>counter to increment every 0.5uS which means I need a resonator speed of
>8MHz - as the PC is incremented at a quarter of the pic clock speed.
>
>All the SMD pics in the (Farnell) catalog are 4MHz devices - and here's the
>stupid question - will I be able to use an 8MHz resonator?

I know it takes another part but you might consider using a 555 timer tuned
to 77KHz.  You could then gate the signal with a nand gate or something.  You
MAY be able to power the 555 from your I/O pin so that you turn the 555 on/off
to make your bursts.  I personally would let the PIC do it like you're wanting
to do but I wanted to suggest this.

--

           -- Paul Greenwood --  (EraseMEpablospamBeGonespamKILLspamaustin.ibm.com)

Succumb to natural tendencies.  Be hateful and boring.

'Surface mount pics'
1995\11\01@123425 by John T

picon face
>All the SMD pics in the (Farnell) catalog are 4MHz devices

You don't say which PIC you are using, but they all come in some SMD version in
all speed grades. Some parts have 10 MHz & 20 MHz and others only 20 MHz.
Package is dependent on PIC size - smaller ones in SOIC or SSOP, larger ones in
PQFP or PLCC.

John Magrane
FAE Bell Industries
(408) 734-8570
RemoveME72172.2347spamBeGonespamspamcompuserve.com

'77 KHz burst (was Re: Surface mount pics)'
1995\11\01@132320 by Andrew Warren

face
flavicon
face
Mike Keitz <@spam@mkeitzspamspamBEV.NET> wrote:

{Quote hidden}

   Mike:

   Won't work.  Instead of generating a 10-ms burst, your code will generate on
ly
   a 6.67-ms burst.  To make your DECFSZs work properly, you'll need to load
   ccnth with 4, not 3.

   If 9.974 ms is close enough, the following bit of code will do the job using
   only one register:

           CLRF    COUNT

       L1: MOVLW   00000001B   ;The "1" in W corresponds to the PORTB bit that
           GOTO    $+1         ;we'll be toggling.  This example is for PORTB,0
.

       L2: XORWF   PORTB
           BTFSC   PORTB,0
           GOTO    L1

       L3: GOTO    $+1
           NOP
           XORWF   PORTB
           BTFSC   PORTB,0
           GOTO    L3

       L4: GOTO    $+1
           NOP
           XORWF   PORTB
           BTFSC   PORTB,0
           GOTO    L4

           DECFSZ  COUNT
           GOTO    L2

   -Andy

--
Andrew Warren - TakeThisOuTfastfwdKILLspamspam@spam@ix.netcom.com
Fast Forward Engineering, Vista, California

'Apple Desktop Bus Interfacing'
1995\11\01@200926 by Chris Smolinski

flavicon
face
For some time, I've wanted to try implementing a Apple Desktop Bus (ADB)
interface on a PIC. Other than a very short application note in the
Microchip Handbook, I haven't seen any details on doing this. So, armed
with the Macintosh Family Hardware Reference (from Apple, which describes
the ADB interface and protocol in detail) I decided to roll my own.

It isn't done yet, but it is a start. The code I've included at the end of
this message does the following:

It monitors the ADB bus for the Attention Signal (800 usec low). It then
waits (delays) for 65 usec for the Sync Signal, then reads in the eight
data bits of the command which is sent from the Mac. The first four bits
are the address. The next two are the action (generally Talk or Listen),
the last two are the register number (0-3).

The program checks that the address is equal to 6 (arbitrarily picked by me
for testing. A "real" ADB device supports address arbitration which occurs
at bus reset time). If the address matches, the Talk  and Register number
bits are displayed via four LEDs connected to RA0 to RA3 outputs. The ADB
bus is connected to RB bit 1. No provision for transmitting exists yet.
This is all done on a 16C84, BTW, running at 8 MHz. 4 MHz operation should
be possible, if you re-adjust the timing loops.

Using the ADB Parser program (supplied on APDA CDs, *extremely useful*) I
can send various commands over the bus, and verify that the program does
what it should.


This is just a start, but hopefully it can grow into a full fledged ADB
Device controller. I wanted to see how easy it would be to hack something
together. I'm interested in what others think, comments and criticisms are
both welcome. I'd also like to work with others interested in ADB
interfacing.

(This is my first real PIC program, BTW)

Chris


(excuse the double spacing, the pc likes to put in extra linefeeds that the
Mac doesn't want to take out)


;Apple Desktop Bus test



; Set the device type, oscillator type, watchdog timer status, and code

; protect status



               DEVICE  PIC16C84,HS_OSC,WDT_OFF,PROTECT_OFF,PWRT_OFF



               id      'SMOL'



               org     c

Count0          =       10h             ;Assign labels to registers

w_copy          =       11h

st_copy         =       12h

ADBAddress      =       13h

ADBTalk         =       14h

ADBReg          =       15h





detector        =       rb.1            ; 1 if pinhole is present



; Start of program

               org     0

               jmp     Begin



               org     4               ; [currently] unused interrupt routine

               mov     w_copy,w        ;store w

               mov     w,status        ;

               mov     st_copy,w       ;store status



               mov     w,st_copy

               mov     status,w

               mov     w,w_copy

               reti



Begin           clrb    rp0

               mov     !RA,#00010000b  ;Set data direction register for port A

                                       ;(make all bits output)



               mov     !RB,#11111111b  ;make all bits of Port B input



               setb    rp0

;               mov     !OPTION,#00000100b      ; Set RTCC to divide by 32

;               mov     INTCON,#10100000b       ; Enable RTCC interrupts

               clrb    rp0



               mov     RA,#0



Loop1           mov     Count0,#1       ; each loop count is 5 usec

               mov     ADBAddress,0

               mov     ADBTalk,0

               mov     ADBReg,0

Loop            nop                     ;(1)

               nop                     ;(1)

               nop                     ;(1)

               nop                     ;(1)

               nop                     ;(1)

               jb      detector,notdetected       ; jump if no adb signal (2)

               ijnz    Count0,Loop                ;                       (3)



notdetected     dec     Count0

               cjb     Count0,#150,Loop1     ; jmp back to loop if <200

;

; ok, we have received an "attention" signal.

;

; now wait for 65 usec for the sync signal to finish

; (in an ideal world, we would actually verify that the sync signal was

; present for the 65 usec)

;

               mov     Count0,#26      ;26 loops * 2.5 usec/loop = 65 usec

WaitSync        nop                     ;(1)

               nop                     ;(1)

               djnz    Count0,WaitSync ;(3)



;

; Delay 50 usec to be centered on each bit of data

;

               mov     Count0,#20      ;20 loops * 2.5 usec/loop = 50 usec

WaitDelayA      nop                     ;(1)

               nop                     ;(1)

               djnz    Count0,WaitDelayA ;(3)



; now read first address bit



               jnb     detector,AddressB  ; jmp if a 0   (2/3)

               setb    ADBAddress.3                    ; (1)



AddressB        mov     Count0,#39      ;39 loops * 2.5 usec/loop + 2.5 =
100 usec

WaitDelayB      nop                     ;(1)

               nop                     ;(1)

               djnz    Count0,WaitDelayB ;(3)



; now read second address bit



               jnb     detector,AddressC  ; jmp if a 0

               setb    ADBAddress.2





AddressC        mov     Count0,#39      ;40 loops * 2.5 usec/loop +2.5 =
100 usec

WaitDelayC      nop                     ;(1)

               nop                     ;(1)

               djnz    Count0,WaitDelayC ;(3)



; now read third address bit



               jnb     detector,AddressD  ; jmp if a 0

               setb    ADBAddress.1





AddressD        mov     Count0,#39      ;40 loops * 2.5 usec/loop +2.5 =
100 usec

WaitDelayD      nop                     ;(1)

               nop                     ;(1)

               djnz    Count0,WaitDelayD ;(3)



; now read fourth address bit



               jnb     detector,AddressE  ; jmp if a 0

               setb    ADBAddress.0



AddressE        mov     Count0,#39      ;40 loops * 2.5 usec/loop +2.5 =
100 usec

WaitDelayE      nop                     ;(1)

               nop                     ;(1)

               djnz    Count0,WaitDelayE ;(3)



; now read first talk bit



               jnb     detector,AddressF  ; jmp if a 0

               setb    ADBTalk.1



AddressF        mov     Count0,#39      ;40 loops * 2.5 usec/loop +2.5 =
100 usec

WaitDelayF      nop                     ;(1)

               nop                     ;(1)

               djnz    Count0,WaitDelayF ;(3)



; now read second talk bit



               jnb     detector,AddressG  ; jmp if a 0

               setb    ADBTalk.0





AddressG        mov     Count0,#39      ;40 loops * 2.5 usec/loop +2.5 =
100 usec

WaitDelayG      nop                     ;(1)

               nop                     ;(1)

               djnz    Count0,WaitDelayG ;(3)



; now read first reg bit



               jnb     detector,AddressH  ; jmp if a 0

               setb    ADBReg.1



AddressH        mov     Count0,#39      ;40 loops * 2.5 usec/loop +2.5 =
100 usec

WaitDelayH      nop                     ;(1)

               nop                     ;(1)

               djnz    Count0,WaitDelayH ;(3)



; now read second talk bit



               jnb     detector,AddressI  ; jmp if a 0

               setb    ADBReg.0



AddressI



;               xor     RA,#00001000b   ; Invert LED (bit 3 port B)

               cjne    ADBAddress,#6,Loop1



               movb    RA.0,ADBTalk.0

               movb    RA.1,ADBTalk.1

               movb    RA.2,ADBReg.0

               movb    RA.3,ADBReg.1



;               xor     RA,#00000001b   ; Invert LED (bit 0 port A)

               jmp     Loop1








----------------------------------------------------------------------------
|Check out my WWW page at http://www.access.digex.net/~cps/ for ham radio    |
|software for the Mac; Free Radio, Shortwave Radio, and Spy Numbers Stations |
|information.                                                                |
|Finger me (.....cpsRemoveMEspamaccess.digex.net) for my PGP Public Key                      |
----------------------------------------------------------------------------

"Those who would gladly sacrifice liberty for security deserve neither."
                      -Ben Franklin

'77 KHz burst (was Re: Surface mount pics)'
1995\11\02@055351 by Andrew Warren

flavicon
face
Mike Keitz <KILLspammkeitzspamTakeThisOuTBEV.NET> wrote:

{Quote hidden}

   Mike:

   Won't work.  Instead of generating a 10-ms burst, your code will generate on
ly
   a 6.67-ms burst.  To make your DECFSZs work properly, you'll need to load
   ccnth with 4, not 3.

   If 9.974 ms is close enough, the following bit of code will do the job using
   only one register:

           CLRF    COUNT

       L1: MOVLW   00000001B   ;The "1" in W corresponds to the PORTB bit that
           GOTO    $+1         ;we'll be toggling.  This example is for PORTB,0

'Decoupling capacitor'
1995\11\04@185200 by MK Walton

flavicon
face
I am having problems with a circuit based around a pic 16c55 jw at 20Mhz
The circuit is curently on a prototyping board, and sometimes works
fine, but mostly goes completely up the spout!

I can touch the power supply rails and all hell breaks loose, and just
pushing wires that I know have a good connection has the same effect.

There is a single 100nF decoupling capacitor in the circuit which so I am
told should remove this problem, but doesn't, some circuits I have seen
using PICs have a similar capacitor next to each chip.

Is this the cause of the problem, and if so how many do I need?

Cheers

Martin Walton (TakeThisOuTmk-waltospamspam_OUTuwe.ac.uk)

1995\11\04@204229 by Paul Christenson [N3EOP]

flavicon
face
>I am having problems with a circuit based around a pic 16c55 jw at 20Mhz
> The circuit is curently on a prototyping board, and sometimes works
> fine, but mostly goes completely up the spout!

> I can touch the power supply rails and all hell breaks loose, and just
> pushing wires that I know have a good connection has the same effect.

The problem is probably a combination of the 20 MHz and the proto board.
Proto boards just aren't designed for high frequency designs.  Among
the problems with the boards is that the contacts that run under the
plastic are effectively capacitors, which go lower in impedence as the
frequency increases.

Normally, 20 MHz is not going to be bothered by the small impedences
presented by the board.  But, digital signals are square waves, which
have a high harmonic content.  These harmonics can crossover relatively
easily, and can confuse the digital circuitry.

Just a guess, but I have seen it happen before.  You may be able to get
it to work if you keep all of the jumpers as short as possible.

'Apple Desktop Bus (ADB) Interfacing'
1995\11\04@220056 by Chris Smolinski

flavicon
face
Well, I spent a few more hours playing around with the simple ADB code I
posted to the list earlier, and have made a few improvements:

It now sort-of supports address re-location (which occurs when the bus is
reset, and the Mac has to shuffle conflicting device addresses around). I
say sort of because it still doesn't monitor for collisions during this
process, which all good ADB devices should do. This obviously is bad if you
choose the same address as another device (such as your mouse). But I start
at address 6, which is probably never used (and certainly isn't on my
setup), so it works for me. Something to be fixed later.

Data can be sent to register 1. The 24 bits sent are shuffled out another
of the PIC's output pins to a Maxim MAX532 Dual 12 bit D/A converter (along
with an output for the data clock and one for chip select). Now my Mac can
send two analog signals to the outside world!

Data can be read from register 1. When a Talk request is made, the PIC
tells a Burr Brown ADS7807 16 bit A/S converter to perform a conversion.
The 16 bits of data are then read in a digital input (using the same clock
pin as for the D/A) and sent to the Mac. Now my Mac can read an analog
signal from the outside world!

As I said earlier, collision detection is not performed. That should be one
of my next goals.

I was using register 0 for my analog I/O, but the Mac always checks
register 0 of the last addressed ADB device to see if it has anything else
to send. That resulted in data continuously being sent from the PIC once it
started. Not good. Well behaved ADB devices only respond to a Register 0
Talk command if they have something new to send (which isn't really
possible to implement for my uses).

Next step is to add some digital I/O. I was thinking of using some shift
registers to get the data into and out of the PIC. They would appear as
register 2 to the Mac.

I also have four LEDs hooked up to RA0-RA3 outputs. They indicate the PICs
new address when you send a Listen Register 3 command. Since they're just
for diagnostic purposes, they will probably have to go to make room for the
I/O necessary to talk to the shift registers.

Anyone know how Apple handles requests to license use of the ADB bus (they
apparently have a patent on it). It is just a formality (fill in a form)?
Or do they want big bucks $$$ too? I'd like to market a cheap
analog/digital I/O device for the Mac using the ADB for the interface.

Well, I hope this stimulates some more ADB interfacing projects on the
list, and I hope to hear from others. Thanks to those who have written to
me already. I have cleaned up the interrupt handler as was suggested
(although it isn't being used in this application).

Chris





;Apple Desktop Bus test
;4 November 1995
;Copyright 1995 Chris Smolinski
;No portion of this software may be used in any commercial application without
;express written consent. blah blah blah...  - the lawyers
;
;Communicates with:
;MAX532 Dual 12 bit D/A converter  (Listen Register 1)
;ADS7807 16 bit A/D converter      (Talk Register 1)


; Set the device type, oscillator type, watchdog timer status, and code
; protect status

               DEVICE  PIC16C84,HS_OSC,WDT_OFF,PROTECT_OFF,PWRT_OFF

               id      'SMOL'

               org     c
Count0          =       10h             ;Assign labels to registers
w_copy          =       11h
st_copy         =       12h
ADBAddress      =       13h
ADBTalk         =       14h
ADBReg          =       15h
Byte0           =       16h
Temp            =       17h
Count1          =       18h
Reg3h           =       19h
Reg3l           =       1ah
OurAddress      =       1bh

detector        =       rb.1            ; 1 if pinhole is present
adData          =       rb.2            ; A/D converter data
adCtrl          =       rb.3            ; R/C line on A/D
SCLK            =       rb.4            ; SCLK
DATA            =       rb.5            ; DATA
CS              =       rb.6            ; CS
TX              =       rb.7            ; TX (adb transmit output)

; Start of program
               org     0
               jmp     Begin

               org     4               ; [currently] unused interrupt routine
               mov     w_copy,w        ;store w
               mov     w,<>status      ;
               mov     st_copy,w       ;store status

               mov     w,<>st_copy
               mov     status,w
               swap    w_copy
               mov     w,<>w_copy
               reti

Begin           clrb    rp0
               mov     !RA,#00010000b  ;Set data direction register for port A
                                       ;(make all bits output)

               mov     !RB,#00000111b  ;Set Port B direction registers

               setb    rp0
;               mov     !OPTION,#00000100b      ; Set RTCC to divide by 32
;               mov     INTCON,#10100000b       ; Enable RTCC interrupts
               clrb    rp0

               mov     RA,#0
               clrb    SCLK                    ;make SCLK low
               setb    CS                      ;de-assert CS
               clrb    DATA                    ;make DATA low
               clrb    TX                      ;make TX low
               setb    adCtrl                  ;A/D converter control line

               mov     Reg3h,#01000110b
               mov     Reg3l,#54               ;Device Handler ID
               mov     OurAddress,#6           ;Inital Address

Loop1           mov     Count0,#1       ; each loop count is 5 usec
               mov     ADBAddress,0
               mov     ADBTalk,0
               mov     ADBReg,0
Loop            nop                     ;(1)
               nop                     ;(1)
               nop                     ;(1)
               nop                     ;(1)
               nop                     ;(1)
               jb      detector,notdetected       ; jump if no adb signal (2)
               ijnz    Count0,Loop                ;                       (3)

notdetected     dec     Count0
               cjb     Count0,#150,Loop1     ; jmp back to loop if <200
;
; ok, we have received an "attention" signal.
;
; now wait for 65 usec for the sync signal to finish
; (in an ideal world, we would actually verify that the sync signal was
; present for the 65 usec)
;
               mov     Count0,#26      ;26 loops * 2.5 usec/loop = 65 usec
WaitSync        nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,WaitSync ;(3)

;
; Delay 50 usec to be centered on each bit of data
;
               mov     Count0,#20      ;20 loops * 2.5 usec/loop = 50 usec
WaitDelayA      nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,WaitDelayA ;(3)

; now read first address bit

               jnb     detector,AddressB  ; jmp if a 0   (2/3)
               setb    ADBAddress.3                    ; (1)

AddressB        mov     Count0,#39      ;39 loops * 2.5 usec/loop + 2.5 =
100 usec
WaitDelayB      nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,WaitDelayB ;(3)

; now read second address bit

               jnb     detector,AddressC  ; jmp if a 0
               setb    ADBAddress.2


AddressC        mov     Count0,#39      ;40 loops * 2.5 usec/loop +2.5 =
100 usec
WaitDelayC      nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,WaitDelayC ;(3)

; now read third address bit

               jnb     detector,AddressD  ; jmp if a 0
               setb    ADBAddress.1


AddressD        mov     Count0,#39      ;40 loops * 2.5 usec/loop +2.5 =
100 usec
WaitDelayD      nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,WaitDelayD ;(3)

; now read fourth address bit

               jnb     detector,AddressE  ; jmp if a 0
               setb    ADBAddress.0

AddressE        mov     Count0,#39      ;40 loops * 2.5 usec/loop +2.5 =
100 usec
WaitDelayE      nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,WaitDelayE ;(3)

; now read first talk bit

               jnb     detector,AddressF  ; jmp if a 0
               setb    ADBTalk.1

AddressF        mov     Count0,#39      ;40 loops * 2.5 usec/loop +2.5 =
100 usec
WaitDelayF      nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,WaitDelayF ;(3)

; now read second talk bit

               jnb     detector,AddressG  ; jmp if a 0
               setb    ADBTalk.0


AddressG        mov     Count0,#39      ;40 loops * 2.5 usec/loop +2.5 =
100 usec
WaitDelayG      nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,WaitDelayG ;(3)

; now read first reg bit

               jnb     detector,AddressH  ; jmp if a 0
               setb    ADBReg.1

AddressH        mov     Count0,#39      ;40 loops * 2.5 usec/loop +2.5 =
100 usec
WaitDelayH      nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,WaitDelayH ;(3)

; now read second reg bit

               jnb     detector,AddressI  ; jmp if a 0
               setb    ADBReg.0

AddressI

               cjne    ADBAddress,OurAddress,Loop1     ; Our address ?

               mov     Count0,#100     ;100 loops * 2.5 usec/loop = 250 usec
WaitStop        nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,WaitStop ;(3)

               cje     ADBTalk,#2,Listen       ; Listen CMD? (5)

Talk

               mov     Count0,#30      ;75 loops * 2.5 usec/loop = 75 usec
WaitStop1       nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,WaitStop1 ;(3)

               cje     ADBReg,#1,TalkReg1      ; Talk Register 1?
               cje     ADBReg,#3,TalkReg3      ; Talk Register 3?
               jmp     Loop1                   ; not implemented [yet]



TalkReg1
               clrb    SCLK                    ; serial data clock to low
               clrb    adCtrl                  ; initiate A/D conversion
               call    SendBit1                ; send a 1 (start)
               setb    adCtrl

               mov     Count1,#16              ; counts 8 bits of data

TalkReg1A       setb    SCLK                    ; clock out data bit
               movb    Temp.0,/adData          ; get complement of input
               mov     W,>>Temp                ; input now in Carry bit
               call    SendBit
               clrb    SCLK                    ;
               djnz    Count1,TalkReg1A

               call    SendBit0                ; send a 0 (stop)
               jmp     Loop1                   ; all done


TalkReg3
               call    SendBit1                ; send a 1 (start)

               mov     Temp,Reg3h              ; copy reg 3h
               mov     Count1,#8               ; counts 8 bits of data

TalkReg3A       rl      Temp                    ; shift bit into carry
               call    SendBit
               djnz    Count1,TalkReg3A

               mov     Temp,Reg3l              ; copy reg 3l
               mov     Count1,#8               ; counts 8 bits of data

TalkReg3B       rl      Temp                    ; shift bit into carry
               call    SendBit
               djnz    Count1,TalkReg3B

               call    SendBit0                ; send a 0 (stop)
               jmp     Loop1                   ; all done


Listen          cje     ADBReg,#1,DASet
               cje     ADBReg,#3,ListenReg3
               jmp     Loop1                   ; unimplemented register


ListenReg3
               mov     Count1,#16      ; counts 16 bits of input

ListenReg3A     jb      detector,ListenReg3A ; jmp if a 1, wait for start bit

               mov     Count0,#34      ;34 loops * 2.5 usec/loop = 85 usec
ListenReg3B     nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,ListenReg3B ;(3)

; this section receives 16 bits of information for Register 3

ListenReg3C     jb      detector,ListenReg3C   ; jmp if a 1, wait for low

               mov     Count0,#20      ;20 loops * 2.5 usec/loop = 50 usec
ListenReg3D     nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,ListenReg3D ;(3)

               movb    Temp.0,detector         ; get input (4)
               mov     W,>>Temp                ; input now in Carry bit (1)
               rl      Reg3l                   ; input now in storage  (1)
               rl      Reg3h                   ; input now in storage  (1)

ListenReg3E    jnb     detector,ListenReg3E  ; jmp if a 0, wait for high

               djnz    Count1,ListenReg3C  ;(3)

               setb    CS                      ; de-assert D/A CS line

               movb    OurAddress.0,Reg3h.0
               movb    OurAddress.1,Reg3h.1
               movb    OurAddress.2,Reg3h.2
               movb    OurAddress.3,Reg3h.3
               movb    RA.0,Reg3h.0
               movb    RA.1,Reg3h.1
               movb    RA.2,Reg3h.2
               movb    RA.3,Reg3h.3

               jmp     Loop1




DASet
               mov     Count1,#24      ; counts 24 bits of input
               clrb    CS              ; assert D/A CS line

WaitStart       jb      detector,WaitStart ; jmp if a 1, wait for start bit

               mov     Count0,#34      ;34 loops * 2.5 usec/loop = 85 usec
WaitStartA      nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,WaitStartA ;(3)



; this section receives 24 bits of information for the D/A converter


DataLoop        jb      detector,DataLoop   ; jmp if a 1, wait for low

               mov     Count0,#20      ;20 loops * 2.5 usec/loop = 50 usec
WaitStartB      nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,WaitStartB ;(3)

               movb    Temp.0,detector         ; get input (4)
               mov     W,>>Temp                ; input now in Carry bit (1)
               rl      Byte0                   ; input now in storage  (1)
               movb    DATA,detector           ; D/A data line (4)
               setb    SCLK                    ; strobe SCLK (1)
               clrb    SCLK                    ; (1)

DataLoopB       jnb     detector,DataLoopB  ; jmp if a 0, wait for high

               djnz    Count1,DataLoop  ;(3)

               setb    CS                      ; de-assert D/A CS line

               movb    RA.0,Byte0.4
               movb    RA.1,Byte0.5
               movb    RA.2,Byte0.6
               movb    RA.3,Byte0.7

;               xor     RA,#00000001b   ; Invert LED (bit 0 port A)
               jmp     Loop1



; if carry is set, a 1 is transmitted, otherwise a 0 is transmitted
; note, since a transistor is used to pull the ADB data line low, the
; TX output is set to a 1 to pull the data line low to a zero. Got it?
;
SendBit         jc SendBit1

SendBit0        setb    TX      ; pull line low, start of bit
               mov     Count0,#26      ;26 loops * 2.5 usec/loop = 65 usec
SendBit0A       nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,SendBit0A ;(3)
               clrb    TX      ; pull line high, end of bit
               mov     Count0,#14      ;14 loops * 2.5 usec/loop = 35 usec
SendBit0B       nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,SendBit0B ;(3)
               ret

SendBit1        setb    TX      ; pull line low, start of bit
               mov     Count0,#14      ;14 loops * 2.5 usec/loop = 35 usec
SendBit1A       nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,SendBit1A ;(3)
               clrb    TX      ; pull line high, end of bit
               mov     Count0,#26      ;26 loops * 2.5 usec/loop = 65 usec
SendBit1B       nop                     ;(1)
               nop                     ;(1)
               djnz    Count0,SendBit1B ;(3)
               ret


----------------------------------------------------------------------------
|Check out my WWW page at http://www.access.digex.net/~cps/ for ham radio    |
|software for the Mac; Free Radio, Shortwave Radio, and Spy Numbers Stations |
|information.                                                                |
|Finger me (RemoveMEcpsspamspamSTOPspamaccess.digex.net) for my PGP Public Key                      |
----------------------------------------------------------------------------

"Those who would gladly sacrifice liberty for security deserve neither."
                      -Ben Franklin

1995\11\05@133055 by Eric Brewer

flavicon
face
Chris Smolinski <.....cpsEraseMEspamACCESS.DIGEX.NET> wrote:
>Well, I spent a few more hours playing around with the simple ADB code I
>posted to the list earlier, and have made a few improvements:
> .................. SNIP............
>
>Anyone know how Apple handles requests to license use of the ADB bus (they
>apparently have a patent on it). It is just a formality (fill in a form)?
>Or do they want big bucks $$$ too? I'd like to market a cheap
>analog/digital I/O device for the Mac using the ADB for the interface.
>
> .................. SNIP............

Apple charges a one time $50 license for ADB. The give you several documents
regarding the low level timing of ADB which is different from Inside Mac.

You need to contact someone in the Developer Services group.

In addition to supporting an initial address (which you have as 6), you need to
have your own handler ID (which Apple assigns).

Hope it helps,
eric

'Anyone using PIC for D2MAC'
1995\11\10@064658 by Walter Crauwels

flavicon
face
Date    10/11/95
Subject Anyone using PIC for D2MAC
From    Walter Crauwels
To      Pic listserver

                     Subject:                              Time:  12:39 PM
 OFFICE MEMO         Anyone using PIC for D2MAC            Date:  10/11/95
Hi , I heard that it is possible to use single Pic (16c84) or dual pic
Master-slave to decode D2MAC channels

Has anyone got the code`s for it ?

Pse reply

1995\11\11@070333 by tobias

flavicon
face
At
>Hi , I heard that it is possible to use single Pic (16c84) or dual pic
>Master-slave to decode D2MAC channels

Everything is possible,
Try http://www.paranoia.com/~defiant/index.htm

tobias

'$199 logic analyzer - reply from manufacturer'
1995\11\13@200441 by Mani Omid

picon face
To our valued customers:

We would be glad to upgrade your system FREE OF CHARGE.  Simply return your
unit with a simple reference to this note.  I believe you will enjoy our new
system.  We would appreciate your feedback.  Thanks for your support!

ProBoard Circuits
100 Market Street, Unit 16
Galveston, Texas 77550
Phone:  (409)762-5436
Fax:  (409)762-4167

For those readers wondering what this note is all about:

We at ProBoard Circuits offer a 50Mhz. 24 channel logic analyzer for only
$199
For more information, either call, fax, or email to spamBeGoneProBoard1spamRemoveMEAOL.com
watch for our upcoming homepage with click on access to software upgrades!

'Privacy film'
1995\11\14@082435 by Kalle Pihlajasaari

flavicon
face
> I need help locating the 3M Privacy Film or any other kind of glass that will

Try Edmund Scientific, somewhere in the US
--
Kalle Pihlajasaari     .....kalleEraseMEspamdata.co.za

'$199 logic analyzer - reply from manufacturer'
1995\11\14@092402 by Juan Jose Abba

flavicon
face
Pls send full details of your logic analizer via e-mail
if I decide, I will order directly  through our broker at the USA.
Juan Abba

{Quote hidden}

'Privacy film'
1995\11\14@093435 by Rolan

flavicon
face
On Tue, 14 Nov 1995, Kalle Pihlajasaari wrote:

> > I need help locating the 3M Privacy Film or any other kind of glass that
will
>
> Try Edmund Scientific, somewhere in the US
> --
> Kalle Pihlajasaari     spamkalle@spam@spamSTOPspamdata.co.za
>

Just thought I'd add a little more info to make the location a little
less vague:

 Edmund Scientific is located in Barrington, NJ USA
 phone #:  1-609-573-6295

-()---()---()---()---()---()---()---()---()---()---()---()---()---()---()-
Rolan Yang            http://hertz.njit.edu/~rxy5310   Electrical Engineer
spamBeGonerxy5310spamBeGonespam@spam@hertz.njit.edu                             RemoveMEkyuriusRemoveMEspamRemoveMEtsb.weschke.com
VR,ROBOTICS,FENCING,HACKING,INDUSTRIAL MUSIC,ART,EXPLOSIVES,INLINE SKATING
                   THESE ARE A FEW OF MY FAVORITE THINGS.
-()---()---()---()---()---()-----()-()---()---()---()---()---()---()---()-
4 out of 10 people are annoyed by ^ this.

1995\11\14@095619 by Michael E. Boettcher

flavicon
face
>On Tue, 14 Nov 1995, Kalle Pihlajasaari wrote:
>
>> > I need help locating the 3M Privacy Film or any other kind of glass that
> will
>>
>> Try Edmund Scientific, somewhere in the US
>> --
>> Kalle Pihlajasaari     kalleKILLspamspamspamdata.co.za
>>
>
>Just thought I'd add a little more info to make the location a little
>less vague:

how about even less vague?

Liquid Crystal Light Shutter Windows
6" x 6" Clear/frost light shutter   E36,866  $99.00

Michael E. Boettcher
US Dairy Forage Research Center
Mechanical Engineer
(608) 264-5355
spam_OUTmeboettc@spam@spamfacstaff.wisc.edu

1995\11\14@180601 by Gerry Smith

flavicon
face
Thanks for the help but does anyone know where I can get it cheaper than
from Edmund Scientific?

'D2MAC Packet Structure'
1995\11\16@075610 by Christopher

flavicon
face
Can anyone out there explain anything about d2mac to me or at least point me in
a good direction on it..  I own a copy of the Black Book and have disassembled
the code for Dual & single chip but still am alittle confused as to which way
the direction is or certain packets and the reason for the pakets!  Can anyone
help me ??? ANd a million others I bet!

-Chris Tarnovsky (TakeThisOuTatvscs27spam_OUTspamemail2.grafenwoehr.army.mil)

'D2Mac/EuroCrypt'
1995\11\16@130613 by Christopher

flavicon
face
Hello List!  Can anybody out there explain the EuroCrypt M/S packet structure
alittle bit to me!??!  I have the source to single/dual chip version but the
packets structure, etc. is still UNKNOWN!  Noone seems to know! But how bout
the person patching the files?  He knows!  He also knows the PIC chip..  So!  I
bet you are reading this!  Could you please be so kind as to  mail me something
to help me get started?  I have the "Black Book."  That's not enough though.

Thanks alot!  (KILLspamatvscs27.....spamTakeThisOuTemail2.grafenwoehr.army.mil)

'Quickbooks export to Access?'
1995\11\16@183003 by Carl Connett

flavicon
face
Looks like I might get into a project that involves creating receipts
for donors that give money to a non-profit organization.  All the
financial info is on QuickBooks for Windows.  I'm not personally
familiar with it yet so I thought I'd ask for some advice.

The present system is to get donor info from a report from
QuickBooks, take the info and type it into a Word table.  The Word
application then does a mailmerge using a form letter.  The next
month, all the data in Work is re-typed in for that month.
Obviously, when the end of the year comes, the system is not going to
work very efficiently.

Can I just export data from QuickBooks?  Maybe to Access, and let
Access collect data for the year?  Run the mail merge in Word from
the Access data?  Or go directly from QuickBooks at the end of the
year directly to a document in Word that somehow deals with multiple
records?

Maybe just use Access only for the mailmerge?  What do you think?



Carl Connett
Manufacturing Services
DaySpring Cards
PO Box 1010
Siloam Springs, AR  72761
Phn: 501.549.9251
Fax: 501.524.8813
mhs:carlc@outreach (compuserve)
TakeThisOuTcarlcEraseMEspamRemoveMEoutreach.mhs.compuserve.com (internet)

mhs:carlc@outreach (compuserve)
spam_OUTcarlcRemoveMEspam.....outreach.mhs.compuserve.com (internet)

1995\11\16@193556 by Ben L Wirz

flavicon
face
       Well I'm not usually one to complain about posting to the wrong
group as I am guilty of it myself.  But, I really think this steps way
over the line.  It's one thing to ask where to find stepper motors on a
PIC list, but to post a software questions such a this to the PIC list?
       Come on...

       I know is nice and easy to ask questions from a group you feel
you know and have probably help out yourself before, but many people
aren't as lucky as myself to have free internet acess.  I think this sort
thing is almost as bad as spam.  Check out the newsgroups, I'm sure there
is is probably one that fits your needs.

Ben,

Ben Wirz                Check out My Home Page for Great Deals on Bulk
                       Buy Electronics (LMD 18200 H Bridge and PIC 16C84)
spamblw2KILLspamspamKILLspamcec.wustl.edu      http://cec.wustl.edu/~blw2/index.html

On Thu, 16 Nov 1995, Carl Connett wrote:

{Quote hidden}

1995\11\17@014857 by Werner Terreblanche

flavicon
face
> Looks like I might get into a project that involves creating receipts
> for donors that give money to a non-profit organization.  All the
----Clip----

Err... and where does the PIC belongs in all this?   ;)

<G> Guess this was some boo-boo sending this to the wrong email list
or something, hey Carl?  :)

Regards
Werner

1995\11\17@085956 by Mike Goelzer

flavicon
face
>  It's one thing to ask where to find stepper motors on a
>PIC list, but ...

Sorry if anyone thought that the stepper question was off the subject.  I only
asked here because (1) am planning to use the stepper with a PIC, and (2) I
was hoping to find out who was the author of BASIC stamp app note number 6
(which I did), which deals with interfacing a PIC (in the guise of a BASIC
stamp) to a stepper.  Anyway, sorry if it was too off-topic.

-mike
--
Mike Goelzer
<spam_OUTmgoelzerspamspamBeGoneus.net>

'My apologies: Quickbooks export to Access?'
1995\11\17@090207 by Carl Connett

flavicon
face
> From:          MAIL@CSERVE {INTERNET:EraseMECARLCspamKILLspamOUTREACH.MHS.COMPUSERVE.COM} (Carl
Connett)
> To:            MAIL@CSERVE {INTERNET:EraseMEPICLISTRemoveMEspamMITVMA.MIT.EDU} (Multiple
recipients of list PICLIST)
> Subject:       Quickbooks export to Access?
> Date:          16-Nov-95 18:49

My apologies!  I hit the wrong list.

Carl

'Quickbooks export to Access?'
1995\11\17@190611 by Ben L Wirz

flavicon
face
Mike,


       Stepper motors are a bit off the subject, but noboby cares
because we are all interested in electronics.  Quickbooks is unaccpetable
though.

Ben,

Ben Wirz                Check out My Home Page for Great Deals on Bulk
                       Buy Electronics (LMD 18200 H Bridge and PIC 16C84)
.....blw2spamspam_OUTcec.wustl.edu      http://cec.wustl.edu/~blw2/index.html

On Fri, 17 Nov 1995, Mike Goelzer wrote:

{Quote hidden}

'Programmer backup (was 16C84 serial numbers)'
1995\11\18@045342 by David Tait

flavicon
face
Newfound Electronics wrote:

> Good designs and the back up for them look like disappearing soon.

Jim, I wonder if you could elaborate on the above statement.

> But I don't see the designers of these programmers jumping up and down
> to help anyone out ...

Perhaps I'm just touchy this morning but as the designer of a simple
16C84 programmer I would like to point out that, although short of
jumping up and down, I do try to help people out.  I have setup a
FTP site where help notes and user contributed software can be found:

ftp://ftp.mcc.ac.uk/pub/micro-controllers/PIC/

and I answer all queries relating to the programmer as promptly as
possible.  All the information, software and help is given free of
charge.

David
--
david.taitTakeThisOuTspamKILLspamman.ac.uk

1995\11\19@031536 by Newfound Electronics

flavicon
face
{Quote hidden}

For the benefit of all others, I offered david my thoughts on these matters
in private email *before* I read his above reply and *after* he had posted
it so they actually crossed in the mail by coincidence.

David has emailed privately since and there is general agreement on the
problems people at the entry level face with their first programmer. In
fact, David was able to expand further with his own experiences. It was a
very useful exchange and a pity the thoughts were not shared publicly.

So theres no issue between myself and David relating  to the second point
above. (unless David disagrees.) So those looking for a reply with a bit of
bite, sorry!

I consider David to be a pioneer and his efforts honourable. Certainly, none
of my remarks were aim at David,  or necessarily anyone else. If help is
available to users for these programmers great, If they're happy, I'm happy
and will shut up.

If you look back in the last two weeks there has been requests for help with
cheap programmers on the piclist. It would have been nice to be able to
point to a source of help in these cases . This is what I have based my
thoughts on, nothing else.

As my comment has lead David to remind us of his offerings, it has proved to
be of some use to all of us concerned.

As long as there is clear understanding by all parties, everyone is
protected especially the new comers who can't be expected to know what to
look out for.

Regarding my first statement:

" Good designs and the back up for them look like disappearing soon."

I hope this is just a paranoid rambling but I am concerned that the volume
of cheap programmers may mean "mid level" programmers are squeezed out of
the market. This would mean a big jump from your first programmer to a full
production programmer.

If something works as it is supposed to then I guess you could say that was
a "good design."

What I refer to by "good design" is something that is high in utility,
automation and sophisication etc. but with great ease-of-use. If even an
experienced PIC user was to design a programmer for all the PICs and
possible programming options, I feel they would be stunned by the level of
sophisication possible.

Long list goes here:  "   "

Throw in some extras like OTP fuse protection, serial numbers, configuration
files the possibilities add up. This is before you come up against ID
locations that appear, disappear and change there size depending on what
documentation you look at, Checksums with similar problems, program modes
and commands for the 16C84 join in on the act etc. You have a lot to contend
with.

My fear is that  cheaper programmers will capture the imagination and
market, and mid level programmers that do the above and  generally keep
up-to-date will be the ones to go.

I hope my fear is unfounded  but this is what I meant if it clears the
matter up.

Regards and thanks for my  indulgence with the "soap box."

Jim

'Any low cost serial (for Mac) programmers for 16c7'
1995\11\21@143003 by Eric Brewer

flavicon
face
Hi,

I am looking for a low cost serial based programmer which I can interface to a
Mac. I have no problem in writing code to interface with the programmer. I
currently have a assembler/simulator/programming software which I wrote
in 1987 which works with the old PicPro programmer. I have updated the
assembler for the 71/73 and now just need some way to program the parts other
than running SoftWindows and using the PicStart software (this is really a
chore!).

Thanks,
eric

'Anyone using PIC for D2MAC'
1995\11\21@180622 by Asgeir Forbord

flavicon
face
At 13:01 11.11.95 +0100, you wrote:
>At
>>Hi , I heard that it is possible to use single Pic (16c84) or dual pic
>>Master-slave to decode D2MAC channels
>
>Everything is possible,
>Try http://www.paranoia.com/~defiant/index.htm
>
>tobias
>
>

'PIC Programming, Internet Access'
1995\11\22@175911 by Robin Abbott

flavicon
face
I know this is going beyond the interest of the PICLIST, but I felt the
following comment couldn't go without an answer:

>Without putting to fine a point on it joel, if the technology company you
>are working for is this restrictive about access to the worlds biggest
>information repository (I speak of the web), then you should be looking
>at joining another company!!;-)

The company I work for is very restrictive, i.e. we have only two terminals
for internet access for 2000 employees despite a site wide network. It is
a world wide known electronics manufacturer, but has good reasons for
restricting access:

1) We are continuously bidding for contracts worth from millions to (in some
cases) thousands of millions of dollars. You have to TRUST firewalls to
risk that kind of money, and secondly there is always the risk of
disgruntled (or bribed) employees posting design documentation out of
the company.

2) A separate division of the company allowed full internet access and
discovered some of its employees spending as much as 10% of their time
wondering the net - somewhat of a productivity drop !

Robin

'PIC and character generator'
1995\11\28@094137 by Paul Christenson [N3EOP]

flavicon
face
Is the PIC fast enough to be useable as a character generator to overlay
text/graphics on NTSC video?  About 10 chars/line is all I need; nothing
fancy.  (I want to overlay date/time on a camera feed.)

1995\11\28@122318 by BBoles

flavicon
face
    You have about 63usec per line, maybe 60% useable is 38usec.  On that
    you need at least 60 pixels assuming the display is to spread across
    the entire screen, so now you have 634nsec per pixel.  Even at 20MHz
    you are only getting 3 instructions per pixel, not enough to run a
    pixel shift algorithm.  However, maybe with a external parallel to
    serial shift register or for that matter a relatively cheap VRAM....

    Rgds, Brian.


______________________________ Reply Separator _________________________________
Subject: PIC and character generator
Author:  "Paul Christenson [N3EOP]" <@spam@PJC130STOPspamspamPSUVM.PSU.EDU> at Internet_Exchange
Date:    11/28/95 9:38 AM


Is the PIC fast enough to be useable as a character generator to overlay
text/graphics on NTSC video?  About 10 chars/line is all I need; nothing
fancy.  (I want to overlay date/time on a camera feed.)

1995\11\28@140339 by Dr Ben Heller

flavicon
face
On Tue, 28 Nov 1995, Paul Christenson [N3EOP] wrote:

> Is the PIC fast enough to be useable as a character generator to overlay
> text/graphics on NTSC video?  About 10 chars/line is all I need; nothing
> fancy.  (I want to overlay date/time on a camera feed.)
>

Outputting the text vertically rather than horizontally makes the timing
much easier - you get a minimum of the line scan time (64 us for PAL,
don't know about NTSC) to generate each line of each of your characters,
which should be trivial for any PIC.  All you have to do then is clock out
the bit pattern at the correct rate;  this can be done with a parallel to
serial shift register if you want to go really fast (i.e. narrow
characters).

Ben Heller (TakeThisOuTB.HellerTakeThisOuTspamRemoveMESheffield.AC.UK)

1995\11\28@163949 by John Payson

flavicon
face
> Is the PIC fast enough to be useable as a character generator to overlay
> text/graphics on NTSC video?  About 10 chars/line is all I need; nothing
> fancy.  (I want to overlay date/time on a camera feed.)

You can probably manage this.  You'll need analog hardware for sync-detect
and DC-restoration.  For the character generation itself doing date/time
shouldn't be a problem.  The biggest issue is that the transmission of dots
to the screen must be done with an RC oscillator; if your PIC is driving the
pixels directly, then it would have an RC oscillator and not be very good
for timekeeping.  I think my recommended approach would be to feed port A
and the lower 4 bits of port B into an 8-input mux and use the top 3 bits of
4-bit synchronous counter [driven by an RC oscillator] to select.  The LSB
of the counter can be used to latch the output of the mux, and the MSB (in
addition to serving as bit 2 of the selector) would be sent to the PIC.  Then
when port A is being output, port B can be updated; then when B is output, A
can be updated; etc.

BTW, a sync pulse should (in hardware) reset both the RC oscillator and
counter.  The PIC can keep track of vertical timing.

1995\11\28@164220 by Mike Keitz

flavicon
face
> Is the PIC fast enough to be useable as a character generator to overlay
> text/graphics on NTSC video?  About 10 chars/line is all I need; nothing
> fancy.  (I want to overlay date/time on a camera feed.)
>
Offhand, I would say yes.  Last summer, someone else mentioned using RRFs on
a port to shift new bits to a single pin that serves as the serial output. A
font with each character 5 pixels wide and blank pixels between characters
could be displayed with a sequence like:

       movfw   gline
       movwf   PORTB           ;Display first pixel (B.0 is video output)
       rrf     PORTB,f         ;display second from left
       rrf     PORTB,f         ;
       rrf     PORTB,f
       rrf     PORTB,f         ;display fifth active pixel.
       clrf    PORTB           ;Video off.
       nop                     ;Blank between characters.
Then repeat the sequence for each character that is to be displayed, using data
from a different RAM location:
       movfw   gline+1
     etc. (repeat for 10 characters)
In order for this to work, pins B.1 thru B.4 have to be configured as
outputs so the bits will shift properly.  The desired output is B.0, which
shold force the picture "white" while it is high, and have no effect while
low.  If a black background is desired, that could be enabled while shifting
the pixels out using another output pin (of another port).  The rest of port
B will output garbage during the display period but could be reused for user
interface at other times.

During the rest of the line, the characters stored in RAM would be converted
to pixels for the next line using a table.  This process would probably take
about 10 instructions per character, so for a 10 character per line display,
the PIC instruction rate would need to be at least 100(overhead) + 80
(display) times the line rate, or a modest 2.8 MHz (11 MHz PIC clock).  Of
course the final clock rate chosen has to be an integral multiple of the
line rate.  At 2.8 MHz instruction rate, the line of characters would take
up 28 us, or about half of the visible part of the scan line.

This routine requires a byte of RAM to hold the pixels presently being
displayed for each character, in addition to a byte holding the character
code for the characters.  This could push the limits of a low-RAM PIC.  If
more space between characters is acceptable, RAM could be saved by
translating on the fly inbetween shifting the pixels for each character out
(or inbetween the date and time, etc.)

The other major problem is to synchronize the PIC's operation to the video
signal so the time display stays at a constant position on the picture.  One
method would be to program the PIC to output pulses at the line rate, then
phase-lock the PIC clock so these pulses do occur at the rate of the
incoming horizontal sync pulses.  Vertical sync would be with software.

Another method could be a RC or LC oscillator which is forced to start at a
known phase on every sync pulse, but the overall frequency is not critical
or controlled (it would affect only the width and position of the displayed
characters).  TV sets which display directly on the screen generally use
this method, although they have a special microprocessor with a video
generator section clocked by its own L-C.  Also as it is built into the TV,
it has access to the sweep generator pulse which is a lot cleaner and more
reliable than the sync pulse from the video signal.  For this project, it
could be as simple as clamping a L-C oscillator (crystal probably too slow
to restart, and R-C not rated for 12 MHz) off during each sync pulse.  This
would be OK for closed-circuit but would probably jitter too much with
over-air signals.

Especially for non-commercial applications, it may be OK to just use a
crystal oscillator running constantly at the 'right' frequency, and let the
text slant and jitter a bit.  Obtaining sync by software can be good to one
pixel (do multiple samples), but it might be better to use a larger "window"
and allow the text to drift over a larger range and jump back rather than
jitter rapidly.  Overall, not synchronizing the oscillator is not likely to
work very well, especially with low-cost cameras that are likely to not be
very precise in the line rate that they send.

If the PIC's oscillator is allowed to vary, it won't be suitable for
time-keeping.  Consider using the RTCC in external mode, either from the
power line if available or a crystal oscillator and divider, as a time base
for keeping the time-of-day.  The time and date registers would be updated
during the rest of the video frame, before waiting for vertical sync again.
Polling of the user's inputs would also be done during that time.

-Mike

1995\11\28@183031 by Andrew Warren

flavicon
face
Paul Christenson [N3EOP] <spam_OUTPICLISTspamspam.....MITVMA.MIT.EDU> wrote:

> Is the PIC fast enough to be useable as a character generator to
> overlay text/graphics on NTSC video?  About 10 chars/line is all I
> need; nothing fancy.  (I want to overlay date/time on a camera
> feed.)


Paul:

There's a lot of useful advice in previous replies to your message;
from what others are saying, it looks as though you can do it with a
PIC.

On the other hand, it'd be a whole lot simpler if you used a
microcontroller with TV character-generation hardware built-in.  If
you're open to other microcontrollers, try the 6805T-series from
Motorola.

-Andy

Andrew Warren - fastfwd.....spam@spam@ix.netcom.com
Fast Forward Engineering, Vista, California
http://www.geopages.com/SiliconValley/2499

1995\11\28@192946 by AV Presentations

picon face
On Tue, 28 Nov 1995, Paul Christenson [N3EOP] wrote:

> Is the PIC fast enough to be useable as a character generator to overlay
> text/graphics on NTSC video?  About 10 chars/line is all I need; nothing
> fancy.  (I want to overlay date/time on a camera feed.)
>

Hi,
Other postings have suggested that this is possible, and I don't doubt
it.  However, ther is a lot to think about in terms of maintaining sync
with the video signal.  There is a chip made specifically for this (I'm
afraid I don't know much about it though).  There was an article in (I
believe) Radio Electronics-Electronics Now about using this chip a few
years ago.  The chip had all the timing circuitry built in and took
serial data (ascii text) to send the character to be displayed.
think using this chip in conjunction with the PIC as a source for the
serial character data might be a simpler way to do the job.  At the
least, you could use this chip to get a working system you could reverse
engineer for your final project.  Just my two cents.  Good luck.

morris beverly    spamBeGoneavpresspamspam_OUTworld.std.com

1995\11\29@212704 by Eric Smith

flavicon
face
>"Paul Christenson [N3EOP]" <EraseMEPJC130.....spamPSUVM.PSU.EDU> writes:

> Is the PIC fast enough to be useable as a character generator to overlay
> text/graphics on NTSC video?  About 10 chars/line is all I need; nothing
> fancy.  (I want to overlay date/time on a camera feed.)

Fast enough to generate characters?  Yes.

Overlay?  Yes, but with external hardware.  The PIC clock will need to
be synchronized to (a multiple of) the horizontal sync, or you will get
unacceptable jitter in the horizontal positioning of the characters.  A
PLL circuit using a 74HC4046 would probably do the job.  You'll need a
sync separator to extract the horizontal sync signal from the incoming
video; the canonical chip for this purpose is a National LM1881, but save
yourself some trouble and use the Elantec EL4581 instead.  The Elantec
part is a much-improved replacement.

I generate characters on video (but not overlay) in my PIC-Pong (tm) and
PIC-Tock (tm) projects.  Information about these, and source code for the
latter, are available from my PIC page on the web:

       http://www.spies.com/~eric/pic/

I get about ten characters per line running the PIC at 18.432 MHz.  The
technique used requires all of port B to be dedicated to the video.

You'll also need some code for the PIC to handle vertical synchronization.
My PIC-based closed-caption decoder has code which could be adapted for
that purpose.  Documentation and source code are available.

I've started thinking about a closed-caption encoder.  The latter will use
basically the same circuitry as a text overlay would require.

My closed-caption decoder originally used a PIC16C61 (or a '71 if you add
code to disable the ADC) and an external dual comparator.  Over the recent
holiday Rich and I got it working using the internal comparators of a
PIC16C622.

Cheers,
Eric


'Macintosh Serial Interface?'
1995\12\01@022310 by Ben Kwok-Yiu Li
picon face
I am trying to get a piece of hardware to work with the Mac interface.
It is based on the Eye Mouse in a Circuit Cellar a while back.  Do Mac's
have the same RS232 or is it the RS422 or something completely
different?  If anybody knows, I am dying to find out!...as project
deadline approaches quickly.  Also posted before is the alternative to
the serial, a MIDI interface.  Any help would be greatly appreciated.

ben
_____________________________________________________________________________
| spambenliKILLspamspam@spam@uclink2.berkeley.edu | benlispamspamTakeThisOuTocf.berkeley.edu | RemoveMEbenliRemoveMEspambdt.com ******|
|---------------------------------------------------------------------------|
|WEB Page under construction...coming soon to a WWW Server near you...******|
|---------------------------------------------------------------------------|
|"If we don't stop him now, Bill Gates will take over the entire galaxy, he |
|already has Earth, and Mars." - Anonymous                                  |
|___________________________________________________________________________|

1995\12\01@084235 by Lee Jones

flavicon
face
> I am trying to get a piece of hardware to work with the Mac interface.
> [snip]  Do Mac's have the same RS232 or is it the RS422 or something
> completely different?

The Macintosh uses RS-422.  However, Apple built the hardware to
allow easy interoperability with RS-232 devices.

Here's my monospaced ASCII rendering of the female mini-DIN8 jack
on the back of all modern Macintoshes.  Note the physical gap
between pins 4 & 5 (for orientation).

         .-|-|-.     1 = HskO (handshake out)
        /       \    2 = HskI (handshake in / external clock)
       /  8 7 6  \   3 = TxD- (transmit data minus)
       ! 5   4 3 !   4 = Grd  (signal ground)
       \   2 1   /   5 = RxD- (receive data minus)
        \       /    6 = TxD+ (transmit data plus)
         '-----'     7 = n.c. (no connection)
                     8 = RxD+ (receive data plus)

[The above drawing should look circular and all the equal signs]
[should be in a vertical line.  If they are not, switch to a   ]
[monospaced font with tab stops each 8 characters.             ]


To make a Mac to RS232 DTE serial cable (i.e. Mac to modem):

Macintosh               RS-232
mini-DIN8               DB-25P               DE-9P
male plug               (male)               (male)   RS-232 usage

 1  HskO  ----------+-  20  DTR  ------------  4     Data Terminal Ready
                    '-   4  RTS  ------------  7     Request To Send
 2  HskI  ------------   5  CTS  ------------  8     Clear To Send
 3  TxD-  ------------   2  TxD  ------------  3     Transmit Data
 4  Grd   ------------   7  SG   ------------  5     Signal Ground
 5  RxD-  ------------   3  RxD  ------------  2     Received Data
 6  TxD+
 7  n.c.
 8  RxD+  ------------   7  SG   ------------  5     Signal Ground
   shell  ------------   1  FG   ------------ shell  Frame Ground

The above cable supports hardware handshake (RTS-CTS flow control)
if your Mac software knows how to use it.  Alternately (for software
handshake, aka X-ON/X-OFF, only), you can wire as follows:

 1  HskO  ------------  20  DTR  ------------  4     Data Terminal Ready
 2  HskI  ------------   6  DSR  ------------  6     Data Set Ready

The hardware handshake cable is much more usefull and also works
fine in software handshake environments.

RS232 is a single ended, voltage oriented interface.  RS422 is a
differential interface.  Once a common signal ground is provided,
the Mac's TxD- line becomes RS232 TxD.  It meets the RS232 specs
since Apple wisely chose +5V and -5V as their differential driver
outputs.

In the reverse direction, the Mac's RxD- and RxD+ lines are looking
for differential voltage as a comparative pair.  By tying the Mac's
RxD+ line to signal ground, the RxD- line becomes a single ended,
voltage-oriented input line.  It can be directly driven by the RS232
RxD line.


Recall that RS232 is non-symmetrical.  It has DTE (Data Terminal
Equipment) and DCE (Data Circuit-terminating Equipment) sex ends.
DTE usually uses a male DB-25 or male DE-9 (IBM PC/AT or modern PC
clone).  In modern convention, DCE usually uses a female connector.
To work, one end device must be DTE and the other must be DCE.

Examples -- terminals and PCs are DTE;  modems are DCE.

Important: You _MUST_ plug DTE into DCE.

In RS232, all signal description terms are from the DTE perspective.
So TxD (Transmitted Data) is the data stream going from the terminal
or PC into the modem.


You can plug the "Mac to RS232 DTE" cable described above directly
into a modem.  If you are going to plug it into a PC serial port, you
will need a separate null modem.

Or you can redesign the cable, build in the null modem, and have a
"Mac to RS232 DCE" cable.  Swap the DB25P male plug for a DB25S female
socket connector.  Swap the transmit and receive data lines (pins 2 &
3 on DB25).  Swap the handshake lines (Mac 1 to DB25 pin 4 or 20, not
both; and Mac 2 to DB25 pin 5, 6, 8, or all three) as appropriate for
the style of flow control you are using.


It is possible to hand-solder to the little, tightly spaced pins on
a mini-DIN8 male connector.  I've done it.  As a better alternative,
I recommend buying a premade Mac peripheral cable with mini-DIN8 male
plugs at BOTH ends.  Then cut it in half (or as appropriate), use your
ohm meter to figure out the wire color code, then solder on a DB25 or
DE9 connector as you see fit.  Much easier (and, as a side benefit,
you get a nice molded plug on the Mac mini-DIN8 end).

                                               Lee

-------------------------------------------------------------------
Jones Computer Communications             TakeThisOuTlee@spam@spam@spam@frumble.claremont.edu
509 Black Hills Dr, Claremont, CA 91711         voice: 909-621-9008
-------------------------------------------------------------------

1995\12\01@084856 by Chris Smolinski

flavicon
face
On Thu, 30 Nov 1995, Ben Kwok-Yiu Li wrote:

> I am trying to get a piece of hardware to work with the Mac interface.
> It is based on the Eye Mouse in a Circuit Cellar a while back.  Do Mac's
> have the same RS232 or is it the RS422 or something completely
> different?  If anybody knows, I am dying to find out!...as project
> deadline approaches quickly.  Also posted before is the alternative to
> the serial, a MIDI interface.  Any help would be greatly appreciated.

Mac's use a RS422 interface. I can dig up the serial port pinout. You can
wire the ports for RS232 also.

Chris


> ben
> _____________________________________________________________________________
> | TakeThisOuTbenlispamspamuclink2.berkeley.edu | KILLspambenliKILLspamspamspamBeGoneocf.berkeley.edu | spamBeGonebenliKILLspamspambdt.com ******|
> |---------------------------------------------------------------------------|
> |WEB Page under construction...coming soon to a WWW Server near you...******|
> |---------------------------------------------------------------------------|
> |"If we don't stop him now, Bill Gates will take over the entire galaxy, he |
> |already has Earth, and Mars." - Anonymous                                  |
> |___________________________________________________________________________|
>

1995\12\01@110926 by mark bolding

flavicon
face
I two days ago bought a cable like the one Lee describes below. I have
used cables like this in the past to talk to RS-232 devices with no problems.
The cable I bought cost about $10. I bought it localy (Birmingham AL) so I don't
know where you can order it by mail :(
       I will be using the the cable to talk to a 17C42 via a MAX232.  I'm usin
g
LabView on the Mac, so talking to the 17C42 should be a piece of cake. The 17C42
will be used to drive some LCD shutters in a vision science experiment.

Mark

Lee Jones wrote:

snip

{Quote hidden}

snip

===Mark Bolding========================
===UAB Vision Science Research Center==
===http://vision.vsrc.uab.edu/mbolding/

1995\12\01@121524 by David Tait

flavicon
face
Ben Kwok-Yiu Li wrote:

> Do Mac's have the same RS232 or is it the RS422 or something completely
> different?

I answered a similar question on the Microchip BBS a few month's back.
Here is roughly what I said then:

If your Mac is the same as my old Mac SE then it's not exactly RS232 (I
think it's RS422 or somesuch) but can be made to interwork with RS232.
The connections are via a Mini-8 connector:

   8 7 6         8 RXD+   7 GPi   6 TXD+
  5  4  3        5 RXD-   4 GND   3 TXD-
    2 1             2 HSKi    1 HSKo

GPi  is a general purpose input (don't ask me what it's for).
HSKi is Handshake in.
HSKo is Handshake out.

To connect a 3-wire RS232 cable to the Mac:

    RS232              MAC
    -----              ---
     RXD               TXD-
     TXD               RXD-
     GND               GND RXD+ (i.e. RXD+ is wired to GND.)

I usually resolve the ambiguity about which pin is which by using a
DVM to find TXD+ or TXD- as they will be at +/-12V unlike RXD+ or RXD-
which will be around 1V or so.

David
--
david.tait@spam@spamKILLspamman.ac.uk

'PIC and character generator'
1995\12\02@012127 by Steve Childress

flavicon
face
I recall an article in Circuit Cellar, and source code on their server,
where a clever fellow used a PIC chip to read wind speed/dir, etc.
and simultaneously generate a simple character display video
stream.

----------
From:   EraseMEBBolesRemoveMEspam@spam@CCMAIL.MICROCHIP.COM[SMTP:RemoveMEBBolesspamspamEraseMECCMAIL.MICROCHIP.COM]
Sent:   Tuesday, November 28, 1995 9:06 AM
To:     Multiple recipients of list PICLIST
Subject:        Re: PIC and character generator

    You have about 63usec per line, maybe 60% useable is 38usec.  On that
    you need at least 60 pixels assuming the display is to spread across
    the entire screen, so now you have 634nsec per pixel.  Even at 20MHz
    you are only getting 3 instructions per pixel, not enough to run a
    pixel shift algorithm.  However, maybe with a external parallel to
    serial shift register or for that matter a relatively cheap VRAM....

    Rgds, Brian.


______________________________ Reply Separator _________________________________
Subject: PIC and character generator
Author:  "Paul Christenson [N3EOP]" <STOPspamPJC130.....spamPSUVM.PSU.EDU> at Internet_Exchange
Date:    11/28/95 9:38 AM


Is the PIC fast enough to be useable as a character generator to overlay
text/graphics on NTSC video?  About 10 chars/line is all I need; nothing
fancy.  (I want to overlay date/time on a camera feed.)

'Macintosh Serial Interface?'
1995\12\02@013821 by Steve Childress

flavicon
face
------ =_NextPart_000_01BAC03D.BA724920
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

Do you have the pin-out of a MAX232 chip?

----------
From:   mark bolding[SMTP:spamBeGonemboldingRemoveMEspamRemoveMEVISION.VSRC.UAB.EDU]
Sent:   Friday, December 01, 1995 11:18 AM
To:     Multiple recipients of list PICLIST
Subject:        Re: Macintosh Serial Interface?

I two days ago bought a cable like the one Lee describes below. I have
used cables like this in the past to talk to RS-232 devices with no problems.
The cable I bought cost about $10. I bought it localy (Birmingham AL) so I don't
know where you can order it by mail :(
       I will be using the the cable to talk to a 17C42 via a MAX232.  I'm
using
LabView on the Mac, so talking to the 17C42 should be a piece of cake. The 17C42
will be used to drive some LCD shutters in a vision science experiment.

Mark

Lee Jones wrote:

snip

{Quote hidden}

snip

===Mark Bolding========================
===UAB Vision Science Research Center==
===http://vision.vsrc.uab.edu/mbolding/



------ =_NextPart_000_01BAC03D.BA724920
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IhkGAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
AEABAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAFgAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABwaWMgbWljcm9jb250cm9sbGVyIGRpc2N1c3Npb24gbGlzdABTTVRQAFBJQ0xJU1RA
TUlUVk1BLk1JVC5FRFUAHgACMAEAAAAFAAAAU01UUAAAAAAeAAMwAQAAABcAAABQSUNMSVNUQE1J
VFZNQS5NSVQuRURVAAADABUMAQAAAAMA/g8GAAAAHgABMAEAAAAmAAAAJ3BpYyBtaWNyb2NvbnRy
b2xsZXIgZGlzY3Vzc2lvbiBsaXN0JwAAAAIBCzABAAAAHAAAAFNNVFA6UElDTElTVEBNSVRWTUEu
TUlULkVEVQADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAAAAAAA98+AQiABwAYAAAASVBNLk1p
Y3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACAAAABSRTogTWFjaW50b3NoIFNlcmlhbCBJbnRlcmZh
Y2U/AAcLAQWAAwAOAAAAywcMAAEAFgAmABgABQA4AQEggAMADgAAAMsHDAABABYAJgALAAUAKwEB
CYABACEAAAAyREY4NzVERjJCMkNDRjExOTQ1QTQ0NDU1MzU0MDAwMAADBwEDkAYA3AYAABIAAAAL
ACMAAAAAAAMAJgAAAAAACwApAAAAAAADADYAAAAAAEAAOQDAv9PHgMC6AR4AcAABAAAAIAAAAFJF
OiBNYWNpbnRvc2ggU2VyaWFsIEludGVyZmFjZT8AAgFxAAEAAAAWAAAAAbrAgMfT33X4LiwrEc+U
WkRFU1QAAAAAHgAeDAEAAAAFAAAAU01UUAAAAAAeAB8MAQAAABAAAABzdGV2ZWNAcmFpbi5vcmcA
AwAGEI87uAkDAAcQ4AQAAB4ACBABAAAAZQAAAERPWU9VSEFWRVRIRVBJTi1PVVRPRkFNQVgyMzJD
SElQPy0tLS0tLS0tLS1GUk9NOk1BUktCT0xESU5HU01UUDpNQk9MRElOR0BWSVNJT05WU1JDVUFC
RURVU0VOVDpGUklEQVkAAAAAAgEJEAEAAABdBQAAWQUAAEgKAABMWkZ1otfNCf8ACgEPAhUCqAXr
AoMAUALyCQIAY2gKwHNldDI3BgAGwwKDMgPFAgBwckJxEeJzdGVtAoMzdwLkBxMCgH0KgAjPCdk7
8RYPMjU1AoAKgQ2xC2DgbmcxMDMUUAsKFFEFC/JjAEAgRG8geQUIYCARgHZlIHRoNRuQcAuALQhg
BUBvZoQgYQXQQVgyMxHgGxFwBSA/CoUKi2xpMQQ4MALRaS0xNDTPDfAM0B9jC1kxNgqgA2D1E9Bj
BUAtIYcKhyA7DDB1IQZGA2E6Io4hBgyCIFEAwHJrIAbhZAuAZ8BbU01UUDoG0ibCAEBWSVNJT04u
AFZTUkMuVUFC4C5FRFVdIi8jPQZgDwIwJG8leyQgaWRheS4sGuAFkBPgYgSQIDBCMS2wMTk5NS6Q
MTY6HuAUsE0pPyM9VG9DK38le011bHQFIGz7G5AWEGMFIAiQAjAEIBxxgx7AE8AgUElDTCgAxlQv
fypOdWJqIUExn2kle1JlOBBNANALgHSYb3NoBlMHQCBJAjA1BJBmANBlHX8ehDM21yAHGkUhBkkb
oHcbAC2BGQQgYWcbAAbgdWdouwVAHKBjAaAz0R7AaxuU+wIgG5BMCeA/MAeQBQEuIOcEIC4gFaB3
Lj7RG2IKhXp1EbBkQFQEIEDFBAAg+wuAG6RhNQE6gBugB0AmcDFF0VJTLRzyDbB2ac8t8AQgA/Ab
sCBuGwAhAdFAgW1zLgqFVBvBQGS/PuA/1QWgNQEBoBwyJBkwL0LCP9VHgDTQb0BgbHnAIChCaXJt
JtERgMJtFLBMKSBzGwA+4NJkAiAndAqFa0fAB+D+dxvAFhAbE0BgA6AFsASBnUuiYkwwAMADEToo
CoX3USY+4APwbAMgLiBDoSbRHxujG7JAZEXZHKAxN0N+NBHgRxAcoBymQsA7MCfXTPBSUwqFTAGg
VgiQB+D/AiAbozoxLbBNUUYCUnNF4f8bwVRkOqAIYCawUhIcoDRB/y3wHGJAYEDgQsBI8lRjCoX3
UdhD0UXRZAUQG4FNUAeA+UGAQ0RZYRxAO2FE8xygP0cQAJBXMQTwNFFaYWV4/nAGcQeAAjBIdgqF
OjAmYLs77EGSSkFRR1EhEjo77OpzAwBwO+w+MWEmMUDhjxyhANBGRBzyRFRFTUDjOuRAZChpLlrx
ZlUEYvRtKWOGPmUnOjhrHEaEx2UnTJEfQERJTi8waxwkREJGoDVQbY5FLfw5UGxoB0Ab0QpAUpBr
HP4ocKJNMHFPclRGhUOwP5APQzZp6FEgGtAgSHNr5k9RICGIKy1RIAHQblFcVFJ2aiGAUSA0biRh
PwGQMWAEkEyROxE58GFkbnl1SXsPUSAndzF4wlKWVAXwd+03a7RlcQpQ9zUBZbErMWR1SRHgdhI+
4KV37SAu0CBDfN8gbXQuQzPQSMJ+7zNRIFR4/kR3MYCNf/GE4XfehLFRIfxUcgBxTJAFQHkydUl4
0Z5HCyBRIYCNffFTR4nf44FxUSFTaWd50omgCGD7fyuBcVKE/4SEjmF33n/xX34jLfBdQUPgiI02
hMMr43VJffFuLmNIdnWybXH9jmErjq+K/4wPjR9RITqg70KAAyCAfnXxRpb/mhUkIP9M4BuQmOxl
KBvBSnEbgUBkcHN1cHAVsQQgEYFkfncKwBuQEYB/IDqgZfIo/XzBLYGiGOBOgQWgAjADYGxsKWOf
ZK09pSBhciB+QiakpSGmP6aCpLgosSD7VuBfE1NfdTnwEbAKwBFwH4GQK0EEkKd6QBB0cDpELy9e
9C52c6mwLkZ1AaBoUGR1LydmL7877DxfPW8hFQqFFTEAsXAAAAADABAQAAAAAAMAERAAAAAAQAAH
MKD+KsCAwLoBQAAIMKD+KsCAwLoBHgA9AAEAAAAFAAAAUkU6IAAAAAC0Mg==

------ =_NextPart_000_01BAC03D.BA724920--

'PIC and character generator'
1995\12\02@073456 by adrian

flavicon
picon face
you wrote:

> I recall an article in Circuit Cellar, and source code on their server,
> where a clever fellow used a PIC chip to read wind speed/dir, etc.
> and simultaneously generate a simple character display video
> stream.

Anyone know the details of video time codes as used in production TV ?
I think I have an application for an inexpensive timecode reader
which could perhaps use a PIC and maybe a shift register and sync seperator.

I don't have the spec on the time codes used though. It appears to be time
or date/time as white wide dots in the top line(s) of the video (where
teletext would go), but maybe a microsecond per dot.

--
_
(_) _| _ . _  _   Tel +44 973 222257
( )(_|(  |(_|| )  Fax UK 0500 222258                    E&OE

'trouble with acrobat doct'
1995\12\02@123419 by reginald neale

flavicon
face
I downloaded the document *st_app1.pdf* as suggested by someone on
this list. It's a compilation of stamp applications. At least that's
what it's supposed to be. When I open it using Adobe Acrobat 2.01
I get a 37 page blank document. When scrolling through it, a dialog
box come up that says "An unrecognized token zero was found."
I'm using a Mac 7100 with system 7.5.1. Anybody have a guess as to
what might be going wrong?

thanx

Reg

1995\12\02@145427 by Don McKenzie

flavicon
face
On Sat, 2 Dec 1995, reginald neale wrote:
> I downloaded the document *st_app1.pdf* as suggested by someone on
> this list. It's a compilation of stamp applications. At least that's
> what it's supposed to be. When I open it using Adobe Acrobat 2.01
> I get a 37 page blank document. When scrolling through it, a dialog
> box come up that says "An unrecognized token zero was found."
> I'm using a Mac 7100 with system 7.5.1. Anybody have a guess as to
> what might be going wrong?
> thanx
> Reg

I can download many megs of PDF files without error from the MicroChip
BBS via Compuserve. In my attempts to get PDF files from the Parallax BBS
using the Internet, I have failed on many occassions.

After a little experimentation, I found that if I zipped them up (yes, I
know it saves no space at all!) before I uploaded them to my machine, then
unzipped after arrival, all was well.

But then I'm using a PC not a MAC, so your problem may be another.
I don't know if you are aware or not, but there is a 'Stamp List' that
may offer further assistance with an answer to your question.

Don McKenzie.          29 Ellesmere Cres., Tullamarine. 3043 Australia
ETI PIC Basic, BS1/2 & Alternatives.  18/28 PIC protos with RS-232/485
Promo Disk http://rasi.lr.ttu.ee/~sis/mirror/don/
finger @spam@donmckspamBeGonespamtbsa.com.au for more info.                    VISA-MC-BC
InfoFax 6 pages Inc cct: Voice then Fax +613 9338-2935 Password # 1111

'Macintosh Serial Interface?'
1995\12\02@205716 by AV Presentations

picon face
On Thu, 30 Nov 1995, Ben Kwok-Yiu Li wrote:

> I am trying to get a piece of hardware to work with the Mac interface.
> It is based on the Eye Mouse in a Circuit Cellar a while back.  Do Mac's
> have the same RS232 or is it the RS422 or something completely
> different?  If anybody knows, I am dying to find out!...as project
> deadline approaches quickly.  Also posted before is the alternative to
> the serial, a MIDI interface.  Any help would be greatly appreciated.
>
Hi,
I'm not familiar with the article you mentioned, but if your project
involves a MAC mouse, rs-232 is not the solution.  Macs use the ADB port
(Apple Desktop Bus) for the mouse and keyboard.  It is a clocked TTL
serial bus @ about 1200 baud.  I saw a source listing for the pic
somewhere for ADB.  Try the Microchip BBS.

morris beverly    spam_OUTavpresspamspamworld.std.com

'PIC and character generator'
1995\12\02@212243 by AV Presentations

picon face
On Sat, 2 Dec 1995, Adrian Kennard wrote:

> you wrote:
>
> > I recall an article in Circuit Cellar, and source code on their server,
> > where a clever fellow used a PIC chip to read wind speed/dir, etc.
> > and simultaneously generate a simple character display video
> > stream.
>
> Anyone know the details of video time codes as used in production TV ?
> I think I have an application for an inexpensive timecode reader
> which could perhaps use a PIC and maybe a shift register and sync seperator.
>
> I don't have the spec on the time codes used though. It appears to be time
> or date/time as white wide dots in the top line(s) of the video (where
> teletext would go), but maybe a microsecond per dot.
>
There are currently two types of time code used in video.  The
traditional type is a serial stream that is recorded either on it's own
track or on an audio track.  It has some problems in that it can't really
be read when the deck is in pause and also reading it in reverse is
difficult (although it can be done, and is on high end decks).  The type
you are describing is VITC for vertical interval time code.  The name
tells you basically what's happening.  It solves the problems of
longitudinal time code.  A high clock speed Pic could probably pull it
off, but I don't know enough about the timing to say for sure.  Try a
search on SMPTE for more info.

morris beverly    spamavpresspamspamspamworld.std.com

1995\12\02@224121 by John Payson

flavicon
face
> There are currently two types of time code used in video.  The
> traditional type is a serial stream that is recorded either on it's own
> track or on an audio track.  It has some problems in that it can't really
> be read when the deck is in pause and also reading it in reverse is
> difficult (although it can be done, and is on high end decks).  The type
> you are describing is VITC for vertical interval time code.  The name
> tells you basically what's happening.  It solves the problems of
> longitudinal time code.  A high clock speed Pic could probably pull it
> off, but I don't know enough about the timing to say for sure.  Try a
> search on SMPTE for more info.

I haven't done anything with VITC, but I have done hardware/software to
read longitudinal timecode and it's not too hard (my software was good for
forward/reverse, approx. 1/4x to 4x speed and probably beyond; the hardware
I was using had an AC coupling cap and a noise filter cap which caused the
signals to wimp out at slower/faster speeds).  While it's true that LTC can
not be read while the tape is stopped, it does have a couple advantages over
VITC:

[1] On many machines, LTC and video can be written independently.  A VITC
   timecode cannot be rewritten without recording over the video.

[2] LTC can be during rapid forward or reverse tape motion without engaging
   the video heads.

[3] Since it's nice and slow, a cheap little micro can read/generate it :-)

1995\12\03@022616 by Eric Smith

flavicon
face
> Anyone know the details of video time codes as used in production TV ?
> I think I have an application for an inexpensive timecode reader
> which could perhaps use a PIC and maybe a shift register and sync seperator.

Check the article in Circuit Cellar INK issue 45 about the Vertical Blanking
Interval Explorer, one of their design contest winners.  The time code was
one of the things the explorer would decode, and there was a description of
the signal format.

The 8051 code for the project and a PostScript version of the original design
contest entry are available from their net server:
       ftp://ftp.circellar.com/pub/circellar/INK45/VBI.ZIP

Eric

1995\12\03@023030 by Eric Smith

flavicon
face
I should add to my previous recommendation about the VBI Explorer published
in Circuit Cellar INK, that the original version didn't actually do
SMPTE VITC, but it did another form of time code used by the networks.
However, the ZIP file that you can get by FTP *does* include a more recent
version of the code which can handle SMTPE VITC also, along with information
on the necessary hardware additions.

Eric

'Max 232 pin out, was Re: Macintosh Serial Interfac'
1995\12\06@151235 by mark bolding

flavicon
face
Steve Childress wrote:
>
> ------ =_NextPart_000_01BAC03D.BA724920
> Content-Type: text/plain; charset="us-ascii"
> Content-Transfer-Encoding: 7bit
>
> Do you have the pin-out of a MAX232 chip?

You can get a data sheet from Maxim by calling
1 800 998 8800.


===Mark Bolding========================
===UAB Vision Science Research Center==
===http://vision.vsrc.uab.edu/mbolding/

1995\12\06@155321 by Clyde Smith-Stubbs

flavicon
face
Mark Bolding wrote:
> Steve Childress wrote:
> >
> > Do you have the pin-out of a MAX232 chip?
>
> You can get a data sheet from Maxim by calling
> 1 800 998 8800.

Maxim do have a WWW site with data sheets on it in Acrobat format. The
URL is http:/http://www.maxim-ic.com. Unfortunately perhaps half the parts
listed have a one page data sheet that says "Coming Soon"! And
the MAX-232 is one of these :=(

On the other hand, if you were after the data sheet for a MAX 2402
spread-spectrum radio transmitter, it's right there!


--
Clyde Smith-Stubbs       | HI-TECH Software,       | Voice: +61 7 3300 5011
spamBeGoneclydeKILLspamspamKILLspamhitech.com.au      | P.O. Box 103, Alderley, | Fax:   +61 7 3300 5246
http://www.hitech.com.au  | QLD, 4051, AUSTRALIA.   | BBS:   +61 7 3300 5235
----------------------------------------------------------------------------
FREE! Download our shareware (FREE for noncommercial use) MS-DOS C Compiler!
            Point your Web browser at http://www.hitech.com.au/

'Macintosh PIC direct connect Serial?'
1995\12\13@153239 by Ben Kwok-Yiu Li

picon face
Can I use the app note in the Embeeded handbook about direct serial with
a Macintosh interface?  I only need to transmit to the MAC.

_____________________________________________________________________________
| TakeThisOuTbenlispamspamuclink2.berkeley.edu | spamBeGonebenlispamocf.berkeley.edu | EraseMEbenliEraseMEspambdt.com ******|
|---------------------------------------------------------------------------|
|WEB Page under construction...coming soon to a WWW Server near you...******|
|---------------------------------------------------------------------------|
|"If we don't stop him now, Bill Gates will take over the entire galaxy, he |
|already has Earth, and Mars." - Anonymous                                  |
|___________________________________________________________________________|

'PC keyboard interface'
1995\12\16@021024 by Christenson [N3EOP]

flavicon
face
With the recent discussion on interfacing to the PC keyboard, does anyone
know where I can find the scan codes for the XT and AT keyboards?

I have an old Portable PC that I would like to upgrade to a 3/486
system.  I'd like to use a PIC as a "wedge" to convert the different scan
codes; I could also use a PIC to replace the intelligence in the original
keyboard.

Any ideas?

1995\12\16@102234 by mauricio

flavicon
face
> With the recent discussion on interfacing to the PC keyboard, does anyone
> know where I can find the scan codes for the XT and AT keyboards?
> . . .
> Any ideas?

try http://www.paranoia.com/~filipg, you'll find more than you need.

max

1995\12\16@164257 by chris

flavicon
face
> With the recent discussion on interfacing to the PC keyboard, does anyone
> know where I can find the scan codes for the XT and AT keyboards?

Try our ftp site, ftp://itutech.com

In the pc-int directory, you will find a file called scancode.txt
that should help you.

Good luck!

Chris
----------------------------------------------------------------------
Chris B. Sakkas (spamBeGonechrisspam_OUTspam.....itutech.com)  http://www.itutech.com
ITU Technologies (spamsalesspamitutech.com)    ftp://itutech.com
*** Complete PIC programming packages starting at only $29! ***
*** VISA and MasterCard accepted     (513) 574-7523         ***
*** See our web page or e-mail us today for more info!      ***

'Adobe Acrobat Help.. please'
1995\12\30@175300 by Patrick S. Coutu

flavicon
face
         G'day Pic'ers,
       I have installed Adobe Acrobat 2.1 in Windows 3.1-No Problem.
       When I run it, it hangs my system...
                "Progman caused a general protection nfault in
                  module KERNL386.EXE @ 0002:17A5"
      I appologize for not being on topic, but would like to read some
      application notes.
              Pat Coutu -> in%"RemoveMEc82032476KILLspamspamKILLspamacs.saultc.on.ca"

1995\12\30@200229 by William Kitchen

flavicon
face
Patrick S. Coutu wrote:
>
>           G'day Pic'ers,
>         I have installed Adobe Acrobat 2.1 in Windows 3.1-No Problem.
>         When I run it, it hangs my system...
>                  "Progman caused a general protection nfault in
>                    module KERNL386.EXE @ 0002:17A5"
>        I appologize for not being on topic, but would like to read some
>        application notes.
>                Pat Coutu -> in%"EraseMEc82032476spamBeGonespamspamacs.saultc.on.ca"

Hello Patrick,

I installed it on my machine a couple of weeks ago and haven't had any problems
with it.  I suspect that you might have a corrupted copy.  The only thing that
comes to mind is to delete it, download another copy from another source, then
reinstall.  Of course, this is a lot of work and it's entirely possible that
the trouble could lie somewhere else, but I've cured similar problems this way
in the past.  If anyone has a better idea, by all means speak up.


William Kitchen


'PIC die in waffle pack'
1996\03\13@050827 by Wiriya Sasisakulporn
flavicon
picon face
Hi guys,

I am looking for the information about a PIC die in waffle pack. PIC die
is a piece of silicon inside the DIP package. It's very small and cheap,
if I'm right. Our company will use it a new product that need a very
small size and a security. If you know where to ask about this, let me
know ASAP. Thanks in advance.

Wiriya Sasisakulporn
KILLspamwiriyaspammozart.inet.co.th

1996\03\13@101412 by Wiriya Sasisakulporn

flavicon
picon face
Sorry for disturbing. I am not sure this message was sent or not. Sorry
again.

Hi guys,

I am looking for the information about a PIC die in waffle pack. PIC die
is a piece of silicon inside the DIP package. It's very small and cheap,
if I'm right. Our company will use it a new product that need a very
small size and a security. If you know where to ask about this, let me
know ASAP. Thanks in advance.

Wiriya Sasisakulporn
wiriyaspam_OUTspamspammozart.inet.co.th

1996\03\13@110307 by Brian Boles

flavicon
face
    Wiriya,

    Most PIC devices can be purchased in die form.  Please contact your
    local sales office.

    Rgds,Brian.


______________________________ Reply Separator _________________________________
Subject: PIC die in waffle pack
Author:  Wiriya Sasisakulporn <wiriyaspamspam@spam@MOZART.INET.CO.TH> at Internet_Exchange
Date:    3/13/96 10:13 PM


Sorry for disturbing. I am not sure this message was sent or not. Sorry
again.

Hi guys,

I am looking for the information about a PIC die in waffle pack. PIC die
is a piece of silicon inside the DIP package. It's very small and cheap,
if I'm right. Our company will use it a new product that need a very
small size and a security. If you know where to ask about this, let me
know ASAP. Thanks in advance.

Wiriya Sasisakulporn
spamBeGonewiriya.....spammozart.inet.co.th

'mps16c on mac with softwindows'
1996\03\20@174637 by Paul Bjork

flavicon
face
Has anyone tried running the PICStart 16c (v1.3) on a Macintosh with Softwindows
2.1 Windows emulation?  I can get other developer's systems working in this
mode, but the communication for the PICStart just doesn't quite "catch".

The manual for the PICStart is very sketchy on communication parameters such as
Baud rate, parity, etc.  I've tried common combinations of these, hardware
handshaking and Xon/Xoff, too.  I know that the signals are different connecting
for the Mac are different than RS-232 but the special hardware I got with
Softwindows is supposed to take care of most of those cases.

Any sources for information on this, or experience out there?  Please, no guff
about the Macintosh.  I just can't give up my Mac even though all the
engineering hardware is made for the PC.

1996\03\20@214151 by reginald neale

flavicon
face
>
> Has anyone tried running the PICStart 16c (v1.3) on a Macintosh with
Softwindows
> 2.1 Windows emulation?  I can get other developer's systems working in this
> mode, but the communication for the PICStart just doesn't quite "catch".
>
> The manual for the PICStart is very sketchy on communication parameters such
as
> Baud rate, parity, etc.  I've tried common combinations of these, hardware
> handshaking and Xon/Xoff, too.  I know that the signals are different
connecting
> for the Mac are different than RS-232 but the special hardware I got with
> Softwindows is supposed to take care of most of those cases.
>
> Any sources for information on this, or experience out there?  Please, no guff
> about the Macintosh.  I just can't give up my Mac even though all the
> engineering hardware is made for the PC.
>
Paul:

I'm in the same boat. The problem is that Microchip chose to use a bastard
communications protocol for the serial link to the programmer. They aren't
going to be bothered doing anything to make it useable for us Mac people.


....Reg Neale.............standard disclaimer applies.......
"Ignorance is a renewable resource."    P. J. O'Rourke......

'A Place to visit'
1996\03\20@225823 by staff

flavicon
face
                              *  NOTICE *
Our research indicates that you may be interested in receiving this
material. If this is not the case, you may easily take yourself off of our list
with our sincere
apologies and we will not attempt  to contact you again. Simply send an Email
to:
.....staff@spam@spamcvcom.com and put "remove" in the subject line.

  ********** THIS EMAIL COULD CHANGE YOUR LIFE ***********

If you have all the freedom and money you have ever hoped for - stop
reading now.

But, if you have ever thought about what it would be like to be your
own boss, make your own hours, and achieve financial success on YOUR terms,
then we have one simple announcement to make personally to YOU:

     ****** announcing: "ENTREPRENEUR HQ"  ******
             http://www.cvcom.com
      The Ultimate Website for Business Opportunity

We realize it is not our place to tell you what YOUR financial or
lifestyle goals and objectives should be! That is why we have built this
"Opportunities" mall, and filled it with ONLY the best, PROVEN
opportunities of every description, including:
** Home-Based Business Opportunities
** Franchise Business Opportunities
** Investment Opportunities
** MLM and Network Marketing Opportunities
** Mail-Order Business Opportunities
** Vending Business Opportunities
** Distributorship Opportunities

PLUS, supplemental categories of:
** Business Services
** Legal Services

Again, the URL is http://www.cvcom.com
DONT DELAY! As the big corporations announce layoff after layoff, and
job security becomes a thing of the past, it becomes more and more apparent
that TRUE freedom and security can only come from being your own boss, on
YOUR OWN TERMS. You will find at Entrepreneur HQ the companies and people
who stand ready to assist you in realizing YOUR dreams as millions have already
done! Come to Entrepreneur HQ right away and browse...Your first steps on the
road to success are merely a few mouse clicks away....http://www.cvcom.com
We look forward to your arrival and imminent success!


*************************************************
* CV Communications                             *
* Your Complete Business Opportunities Website  *
* @spam@staffspamcvcom.com                               *
* (603)431-3990 phone (603)431-3893 fax         *
* http://www.cvcom.com URL staffRemoveMEspamcvcom.com email*
* PO Box 4635 Portsmouth, NH 03802              *
*************************************************

1996\03\20@230724 by Clyde Smith-Stubbs

flavicon
face
AAAARRGH. My apologies to all for replying to the list instead of the
originator.

Clyde

--
Clyde Smith-Stubbs       | HI-TECH Software,       | Voice: +61 7 3300 5011
spamclydespamhitech.com.au      | P.O. Box 103, Alderley, | Fax:   +61 7 3300 5246
http://www.hitech.com.au  | QLD, 4051, AUSTRALIA.   | BBS:   +61 7 3300 5235
----------------------------------------------------------------------------
For info on the World's best C cross compilers for embedded systems, point
your WWW browser at http://www.hitech.com.au, or email infospam_OUTspamTakeThisOuThitech.com.au.

'Simulator vs. Actual'
1996\03\22@092504 by Rob Martin

flavicon
face
       I know this is rather extensive but I know I must be missing something
fundamental here or something.  I have written a program that basically is
supposed to do one of three things, depending on which pins on PortB get the
signal.
Once a signal occurs, the RTCC is started and the program goes back to sleep
after
different delays for each task.  The following is how I think I have things
setup:

PortB, bit 7 - do task3
PortB, bit 5 - do task2
PortB, bit 4 - do task1

Task2 should be the default incase something goes weird (the failsafe you
might say)

I used Parallax coding (mostly) and assembler to generate the object file.
I also use the Parallax simulator to check to code out and it does exactly what
I think it should do when I step through the instructions.  When I program the
16C71 and put it on the PIC proto board and change the level on on of the PortB
pins, it acts nothing like I expect !

Can somebody HELP !

__________________ CODE ____________________________________

       DEVICE  pic16c71,hs_osc,wdt_off,pwrt_off,protect_off
       ID 'TEST'

DATA    EQU     0Ch     ;leave 4 bytes of data for each value
                       ;12 bytes are used for ch0 - ch2 : 0Ch - 17h
TIME    EQU     18h
CHAN    EQU     23h     ;Channel count
LOC     EQU     24h     ;Location in data array
TEMP    EQU     25h
LASTRB  EQU     26h     ;Last status of PortB to watch for change
TIMECNT EQU     28h     ;Counter for Timing Routines
VARI    EQU     2Fh     ;Loop variable for Division
;
       org     0
       goto    start

;Interrupt handler
       org     4
       sb      INTCON.2        ;If RTCC interrupt then inc. seconds
       goto    NextInt
       goto    TimeInt         ;Routine to set time
NextInt sb      RBIF            ;If bit 0 set then Port B Transition
       goto    IntEnd
       goto    TaskInt         ;Routine to select task
IntEnd  reti

start   mov     TIMECNT,#76     ;Initialize counter for timer
       clr     TIME            ;Initialize TIME to zero
       clrb    INTCON.5        ;disable RTCC Interrupt
       clrb    GIE             ;disable global interrupt
       call    InitIntB        ;Initialize PortB for Interrupts
       sleep                   ;put to sleep until Interrupt

TaskInt mov     LASTRB,PORTB
       mov     w,PORTB
       mov     TEMP,w
       xor     LASTRB,w
       snb     LASTRB.4
       goto    Task1
       snb     LASTRB.7
       goto    Task3
       goto    Task2

TimeInt dec     TIMECNT         ;RTCC needs to overflow 76 times for 1 Sec.
       cse     TIMECNT,#0      ;If TIMECNT is Zero the increment seconds
       goto    EndTime
       inc     TIME            ;Increment Time Counter
       xor     PORTB,#00000001b
       mov     TIMECNT,#76     ;Reset counter for timer
EndTime clrb    INTCON.2

Task3
       mov     LASTRB,PORTB    ;save PortB values to LASTRB
       clrb    RBIF            ;Clear Port B Interrupt Flag
       call    InitportB
       call    InitIntRTCC     ;Initialize RTCC for clock interrupts
       clrb    RBIE            ;Disable Port B Interrupts
T3Wait  clrb    PORTB.1         ;make sure LED is off
       setb    PORTB.3         ;set bit 3 to turn LED
       setb    PORTB.2         ;PORTB, bit 2 is LED output
       mov     w,#100
mloop2  mov     VARI,w
       mov     w,#250           ;need to loop approx. 25,000 times for 20
mS at 20.0 MHz
mloop1  mov     TEMP,w
       movsz   w,--TEMP
       goto    mloop1
       movsz   w,--VARI
       goto    mloop2
       clrb    PORTB.2
       mov     w,#100
mloop4  mov     VARI,w
       mov     w,#250
mloop3  mov     TEMP,w
       movsz   w,--TEMP
       goto    mloop3
       movsz   w,--VARI
       goto    mloop4
       clrb    PORTB.3         ;clear bit 3 to turn off LED
       csb     TIME,#10        ;lube for 10 seconds before resetting
       goto    start           ;
       goto    T3Wait          ;Loop around before re-starting

Task2   mov     LASTRB,PORTB    ;save PortB values to LASTRB
       clrb    RBIE            ;Disable Port B Interrupts
       call    InitportB
       call    InitIntRTCC     ;Initialize RTCC for clock interrupts
       clrb    RBIF            ;clear flag
NoWait  csb     TIME,#255       ;wait for 2 seconds before resetting
       goto    start           ;
       goto    NoWait          ;Loop around before re-starting

Task1   mov     LASTRB,PORTB    ;save PortB values to LASTRB
       clrb    RBIE            ;Disable Port B Interrupts
       call    InitportB
       call    InitConst       ;Initialize Constants
       call    InitIntRTCC     ;Initialize RTCC for clock interrupts
       call    InitAD
       call    StartAD
       clrb    RBIF            ;clear flag
update  mov     INDIRECT,ADRES
       cse     CHAN,#2         ;Only sample 3 of the four A/D channels
       goto    NextAd          ;else do next channel
       .
       .
       .
; This is where the stuff to go with Task 1 is
       .
       .
       .
       csa     TIME,#30        ;If TIME gets to 30 then no more activity
       goto    NextAd          ;NO, get next channel and continue
       goto    start           ;YES, end of task1 and start over

NextAd  call    NextChan        ;select next channel
       call    SetupDelay      ;set up > = 10uS
       clrb    ADIF            ;clear flag
       setb    GO_DONE         ;set bit to start new a/d conversion
loop    snb     ADIF            ;a/d done?
       goto    update          ;yes then update
       goto    loop            ;wait till done
;
;InitConst, initializes some constants
;
InitConst
       clr     VAVG
       clr     VAVG+1
       clr     LASTVAV
       clr     LASTVAV+1
       clr     MAXLV
       clr     TIME
       clr     FLAGS
       clr     NUMPEAK
       clr     NUMLUBE
       clr     MAXV
       clr     MAXL
       clr     MAXL+1
       return
;
; InitportB, initializes port b as outputs
;
InitportB
       mov     !RB,#0          ;make PortB RB0-RB3 outputs
       mov     w,PORTB         ;get PortB values, ends mismatch condition
       clr     PORTB
       clrb    RBIF            ;clear flag
       return
;
; InitIntB, initializes port b as Interrupts
;
InitIntB
       setb    RP0             ;set to Page 1
       mov     !RA,#255        ;make PortA digital I/O
       mov     !RB,#240        ;make RB0-RB3 outputs and RB4-RB7 inputs
(11110000)
       mov     OPTION,#00110111b       ;Set Option Register
       clrb    RP0             ;set back to Page 0
       clr     PORTB           ;clear PortB
       clr     LASTRB          ;clear last PortB reading
       clr     PORTA           ;clear PortA
       clr     TMR0            ;clear RTCC counter
       clrb    RBIE            ;disable mask
       mov     w,PORTB         ;read PortB
       clrb    RBIF            ;clear flag
       setb    RBIE            ;enable mask
       setb    GIE             ;enable global interrupts
       return
;
;InitIntRTCC, Initializes RTCC for interrupts for real-time clock
;
InitIntRTCC
       setb    RP0                     ;set to Page 1
       mov     OPTION,#00010111b       ;Set Option Register
                                       ;RTCC Internal & 1:256 pre-scaler
       clrb    RP0                     ;set back to Page 0
       setb    INTCON.5                ;enable RTCC Interrupt
       setb    GIE
       return
;
;InitAD, initializes and sets up the A/D hardware.
;
InitAD
       mov     !RA,#255        ;Sets Port A as inputs
       mov     ADCON0,#192     ;Set up for internal RC Oscillator (11000000b)
       setb    RP0             ;Enable Page 1
       mov     ADCON1,#0       ;Enable RA0-RA3 as A/D inputs
       clrb    RP0             ;Enable Page 0
       return
;
;StartAD, starts up the ADC
;
StartAD
       setb    ADON            ;Power up the ADC
       mov     DATA,#0Ch       ;Set first value to start address
       mov     FSR,DATA        ;and load into indirect register
       clr     ADRES           ;Clear the ADC Result
       clrb    ADIF            ;clear flag
       setb    GO_DONE         ;set bit to start new a/d conversion
ADloop  snb     ADIF            ;a/d done?
       return
       goto    ADloop          ;wait till done
;
;NextChan, selects the next channel to be sampled in a "round-robin" format.
;
NextChan
ncstart mov     w,#08
       add     ADCON0,w        ;00 is ch0 and 01 is ch1, etc.
       clrb    ADCON0.5        ;clear carry bit
       clr     CHAN
       clr     TEMP
       snb     CHS0
       setb    CHAN.0          ;make CHAN the next channel number
       snb     CHS1
       setb    CHAN.1
       cje     CHAN,#3,chret   ;skip if CH3
       cjne    CHAN,#0,chcont  ;is CHAN equal to CH0
       mov     TEMP,#-12       ;if Equal to CH0 then delete 12 bytes
       call    NextScan        ;else select next scan location
       add     FSR,LOC         ;add byte (scan) location
chcont  add     TEMP,#4         ;then add 4 more bytes to last FSR
       add     FSR,TEMP        ;add channel location
       return
chret   goto    ncstart
;
;NextScan, selects the next location for the data to be stored in the
;4 byte array and sets FSR accordingly
;
NextScan
       sub     FSR,loc         ;decrement FSR back to base address
       inc     loc             ;increment byte location
       cjne    loc,#4,sccont   ;Skip if less than 5
       clr     loc             ;set back to 0
sccont
       return
;
;This routine is a software delay of 10uS for the a/d setup.
;At 4Mhz clock, the loop takes 3uS, so initialize TEMP with
;a value of 3 to give 9uS, plus the move etc should result in
;a total time of > 10uS.
;At 20Mhz clock, the loop takes 2uS, so initialize TEMP with
;a value of 5 to give 10uS, plus the move etc. should result in
;a total time of > 10uS.
SetupDelay
       mov     w,#05
sdloop
       mov     TEMP,w
       movsz   w,--TEMP
       goto    sdloop
       return



       END     ;End of Program

Rob Martin
Association of American Railroads
Transportation Technology Center
Pueblo, CO 81001
spam_OUTrob@spam@spamRemoveMEwheels.aar.com

'A Place to visit: Remove'
1996\03\22@123502 by a (Di Sarcina Riccardo)

flavicon
face
staff@CVCOM.COM wrote:
>
>                                *  NOTICE *
> Our research indicates that you may be interested in receiving this
> material. If this is not the case, you may easily take yourself off of our
list
{Quote hidden}

More... (looser matching)
- Last day of these posts
- In 1996 , 1997 only
- Today
- New search...