General Purpose Input/Output Labs
The Decide() first checks the current value in LED_Output for two specific condi-
tions:
? Is the Most Significant bit ‘ 1 ’? This means that on the next shift, the contents will
be all ‘ 0 ’s.
? Is the value currently a ‘ 0 ’?
If either condition exists, the function re-initializes LED_Output to set the Least Signif-
icant bit. Otherwise, there will be a period when none of the LEDs are lit.
The shift is implemented in code as follows:
LED_Output <<= 1;
This translates to: “ LED_Output is equal to the current contents of LED_Output
shifted to the left by 1 bit position”
Conversely, to shift the bit to the right the code would be as follows:
LED_Output >>= 1;
The Do_Outputs() will then assign the contents of the LED_Output variable to the
PORTC register and whichever bit is high will light the connected LED. (See
Figure 3-17.)
FIGURE 3-17:
RESULTS OF DO_OUTPUT()
First time through main():
LED_Output variable
PORTC
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
Do_Outputs()
Initialize() determines initial
contents of LED_Output
assigns
LED_Output to
PORTC
Corresponding LED lights
Next time through main():
LED_Output variable
PORTC
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
Do_Outputs()
Decide() shifts contents of
LED_Output Left by 1 bit position
assigns
LED_Output to
PORTC
Corresponding LED lights
The Initialize() now configures the PIC16F690 peripherals as follows:
? PORTC
- Initialize PORTC so that the 7 Most Significant bits are ‘ 0 ’ and the Least
Significant bit is ‘ 1 ’
- Make all PORTC pins digital output
? Timer0
- Use the internal instruction clock (F OSC /4) as the TMR0 register clock source
- Increment TMR0 register on low-to-high transition of F OSC /4
- Assign the prescaler to Timer0 and configure to increment on every 256th
transition of F OSC /4
? Initialize the LED_Output variable to ‘ 0 ’
? 2009 Microchip Technology Inc.
DS41369A-page 35
相关PDF资料
DM164120-1 BOARD DEMO PICKIT 2 LP COUNT
DM164120-3 BOARD DEMO PICKIT2 28-PIN
DM164120-5 BOARD DEMO PICKIT 2 64/80-PIN
DM164123 KIT MANAGEMENT SYSTEM PICDEM
DM180021 KIT STARTER MPLAB FOR PIC18F MCU
DM183022 BOARD DEMO PIC18FXX22 64/80TQFP
DM183032 BOARD EXPLORER PICDEM PIC18
DM240001 BOARD DEMO PIC24/DSPIC33/PIC32
相关代理商/技术参数
DM163035+TEFLCST3 制造商:Microchip Technology Inc 功能描述:KIT PICDEMLAB+FLOWCODE-HOME BUNDLE/ 制造商:Microchip Technology Inc 功能描述:PICDEM, FLOW CODE, LAB, DEV KIT
DM163045 功能描述:开发板和工具包 - PIC / DSPIC PICDEM Lab Dev Kit (with PICkit 3) RoHS:否 制造商:Microchip Technology 产品:Starter Kits 工具用于评估:chipKIT 核心:Uno32 接口类型: 工作电源电压:
DM1-63-C 功能描述:端子 Metric Fem Disc non-insulated RoHS:否 制造商:AVX 产品:Junction Box - Wire to Wire 系列:9826 线规:26-18 接线柱/接头大小: 绝缘: 颜色:Red 型式:Female 触点电镀:Tin over Nickel 触点材料:Beryllium Copper, Phosphor Bronze 端接类型:Crimp
DM1-63M-C 功能描述:端子 Metric Male Disc non-insulated, 0 RoHS:否 制造商:AVX 产品:Junction Box - Wire to Wire 系列:9826 线规:26-18 接线柱/接头大小: 绝缘: 颜色:Red 型式:Female 触点电镀:Tin over Nickel 触点材料:Beryllium Copper, Phosphor Bronze 端接类型:Crimp
DM164 制造商:SITI 制造商全称:SITI 功能描述:8x3-CHANNEL CONSTANT CURRENT LED DRIVER
DM1640 制造商:SANYO 制造商全称:Sanyo Semicon Device 功能描述:16 characters x 4 line Liquid Crystal Dot Matrix Display Module
DM1640-0AL1 制造商:未知厂家 制造商全称:未知厂家 功能描述:Optoelectronic
DM1640-0BL1 制造商:未知厂家 制造商全称:未知厂家 功能描述:Optoelectronic