General Purpose Input/Output Labs
5. The Do_Outputs() code from the previous lab stays the same.
6. Copy/paste the code in Example 3-21 into the Timing() over the code from the
previous lab.
EXAMPLE 3-21:
TIMING() CODE FOR GPIO LAB 5
unsigned int delay_var = 9997;
//Keep looping until the delay_var is
// equal to zero (should take 10mS)
while(--delay_var);
Note:
This lab now utilizes a 10 mS delay to time the software control loop.
7. Copy/paste the code in Example 3-22 over the main() code from the previous
lab.
EXAMPLE 3-22:
MAIN() CODE FOR LAB 5
Initialize(); //Initialize the relevant registers
while(1)
{
Get_Inputs();//Evaluate inputs
Decide();//Make any decisions
Do_Outputs(); //Perform any outputs
Timing();//Sets execution rate of the
//Software Control Loop
}
8. Compile the project, there should be no errors.
3.4.4.4
TESTING THE APPLICATION
Program the PIC16F690. Once programmed, the LEDs connected to PORTC should
sequentially light from left-to-right in 10 mS intervals. When the push button is pressed,
the LEDs should change directions and sequentially light from right-to-left.
Continuously pressing the push button will change the direction each time.
It should be noted that the push button press inconsistently changes the direction of
sequential flashing. The problem here is that the firmware performs a technique called
"Polling" to check the state of the RA0 pin that connects to the push button. Therefore,
the state of RA0 is checked only once each time through the software control loop when
the Get_Inputs() is called. This polling is subject to the timing of the software con-
trol loop and will lead to push button presses being missed. If the Timing() remained
at the 1 second delay as implemented in the previous lab, this would have made
matters worse. The next labs will remedy these issues through the use of interrupts.
The solution for this project is located in the
C:\PICDEM_Lab\GPIO_Labs\GPIO_Lab5\solution directory .
? 2009 Microchip Technology Inc.
DS41369A-page 47
相关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