📄 7seg_dec_sw.c.lst
字号:
CCS PCW C Compiler, Version 3.124, 16614
Filename: c:\documents and settings\nisar ahmed\desktop\7seg_dec_sw_0-9\7seg_dec_sw.c.LST
ROM used: 97 (1%)
Largest free fragment is 2048
RAM used: 9 (5%) at main() level
10 (6%) worst case
Stack: 1 locations
*
0000: MOVLW 00
0001: MOVWF 0A
0002: GOTO 029
0003: NOP
.................... // 7SEG_dec_sw.C
.................... //Example to drive one 7-Segment LED with decriment by one when press switch
.................... /****************************************
.................... *
.................... * COPYRIGHT (c) Blitzlogic Sdn. Bhd.
.................... * Author : Abraham Wong 21/1/2000
.................... *
.................... * example of using FOR loop to drive
.................... * two 7-Segment LEDs
....................
.................... ****************************************/
....................
.................... #include <16F877.h>
.................... //////// Standard Header file for the PIC16F877 device ////////////////
.................... #device PIC16F877
.................... #list
....................
.................... #USE DELAY( CLOCK=4000000 ) /* Using a 4 Mhz clock */
*
0012: MOVLW 25
0013: MOVWF 04
0014: MOVF 00,W
0015: BTFSC 03.2
0016: GOTO 026
0017: MOVLW 01
0018: MOVWF 78
0019: CLRF 77
001A: DECFSZ 77,F
001B: GOTO 01A
001C: DECFSZ 78,F
001D: GOTO 019
001E: MOVLW 4A
001F: MOVWF 77
0020: DECFSZ 77,F
0021: GOTO 020
0022: NOP
0023: NOP
0024: DECFSZ 00,F
0025: GOTO 017
0026: BCF 0A.3
0027: BCF 0A.4
0028: GOTO 052 (RETURN)
.................... #FUSES XT,NOWDT,NOPROTECT,NOPUT,NOLVP
.................... #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
.................... /* Use XT mode, No Watch Dog, No Code Protect, No Power-up Timer */
.................... #byte port_d=8 /* define the location of register port_b */
.................... #byte port_a=5 /* define the location of register port_b */
.................... byte CONST LED_MAP[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0X80,0x90};
*
0004: BCF 0A.0
0005: BCF 0A.1
0006: BCF 0A.2
0007: ADDWF 02,F
0008: RETLW C0
0009: RETLW F9
000A: RETLW A4
000B: RETLW B0
000C: RETLW 99
000D: RETLW 92
000E: RETLW 82
000F: RETLW F8
0010: RETLW 80
0011: RETLW 90
....................
.................... main(){
.................... byte cnt, right,num ;
*
0029: CLRF 04
002A: MOVLW 1F
002B: ANDWF 03,F
002C: MOVLW 07
002D: BSF 03.5
002E: MOVWF 1F
002F: MOVLW 19
0030: MOVWF 19
0031: MOVLW 26
0032: MOVWF 18
0033: MOVLW 90
0034: BCF 03.5
0035: MOVWF 18
.................... port_b_pullups(true);
0036: BSF 03.5
0037: BCF 01.7
.................... set_tris_d(0); /* set port_b as outputs */
0038: MOVLW 00
0039: MOVWF 08
.................... set_tris_a(0); /* set port_a as output */
003A: MOVWF 05
.................... port_d = 0xFF; /* ZERO port_a & port_b */
003B: MOVLW FF
003C: BCF 03.5
003D: MOVWF 08
.................... port_a = 0xFF;
003E: MOVWF 05
....................
.................... while(1){
....................
.................... //for( ;; ){
.................... // for (right=1;right<3;right++){
.................... // port_a = ~right;
.................... for (cnt=9;cnt<10;cnt--){
003F: MOVLW 09
0040: MOVWF 21
0041: MOVF 21,W
0042: SUBLW 09
0043: BTFSS 03.0
0044: GOTO 05F
.................... port_d = LED_MAP[cnt];
0045: MOVF 21,W
0046: CALL 004
0047: MOVWF 78
0048: MOVWF 08
.................... output_low(PIN_A0);
0049: BSF 03.5
004A: BCF 05.0
004B: BCF 03.5
004C: BCF 05.0
.................... DELAY_MS(500); /* half second delay */
004D: MOVLW 02
004E: MOVWF 24
004F: MOVLW FA
0050: MOVWF 25
0051: GOTO 012
0052: DECFSZ 24,F
0053: GOTO 04F
.................... // output_high(PIN_A0);
.................... while(!input(PIN_B1)==0){
0054: BSF 03.5
0055: BSF 06.1
0056: MOVLW 00
0057: BCF 03.5
0058: BTFSS 06.1
0059: MOVLW 01
005A: XORLW 00
005B: BTFSC 03.2
.................... }
005C: GOTO 054
.................... }
005D: DECF 21,F
005E: GOTO 041
....................
.................... }
005F: GOTO 03F
.................... }
....................
0060: SLEEP
....................
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -