User:Microrex
MICROCONTROLLER CONTROL OF SERIAL BITWISE ALU by Rex M. Marling
May 15 ,2010 design and construction of a serial bitwise arithmetic logic unit.The project device is intended to have two basic data value Inputs A and B. Additional inputs consist of
a carry input for a full/half adder for Addition and or subtraction. Control of the
logic and arithmetic circuitry has been Associated with using an Atmel 90s8285
AVR microcontroller. The AVR controlsThe serial data input stream with a single
committed data line and a clock line For clocking the associated 74164 serial in
parallel out shift registers. A single 8 bit shift register is associated with
data A, data B, instruction register , and the carry input data storage control. Another 74164 acts as an accumulator function storing the sequential logic output from the 74150 16 line in one line out multiplexer.The serial bit stream consists of the instruction word msb out first consisting of 8 data bits. Data byte B is sent out msb first and then data byte A msb first.The instruction word is then latched into a 74573 8 bit parallel latch for Storage . The eight bit instruction word selects to data path from the alu circuitry For output to the accumulator s hift register
Msb D7 Sel D 74150 D6 Sel C 74150 D5 Sel B 74150 D4 Sel A 74150 Invert A Control High level Inverts data to /A Invert B Control High Level Inverts Data to /B NC Add=0 Sub = 1 Attached to carryin Thru 74164 Carry register
Tools used in the development of this project are Quartus PCB123 pc board cad Bascom AVR basic compiler for the AVR microcontroller MCS electronics Microsoft Word for document production Microsoft Excel for BOM Text books Digital Electronics with VHDL Kleitz Bit slice microcontrollers Mick and Brick 1984 edition Previous course work studies of the Turning Machine Finite Automata and languages Wikipedia state machines, Richards Controller circuitry (not used in this context) Shift register applications ,parallel vs serial archecture Dr. Will of the Bloomington Hacker Space Society for the mention of a 1 bit microcontroller 90s8252 avr microcontroller port assignments portA.0 portA.1 portA.2 portA.3 portA.4 portA.5 portA.6 portA.7 portB.0 portB.1 portB.2 portB.3 portB.4 portB5 MOSI PROGRAMMING PIN portB.6 MISO PROGRAMMING PIN portB7 SCK PROGRAMMING PIN portC.0 SERIAL DATA OUTPUT OR WRITE DATA TO SHIFT REGISTERS portC.1 portC.2 portC.3 portC.4 portC.5 portC.6 portC.7 SERIAL DATA READ ACCUMULATOR portD.0 portD.1 portD.2 portD.3 MASTER RESET ACTIVE LOW portD.4 /RESET CARRY 74614 REGISTER portD5 74LS573 LATCH ENABLE ENABLE HIGH portD.6 READ ACCUMULATOR CLOCK portD7 SERIAL DATA CLOCK PROGRAMMER UTILIZES MOSI MISO SCK RESET AND GROUND LOGIC EQUATIONS LOGIC OUTPUT FROM SERIAL ALU 74150 16 line input to 1 line output inverted function output line pin number A,/A E7 1 B,/B E6 2 AND E5 3 NAND E4 4 CLEAR E3 5 SET E2 6 A=B(XNOR) E8 23 XOR E9 22 SUM E10 21 B>A E11 20 A>B E12 19 NOR E13 18 OR E14 17 ATMEL 90S8535 AVR MICROCONTROLLER CONTROL LINES DATA PORT PIN /MASTER RESET PORTD.3 /RESET FOR ADD PORTD.4 74LS573 LE PORTD.5 READ ACCUMULATOR PORTD.6 SERIAL DATA CLOCK PORTD.7 SERIAL DATA INPUT WRITE PORT C.0 SERIAL DATA READ PORT C.7