In geometry, a vertical translation (also known as vertical shift) is a translation of a geometric object in a direction parallel to the vertical axis of the Cartesian coordinate system. The graphs of different antiderivatives of the function f(x) = 3x 2 − 2. All are vertical translates of each other. PACKAGE OPTION ADDENDUM www.ti.com 23-Mar-2012 Addendum-Page 2 Orderable Device Status (1) Package Type Package Drawing Pins Package Qty Eco Plan (2) Lead/ Ball Finish MSL Peak Temp (3) Samples. Rates across the maturity spectrum change by a constant amount and the slope of the yield curve remains consistent. Non-Parallel Shifts. Twist: The slope of the yield curve becomes flatter (the spread between short and long term yields narrows) or steeper.
To print this page: Push Control + P on your keyboard
To search this page: Push Control + F on your keyboard
To help us improve this information: Click Feedback at the top of any page
Code of Federal Regulations (CFR), 1996 to Present
Jump to:Sample Searches │ Sample URLs │ Metadata Fields and Values │ Related Resources
About the Code of Federal Regulations
What is the Code of Federal Regulations?
The Code of Federal Regulations (CFR) annual edition is the codification of the general and permanent rules published in the Federal Register by the departments and agencies of the Federal Government.
The online CFR is a joint project authorized by the publisher, the National Archives and Records Administration's (NARA) Office of the Federal Register (OFR), and the Government Publishing Office (GPO) to provide the public with enhanced access to Government information.
Note: In the official paper bound version and the official PDF versions of 2007 edition of Title 49 volume 6 parts 400-599, the header incorrectly reads '(10-1-06 Edition)' and should have read '(10-1-07 Edition)'.
When is it updated?The CFR on govinfo is current with the published print version of the CFR. When the print editions are released, the online version is also made available. If a CFR Title or volume is not listed in the CFR browse, that volume has not yet been published.
The 50 subject matter titles contain one or more individual volumes, which are updated once each calendar year, on a staggered basis. The annual update cycle is as follows:
- titles 1-16 are revised as of January 1
- titles 17-27 are revised as of April 1
- titles 28-41 are revised as of July 1
- titles 42-50 are revised as of October 1
- govinfo currently contains titles from 1996 to the present. CFR volumes are added concurrent with the release of the paper editions. When revised CFR volumes are added, the prior editions remain on govinfo as a historical set.
- Bulk data downloads of Code of Federal Regulations XML files are available to the general public via Data.gov and GPO's Bulk Data Repository. Information on the legal status, authenticity, and schema of the Code of Federal Regulations XML renditions can be found in the User Guide Document - Code of Federal Register XML Rendition.
- To see more recently updated titles of the CFR, visit the electronic Code of Federal Regulations (e-CFR), a regularly updated, unofficial editorial compilation of CFR material and Federal Register amendments. The eCFR is updated on a daily basis.
- To see a cumulative list of CFR sections that have been changed at any time since each CFR title was last updated, view the List of CFR Sections Affected (LSA)
- To find final and proposed rules that affect the CFR and have been published in the Federal Register within the past 24 hours, week, month, or within a specific date range, browse the CFR Parts Affected from the Federal Register
The CFR is divided into 50 titles that represent broad areas subject to Federal regulation. Each title is divided into chapters, which usually bear the name of the issuing agency. Each chapter is further subdivided into parts that cover specific regulatory areas. Large parts may be subdivided into subparts. All parts are organized in sections, and most citations to the CFR refer to material at the section level.
What is the structure of a CFR citation (e.g. 21 CFR 310.502 Revised as of April 1, 1997)?The following describes how information is contained in a CFR citation.
- Title: The numeric value to the left of 'CFR'
- Part: The numeric value to the right of 'CFR' and preceding the period ('.')
- Section/Subpart: The numeric value to the right of the period ('.') A subpart is a letter of the alphabet (A-Z) that is used to retrieve an entire subpart of the CFR rather than many individual sections. For example: Subpart E.
- Revision Year: Four digit year from the 'Revised as of' text represents the year being cited. The revision year is not always available when the CFR is cited.
Example: 21 CFR 310.502 Revised as of April 1, 1997
- Title: 21
- Part: 310
- Section: 502
- Year: 1997
Parallel Table of Authorities and Rules for the Code of Federal Regulations and the United States Code
The Parallel Table of Authorities and Rules lists rulemaking authority (except 5 U.S.C. 301) for regulations codified in the Code of Federal Regulations. Also included are statutory citations which are noted as being interpreted or applied by those regulations.
The table is divided into four segments and within each segment the citations are arranged in numerical order:
- For the United States Code citations, by title and section;
- For the United States Statutes at Large citations, by volume and page number;
- For public laws citations, by number;
- For Presidential documents (Proclamations, Executive orders, and Reorganization plans) citations, by document number.
Download Parallels Tools
Entries in the table are taken directly from the rulemaking authority citation provided by Federal agencies in their regulations. Federal agencies are responsible for keeping these citations current and accurate. Because Federal agencies sometimes present these citations in an inconsistent manner, the table cannot be considered all-inclusive. The portion of the table listing the United States Code citations is the most comprehensive, as these citations are entered into the table whenever they are given in the authority citations provided by the agencies. United States Statutes at Large and public law citations are carried in the table only when there are no corresponding United States Code citations given.
Beginning in 2017, the table is available in volumes of the CFR Index and Finding Aids publication on govinfo. You can download the entire CFR Index and Finding Aids volume or just the Parallel Table of Authorities and Rules.
- 2016: PDF | Text
- 2015: PDF | Text
- 2014: PDF | Text
- 2013: PDF | Text
- 2011: PDF | Text
- 2009: PDF | Text
Searching the Code of Federal Regulations
You can find and search the Code of Federal Regulations by:
- Using Basic Search for keyword and metadata fielded searches,
- Using Advanced Search; fields specific to the CFR will display after you select Code of Federal Regulations in the Refine by Collection column,
- Using Citation Search to retrieve a single Code of Federal Regulations document in PDF format if you know the Volume and Page of the document,
- Refining search results by clicking on links in the Refine Your Search panel on the left hand side of the page (the sections under Refine Your Search correspond to the metadata available for the documents), and
- Browsing the Code of Federal Regulations browse page.
Search Examples
Search by Citation- For example, 7 CFR 1951.7 from 2016.
- Using Basic Search, enter: collection:cfr and citation:'7 CFR 1951.7' and publishdate:2016
- Using Advanced Search, select Code of Federal Regulations under Refine by Collection, then under Search In select Citation in the first box and enter '7 CFR 1951.7' in the second box
- Using Citation Search, select Code of Federal Regulations from Select Collection box, select 2016 from Select Year box, select 7 from Select Title Number box, and enter 1951.7 in Section box
Search by Title Number- For example, CFR documents from Title 7.
- Using Basic Search, enter: collection:cfr and cfrtitlenum:7
- Using Advanced Search, select Code of Federal Regulations under Refine by Collection, then under Search In select CFR Title Number in the first box and enter 7 in the second box
Search by Title and Part Number- CFR documents from Title 7, Part 1951.
- Using Basic Search, enter: collection:cfr and cfrtitlenum:7 and cfrpartnum:1951
- Using Advanced Search, select Code of Federal Regulations under Refine by Collection, then under Search In select CFR Title Number in the first box, enter 7 in the second box, click + Additional Criteria, select CFR Part Number from the resulting box, and enter 1951 in the next box
Search by Keyword- For example, Code of Federal Regulations documents with 'emissions' in the full text of the publication.
- Using Basic Search, enter: emissions and collection:cfr
- Using Advanced Search, select Code of Federal Regulations under Refine by Collection, then under Search In enter emissions in the second box
Sample Code of Federal Regulations URLs
Govinfo uses two key pieces of information to construct predictable URLs to documents and Details pages:
- Granule ID for the Code of Federal Regulations is used to identify the specific section, part, subpart, chapter, or subchapter within a volume of the publication.
- Package ID is used to identify an individual volume of the publication.
Identifier | Structure/Metadata Field | Examples |
---|---|---|
Granule ID | Chapter Subchapter Part Subpart Section Note: When a chapter, subchapter, part, section, or subpart is split over multiple volumes, combined files are not available and direct links to documents must be accessed at a more granular level. | CFR-2008-title39-vol1-chapI CFR-2008-title39-vol1-chapI-subchapB CFR-2008-title39-vol1-part20 CFR-2008-title39-vol1-part777-subpartA CFR-2008-title39-vol1-sec20-2 |
Package ID | CFR-{Year}-title{CFR Title Number}-vol{CFR Volume Number} | CFR-2008-title39-vol1 |
Tip: You can also use the link service and API to construct predictable links.
Details Page for a Specific Section, Part, Subpart, Chapter or Subchapter
Structure: https://www.govinfo.gov/app/details/{Package ID}/{Granule ID}
Example: https://www.govinfo.gov/app/details/CFR-2008-title39-vol1/CFR-2008-title39-vol1-sec20-2
PDF File for a Specific Section, Part, Subpart, Chapter or Subchapter
Structure: https://www.govinfo.gov/content/pkg/{Package ID}/pdf/{Granule ID}.pdf
Example: https://www.govinfo.gov/content/pkg/CFR-2008-title39-vol1/pdf/CFR-2008-title39-vol1-sec20-2.pdf
XML File for a Specific Section, Part, Subpart, Chapter or Subchapter
Structure: https://www.govinfo.gov/content/pkg/{Package ID}/xml/{Granule ID}.xml
Example: http://www.govinfo.gov/content/pkg/CFR-2008-title39-vol1/xml/CFR-2008-title39-vol1-sec20-2.xml
Details Page for an Entire Volume
Structure: https://www.govinfo.gov/app/details/{Package ID}
Example: http://www.govinfo.gov/app/details/CFR-2008-title39-vol1
PDF File for an Entire Volume
Structure: https://www.govinfo.gov/content/pkg/{Package ID}/pdf/{Package ID}.pdf
Example: http://www.govinfo.gov/content/pkg/CFR-2008-title39-vol1/pdf/CFR-2008-title39-vol1.pdf
XML File for an Entire Volume
Structure: https://www.govinfo.gov/content/pkg/{Package ID}/xml/{Package ID}.xml
Example: http://www.govinfo.gov/content/pkg/CFR-2008-title39-vol1/xml/CFR-2008-title39-vol1.xml
Metadata Fields and Values
Metadata fields and values can be used to increase the relevancy of your searches. The metadata fields available for the Code of Federal Regulations are listed in the table below. Metadata fields and values are used throughout govinfo for
- Narrowing Your Search,
- Browsing Government Publications,
- Field Operators,
- Advanced Search, and
- Display on Details Pages.
Metadata fields and values can be entered into the Basic Search box using field operators. The field operators available for the Code of Federal Regulations are listed in the table below, along with examples for each metadata field. Using Field Operators
Some of these metadata fields are made available for use in Advanced Search. The metadata values can be entered in the same format for the fields available on the Advanced Search Page. Using Advanced Search
Metadata Field Display Name | Metadata Field Definition | Field Operator | Field Operator Example(s) |
---|---|---|---|
Collection | The collection to which the document belongs. Typically the same as the publication or series. | collection: | collection:cfr Note: 'cfr' is used for the Code of Federal Regulations |
Government Author | The names of the Government organizations responsible for authoring or assembling the document. | governmentauthor: | governmentauthor:'office of the federal register' |
Publication Date | The date the document was first made available to the public. | publishdate: | publishdate:2016-01-01 Date format is YYYY, YYYY-MM, or YYYY-MM-DD |
Language | The language code of the original document, from the ISO639-2b standard. | language: | language:eng |
Former Package ID | The document ID of the 'package.' | mods:identifier:(@type:'former package identifier':'______') | mods:identifier:(@type:'former package identifier':'44CFR') |
SuDoc Class Number | The SuDoc class number from the U.S. Superintendent of Documents which classifies Government publications by publishing agency. | sudocclass: | sudocclass:'AE 2.106/3:' Note: The SuDoc Class Numbers are at the class stem level, not the book number level. |
Ingestion Date | The date the document was ingested into the preservation repository. | ingestdate: | ingestdate:2009-12-29 Date format is YYYY-MM-DD |
Electronic Location (URL) | The URL where the document or the document in context (the content detail page) is located. | url: | url:pkg/CFR-2016-title1-vol1/pdf/CFR-2016-title1-vol1-sec1-1.pdf |
Publisher | The government organization who publishes the document or publication. Not typically the Government Publishing Office (who serves as the printer and distributor), except in the case of Congressional publications. | publisher: | publisher:'Office of the Federal Register, National Archives and Records Administration' |
Branch | The branch of Government responsible for the document's contents. | branch: | branch:executive Note: Possible Values:Executive, Legislative, Judicial |
Type of Resource | The media type for the document, typically 'text'. Defined as part of the Library of Congress MODS standard. | typeofresource: | typeofresource:text |
WAIS Database Name | The name of the WAIS database to which the document belonged in the former GPO Access system. | waisdbname: | waisdbname:2016_cfr_1v1 |
Record Origin | How the record was originally generated. Typically 'machine generated.' | recordorigin: | recordorigin:'machine generated' |
Title | The title of the publication. | title: | title:'agriculture' |
CFR Title Number | CFR Title Number, an integer number from 1 to 50. | cfrtitlenum: | cfrtitlenum:7 |
CFR Part Number | CFR part number, an integer number of the part within the title. | cfrpartnum: | cfrpartnum:1951 |
CFR Section Number | The CFR section number. | cfrsectionnum: | cfrsectionnum:94.1 |
Heading | Search for the heading. | heading: | heading:'part 2' heading:'subpart I' heading:'chapter 9' |
CFR Subject Group | The subject group for the sections, typically used for very large parts, such as the Internal Revenue part on income taxes. | cfrsubject: | cfrsubject:'income tax' |
CFR Citation | Citation references to the Code of Federal Regulations. | cfrcitation: | cfrcitation:'40 CFR Part 32' |
CFR Part Heading | cfrpartheading: | cfrpartheading:'part 2' | |
CFR Part Title | cfrparttitle: | cfrparttitle:'capital construction fund' | |
CFR SubPart Heading | cfrsubpartheading: | cfrsubpartheading:'subpart b' | |
CFR SubPart Title | cfrsubparttitle: | cfrsubparttitle:'registration of pilots' | |
CFR Chapter Heading | cfrchapterheading: | cfrchapterheading:'chapter 2' | |
CFR Chapter Title | cfrchaptertitle: | cfrchaptertitle:'rural housing service' | |
CFR Appendix Heading | cfrappheading: | cfrappheading:'appendix a' | |
CFR Appendix Title | cfrapptitle: | cfrapptitle:'alternate foods for meals' | |
Book Contents Statement | cfrbookcontents: | cfrbookcontents:'parts 1 to 199' | |
CFR Authority | cfrauthority: | cfrauthority:'44 U.S.C. Ch. 35' | |
CFR Source | cfrsource: | cfrsource:'38 FR 25170' | |
CFR Cross Reference | cfrxref: | cfrxref:'42 CFR 110' | |
CFR Editorial Notes | cfreditorial: | cfreditorial:'70 FR 57994' | |
CFR Citation Text: | cfrcitationtext: | cfrcitationtext:'60 FR 13895, Mar. 15, 1995, as amended at 69 FR 42100, July 14, 2004' | |
Citation | The GPO standard method for searching citation references from the selected publication. | citation: | citation:'9 CFR 2.2' |
Congressional Bills Citation | Citation references to Congressional Bills. | billscitation: | billscitation:'h.r. 1' |
Congressional Report Citation | Citation references to Congressional Reports. | crptcitation: | crptcitation:'S. Rept. 99-296' |
Public and Private Law Citation | Citation references to Public or Private Laws. | plawcitation: | plawcitation:'public law 71-126' |
United States Code Citation | Citation references to the United States Code. | uscodecitation: | uscodecitation:'42 U.S.C. 3121' |
Statutes at Large Citation | Citation references to Statutes at Large. | statutecitation: | statutecitation:'70 Stat. 1046' |
Federal Register Citation | Reference to the Federal Register, in standard citation format. | frcitation: | frcitation:'52 FR 49386' |
Reference Citation | Reference to another document within the text of a document. | refcitation: | refcitation:'42 U.S.C. 3121' |
Code of Federal Regulations Related Resources
- List of CFR Sections Affected - Proposed, new, and amended Federal regulations that have been published in the Federal Register since the most recent revision date of a CFR title.
- Browse CFR Parts Affected from the Federal Register - Final and proposed rules that affect the CFR and have been published in the Federal Register within the past 24 hours, week, month, or within a specific date range.
- Electronic Code of Federal Regulations (e-CFR) - A regularly updated, unofficial editorial compilation of CFR material and Federal Register amendments produced by the National Archives and Records Administration's Office of the Federal Register and the Government Publishing Office
- Regulations.gov - Find, review, and submit comments on Federal rules that are open for comment and published in the Federal Register. Managed by the U.S. Environmental Protection Agency eRulemaking Program Management Office.
- A Guide to the Rulemaking Process (PDF) - Prepared by the Office of the Federal Register, National Archives and Records Administration.
- Contact your local Federal Depository Library - Including issues prior to 1996 using the Federal Depository Library Directory.
- Purchase individual CFR titles in print - From GPO's Online Bookstore
- Download the CFR (Annual) in bulk XML - From GPO's bulk data repository.
- Parallel Table of Authorities and Rules - For the Code of Federal Regulations and the United States Code
- Federal Register - Published by the Office of the Federal Register, National Archives and Records Administration (NARA), the Federal Register is the official daily publication for rules, proposed rules, and notices of Federal agencies and organizations, as well as executive orders and other presidential documents
- FederalRegister.gov - Unofficial, HTML (XML-based) edition of the daily Federal Register provided by the Office of the Federal Register, National Archives and Records Administration
- Reginfo.gov - Provides reliable, transparent information about regulations under development
Code of Federal Regulations Frequently Asked Questions
Parallel Shift Download Game
When is the Code of Federal Regulations Published?
The Code of Federal Regulations (CFR) is current with the published print version of the CFR. When the print editions are released, the online version is also made available. If a CFR Title or volume is not listed in the CFR browse, that volume has not been published at that time. The date for which a particular Title of the CFR is published varies with each Title and volume and is dependent upon the publisher. The Code of Federal Regulations is published by the Office of the Federal Register, National Archives and Records Administration.
In general, CFR volumes are updated (not published) once each calendar year, on a staggered basis in accordance with the annual update cycle. The annual update cycle is as follows: Titles 1-16 are updated as of January 1st; Titles 17-27 are updated as of April 1st; Titles 28-41 are updated as of July 1st; Titles 42-50 are updated as of October 1st.
As an alternative resource, the Electronic Code of Federal Regulations (eCFR), is a currently updated version of the CFR. It is not an official legal edition of the CFR. The e-CFR is an editorial compilation of CFR material and Federal Register amendments produced by the National Archives and Records Administration's Office of the Federal Register (OFR) and the Government Publishing Office. OFR updates the material in the e-CFR on a daily basis.
How do I access the electronic Code of Federal Regulations (eCFR)?
The e-CFR is available at www.ecfr.gov.
How do you report errors in the Code of Federal Regulations (CFR) or e-CFR?
Vampire the masquerade games. Technical errors with this site should be reported to askGPO. It will help us to troubleshoot the issue faster if you include the following:
- what device you're using (mobile device, desktop, etc.)
- the specific URL of the page you were trying to access,
- the steps you took that resulted in the error,
- any specific search or browse terms you used, and/or
- a screenshot of the page where the error occurred.
For questions or comments regarding e-CFR editorial content, features, or design, email [email protected]
For questions concerning e-CFR programming and delivery issues, email [email protected]
Errors made by the issuing agency should be reported to the agency that issued the regulation. The agency that issued the regulation is listed in the chapter heading. Agencies correct their errors by publishing CFR amendment documents in the Federal Register. Agency correction documents are generally styled as 'final rule corrections' or 'technical amendments.'
How do I access historical editions of the Code of Federal Regulations (CFR) or other collections on this site?
This site provides access to most collections from approximately 1994 (103rd Congress) forward. Years of coverage for each collection are indicated next to the collection name on the Browse A to Z page. Historical versions or years of collections can be obtained from a Federal Depository Library. Federal publications and other information products are made available for free public use in Federal depository libraries throughout the United States. In addition to the publications, trained librarians are available to assist in their use. Locate a Federal Depository Library.
Do you have a single PDF file for the entire edition or full Titles of the Code of Federal Regulations?
At this time, it is not possible to download entire editions or complete titles of the Code of Federal Regulations (CFR) on govinfo as a single PDF file unless the whole title is comprised of a single book/volume. There are often several volumes (or printed books) across one title. For example, Title 49 is printed in 9 volumes. You cannot obtain the entire title in one electronic file because that is not the way the document is processed. The electronic volumes correspond with the print volumes.
What does it mean when I see [Reserved] in the CFR?
'[Reserved]' is a term used as a place holder within the Code of Federal Regulations. An agency uses '[Reserved]' to simply indicate that it may insert regulatory information into this location some time in the future. Occasionally '[Reserved]' is used to indicate that a portion of the CFR was intentionally left empty and not accidentally dropped due to a printing or computer error.
A serial-to-parallel shift register (or SIPO: Serial In Parallel Out) lets you take a series of signals on one output and split them up into several separate outputs in parallel. For example, if you don't have enough GPIO pins on your Raspberry Pi, Arduino, or other computer/microcontroller, you may be able to use a shift register to add more.
In this post, I'll be looking at the 74HC595, which is an 8-bit SIPO IC; i.e. it gives you 8 outputs. The advantage of this chip over some dedicated port expanders is that it doesn't require a complex protocol like I2C or SPI, and it doesn't need a particular clock speed. That means you can control it with pretty much any digital output channels, and it's very easy to write simple software to communicate with it.
What does a shift register do?
Rings Of Saturn Parallel Shift
In general, a shift register is a memory buffer which you write to and/or read from sequentially, depending on the application.
In the case of a serial-to-parallel shift register, you push data onto the beginning of the register, one bit at a time. Each time you do that, the existing data shuffles along to make room. Typically, you keep going until you've filled up the register, and then trigger a transfer.
The transfer copies all the data in the shift register over into a separate storage register. This will usually be connected to a series of outputs which all get updated simultaneously. This allows the outputs to hold the current values steady while you re-fill the shift register with the next block of data. You then trigger another transfer to update the outputs, and so on.
This makes it great for expanding outputs from something like a Raspberry Pi or Arduino. You use 3 of your device's output pins to give data in serial to the register. It gets converted to parallel, letting you treat it as though you've got 8 or 16 (or more) individual output pins. It's inevitably slower than having actual output pins, but it is effective for many purposes.
One of the great things about these components is that you can ‘daisy-chain' them together. When you push a bit on to the shift register, the last bit has nowhere to go when everything else shuffles along. This means it usually just gets discarded. However, you can actually redirect it to the input for a second shift register, effectively doubling the output capacity. As long as you've got enough power, there's nothing stopping you from daisy-chaining more. Just be aware that longer chains take more time to update.
How do you control the shift register?
The 74HC595 is controlled by a data input pin (DS), a shift clock pin (SHCP or SRCLK), and a storage clock pin (STCP or RCLK). They are all active high. In the case of the clock pins, you'll need to make sure they're pulled properly low (not floating) in between clock pulses, otherwise you'll get odd behaviour.
When you want to move data onto the register, first set the data input pin (DS) high or low, representing the bit you want to send (i.e. 1 or 0). After that, briefly set the shift clock pin (SHCP) high, and then bring it back to low. Repeat this process as many times as you need to get data where you want it on the register (typically 8 times to fill a single register).
When you want to copy data to the output register, briefly pulse the storage clock pin high, then bring it back to low. (You'll need to pull the Output Enable (OE) low as well, although as noted below I keep it held low at all times.)
Non Parallel Shift
And that's it! The device is capable of fairly high speeds, so you can whizz quite a bit of data through. Bear in mind that the outputs aren't capable of handling much load though, so remember to use transistors or similar if you want to power other devices directly.
Pin connections
Be careful of voltages when connecting the shift register to a device. The 74HC595 can work with a range of voltages, including 3.3v for Raspberry Pi, and 5v for most Arduinos. However, check your datasheets! In particular, watch out for the 74HCT595 (notice the 'T' in there). It will probably not operate properly at 3.3v. Hearts of iron iv: allied speeches music pack download free.
The supply (Vcc) and ground (GND) pins are hopefully obvious — hook those up to your power supply and ground lines.
The input and clock pins I mentioned above are obviously very important too. You'll want to connect each of these to a digital output on your device. It would be wise to enable (or manually attach) weak pull-down resistors on these pins too, so that you don't end up with unpredictable behaviour.
The Master Reset (MR) pin should be held high most of the time (e.g. by bridging it to Vcc). If this pin is pulled low then it will reset the entire shift register, basically filling it with 0's. You can control this line from your device as well if you want, or connect it to a central reset circuit.
I usually prefer to hold the Output Enable (OE) pin low, e.g. by bridging it to GND. This keeps the storage register connected to the output pins at all times. If you let it go high then the output pins will float. This could have an odd effect on whatever is connected to the outputs, unless you add circuitry to detect it.
If you're only using a single shift register, you can leave the serial output pin unconnected (usually labelled Q7S, or sometimes Q7′).
Parallels Shift Key Not Working
Finally, hook up the output pins to whatever components you want to control (Q0 to Q7).
Linking multiple shift registers (daisy-chaining)
Each time you shift a new bit onto the register, the bit in the last position effectively drops off the end. However, before it disappears into oblivion, it sits on the serial output (pin Q7S or Q7′) for one shift cycle.
If you connect this pin to the serial input pin (DS) of a second register, you can increase your shift capacity, allowing them to work together like a 16-bit shift register. If you connect the serial output (Q7S) on your second register to the serial input of a third register, they'll act like 24-bit, and so on.
All the other pins on your second/third/etc. registers are connected the same way as they are on your first. Most importantly, the clock pins (shift and storage) are connected to the same outputs on your device. This is vital because they must all shift/store at exactly the same time.
In practice, there are limitations on how many shift registers you can link together like this. The problem you're likely to encounter first is power. You're connecting the same device pins to the clock inputs on multiple chips, which means you're dividing the current between them. If it's divided too much then it will stop working.
The number of registers you can drive depends on how much power your device can supply on its outputs. There are many possible workarounds though, such as using buffers.
The other potential limitation is speed. As you increase the number of registers, you increase the number of shifts you need to do to get the data all the way through to the last output. That means each update will be slower. With that said, the shifts are usually very fast, so the chances are that you won't have a problem on small-to-medium projects.
Example project: numeric display
I connected a pair of daisy-chained shift registers to my Raspberry Pi. That allowed me to turn 3 GPIO pins into 14 separate outputs, which I used to control a 4-digit numeric display. (The last 2 outputs on the shift registers weren't needed.)
From right to left, the major components are:
Parallel Shift Register
- An old Raspberry Pi.
- Gertboard (handy expansion for tinkering with the Pi).
- Small breadboard with 2 shift registers.
- Medium breadboard with lots of transistors and resistors.
- Small breadboard with the numeric display.
This project presented a bit of a challenge. The first difficulty was that the shift registers couldn't source/sink enough current to drive it directly, hence the unholy number of transistors (I didn't have a transistor package handy!).
The second difficulty was that you can't show multiple digits at the same time on this kind of display. There's a common anode for each digit, and then a common cathode for each type of segment across all digits. That means you have to flash each digit quickly, one-at-a-time, similar to how you'd use a PWM to control the brightness of an LED. If you do that fast enough, it gives the impression of a steady display. That required a reasonably high throughput of data in the shift registers.
You can take a look at the rough circuit diagram below. It may not be entirely accurate though (especially the resistor values). Please note that I was just tinkering with a few components I had lying around. This is not the best way to build a circuit like this, so I absolutely cannot guarantee the safety of your components if you copy it!
IC1 and IC2 are the shift registers, and IC3 is the numeric display. Connections DS, STCP, and SHCP go to GPIO pins on the Raspberry Pi.
In reality, this is a totally impractical way to attempt this kind of project, and you'd be far better off investing a little extra in a dedicated IC to control it for you. I just did it this way because it was a fun little experiment.
Conclusion
The serial-to-parallel shift register is a simple but effective way to expand your available outputs. You could use it to control lights or motors, or to pass information to other devices which require parallel data.
It's worth noting that there are plenty of 'port expanders' and similar components which do something similar. However, they often require the use of I2C or SPI. They have the advantage that you can control several different components on the same bus. They can be a good option if your device supports the relevant protocol and has suitable outputs available.
The beauty of the shift register though is its simplicity. Pretty much any device can be made to talk to them, and the programming is simple enough to be quite fun if you're a hobbyist.