General Purpose Input/Output Labs
3. Copy/paste the code in Example 3-25 into the main() over the code from the
previous lab to remove the Get_Inputs() .
EXAMPLE 3-25:
MAIN() CODE FOR GPIO LAB 6
Initialize(); //Initialize the relevant registers
while(1)
{
Decide();//Make any decisions
Do_Outputs(); //Perform any outputs
Timing();//Sets execution rate of the
//Software Control Loop
}
4. The remaining code remains unchanged from the previous lab. Compile the
project. There should be no errors.
3.4.5.4
TESTING THE APPLICATION
Program the PIC16F690. The application should behave as it did in the previous lab.
Only this time, the change in LED flashing direction should now be more responsive to
push button presses due to the interrupt added.
The solution for this project is located in the
C:\PICDEM_Lab\GPIO_Labs\GPIO_Lab6\solution directory .
3.4.6
3.4.6.1
Lab 7: Push Button Interrupt-on-Change
NEW REGISTERS USED IN THIS LAB
To configure the peripherals used in this lab, the following registers are used:
1. Interrupt-on-Change PORTA Register: IOCA (Register 4-6 in Section 4 of the
PIC16F690 Data Sheet).
- Configures PORTA associated pins that will generate an interrupt when a
change in voltage level is detected.
2. Interrupt Control Register: INTCON (Register 2-3 in Section 2 of the PIC16F690
Data Sheet)
- Enable interrupt functionality on the PIC16F690.
- Enables PORTA/PORTB change interrupts.
- Contains a flag that indicates that a PORTA or PORTB change interrupt has
occurred.
3.4.6.2
OVERVIEW
This lab adds a different kind of interrupt associated with the General Purpose
Input/Output peripheral called interrupt-on-change. Rather than simply interrupting the
CPU on a single edge transition on the RA2 pin, an interrupt will now occur on any edge
transition. Therefore, when the push button is pressed and/or released, an interrupt will
occur. This lab will use these concepts to shift the flashing LEDs from left-to-right while
the push button is pressed and from right-to-left when the push button is released.
Each PORTA and PORTB pin is individually configurable as an interrupt-on-change
pin. Control bits in the Interrupt-on-Change PORTA register (IOCA) enable or disable
the interrupt function for each pin.
? 2009 Microchip Technology Inc.
DS41369A-page 53
相关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