CA1176301A - Modulated light printing - Google Patents
Modulated light printingInfo
- Publication number
- CA1176301A CA1176301A CA000373903A CA373903A CA1176301A CA 1176301 A CA1176301 A CA 1176301A CA 000373903 A CA000373903 A CA 000373903A CA 373903 A CA373903 A CA 373903A CA 1176301 A CA1176301 A CA 1176301A
- Authority
- CA
- Canada
- Prior art keywords
- register
- copies
- duplicates
- prints
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03G—ELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
- G03G15/00—Apparatus for electrographic processes using a charge pattern
- G03G15/04—Apparatus for electrographic processes using a charge pattern for exposing, i.e. imagewise exposure by optically projecting the original image on a photoconductive recording material
- G03G15/04018—Image composition, e.g. adding or superposing informations on the original image
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03G—ELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
- G03G15/00—Apparatus for electrographic processes using a charge pattern
- G03G15/04—Apparatus for electrographic processes using a charge pattern for exposing, i.e. imagewise exposure by optically projecting the original image on a photoconductive recording material
- G03G15/045—Apparatus for electrographic processes using a charge pattern for exposing, i.e. imagewise exposure by optically projecting the original image on a photoconductive recording material with means for charging or discharging distinct portions of the charge pattern on the recording material, e.g. for contrast enhancement or discharging non-image areas
- G03G15/047—Apparatus for electrographic processes using a charge pattern for exposing, i.e. imagewise exposure by optically projecting the original image on a photoconductive recording material with means for charging or discharging distinct portions of the charge pattern on the recording material, e.g. for contrast enhancement or discharging non-image areas for discharging non-image areas
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03G—ELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
- G03G2215/00—Apparatus for electrophotographic processes
- G03G2215/04—Arrangements for exposing and producing an image
- G03G2215/0429—Changing or enhancing the image
- G03G2215/0431—Producing a clean non-image area, i.e. avoiding show-around effects
- G03G2215/0448—Charge-erasing means for the non-image area
- G03G2215/0451—Light-emitting array or panel
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Exposure Or Original Feeding In Electrophotography (AREA)
- Combination Of More Than One Step In Electrophotography (AREA)
- Printers Or Recording Devices Using Electromagnetic And Radiation Means (AREA)
- Control Or Security For Electrophotography (AREA)
- Discharging, Photosensitive Material Shape In Electrophotography (AREA)
- Fax Reproducing Arrangements (AREA)
- Devices For Indicating Variable Information By Combining Individual Elements (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Dot-Matrix Printers And Others (AREA)
Abstract
MODULATED LIGHT PRINTING
Abstract Data printed on a photoconductor by an array of modulated light sources. By turning the light sources, such as LED's, on and off, characters can be produced on the photoconductor of a copy machine.
The LED's may be those used for the variable edge erasing. Usage and other operating data can be thereby displayed.
Abstract Data printed on a photoconductor by an array of modulated light sources. By turning the light sources, such as LED's, on and off, characters can be produced on the photoconductor of a copy machine.
The LED's may be those used for the variable edge erasing. Usage and other operating data can be thereby displayed.
Description
l ~7~301 MODUL~TED LIGHT PRINTING
Related Patent U.S. Patent 4,170,414 (Hubert et al.) assigned to the same assignee as this application; hereinafter referred to as Ref. ~14.
.
Technical Field This invention relates to the formation of char-acters by a source onto a medium which are moving relative to one another by modulating a light source and, particularly, to the use of modulated light emitting diodes onto the photoconductive surface of a copier drum.
Background Art Copiers and printers which use laser character generators have the ability to generate images in response to input electrical signals as contrasted to the copying of an original document by photo-optical means. Light scanning may be used to generate characters but is less efficient than laser type printing, both of which are expensive and require expensive apparatus.
In a copier without such scanning apparatus, it is often desirable to be able to produce output copies of information originating within the machines.
Such information includes the number of total hours of machine operation, the total number of copies (which can be divided into those made from different sources such as a semiautomatic document feeder and an automatic document feeder), the total number of I ~ 7630 1 paper jams, and the like. This data is collected during operation by the control portion of the copier. A line of LED's to form characters may be used as shown in the IB~ TECHNICAL DISCLOSURE
BULLETIN, Volume 13, Number 12, May, 1971, pages 3757 - 3758. This arrangement, however, re~uires a large number of light emitting diodes as well as extensive logic and control for driving the diodes.
Some copiers are equipped with variable edge erasing lamps for providing erasure at the edges of a copy depending on the size of the copy being made. This invention teaches and discloses how the variable edge light emitting diode erasing lamps can be used to generate readable characters on copy pages.
Photoreceptor charge devices on copier apparatus can also be used for generating characters. U.S. Patents 4,082,450 and 4,082,451 illustrate the use of charge distribution devices for structuring dot or line patterns. These patents, however, do not teach the ~0 use of such devices for printing characters.
Disclosure of the Invention .
In accordance with the invention, a source means is provided with a plurality of selectively modulated energy sources and a medium means, receptive of the energy from the source means, produces a visual manifestation of the energy, where the source means and the medium means are-in motion relative to one another. There is also provided a means for modulating each one of the said plurality of energy sources to produce readable characters on the medium means.
Brief ~escri~tion of the Drawin~
FIGURE 1 is a diagram of a diode block containing ten light emitting diodes.
FIC.URE 2 is a drawing representing the result of relative motion of the dicde block depicted in FIGURE 1.
FIGURE 3 schematically represents the successive positions of the edge erase lamps two through nine during the generation of a character.
FIGURE 4 is a chart representing the position of five lamps for producing a preferred character font.
FIGURE 5 is a representation of a character "one"
produced by the five edge lamps in three successive positions.
FIGURE 6 is an illustration of the preferred font of the digits zero through four.
.
FIGURE 7 is an illustration of the preferred fonts of the digits five through nine.
FIGURE 8 is a pictorial illustration of one embodi-ment of the invention.
FIGURE 9 is a controller useful in the system illus-trated in FIGURE 8.
FIGURE 10 is a state diagram representing the opera-tion of the controller in FIGURE 9.
~ ~ 7630 1 FIGURE ll is an illustration of another useful embodiment of the invention.
Description of the Preferred Embodiment In FIGURE 1, ten light emitting diodes are arranged to provide slightly overlapping bands of light on a moving photoconductor. The relative motion of the photoconductor beneath the photoconductor block of FIGURE 1 with the lights on produces a series of light band segments which are illustrated in FIGURE
Related Patent U.S. Patent 4,170,414 (Hubert et al.) assigned to the same assignee as this application; hereinafter referred to as Ref. ~14.
.
Technical Field This invention relates to the formation of char-acters by a source onto a medium which are moving relative to one another by modulating a light source and, particularly, to the use of modulated light emitting diodes onto the photoconductive surface of a copier drum.
Background Art Copiers and printers which use laser character generators have the ability to generate images in response to input electrical signals as contrasted to the copying of an original document by photo-optical means. Light scanning may be used to generate characters but is less efficient than laser type printing, both of which are expensive and require expensive apparatus.
In a copier without such scanning apparatus, it is often desirable to be able to produce output copies of information originating within the machines.
Such information includes the number of total hours of machine operation, the total number of copies (which can be divided into those made from different sources such as a semiautomatic document feeder and an automatic document feeder), the total number of I ~ 7630 1 paper jams, and the like. This data is collected during operation by the control portion of the copier. A line of LED's to form characters may be used as shown in the IB~ TECHNICAL DISCLOSURE
BULLETIN, Volume 13, Number 12, May, 1971, pages 3757 - 3758. This arrangement, however, re~uires a large number of light emitting diodes as well as extensive logic and control for driving the diodes.
Some copiers are equipped with variable edge erasing lamps for providing erasure at the edges of a copy depending on the size of the copy being made. This invention teaches and discloses how the variable edge light emitting diode erasing lamps can be used to generate readable characters on copy pages.
Photoreceptor charge devices on copier apparatus can also be used for generating characters. U.S. Patents 4,082,450 and 4,082,451 illustrate the use of charge distribution devices for structuring dot or line patterns. These patents, however, do not teach the ~0 use of such devices for printing characters.
Disclosure of the Invention .
In accordance with the invention, a source means is provided with a plurality of selectively modulated energy sources and a medium means, receptive of the energy from the source means, produces a visual manifestation of the energy, where the source means and the medium means are-in motion relative to one another. There is also provided a means for modulating each one of the said plurality of energy sources to produce readable characters on the medium means.
Brief ~escri~tion of the Drawin~
FIGURE 1 is a diagram of a diode block containing ten light emitting diodes.
FIC.URE 2 is a drawing representing the result of relative motion of the dicde block depicted in FIGURE 1.
FIGURE 3 schematically represents the successive positions of the edge erase lamps two through nine during the generation of a character.
FIGURE 4 is a chart representing the position of five lamps for producing a preferred character font.
FIGURE 5 is a representation of a character "one"
produced by the five edge lamps in three successive positions.
FIGURE 6 is an illustration of the preferred font of the digits zero through four.
.
FIGURE 7 is an illustration of the preferred fonts of the digits five through nine.
FIGURE 8 is a pictorial illustration of one embodi-ment of the invention.
FIGURE 9 is a controller useful in the system illus-trated in FIGURE 8.
FIGURE 10 is a state diagram representing the opera-tion of the controller in FIGURE 9.
~ ~ 7630 1 FIGURE ll is an illustration of another useful embodiment of the invention.
Description of the Preferred Embodiment In FIGURE 1, ten light emitting diodes are arranged to provide slightly overlapping bands of light on a moving photoconductor. The relative motion of the photoconductor beneath the photoconductor block of FIGURE 1 with the lights on produces a series of light band segments which are illustrated in FIGURE
2. The length of the bands of light in FIGURE 2 depends on the period of time the light emitting diodes are energized. Energizing the LED's for successive time periods produces bands of control-lable lengths.
In FIGURE 3, a series of light bands for the edge lamps two through nine is shown in successive posi-tions P0 through P5 where each position corresponds to a time period of activation. Although alpha-numeric and special characters can be generated, the explanation of the invention will be limited to the display of the digits zero through nine.
The font used to display the digits comprises five rows using the edge lamps five through nine in the three successive positions illustrated in FIGURE ~.
A digital character one, illustrated in FIGURE 5, can be generated by activating the edge lamps five through nine in various positions. For example, the digit one shown in FIGURE 5 is generated by activating edge lamp nine in positions two and three, edge lamp eight in position two, edge lamp seven in position one, edge lamp six in position four, and edge lamp five in positions two through four.
~ g7~301 FIGURES 6 and 7 illustrate how the characters from zero through nine can be for~ed in an analogous way.
In FIGURE 8, a copy drum 81 includes a photo-conductive surface 82. Mounted adjacent to the photoconductive surface, but not touchiny it, is a diode block 83, shown as including ten diode positions.
These correspond to the positions shown in FIGURE 1.
Only those numbered five through nine are to be used for generating the digits as will be explained in detail.
A sensor 84 is used to supply emit count signals to a controller 85 for determining the position of the photoconductive surface 82. The controller 85 supplies output signals which set various bits in an output register 86 which are coupled by a cable 87 to the individual light emitting diodes in the block 83. When a particular bit in the output register 86 is set, the corresponding connected LED in the block 83 is lighted. When the bit is reset in the output register 86, the correspondin~ LED is dark.
FIGURE 9 illustrates a controller which can be used in the system illustrated in FIGURE 8. The explana-tion of the operation of FIGURE 9 can be more easily understood with the aid of the state diagram of FIGURE 10. Two clocked J-K flip-flops 91 and 92 form the state control portion of the controller.
The states are numbered zero through three, corre-sponding to the binary values in the flip-flops 91 and 92 and decoded by a decoder 93. The timing control is provided by a zero~crossing detector 94 which is coupled to the a-c power line and provides an output signal ZX each time the alternating current input power voltage has a zero value. Such zero-~ ~763~1 crossing detectors are well ~nown in the art andneed no further explanation for an understanding of the invention.
The timing signal ZX is also applied to a divide-by-three circuit 95 which produces a control signal ZX3 which occurs every third zero-crossing of the input power.
It is assumed that the initial controller state is zero during which time the data to be printed is loaded into a data shift register 96 by a means not shown but which is well known in the art. During state zero, a four-stage character counter 97 is cleared.
Also provided is a two-stage H-counter 98 which provides part of the character address as will be explained in greater detail below. A Read-Only Memory 99 (ROM) is also supplied. The ROM has a memory address register 910 and a data register 911.
Table I illustrates the ROM data to produce the font of FIGURES 6 and 7 using five in-line LED's for simplicity of explanation rather than the offset LED's as shown in the block 83 (FIGURE 8).
The ROM address is a combination or concatenation of two bits of the two-stage H-counter 98 and the four bits of the binary coded decimal digit being displayed which is in the left-hand stage 961 of the data shift register 96. The output data comprises eight bits, the first five corresponding to the five diodes to be controlled, the least significant three bits being zero and not used.
! ~76301 The output data from the data register 911 is gated to the output register 86 (FIGURE 8) by a network of AND gates 91~ which is enabled by the state three (S3~ signal from the decoder 93.
The three colu~ns of the fon~ are identified by the first three values of the two-stage H-counter 9~, viz., 00, ~1, and 10. When the two-stage H-counter reaches a value of three, the character in the shift register stage 961 has been printed. The value of threa in the H-counter 98 is detected by an AND gate 915 ~hich produces a signal H=3 and by an inverter 916 which supplies the signal H~3.
It is assumed that each copy sheet to be printed will contain eight characters. These are counted by lS the CH-counter 97. A NAND gate 917 provides an output signal indicating that the character count is not e~ual to eight.
In the operation of the controller, the output gates 914 are enabled at every third zero-crossing Gf the po~Yer, i.e., every S3 state. Each of the columns, therefore, has a width equal to the linear travel of the photoconductor in a period e~ual to three zero-crossings, i~e., l/20-th of a second.
.
The detailed operation of the controller is as ~5 follows. The EC signal, which indicates that the drum is in proper position to begin forming the characters, sets the flip flop 92 causing the controIler to enter state one. During state one, the information is read from the ROM at the address determined by the H-counter bits and the BCD character bits of the character in the stage 961. With the flip-flop 92 set, the ZX3 signal activates an AND gate 920 which l ~76301 ~09790~9 8 causes the ZX signal to set the flip-flop 92. The CH¢8 signal from the NAND gate 917 is high so that the flip-flop 92 remains in the set state. This causes the controller to enter state three which gates the data register 911 to the output register via the gates 914. Also, thq state three signal increments the H-counter 98 by one. At the next zero-crossing, the machine returns to state one if the H-counter has not reached the value of three.
This is caused by the ZX signal clocking the J-K
1ip-flop 91 with only the K input (H~3) signal high. Initially, the irst two ROM address bits are 00 and the other four bits are the BCD equivalent of the character being written. Therefore, at the next ZX3 time, the BCD digits of ~he address are the same but the H-counter now has a value of 01 so that the second column of the data controlling the digit are accessed from the ROM and at state three are gated to the output register. This sequence continues until after the third column is printed and the H-counter is incremented to a value of three.
When H=3, the next zero-crossing causes the controller to enter state two, caused by clocking the flip-flop 92 with both inputs high, the K input signal being the high output signal from the AND gate 921.
In state two, the data register 96 is shifted to place the next digit in stage 961 and the H-counter 98 is cleared to zero. Also, the CH-counter 97 is incremented by one. With the CH~8, the next zero-crossing causes the machine to enter state one wherethe above sequence is repeated for the second digit.
The above-described operation is repeated until all eight characters have been printed at which time the -~ ~ 7630 1 low signal from the NAND gate 917 at the J input of the flip-flop 92 causes the flip-flop 92 to be reset and the controller assumes the original state zero.
Hardware controllers such as that just described have many disadvantages. For example, it is difficult to design an efficient hardwire controller, i.e., one that uses a minimum number of gates and prevents interstate transients~ Also, such hardwired controllers are difficult to modiy to perform a new function once the design is completed. The efficient design increases in difficulty as the number of required states increases so that, even with computer-aided design, controllers are expensive and time consuming to design. The microprocessor has provided a viable alternative to the design of large sequential control machines. Replacing the hardware design with a logic flow design, i.e., a program, provides a level and scope of control not readily attainable with hardwired controllers. The sequence of operations in a microprocessor-based controller is determined by control signals in the form of a program rather than decoding logic dependent on feedback and input variables.
It is preferable, therefore, to execute the functions using a programmed microprocessor w-hich provides the same functions as a hardwired controller but re~uires only programming and the peripheral hardware to perform the complicated actions of a complex controller.
The following description discloses an embodiment which can be programmed on a microprocessor.
Microprocessors are well known in the art and commercially available. ~he following description I 1763~1 and flowcharts can be applied to an~ of the available microprocessors. Appendix B hereto describes the conventions employed in the flowcharts ~Charts I to III). The numbers in the right-hand column identify the hexadecimal address of the first instruction in the attached programs related to the associated step. The attached programs can be used on a micro-processor such as that described in Ref. 414, incorpo-rated herein by reference. Appendix A summarizes the relevant instructions.
The program for controlling a copier must perform many tasks in addition to the program being described.
Therefore, certain portions of the invention may be found in separate routines. In one embodiment, a STARTOUT routine is used to begin the data output according to the invention. This is flowcharted in Chart I and is used to initialize the data output before printing. The STARTOUT routine performs several functions. It loads the contents of the next register to be displayed into OUTDATAl (low order byte) and OUTDATA2 (high order byte) registers.
These correspond to the data shift register 96 (FIGURE 9). The data is left-justified to suppress leading zeros and an output character count (CHARCNT) is appropriately incremented to insure that the output of only valid (justified) data. The output control counter is initialized to a value of -1 and the current character (CURRCHAR) and last character (LASTCHAR) registers are loaded with an address to insure that a null output precedes the data. The STARTOUT routine is called by a CZCOUNT routine, a pseudo-emitter routine which is used to control the timing. As shown in Chart I, the STARTOUT routine sets the OUTPTNOW bit at line 2. This bit is used to indicate to another routine (LEDWRITE) that the ~ ~ ~630 1 data is ready for printing. Next, the OUTFETCH
subroutine is called. This ~ubroutine fetches and converts the register content to be displayed. It loads the contents from a selected register whose value is expressed in binary and converts it to eight binary coded decimal digits for data output.
(OUTFETCH is flowcharted in Chart II below.) At line 4, the output mode counters are initialized by clearing CHARCNT to zero and setting OUTCOUNT
to -l. Next, a loop is performed while CHARCNT ~ 8 and the high order digit is equal to zero. The zero is shifted out and the CHARCNT is incremented by one. If an odd-number character is in the high order digit, the program transfers to line ll. Otherwise, as shown at step 9, all the lower digits are shifted two places to the left and the loop repeated. After this is completed, i.e., CHARCNT=8 or the high order digit is not a zero, the subroutine returns to the calling routine.
In Chart II, the OUTFETCH routine is detailed.
First, the address of the next register to be written is fetched. The DIVIDE routine is called which divides the register value by lO,OOO. This, in effect, splits the register into two four decimal digit values. Next, the subroutine BINBCD is called to convert the high order digits to be BCD. Conversion of binary to BCD is well known in the art and need not be explained for an understanding of the invention.
Next, the binary coded digits are stored in the high output register OUTDATA2, and the BINBCD subroutine is called to convert the lower order digits to BCD
which are then stored in the low output register OUTDATAl.
1 ~ 7630 1 The LEDWRITE routine (Chart III) is used to write the data onto the photoconductor using the variable edge erase lamps. The written image is then developed and transferred to a copy shqet as is well known in the art. The following step~ have already been done by the STARTOUT routine before calling the LEDWRITE
routine. The data to be printed is stored in the OUTDATA registers in BCD format, the number of trailing digits, i.e., those to be skipped because of zero suppression, is stored in CHARCNT, and an address eleven bytes before the first null character address in the output table has been loaded into the CURRCHAR and LASTCHAR registers. (This address is symbolically indicated as CHARNP0-11.) The output control counter, OUTCOUNT, has been set to -1. The OUTPTNOW bit is tested (step 2) and, if not set, the program branches to step 17 which ends (exits) the routine. Otherwise, the routine goes to step four where it is determined whether it is time to change the output. If the output is not to be changed, thè
current output pattern is written and the routine ends. The output is changed at every third zero-crossing as signified by a bit which is supplied by another program before the LEDWRITE routine is called. If it is time to change the output, the output change counter is reset and the position counter is incremented by one. A test is made to determine whether the position counter indicates position four. If not, the pointer is changed to the next output state and the LASTCHAR address is tested to determine whether it is beyond the end of the font table. If not, the last character bit pattern is loaded and the current character and last character bits are combined. This will be explained below in more detail~ At the step 14, the lamps not to be written are turned off and the lights to be ~ ~7630~
written will be turned on at the next zero-crossing.
Next, the character count is checked. If equal to ten, the OUTPTNOW bit is reset and the routine encls.
If the character count is not equal to ten, the routine ends and will be resumed on the next zero-crossing. At step nine, if position four was sensed, the counter is returned to position zero and the current table address is moved to the last table address, the character count is incremented by one, and it is determined whether the last character has been written. If so, the CHARNP0 (null character) is moved to the current character.
Because the LED's are offset, some of the next character positions will be encountered before the last character positions of the current character so the bits of the current character and last character are combined. This is done by shifting the last character to the left and ORing the bits of the next character into the resulting low order zero bits.
Table II below represents a font table useful for the o'ffset LED writing where the location of the first character of position zero begins at the hexadecimal address F7B8. The contents of the memory are indicated in hexadecimal characters.
The invention may also be used for forming readable characters using the retinal retentivity of the eye as the medium. In FIGURE 11, a diode block 83 is mounted on a~belt 120 which is driven by a drive roller 121, powered by a motor 122. The belt 120 is maintained by a tension roller 123. Both -the drive roller 121 and the tension roller 123 have non-conductive surfaces.
~ ~ 7630 1 ~0979009 14 Power to the light emi-tting diodes in the block 83 is supplied by connections through the belt 120 to conductive bands 124 running around the inside surface of the belt. A brush block 125, coupled to the controller (not shown in FIGURE 11), transfers power to the conductive band~ 124.
Time synchronization, i.e., signal EC to the controller, is provided by a protrusion 126 on the common line which shorts out the top two brushes on the brush 10 block 125.
As the diode block 83 is driven from left to right from the viewer's aspect, the diodes are modulated as described above to produce the characters. The speed of movement and modulation period can be adjusted so that the viewer sees the characters bein~ produced because of the tendency of the human eye to retain visions of light on the optic nerve for short periods of time.
A second block can be mounted OII the opposite side of the belt so that the second block comes into view on the left as the first block disappears to the right. This provides better continuity of vision.
~ ~76301 CHART I: STARTOUT ROUTINE
1. enter 2. set~OUTPTNOW bit EF78
In FIGURE 3, a series of light bands for the edge lamps two through nine is shown in successive posi-tions P0 through P5 where each position corresponds to a time period of activation. Although alpha-numeric and special characters can be generated, the explanation of the invention will be limited to the display of the digits zero through nine.
The font used to display the digits comprises five rows using the edge lamps five through nine in the three successive positions illustrated in FIGURE ~.
A digital character one, illustrated in FIGURE 5, can be generated by activating the edge lamps five through nine in various positions. For example, the digit one shown in FIGURE 5 is generated by activating edge lamp nine in positions two and three, edge lamp eight in position two, edge lamp seven in position one, edge lamp six in position four, and edge lamp five in positions two through four.
~ g7~301 FIGURES 6 and 7 illustrate how the characters from zero through nine can be for~ed in an analogous way.
In FIGURE 8, a copy drum 81 includes a photo-conductive surface 82. Mounted adjacent to the photoconductive surface, but not touchiny it, is a diode block 83, shown as including ten diode positions.
These correspond to the positions shown in FIGURE 1.
Only those numbered five through nine are to be used for generating the digits as will be explained in detail.
A sensor 84 is used to supply emit count signals to a controller 85 for determining the position of the photoconductive surface 82. The controller 85 supplies output signals which set various bits in an output register 86 which are coupled by a cable 87 to the individual light emitting diodes in the block 83. When a particular bit in the output register 86 is set, the corresponding connected LED in the block 83 is lighted. When the bit is reset in the output register 86, the correspondin~ LED is dark.
FIGURE 9 illustrates a controller which can be used in the system illustrated in FIGURE 8. The explana-tion of the operation of FIGURE 9 can be more easily understood with the aid of the state diagram of FIGURE 10. Two clocked J-K flip-flops 91 and 92 form the state control portion of the controller.
The states are numbered zero through three, corre-sponding to the binary values in the flip-flops 91 and 92 and decoded by a decoder 93. The timing control is provided by a zero~crossing detector 94 which is coupled to the a-c power line and provides an output signal ZX each time the alternating current input power voltage has a zero value. Such zero-~ ~763~1 crossing detectors are well ~nown in the art andneed no further explanation for an understanding of the invention.
The timing signal ZX is also applied to a divide-by-three circuit 95 which produces a control signal ZX3 which occurs every third zero-crossing of the input power.
It is assumed that the initial controller state is zero during which time the data to be printed is loaded into a data shift register 96 by a means not shown but which is well known in the art. During state zero, a four-stage character counter 97 is cleared.
Also provided is a two-stage H-counter 98 which provides part of the character address as will be explained in greater detail below. A Read-Only Memory 99 (ROM) is also supplied. The ROM has a memory address register 910 and a data register 911.
Table I illustrates the ROM data to produce the font of FIGURES 6 and 7 using five in-line LED's for simplicity of explanation rather than the offset LED's as shown in the block 83 (FIGURE 8).
The ROM address is a combination or concatenation of two bits of the two-stage H-counter 98 and the four bits of the binary coded decimal digit being displayed which is in the left-hand stage 961 of the data shift register 96. The output data comprises eight bits, the first five corresponding to the five diodes to be controlled, the least significant three bits being zero and not used.
! ~76301 The output data from the data register 911 is gated to the output register 86 (FIGURE 8) by a network of AND gates 91~ which is enabled by the state three (S3~ signal from the decoder 93.
The three colu~ns of the fon~ are identified by the first three values of the two-stage H-counter 9~, viz., 00, ~1, and 10. When the two-stage H-counter reaches a value of three, the character in the shift register stage 961 has been printed. The value of threa in the H-counter 98 is detected by an AND gate 915 ~hich produces a signal H=3 and by an inverter 916 which supplies the signal H~3.
It is assumed that each copy sheet to be printed will contain eight characters. These are counted by lS the CH-counter 97. A NAND gate 917 provides an output signal indicating that the character count is not e~ual to eight.
In the operation of the controller, the output gates 914 are enabled at every third zero-crossing Gf the po~Yer, i.e., every S3 state. Each of the columns, therefore, has a width equal to the linear travel of the photoconductor in a period e~ual to three zero-crossings, i~e., l/20-th of a second.
.
The detailed operation of the controller is as ~5 follows. The EC signal, which indicates that the drum is in proper position to begin forming the characters, sets the flip flop 92 causing the controIler to enter state one. During state one, the information is read from the ROM at the address determined by the H-counter bits and the BCD character bits of the character in the stage 961. With the flip-flop 92 set, the ZX3 signal activates an AND gate 920 which l ~76301 ~09790~9 8 causes the ZX signal to set the flip-flop 92. The CH¢8 signal from the NAND gate 917 is high so that the flip-flop 92 remains in the set state. This causes the controller to enter state three which gates the data register 911 to the output register via the gates 914. Also, thq state three signal increments the H-counter 98 by one. At the next zero-crossing, the machine returns to state one if the H-counter has not reached the value of three.
This is caused by the ZX signal clocking the J-K
1ip-flop 91 with only the K input (H~3) signal high. Initially, the irst two ROM address bits are 00 and the other four bits are the BCD equivalent of the character being written. Therefore, at the next ZX3 time, the BCD digits of ~he address are the same but the H-counter now has a value of 01 so that the second column of the data controlling the digit are accessed from the ROM and at state three are gated to the output register. This sequence continues until after the third column is printed and the H-counter is incremented to a value of three.
When H=3, the next zero-crossing causes the controller to enter state two, caused by clocking the flip-flop 92 with both inputs high, the K input signal being the high output signal from the AND gate 921.
In state two, the data register 96 is shifted to place the next digit in stage 961 and the H-counter 98 is cleared to zero. Also, the CH-counter 97 is incremented by one. With the CH~8, the next zero-crossing causes the machine to enter state one wherethe above sequence is repeated for the second digit.
The above-described operation is repeated until all eight characters have been printed at which time the -~ ~ 7630 1 low signal from the NAND gate 917 at the J input of the flip-flop 92 causes the flip-flop 92 to be reset and the controller assumes the original state zero.
Hardware controllers such as that just described have many disadvantages. For example, it is difficult to design an efficient hardwire controller, i.e., one that uses a minimum number of gates and prevents interstate transients~ Also, such hardwired controllers are difficult to modiy to perform a new function once the design is completed. The efficient design increases in difficulty as the number of required states increases so that, even with computer-aided design, controllers are expensive and time consuming to design. The microprocessor has provided a viable alternative to the design of large sequential control machines. Replacing the hardware design with a logic flow design, i.e., a program, provides a level and scope of control not readily attainable with hardwired controllers. The sequence of operations in a microprocessor-based controller is determined by control signals in the form of a program rather than decoding logic dependent on feedback and input variables.
It is preferable, therefore, to execute the functions using a programmed microprocessor w-hich provides the same functions as a hardwired controller but re~uires only programming and the peripheral hardware to perform the complicated actions of a complex controller.
The following description discloses an embodiment which can be programmed on a microprocessor.
Microprocessors are well known in the art and commercially available. ~he following description I 1763~1 and flowcharts can be applied to an~ of the available microprocessors. Appendix B hereto describes the conventions employed in the flowcharts ~Charts I to III). The numbers in the right-hand column identify the hexadecimal address of the first instruction in the attached programs related to the associated step. The attached programs can be used on a micro-processor such as that described in Ref. 414, incorpo-rated herein by reference. Appendix A summarizes the relevant instructions.
The program for controlling a copier must perform many tasks in addition to the program being described.
Therefore, certain portions of the invention may be found in separate routines. In one embodiment, a STARTOUT routine is used to begin the data output according to the invention. This is flowcharted in Chart I and is used to initialize the data output before printing. The STARTOUT routine performs several functions. It loads the contents of the next register to be displayed into OUTDATAl (low order byte) and OUTDATA2 (high order byte) registers.
These correspond to the data shift register 96 (FIGURE 9). The data is left-justified to suppress leading zeros and an output character count (CHARCNT) is appropriately incremented to insure that the output of only valid (justified) data. The output control counter is initialized to a value of -1 and the current character (CURRCHAR) and last character (LASTCHAR) registers are loaded with an address to insure that a null output precedes the data. The STARTOUT routine is called by a CZCOUNT routine, a pseudo-emitter routine which is used to control the timing. As shown in Chart I, the STARTOUT routine sets the OUTPTNOW bit at line 2. This bit is used to indicate to another routine (LEDWRITE) that the ~ ~ ~630 1 data is ready for printing. Next, the OUTFETCH
subroutine is called. This ~ubroutine fetches and converts the register content to be displayed. It loads the contents from a selected register whose value is expressed in binary and converts it to eight binary coded decimal digits for data output.
(OUTFETCH is flowcharted in Chart II below.) At line 4, the output mode counters are initialized by clearing CHARCNT to zero and setting OUTCOUNT
to -l. Next, a loop is performed while CHARCNT ~ 8 and the high order digit is equal to zero. The zero is shifted out and the CHARCNT is incremented by one. If an odd-number character is in the high order digit, the program transfers to line ll. Otherwise, as shown at step 9, all the lower digits are shifted two places to the left and the loop repeated. After this is completed, i.e., CHARCNT=8 or the high order digit is not a zero, the subroutine returns to the calling routine.
In Chart II, the OUTFETCH routine is detailed.
First, the address of the next register to be written is fetched. The DIVIDE routine is called which divides the register value by lO,OOO. This, in effect, splits the register into two four decimal digit values. Next, the subroutine BINBCD is called to convert the high order digits to be BCD. Conversion of binary to BCD is well known in the art and need not be explained for an understanding of the invention.
Next, the binary coded digits are stored in the high output register OUTDATA2, and the BINBCD subroutine is called to convert the lower order digits to BCD
which are then stored in the low output register OUTDATAl.
1 ~ 7630 1 The LEDWRITE routine (Chart III) is used to write the data onto the photoconductor using the variable edge erase lamps. The written image is then developed and transferred to a copy shqet as is well known in the art. The following step~ have already been done by the STARTOUT routine before calling the LEDWRITE
routine. The data to be printed is stored in the OUTDATA registers in BCD format, the number of trailing digits, i.e., those to be skipped because of zero suppression, is stored in CHARCNT, and an address eleven bytes before the first null character address in the output table has been loaded into the CURRCHAR and LASTCHAR registers. (This address is symbolically indicated as CHARNP0-11.) The output control counter, OUTCOUNT, has been set to -1. The OUTPTNOW bit is tested (step 2) and, if not set, the program branches to step 17 which ends (exits) the routine. Otherwise, the routine goes to step four where it is determined whether it is time to change the output. If the output is not to be changed, thè
current output pattern is written and the routine ends. The output is changed at every third zero-crossing as signified by a bit which is supplied by another program before the LEDWRITE routine is called. If it is time to change the output, the output change counter is reset and the position counter is incremented by one. A test is made to determine whether the position counter indicates position four. If not, the pointer is changed to the next output state and the LASTCHAR address is tested to determine whether it is beyond the end of the font table. If not, the last character bit pattern is loaded and the current character and last character bits are combined. This will be explained below in more detail~ At the step 14, the lamps not to be written are turned off and the lights to be ~ ~7630~
written will be turned on at the next zero-crossing.
Next, the character count is checked. If equal to ten, the OUTPTNOW bit is reset and the routine encls.
If the character count is not equal to ten, the routine ends and will be resumed on the next zero-crossing. At step nine, if position four was sensed, the counter is returned to position zero and the current table address is moved to the last table address, the character count is incremented by one, and it is determined whether the last character has been written. If so, the CHARNP0 (null character) is moved to the current character.
Because the LED's are offset, some of the next character positions will be encountered before the last character positions of the current character so the bits of the current character and last character are combined. This is done by shifting the last character to the left and ORing the bits of the next character into the resulting low order zero bits.
Table II below represents a font table useful for the o'ffset LED writing where the location of the first character of position zero begins at the hexadecimal address F7B8. The contents of the memory are indicated in hexadecimal characters.
The invention may also be used for forming readable characters using the retinal retentivity of the eye as the medium. In FIGURE 11, a diode block 83 is mounted on a~belt 120 which is driven by a drive roller 121, powered by a motor 122. The belt 120 is maintained by a tension roller 123. Both -the drive roller 121 and the tension roller 123 have non-conductive surfaces.
~ ~ 7630 1 ~0979009 14 Power to the light emi-tting diodes in the block 83 is supplied by connections through the belt 120 to conductive bands 124 running around the inside surface of the belt. A brush block 125, coupled to the controller (not shown in FIGURE 11), transfers power to the conductive band~ 124.
Time synchronization, i.e., signal EC to the controller, is provided by a protrusion 126 on the common line which shorts out the top two brushes on the brush 10 block 125.
As the diode block 83 is driven from left to right from the viewer's aspect, the diodes are modulated as described above to produce the characters. The speed of movement and modulation period can be adjusted so that the viewer sees the characters bein~ produced because of the tendency of the human eye to retain visions of light on the optic nerve for short periods of time.
A second block can be mounted OII the opposite side of the belt so that the second block comes into view on the left as the first block disappears to the right. This provides better continuity of vision.
~ ~76301 CHART I: STARTOUT ROUTINE
1. enter 2. set~OUTPTNOW bit EF78
3. call OUTFETCH EF7E
4. initialize output mode counters 4a. clear C~AR.CNT to zero EF83 4b. set OUTCOUNT to -I EF85
5. I~ILE CHAR~8 & HIGHORDER DIGIT=0
6. shift LEADING ZERO out EF92
7. increment C~R.CNT by 1 EF98
8. ODD NUMBERED CHAR.? (11) EF99
9. shift ALL LOWER DIGIT TWO PLACES left EF9C
10. LOOP
11. load TRAILING NULL CHAR. into CURR. and L~STCHAR EFA3 registers
12. return EFAC
CHART II: OUTFETCH ROUTINE
1. enter 2. fetch ADDR. of NEXT REGISTER to be OUTPUT EFAD
3. call DIVIDE (divide register by 10,000) EFC9 4. call BINBCD (convert high order digits to BCD) EFDl S. store DIGITS in HIGH OUTPUT register (OUTDATA2) EFD4 6. call BINBCD (convert low order digits to BCD) EFDA
7. store digits in LOW OUTPUT register (OUTDATAl) EFDD
8. return EFE2 -~ ~76301 C~ART III: LEDI~RITR ROUTINE
1. begin 2. OUTPTNOW ~it set ? ~4) D4EA
3. ~17) D4EE
4. TIME TO CHANGE OUTPUT ? (7) D4FO
5. write CURR. OUTPUT PATTERW D568 6. (17?
7. reset OUTPUT CHANGE COUNTER D4F5 8. increment POSIT. COUNTER by 1 9 POSITION 4 ? ~18) D4F7 10. point to NEXT OUTPUT STATES D531 11 LAST CHAR. ADDR. BEYOND END OF FONT TABLE ? ~13) . D539 12 load LAST CHAR. BIT PATTERN D542
CHART II: OUTFETCH ROUTINE
1. enter 2. fetch ADDR. of NEXT REGISTER to be OUTPUT EFAD
3. call DIVIDE (divide register by 10,000) EFC9 4. call BINBCD (convert high order digits to BCD) EFDl S. store DIGITS in HIGH OUTPUT register (OUTDATA2) EFD4 6. call BINBCD (convert low order digits to BCD) EFDA
7. store digits in LOW OUTPUT register (OUTDATAl) EFDD
8. return EFE2 -~ ~76301 C~ART III: LEDI~RITR ROUTINE
1. begin 2. OUTPTNOW ~it set ? ~4) D4EA
3. ~17) D4EE
4. TIME TO CHANGE OUTPUT ? (7) D4FO
5. write CURR. OUTPUT PATTERW D568 6. (17?
7. reset OUTPUT CHANGE COUNTER D4F5 8. increment POSIT. COUNTER by 1 9 POSITION 4 ? ~18) D4F7 10. point to NEXT OUTPUT STATES D531 11 LAST CHAR. ADDR. BEYOND END OF FONT TABLE ? ~13) . D539 12 load LAST CHAR. BIT PATTERN D542
13 combine CURR. CHAR. and LAST GHAR. bits D543
14 turn off bits not to be written-turn on at next D548 zero-crossîng
15. CHAR. COUNT $ 10 ? (17) D55E
16 reset OUTPTNOW bit DD576A
18 reset to POSITION O D4FC
19 move CURR. TABLE ADDR. to LAST TABLE ADDR. D4FE
20 increment CHAR. COUNT by 1 D502 21 LAST CHAR. ? (28) D503 22 fetch NEXT CHAR. D507 23 compute CHAR. OUTPUT TABLE ADDR. D519 24. is CHAR. an EVEN NUMBER ? ~26) D520 26 move NEXT TWO DIGITS to UIGH REGISTER D524 28 move CHARNPO to CURR. CHAR. D52A
29. (11) ~ X763~1 TABLE I: SINGLE ROW ROM DAT
RO~I ADDP~ESS ROM DATA
. .
o o o o O 0 1 1 1 1 1 0 0 0 ~\ O O 0 1 1 1 0 ~ O 1 0 0 0 O O O 1 0 1 ~ 1 1 0 1 0 0 0 O 10101 10 i O 1000 O11010 000000oO
10 `O 011 11111000 100100 1111100.0 100110 001110`00 100111` 11100000 101000 1 ~ 111000 1 O` 1010 00000000 ~ ~76301 TABLE II: FONT TABLE
F7B8 8Q00808080808000808000 CHAR 0-9, null - Position P0 F7C3 0180808081818180818100 CHAR 0-9, null - Position P1 F7CE A201A2A282A3A282A28200 CHAR O-g, null - Position P2 F7D9 6322632301226223630300 C~R 0-9, null - Position P3 F7E4 2240222222222042222200 CHAR 0-9, null - Position P4 F7EF 4000004040404000404000 CHAR 0-9, null - Position P5 ~ 176301 APPENDIX A
INSTRTJCTION HEX
MNEMONIC VALUE NAME DESCRIPTION
_ _ AB(L) A4 Add Byte (Low) Adds addressed operand to LACC
~8-bit op,) AI(L) AC Add Immed. Adds address field to LACC
(Low) ~16-bit op . ) AR DN Add Reg. Adds N-th register contents to ACC ~16-bit op.) Al 2E Add One Adds 1 to ACC ~16-blt op.) B 24,28~2C Branch Branch to LSB (~256,-256~0) BAL 30-33 Branch And Used to call su~routines ~PC
- Link to Reg. O, 1, 2, or 3) BE 35,39,3D Branc~ Equal Branches if EQ set (See B) BH 36,3A,3E Branch High Branch if EQ and L~ are reset ~See B) BNE 34,38,3C Branch Not Branch if EQ reset (See B) Equal BNL -37,3B,3F Branch Not Low Branch if LO reset (See B) BR 20-23 Branch Reg. See RTN
CB(L)AO Compare Byté Addressed byte compa~ed to (Low) LACC (8-~it op.) CI(L)A8 Compare Immed. Address field compared to LACC
(Low) (8-bit op.) CLA 25 Clear Acc. ACC reset to all zeroes (16-bit op.) GI A9 Group Immed. Selects one of 16 register groups (also controls interrupts) IC 2D Input Carry Generate carry into ALU
IN 26 Input Read into LACC from addressed device (8-bit op.) J ON,lN Jump Jump (forward or back) to PC(15-4),N
JE4N,5N Jump Equal Jump if EQ set ~See J) JNE6N,7N Jump Not Equal Jump if EQ reset (See J) LB(L)A6 Load Byte (L) Load addressed byte into LACC
(8-bit op.) LI AE Load Immed. Load address field into LACC
LN 98-9F Load Indirect Load byte addressed by reg.
8-F into LACC t8-bit op.) LR EN Load Register Load register N into ACC
~16-bit op.) LRB FN Load Reg./ Load reg. N into ACC and Bump increment; ACC to Reg. N
~N=4-7,C-F) (16-bit op.) ~ ~76301 INSTRVCTION HEX
MNEMONIC VALUE NAME DESCRIPTION
LRD FN load Reg./Decr. Load reg. N into' ACC and decrement; ACC to Reg. N
(N~0-3,8-B) (16-bit op.) NB(L) A3 ~nd Byte ~Low) AND addressed byte into LACC
~8-bit op.) NI(L) AB And Immed.(Low) AND address field into LACC
(8-bit op~
OB~L) A7 Or Byte (Low) OR addressed byte into LACC
~8-bit op.) OI(L) AF Or Immed.(Low) OR address field into LACC
~8-bit op.) OUT 27 Output Write IACC to addressed device RTN 20-~3 Return Used to return to calling prbgram (See BAL) SB(L) A2 Subtract Byte Subtract addressed byte from (Low) LACC ~8-bit op.) SHL 2B Shift Left Shift ACC one bit left (16-bit op.) SHR 2F Shift Right Shift ACC one bit right (16-bit op.) SI(L) AA Subtract Subtract address field from Immed.(Low) LACC (16-bit op.) SR CN Subtract Reg. Subtract reg. N from ACC
~16-bit op.) STB(L) A1 Store Byte(Low) Store LACC at address (8-bit op . ) STN B8-BF Store Indirect S~tore LACC at address in Reg.
STR ` 8N Store Reg Store ACC in Reg. N (16-bit op ,) Sl 2A Subtract One Subtract 1 from ACC (16-bit op . ) TP 9N Test¦Preserve Test N-th blt in LACC (N=0-7) TR 8N Test/Reset Test and reset N-th bit in LACC
TRA 29 Transpose ~ Interchange HACC and LACC
XB(L) A5 XOR Byte (Low) Exclusive-OR addressed byte into LACC (8-bit op.) XI(L) AD XOR Immed. Exclusive-OR address field {Low) into LACC (8-bit op.) ~ ~763~1 Notes: ACC (Accumulator) is :l6-bit ou~put register Erom arithmetic-logic unit - LACC signifies herein the low ACC byte; H~CC, the high byte.
- all single byte Dperations are into low byte - register operations are 16-bit ~two-byte) - 8-bit operations do not affect HACC
EQ ~equal) is a flag which is set:
if ACC=O after register AND or XOR operations if ACC ~low byte)=O after single byte operation;
if a tested bit is 0;
if boits set by OR were all O's;
if input carry = O;
if compare operands are equal;
if bit shifted out of ACC = 0;
if 8th bit of data during IN or OUT = O.
LO (low) is a flag which is set: (always reset by IN, OUT, IC) if ACC bit 16=1 after register operation;
if ACC bit 8=l after single byte operations;
if logic operation produces all ones in IACC;
if all bits other than tested bit = 0;
if ACC=O after shift operation;
if compare operand is greater than ACC low byte.
~~
~ ~7630i MACRO
'MNEMONIC NAI~IE DESCl'IP'rION
BC Branch on Carry Branches iE carry is set BCT Branch on Count Reg. decremented and branch i~ not zero result BIIA Branch on High Used after compare ACC
BL Branch on Low Branches if LO is set BLA Branch on Low See BNC; used after compare ~CC
BNC Branch Not Carry Branches i~ carry is reset BNLA Branch on Not See BC: used after compare Low ACC
BNZ Branch No~ Zero Branches if previous result was not zero BR Branch via Reg- Same as RTN instruction ister BU Branch Uncondi- Same as BAL instruction - - tionally CIL Compare Immed. Uses low byte of indicated constant Low in CI address field DC Define Constant Reserves space for constant EXP2 Express In Opcode set to binary powers of 2 JC Jump on Carry See BC
JL Jump on Low See BL
JNC Jump on No Carry See BNC
JNH Jump Not High See BNH
LA Load Address Generates sequence LIH, TRA, LIL
LBD Load Byte Bytes at addr. and addr. +1 to ACC
Double LID Load Immed. Same as LA
Double LIH Load Immed. High Uses high byte of constant in LI
address field LIL Load Immed. Low Uses low byte of constant in LI
address field NOP No Operation Dummy instruction - skipped R~L Rotate ACC Generates sequence SHL, IC Al Left SCTI Set Count Immed. Generates CLA, LI, STR
SHLM Shift Left Mul Shifts specified number of times tiple to left SHR~I Shift Right Mul- Shifts specified number of times tiple to right SRG Set Register Same as GI
Group STDB Store Byte ACC to addr. ~1 and addr.
Double ~ ~76301 MACRO
MNEMONIC NA~fE DESCRIPTION
TPB Tes~ & Preserve Generates sequence LB, TP
Bit TRB Test & Reset Generates sequence LB, TR, STB
Bit TR~fB Test & Reset Same as TRB but specifies multiple Multiple Bits bits TR~fR Test/Reset Mult. Generates LR, NI, STR
Bits in Reg.
TS Test and Set Same as OI instruction TSB Test & Set Byte Same as TS but byte is specified in addltion to bit TSMB Test & Set Mul- Same as TS ~ut specifies multiple tiple Bytes -Bits TS~fR Test & Set Mult. Generates LR, OI, STR
Bits in Reg.
LZI Zero & Load Generates CLA, LI
Immed.
NOTES: (Label) DC * causes the present location (~ to be associated with the label.
L and H, in general, are suffixes indicating low or high byte when 16 bit operands are addressed.
, ~ 1! 7630 1 APPENDIX B
Conventions Used In Flowcharts 1. Each step is numbered.
2~ The first statement is "begin" for in-line programs and "enter" for subroutines.
3. In-line programs terminate wîth "end" and subroutines, with "return".
4. A step-number in parentheses as a statement or part of the statement indicates a branch to the step.
5. A test statement is followed by a question mark; the question mark is followed by a step number in parentheses indicating the branch to be taken if the test result is true.
6. The call command invokes an off-line subroutine whih returns to the following step or statement upon completion.
7. The WHILE (logical statement) ... LOOP command executes the statements enclosed thereby as long as the logical statement is true.
8. Indentations are used to improve readabillty but have no significance otherwise.
I ~ 7630 ~
Various modifications to the systems and circuits described and illustrated to explain the concepts and modes of practicin~ the inventi.on can be made by those of ordinary skill in the art within the principles or scope of the invention as expressed in the following claims.
18 reset to POSITION O D4FC
19 move CURR. TABLE ADDR. to LAST TABLE ADDR. D4FE
20 increment CHAR. COUNT by 1 D502 21 LAST CHAR. ? (28) D503 22 fetch NEXT CHAR. D507 23 compute CHAR. OUTPUT TABLE ADDR. D519 24. is CHAR. an EVEN NUMBER ? ~26) D520 26 move NEXT TWO DIGITS to UIGH REGISTER D524 28 move CHARNPO to CURR. CHAR. D52A
29. (11) ~ X763~1 TABLE I: SINGLE ROW ROM DAT
RO~I ADDP~ESS ROM DATA
. .
o o o o O 0 1 1 1 1 1 0 0 0 ~\ O O 0 1 1 1 0 ~ O 1 0 0 0 O O O 1 0 1 ~ 1 1 0 1 0 0 0 O 10101 10 i O 1000 O11010 000000oO
10 `O 011 11111000 100100 1111100.0 100110 001110`00 100111` 11100000 101000 1 ~ 111000 1 O` 1010 00000000 ~ ~76301 TABLE II: FONT TABLE
F7B8 8Q00808080808000808000 CHAR 0-9, null - Position P0 F7C3 0180808081818180818100 CHAR 0-9, null - Position P1 F7CE A201A2A282A3A282A28200 CHAR O-g, null - Position P2 F7D9 6322632301226223630300 C~R 0-9, null - Position P3 F7E4 2240222222222042222200 CHAR 0-9, null - Position P4 F7EF 4000004040404000404000 CHAR 0-9, null - Position P5 ~ 176301 APPENDIX A
INSTRTJCTION HEX
MNEMONIC VALUE NAME DESCRIPTION
_ _ AB(L) A4 Add Byte (Low) Adds addressed operand to LACC
~8-bit op,) AI(L) AC Add Immed. Adds address field to LACC
(Low) ~16-bit op . ) AR DN Add Reg. Adds N-th register contents to ACC ~16-bit op.) Al 2E Add One Adds 1 to ACC ~16-blt op.) B 24,28~2C Branch Branch to LSB (~256,-256~0) BAL 30-33 Branch And Used to call su~routines ~PC
- Link to Reg. O, 1, 2, or 3) BE 35,39,3D Branc~ Equal Branches if EQ set (See B) BH 36,3A,3E Branch High Branch if EQ and L~ are reset ~See B) BNE 34,38,3C Branch Not Branch if EQ reset (See B) Equal BNL -37,3B,3F Branch Not Low Branch if LO reset (See B) BR 20-23 Branch Reg. See RTN
CB(L)AO Compare Byté Addressed byte compa~ed to (Low) LACC (8-~it op.) CI(L)A8 Compare Immed. Address field compared to LACC
(Low) (8-bit op.) CLA 25 Clear Acc. ACC reset to all zeroes (16-bit op.) GI A9 Group Immed. Selects one of 16 register groups (also controls interrupts) IC 2D Input Carry Generate carry into ALU
IN 26 Input Read into LACC from addressed device (8-bit op.) J ON,lN Jump Jump (forward or back) to PC(15-4),N
JE4N,5N Jump Equal Jump if EQ set ~See J) JNE6N,7N Jump Not Equal Jump if EQ reset (See J) LB(L)A6 Load Byte (L) Load addressed byte into LACC
(8-bit op.) LI AE Load Immed. Load address field into LACC
LN 98-9F Load Indirect Load byte addressed by reg.
8-F into LACC t8-bit op.) LR EN Load Register Load register N into ACC
~16-bit op.) LRB FN Load Reg./ Load reg. N into ACC and Bump increment; ACC to Reg. N
~N=4-7,C-F) (16-bit op.) ~ ~76301 INSTRVCTION HEX
MNEMONIC VALUE NAME DESCRIPTION
LRD FN load Reg./Decr. Load reg. N into' ACC and decrement; ACC to Reg. N
(N~0-3,8-B) (16-bit op.) NB(L) A3 ~nd Byte ~Low) AND addressed byte into LACC
~8-bit op.) NI(L) AB And Immed.(Low) AND address field into LACC
(8-bit op~
OB~L) A7 Or Byte (Low) OR addressed byte into LACC
~8-bit op.) OI(L) AF Or Immed.(Low) OR address field into LACC
~8-bit op.) OUT 27 Output Write IACC to addressed device RTN 20-~3 Return Used to return to calling prbgram (See BAL) SB(L) A2 Subtract Byte Subtract addressed byte from (Low) LACC ~8-bit op.) SHL 2B Shift Left Shift ACC one bit left (16-bit op.) SHR 2F Shift Right Shift ACC one bit right (16-bit op.) SI(L) AA Subtract Subtract address field from Immed.(Low) LACC (16-bit op.) SR CN Subtract Reg. Subtract reg. N from ACC
~16-bit op.) STB(L) A1 Store Byte(Low) Store LACC at address (8-bit op . ) STN B8-BF Store Indirect S~tore LACC at address in Reg.
STR ` 8N Store Reg Store ACC in Reg. N (16-bit op ,) Sl 2A Subtract One Subtract 1 from ACC (16-bit op . ) TP 9N Test¦Preserve Test N-th blt in LACC (N=0-7) TR 8N Test/Reset Test and reset N-th bit in LACC
TRA 29 Transpose ~ Interchange HACC and LACC
XB(L) A5 XOR Byte (Low) Exclusive-OR addressed byte into LACC (8-bit op.) XI(L) AD XOR Immed. Exclusive-OR address field {Low) into LACC (8-bit op.) ~ ~763~1 Notes: ACC (Accumulator) is :l6-bit ou~put register Erom arithmetic-logic unit - LACC signifies herein the low ACC byte; H~CC, the high byte.
- all single byte Dperations are into low byte - register operations are 16-bit ~two-byte) - 8-bit operations do not affect HACC
EQ ~equal) is a flag which is set:
if ACC=O after register AND or XOR operations if ACC ~low byte)=O after single byte operation;
if a tested bit is 0;
if boits set by OR were all O's;
if input carry = O;
if compare operands are equal;
if bit shifted out of ACC = 0;
if 8th bit of data during IN or OUT = O.
LO (low) is a flag which is set: (always reset by IN, OUT, IC) if ACC bit 16=1 after register operation;
if ACC bit 8=l after single byte operations;
if logic operation produces all ones in IACC;
if all bits other than tested bit = 0;
if ACC=O after shift operation;
if compare operand is greater than ACC low byte.
~~
~ ~7630i MACRO
'MNEMONIC NAI~IE DESCl'IP'rION
BC Branch on Carry Branches iE carry is set BCT Branch on Count Reg. decremented and branch i~ not zero result BIIA Branch on High Used after compare ACC
BL Branch on Low Branches if LO is set BLA Branch on Low See BNC; used after compare ~CC
BNC Branch Not Carry Branches i~ carry is reset BNLA Branch on Not See BC: used after compare Low ACC
BNZ Branch No~ Zero Branches if previous result was not zero BR Branch via Reg- Same as RTN instruction ister BU Branch Uncondi- Same as BAL instruction - - tionally CIL Compare Immed. Uses low byte of indicated constant Low in CI address field DC Define Constant Reserves space for constant EXP2 Express In Opcode set to binary powers of 2 JC Jump on Carry See BC
JL Jump on Low See BL
JNC Jump on No Carry See BNC
JNH Jump Not High See BNH
LA Load Address Generates sequence LIH, TRA, LIL
LBD Load Byte Bytes at addr. and addr. +1 to ACC
Double LID Load Immed. Same as LA
Double LIH Load Immed. High Uses high byte of constant in LI
address field LIL Load Immed. Low Uses low byte of constant in LI
address field NOP No Operation Dummy instruction - skipped R~L Rotate ACC Generates sequence SHL, IC Al Left SCTI Set Count Immed. Generates CLA, LI, STR
SHLM Shift Left Mul Shifts specified number of times tiple to left SHR~I Shift Right Mul- Shifts specified number of times tiple to right SRG Set Register Same as GI
Group STDB Store Byte ACC to addr. ~1 and addr.
Double ~ ~76301 MACRO
MNEMONIC NA~fE DESCRIPTION
TPB Tes~ & Preserve Generates sequence LB, TP
Bit TRB Test & Reset Generates sequence LB, TR, STB
Bit TR~fB Test & Reset Same as TRB but specifies multiple Multiple Bits bits TR~fR Test/Reset Mult. Generates LR, NI, STR
Bits in Reg.
TS Test and Set Same as OI instruction TSB Test & Set Byte Same as TS but byte is specified in addltion to bit TSMB Test & Set Mul- Same as TS ~ut specifies multiple tiple Bytes -Bits TS~fR Test & Set Mult. Generates LR, OI, STR
Bits in Reg.
LZI Zero & Load Generates CLA, LI
Immed.
NOTES: (Label) DC * causes the present location (~ to be associated with the label.
L and H, in general, are suffixes indicating low or high byte when 16 bit operands are addressed.
, ~ 1! 7630 1 APPENDIX B
Conventions Used In Flowcharts 1. Each step is numbered.
2~ The first statement is "begin" for in-line programs and "enter" for subroutines.
3. In-line programs terminate wîth "end" and subroutines, with "return".
4. A step-number in parentheses as a statement or part of the statement indicates a branch to the step.
5. A test statement is followed by a question mark; the question mark is followed by a step number in parentheses indicating the branch to be taken if the test result is true.
6. The call command invokes an off-line subroutine whih returns to the following step or statement upon completion.
7. The WHILE (logical statement) ... LOOP command executes the statements enclosed thereby as long as the logical statement is true.
8. Indentations are used to improve readabillty but have no significance otherwise.
I ~ 7630 ~
Various modifications to the systems and circuits described and illustrated to explain the concepts and modes of practicin~ the inventi.on can be made by those of ordinary skill in the art within the principles or scope of the invention as expressed in the following claims.
Claims (10)
1. The combination comprising:
source means for providing a plurality of selectively modulated energy sources;
medium means receptive of the energy from said source means for producing a visual manifes-tation of said energy, said source means and said media means being in motion relative to one another; and means for modulating each one of said plurality of energy sources to produce readable characters on said medium means.
source means for providing a plurality of selectively modulated energy sources;
medium means receptive of the energy from said source means for producing a visual manifes-tation of said energy, said source means and said media means being in motion relative to one another; and means for modulating each one of said plurality of energy sources to produce readable characters on said medium means.
2. The invention as claimed in claim 1 wherein said source means comprises a plurality of light emitting diodes and said media means comprises a photoconductor.
3. In an apographic apparatus having a moving photoconductor means for receiving images generated by light and means for producing copies of said images, the improvement comprising:
a plurality of light producing means disposed adjacent said photoconductor means for exposing lines of light on said photoconductor means when activated; and control means for modulating said plurality of light producing means to produce characters on the said photoconductor means.
a plurality of light producing means disposed adjacent said photoconductor means for exposing lines of light on said photoconductor means when activated; and control means for modulating said plurality of light producing means to produce characters on the said photoconductor means.
4. The invention as claimed in claim 3 wherein said plurality of light producing means comprises a light emitting diode array.
5. The invention as claimed in claim 4 wherein the light emitting diodes in said array are not axially aligned.
6. In copier/duplicator/printer apparatus for producing copies/duplicates/prints on a photosensitive medium, said copies/duplicates/prints normally comprising a centrally located user-originated image which is surrounded by an unused blank margin, said apparatus including document path means for transporting said copies/duplicates/prints through said apparatus, and a plurality of edge erase lamp means disposed adjacent to and overlapping the document path means for erasing a selective width margin along the normally unused portion of each edge of said copies/duplicates/prints, the improvement comprising:
means for storing apparatus-originated data to be printed in the normally unused margin of said copies/duplicates/prints; and modulator means responsive to said stored data for turning said edge erase lamp means on and off to cause said data to be printed in the normally unused margin of said copies/duplicates/prints.
means for storing apparatus-originated data to be printed in the normally unused margin of said copies/duplicates/prints; and modulator means responsive to said stored data for turning said edge erase lamp means on and off to cause said data to be printed in the normally unused margin of said copies/duplicates/prints.
7. The invention claimed in claim 6 wherein said edge erase lamp means comprise a plurality of light-emitting diodes.
8. The invention claimed in claim 7 wherein said modulator means includes:
register means for controlling said edge erase lamp means, said register means having a plurality of stages, each stage controlling a separate one of said light emitting diodes; and controller means responsive to said stored data for supplying a timed sequence of register settings to said register means to cause said stored data to be printed in the margin of said copies/duplicates/prints.
register means for controlling said edge erase lamp means, said register means having a plurality of stages, each stage controlling a separate one of said light emitting diodes; and controller means responsive to said stored data for supplying a timed sequence of register settings to said register means to cause said stored data to be printed in the margin of said copies/duplicates/prints.
9. The invention claimed in claim 8 wherein said controller means includes:
sequencing means for supplying timed control signals;
and conversion means responsive to said stored data for supplying said sequence of register settings in response to said timed control signals.
sequencing means for supplying timed control signals;
and conversion means responsive to said stored data for supplying said sequence of register settings in response to said timed control signals.
10. The invention claimed in claim 8 wherein said controller means includes a programmable microcomputer.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14671480A | 1980-05-05 | 1980-05-05 | |
US146,714 | 1980-05-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1176301A true CA1176301A (en) | 1984-10-16 |
Family
ID=22518657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000373903A Expired CA1176301A (en) | 1980-05-05 | 1981-03-26 | Modulated light printing |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP0039403B1 (en) |
JP (1) | JPS572061A (en) |
BR (1) | BR8102740A (en) |
CA (1) | CA1176301A (en) |
DE (1) | DE3162574D1 (en) |
ES (1) | ES501850A0 (en) |
IE (1) | IE51609B1 (en) |
ZA (1) | ZA812195B (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5952674A (en) * | 1982-09-03 | 1984-03-27 | Tokyo Electric Co Ltd | Printer |
JPS60140287A (en) * | 1983-12-28 | 1985-07-25 | Mita Ind Co Ltd | Destaticizing lamp device |
JPS6143047U (en) * | 1984-08-21 | 1986-03-20 | ジューキ株式会社 | Latent image generation head |
GB8426046D0 (en) * | 1984-10-15 | 1984-11-21 | Xerox Corp | Electrophotographic apparatus |
JPS6295070A (en) * | 1985-10-22 | 1987-05-01 | Futaba Corp | Optical writing device |
JPS62108666A (en) * | 1985-11-06 | 1987-05-19 | Canon Inc | Image forming device |
JPH02201386A (en) * | 1989-01-30 | 1990-08-09 | Canon Inc | Image recording device |
KR200460323Y1 (en) * | 2011-06-29 | 2012-05-15 | 강학현 | Final member for laminate floor board |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5339124A (en) * | 1976-09-21 | 1978-04-10 | Mitsubishi Electric Corp | Image former |
JPS5492261A (en) * | 1977-12-29 | 1979-07-21 | Konishiroku Photo Ind Co Ltd | Destaticizing device in electrophotographic copier |
US4255042A (en) * | 1979-03-26 | 1981-03-10 | International Business Machines Corporation | Light pipe for accurate erasure of photoconductor charge |
-
1981
- 1981-03-13 JP JP3550981A patent/JPS572061A/en active Granted
- 1981-03-19 EP EP81102041A patent/EP0039403B1/en not_active Expired
- 1981-03-19 DE DE8181102041T patent/DE3162574D1/en not_active Expired
- 1981-03-26 CA CA000373903A patent/CA1176301A/en not_active Expired
- 1981-04-01 ZA ZA00812195A patent/ZA812195B/en unknown
- 1981-05-04 ES ES501850A patent/ES501850A0/en active Granted
- 1981-05-04 IE IE980/81A patent/IE51609B1/en unknown
- 1981-05-05 BR BR8102740A patent/BR8102740A/en unknown
Also Published As
Publication number | Publication date |
---|---|
ES8301372A1 (en) | 1982-11-16 |
JPS572061A (en) | 1982-01-07 |
DE3162574D1 (en) | 1984-04-19 |
ES501850A0 (en) | 1982-11-16 |
EP0039403A3 (en) | 1982-03-17 |
ZA812195B (en) | 1982-04-28 |
EP0039403A2 (en) | 1981-11-11 |
EP0039403B1 (en) | 1984-03-14 |
JPS6119990B2 (en) | 1986-05-20 |
BR8102740A (en) | 1982-01-26 |
IE810980L (en) | 1981-11-05 |
IE51609B1 (en) | 1987-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4475806A (en) | Copier display panel | |
CA1075758A (en) | Dual mode electrophotographic apparatus having dual function printing beam | |
EP0388833B1 (en) | Optical recording system | |
EP0088555B1 (en) | Dot matrix printing method and printer therefor | |
CA1176301A (en) | Modulated light printing | |
KR900002945A (en) | Method and apparatus for augmenting discrete print images for dot matrix printers | |
US4995089A (en) | Method and apparatus for providing font rotation | |
US4490032A (en) | Modulated light printing | |
US4555763A (en) | Method and apparatus for storage and accessing of characters, and electronic printer employing same | |
US4344713A (en) | Character overprinting method and apparatus in non-impact printers | |
US4335952A (en) | Copy quality diagnostic procedure | |
WO1989004020A1 (en) | Dot printer with toner characteristic compensation means | |
WO1988010478A1 (en) | Printing apparatus with improved data formatting circuitry | |
US5109476A (en) | Color printer with synchronous and asynchronous stages | |
US5159357A (en) | Non-impact printer for recording in color | |
EP0484919B1 (en) | Printer having print data arithmetic logic | |
US4332465A (en) | Balanced photoconductor usage control system | |
JPS62502920A (en) | Multicolor electrophotographic reproduction apparatus and method for making color-enhanced copies | |
US5724089A (en) | Printer for printing bit-mapped image responsive to bit-mapped image signal | |
JP2518222B2 (en) | Character generator | |
JP2874938B2 (en) | Optical printer device | |
JPS60229081A (en) | Printer | |
JPS61274958A (en) | Recording method using electrostatic plotter | |
JPH02220882A (en) | Electrophotographic process printing system | |
JPH05188335A (en) | Optical signal generating device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKEX | Expiry |