亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fet410_lcd_02.asm

?? MSP430FX41x Assembler Examples Code,Composer Essentials Code Examples
?? ASM
字號:
;******************************************************************************
;   MSP-FET430P410 Demo - LCD, Display Numbers on a Static LCD
;
;   Description: This program displays a 3.5 digit number stored in register
;   R14 on a static LCD, then waits in low power mode 3. The leading digit
;   must be '1', nothing else will display. To use the program enter a 4
;   digit BCD (characters 0-9) number in R14 and press enter. Reset and run
;   the program.  The value in R14 will be displayed on the LCD. If the user
;   does not have the LCD connected the functioning of the software can still
;   be followed by single stepping and watching the register values
;   and the LCD memory values in the LCD memory
;   locations as the software is executed.
;
;   NOTE: The code is written such that single digits can be passed to the
;         display routine. The routine to shift bytes, currently located
;         in the mainloop, could be moved to the display routine if the
;         passing of multiple digits is preferred.
;
;   ACLK = LFXT1 = 32768Hz, MCLK = SMCLK = default DCO = 32 x ACLK = 1048576Hz
;   ;* An external watch crystal between XIN & XOUT is required for ACLK *//	
;
;
;                                 Connections MSP430 -> LCD
;                                 -------------------------
;
;                                T.I.               Varitronix
;                           MSP430x41x MCU     3.5 digit, static LCD
;                                                 # VI-302-DP-S
;                           ---------------       --------------
;                          |          COM0 |-----|1,40 COM      |
;                          |          SEG0 |-----|21            |
;                          |          SEG1 |-----|20            |
;                          |          SEG2 |-----|19            |
;                          |          SEG3 |-----|18            |
;                          |          SEG4 |-----|17            |
;                          |          SEG5 |-----|22            |
;                          |          SEG6 |-----|23            |
;                          |          SEG7 |-----|38 (low batt) |
;                          |          SEG8 |-----|25            |
;                          |          SEG9 |-----|24            |
;                          |          SEG10|-----|15            |
;                          |          SEG11|-----|14            |
;                          |          SEG12|-----|13            |
;                          |          SEG13|-----|26            |
;                          |          SEG14|-----|27            |
;                          |          SEG15|-----|28 (L)  COLON |
;                          |          SEG16|-----|30            |
;                          |          SEG17|-----|29            |
;                          |          SEG18|-----|11            |
;                          |          SEG19|-----|10            |
;                       ---|R03       SEG20|-----|9             |
;                      |   |          SEG21|-----|31            |
;                      |   |          SEG22|-----|32            |
;                     \|/  |          SEG23|-----|3 (B-C) =     |
;                     GND  |               |     | .5 digit ="1"|
;                           ---------------       --------------
;
;                 NOTE: Pin R03 on the MSP430 must be connected to GND
;
;   G. Morton / A. Dannenberg
;   Texas Instruments Inc.
;   May 2005
;   Built with Code Composer Essentials Version: 1.0
;******************************************************************************
 .cdecls C,LIST, "msp430x41x.h"

;-----------CPU registers used-------------------------------------------------
;;;;;;;     R12, R13, R14, R15              ; Used as temporary registers, can
                                            ; be reused
;------------------------------------------------------------------------------
            .text                  ; Program reset
;------------------------------------------------------------------------------
RESET       mov.w   #300h,SP                ; Initialize stack pointer
            call    #Setup                  ; Setup

Mainloop    mov.b   R14,R13                 ; Copy R14 to R13 (save R14)
            call    #ToLCD                  ; Call to display 1st digit
            mov.b   R14,R13                 ; Copy R14 to R13 (save R14)
            rra.b   R13                     ; Right shift R13 4 times to
            rra.b   R13                     ; move 2nd nibble to lower 4 bits
            rra.b   R13                     ;
            rra.b   R13                     ;
            call    #ToLCD                  ; Call to display 2nd digit
            swpb    R14                     ; Swap bytes in R14
            mov.b   R14,R13                 ; Copy R14 to R13 (save R14)
            call    #ToLCD                  ; Call to display 3rd digit
            mov.b   R14,R13                 ; Copy R14 to R13
            rra.b   R13                     ; Right shift R13 4 times to
            rra.b   R13                     ; move 2nd nibble to lower 4 bits
            rra.b   R13                     ;
            rra.b   R13                     ;
            call    #ToLCD                  ; Call to display 4th digit if = 1
            bis.w   #LPM3,SR                ; set SR bits to wait in LPM3

;------------------------------------------------------------------------------
;           Display 1 digit on static LCD. CPU Registers R15, R14 and R13
;           used temporarily.
;------------------------------------------------------------------------------
ToLCD       cmp.w   #09Dh,R15               ; Pointer incremented for 4th
                                            ; Digit = 1/2 digit position?
            jeq     Halfdigit               ; Yes, jump to test/set leading 1
            and.w   #000Fh,R13              ; Blank upper 12 bits
            add.w   R13,R13                 ; Double R13 since is word data
                                            ; where addresses = 2 bytes apart
            add.w   R13,R13                 ; Double R13 again since 2 words
                                            ; per digit in static mode
ContLCD     mov.w   LCD_Tab(R13),R12    	; Low word into temp memory
            mov.b   R12,0(R15)          	; Low byte of low word to LCD
            swpb    R12                 	; Swap bytes in temp memory
            bis.b   R12,1(R15)          	; High byte of low word to LCD
            incd    R13                     ; Double increment to high word of
                                            ; digit
            mov.w   LCD_Tab(R13),R12    	; High word into temp memory
            mov.b   R12,2(R15)          	; Low byte of high word to LCD
            swpb    R12                 	; Swap bytes in temp memory
            bis.b   R12,3(R15)          	; High byte of high word to LCD
            add     #4,R15                  ; Increase R15 (LCD mem pointer)
                                            ; by 4 since 4 bytes per digit
EndLCD      ret                             ; Return from call

;------------------------------------------------------------------------------
;           Test if 1 is to be displayed in 1/2 digit position and display.
;           If leading zero then nothing is displayed.
;------------------------------------------------------------------------------
Halfdigit   cmp.b   #1,R13                  ; Digit to display = 1?
            jne     EndHalf                 ; No, jump to not display digit
            bis.b   #10h,-1(R15)            ; set h bit in 12th byte(0-11)
                                            ; =1/2 digit (leading 1) bit
EndHalf     mov.b   #LCDM1,R15              ; set pointer to start of LCD mem
            jmp     EndLCD                  ; Return from routine

;------------------------------------------------------------------------------
Setup       ; Configure modules and control registers
;------------------------------------------------------------------------------
StopWDT     mov.w   #WDTPW+WDTHOLD,&WDTCTL  ; Stop Watchdog Timer
SetupFLL2   bis.b   #XCAP18PF,&FLL_CTL0     ; set load capacitance for xtal
            mov.w   #10000,R15              ;
Xtal_Wait   dec.w   R15                     ; Delay for 32 kHz crystal to
            jnz     Xtal_Wait		    	; stabilize
SetupLCD    mov.b   #LCDP1+LCDP0+LCDSTATIC+LCDON,&LCDCTL
                                            ; Static LCD, segments S0-S23
SetupBT     mov.b   #BTFRFQ1+BTFRFQ0,&BTCTL ; set freqLCD = ACLK/256
SetupPorts  mov.b   #0FFh,&P1DIR            ; set port to outputs
SetupPx     mov.b   #0FFh,&P2DIR            ; set port to outputs
            mov.b   #0FFh,&P3DIR            ; set port to outputs
            mov.b   #0FFh,&P4DIR            ; set port to outputs
            mov.b   #0FFh,&P5DIR            ; set port to outputs
            mov.b   #0FFh,&P6DIR            ; set port to outputs

ClearLCD    mov.w   #15,R15                 ; 15 LCD memory bytes to clear
Clear1      mov.b   #0,LCDM1(R15)           ; Write zeros in LCD RAM locations
                                            ; to clear display
            dec.w   R15                     ; All LCD mem clear?
            jc      Clear1                  ; More LCD mem to clear, use JC
                                            ; to get memory location 0
            mov.b   #LCDM1,R15              ; R15 points to first LCD location
            ret
              		
;------------------------------------------------------------------------------
;             Define characters for VI-302 3.5 digit static LCD
;------------------------------------------------------------------------------
a           .equ    0001h
b           .equ    0010h
c           .equ    0100h
d           .equ    1000h
e           .equ    0001h
f           .equ    0010h
g           .equ    0100h
h           .equ    1000h                   ; Decimal point or special
                                            ; character

            .align  2                       ; Align words on even boundary
LCD_Tab     .short  a+b+c+d                 ; Displays '0' low word
            .short  e+f                     ; Displays '0' high word
            .short  b+c                     ; Displays '1' low word
            .short  0                       ; Displays '1' high word (empty)
            .short  a+b+d                   ; Displays '2' low word
            .short  e+g                     ; Displays '2' high word
            .short  a+b+c+d                 ; Displays '3' low word
            .short  g                       ; Displays '3' high word
            .short  b+c                     ; Displays '4' low word
            .short  f+g                     ; Displays '4' high word
            .short  a+c+d                   ; Displays '5' low word
            .short  f+g                     ; Displays '5' high word
            .short  a+c+d                   ; Displays '6' low word
            .short  e+f+g                   ; Displays '6' high word
            .short  a+b+c                   ; Displays '7' low word
            .short  0                       ; Displays '7' high word (empty)
            .short  a+b+c+d                 ; Displays '8' low word
            .short  e+f+g                   ; Displays '8' high word
            .short  a+b+c+d                 ; Displays '9' low word
            .short  f+g                     ; Displays '9' high word

;------------------------------------------------------------------------------
;           Interrupt Vectors
;------------------------------------------------------------------------------
            .sect   ".reset"                ; RESET Vector
            .short  RESET
            .end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩主播视频在线| 9人人澡人人爽人人精品| 国产精品影视在线| 色综合久久久久| 欧美一区二区三区视频免费| 亚洲图片另类小说| 国产自产2019最新不卡| 欧美日本在线一区| 中文字幕乱码久久午夜不卡 | 美女网站色91| 91高清视频免费看| 国产精品欧美极品| 国产精品一色哟哟哟| 在线电影欧美成精品| 亚洲日本在线观看| 大尺度一区二区| 久久品道一品道久久精品| 午夜精品影院在线观看| 欧美系列一区二区| 亚洲蜜桃精久久久久久久| 高清国产一区二区三区| 日韩欧美国产精品| 老汉av免费一区二区三区| 欧美日韩激情一区二区三区| 亚洲精品久久7777| 91国偷自产一区二区开放时间 | 欧美电影一区二区| 一区二区三区加勒比av| 91一区二区在线| 久久精品免视看| 国产一区二区三区在线观看精品 | 国内精品久久久久影院一蜜桃| 欧美日韩一卡二卡三卡| 亚洲精品老司机| 99re热这里只有精品免费视频 | 欧美xxxxx牲另类人与| 性感美女久久精品| 91精品国产全国免费观看| 亚洲综合视频网| 欧美精品色综合| 日韩av中文字幕一区二区三区| 在线不卡的av| 久久国产精品72免费观看| 日韩免费视频一区| 国产福利电影一区二区三区| 久久久高清一区二区三区| 国产不卡在线播放| 亚洲精品久久久久久国产精华液| 在线观看亚洲精品视频| 亚洲一区二区免费视频| 欧美欧美午夜aⅴ在线观看| 麻豆成人久久精品二区三区红| 精品久久免费看| 成人蜜臀av电影| 亚洲制服欧美中文字幕中文字幕| 欧美老女人第四色| 国产在线精品一区二区夜色| 国产精品久久久久久久久免费相片| 99久久精品国产观看| 五月激情丁香一区二区三区| 亚洲精品一区二区三区福利| 不卡电影免费在线播放一区| 亚洲综合视频网| 久久亚洲综合色| 色综合久久88色综合天天免费| 五月婷婷久久丁香| 国产亚洲精品久| 欧美在线观看视频一区二区| 麻豆精品在线播放| 中文字幕一区二区三| 91精品中文字幕一区二区三区| 国产一区二区不卡老阿姨| 一区二区三区丝袜| 亚洲精品一区在线观看| 色一区在线观看| 国产一区二区三区美女| 亚洲欧美日韩国产综合在线| 日韩免费性生活视频播放| 91蜜桃网址入口| 国内外成人在线| 亚洲午夜在线观看视频在线| 欧美韩国日本不卡| 制服丝袜日韩国产| 91香蕉视频在线| 国产一二精品视频| 日本va欧美va精品| 亚洲人成人一区二区在线观看| 欧美一级国产精品| 欧美在线看片a免费观看| 成人激情免费网站| 久久精品久久99精品久久| 亚洲二区视频在线| 亚洲男人天堂av网| 中文字幕乱码一区二区免费| 精品国产露脸精彩对白| 欧美日本在线视频| 欧美日韩一区三区四区| 91麻豆福利精品推荐| 国v精品久久久网| 国产精品一二三四区| 久久国产夜色精品鲁鲁99| 天堂久久久久va久久久久| 一区二区三区四区国产精品| 亚洲欧美在线aaa| 国产精品色哟哟| 久久久久久综合| 久久久亚洲欧洲日产国码αv| 欧美一卡2卡3卡4卡| 欧美电影一区二区| 欧美剧情片在线观看| 欧美色窝79yyyycom| 在线观看国产91| 欧美日韩中文字幕精品| 欧美日韩亚洲综合在线 | 日韩三级精品电影久久久| 欧美日韩精品欧美日韩精品一| 在线免费观看日本一区| 欧美在线不卡视频| 欧美精三区欧美精三区| 欧美精三区欧美精三区| 欧美一区二区久久| 欧美变态tickle挠乳网站| 亚洲精品一线二线三线无人区| 亚洲国产精品激情在线观看| 久久日一线二线三线suv| 成人精品小蝌蚪| 春色校园综合激情亚洲| 99在线精品观看| 色综合天天在线| 在线精品视频免费观看| 7777精品伊人久久久大香线蕉完整版 | 国产精品久久久久精k8| 亚洲日本中文字幕区| 亚洲电影中文字幕在线观看| 五月婷婷另类国产| 经典一区二区三区| 成人av在线观| 欧美美女一区二区在线观看| 日韩一区二区免费视频| 国产欧美日韩精品在线| 亚洲黄色在线视频| 免费国产亚洲视频| 福利一区在线观看| 欧美日韩国产综合久久| 久久久久久9999| 一区二区三区在线不卡| 青青草精品视频| 成人福利在线看| 欧美精品在线一区二区三区| 国产亚洲欧洲一区高清在线观看| 亚洲欧洲中文日韩久久av乱码| 日本vs亚洲vs韩国一区三区二区| 国产精品亚洲人在线观看| 一本色道久久综合亚洲91| 欧美一级一区二区| 亚洲欧美在线视频| 久久er99热精品一区二区| 色综合久久中文字幕| 91精品国产综合久久香蕉麻豆 | 成人综合婷婷国产精品久久蜜臀| 欧美亚洲丝袜传媒另类| 久久精品亚洲一区二区三区浴池| 亚洲男人天堂av网| 国产高清不卡二三区| 欧美日韩国产欧美日美国产精品| 久久伊人中文字幕| 丝袜亚洲精品中文字幕一区| 成人av电影在线播放| 欧美变态口味重另类| 亚洲国产美女搞黄色| 99久久精品情趣| 久久久精品国产免大香伊| 日韩国产在线一| 一本色道a无线码一区v| 久久午夜免费电影| 日韩电影在线看| 欧日韩精品视频| 欧美国产日韩一二三区| 精品无人区卡一卡二卡三乱码免费卡 | 日韩精品自拍偷拍| 午夜视频一区二区三区| 一本色道久久综合亚洲精品按摩| 国产亚洲短视频| 精彩视频一区二区三区| 91精品国产高清一区二区三区蜜臀 | 欧美综合一区二区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 国产欧美一区二区三区鸳鸯浴| 亚洲成人1区2区| 色八戒一区二区三区| 中文字幕一区二区三区在线观看 | 欧美极品aⅴ影院| 国产精品一区二区你懂的| 日韩欧美成人一区| 美女视频黄免费的久久 | 中文字幕巨乱亚洲| 懂色av中文一区二区三区| 精品美女被调教视频大全网站| 秋霞av亚洲一区二区三| 欧美一区二区精品在线|