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

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

?? temp_2.asm

?? 新華龍C8051F30X系列單片機開發板的測試程序
?? ASM
字號:
;-----------------------------------------------------------------------------
; Temp_2.ASM
;-----------------------------------------------------------------------------
; Copyright 2001, Copyright (C) 2004 Silicon Laboratories, Inc.
;
; FILE:        Temp_2.ASM
; DEVICE:      C8051F30x
; ASSEMBLER:   Keil A51
; AUTH:        BW
; DATE:        11 DEC 01
;
; This program provides an example of how to configure the on-chip
; temperature sensor with the ADC.
;
; The calibrated on-chip 24.5MHz internal oscillator is used as the system
; clock source.
;
; The ADC is configured for left-justified mode, GAIN = 2, using Timer2 
; overflows as the start-of-conversion source.  Timer2 is configured in 
; auto-reload mode to overflow every 10ms.  The ADC conversion complete 
; interrupt handler reads the ADC value and compares it with the expected 
; value for room temperature (about 25 degrees C), stored in ROOMCODE.  
; If the measured temperature is below this value, the LED is turned off.  
; If the measured value is above ROOMCODE, the LED is turned on.
;
; The LED switch point can be easily modified by changing the value of 
; ROOMCODE.
;
;-----------------------------------------------------------------------------

;-----------------------------------------------------------------------------
; EQUATES
;-----------------------------------------------------------------------------

$INCLUDE (C8051F300.inc)

LED         EQU      P0.2                 ; LED on target board ('1' is LED 
                                          ; ON)

SYSCLK      EQU      24500                ; SYSCLK frequency in kHz

TC_10ms     EQU      (SYSCLK / 12) * 10   ; number of timer counts in 10ms

ROOMCODE    EQU      0x95                 ; ADC value for 25 degrees C.

;-----------------------------------------------------------------------------
; VARIABLES
;-----------------------------------------------------------------------------

;-------------------
; STACK

STACK       SEGMENT IDATA                 ; declare STACK segment
            RSEG  STACK
            DS    80h                     ; reserve 128 bytes for stack

;-----------------------------------------------------------------------------
; MACRO DEFINITIONS
;-----------------------------------------------------------------------------

;-----------------------------------------------------------------------------
; RESET AND INTERRUPT VECTOR TABLE
;-----------------------------------------------------------------------------

            CSEG AT 0
            ljmp  Main

            org   43h
            ljmp  ADC0_ISR                ; ADC0 end of conversion interrupt

;-----------------------------------------------------------------------------
; MAIN PROGRAM CODE
;-----------------------------------------------------------------------------

Temp_2      SEGMENT  CODE                 ; declare CODE segment
            RSEG  Temp_2                  ; select CODE segment
            USING 0                       ; using register bank 0

Main:
            ; Disable the WDT.
            anl   PCA0MD, #NOT(040h)      ; clear Watchdog Enable bit
            mov   SP, #STACK-1            ; init stack pointer

            acall SYSCLK_Init             ; initialize system clock source

            acall PORT_Init               ; initialize crossbar and GPIO
            acall ADC0_Init               ; initialize ADC0 and temp sensor
            acall Timer2_Init             ; initialize Timer2

            setb  TR2                     ; START Timer2
            setb  AD0EN                   ; enable ADC

            setb  EA                      ; enable global interrupts

            sjmp  $                       ; spin forever

;-----------------------------------------------------------------------------
; INTERRUPT VECTORS
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
; ADC0_ISR
;
; This ISR is activated on the completion of an ADC sample.  When this event
; occurs, the ADC value is copied to the holding variable TEMPCODE, and is
; compared with the code for 25 degrees C.  If the temperature is above
; 25 degrees C, the LED is turned on.  If the temperature is below 25 degrees
; C, the LED is turned off.
;
ADC0_ISR:
            push  PSW                     ; preserve registers
            push  acc

            clr   AD0INT                  ; clear ADC0 interrupt flag

            clr   C
            mov   a, ADC0                 ; read ADC value
            subb  a, #ROOMCODE            ; subtract room constant

            ; compare TEMPCODE with value expected for 25 degrees C
            ; if (TEMPCODE - ROOMDEG) < 0, then turn LED off, otherwise, 
            ; turn it on.

            setb  LED                     ; turn LED on.
            jnc   ADC0_ISR_END            ; exit if subtract result was 
                                          ; positive,
            clr   LED                     ; otherwise, turn LED off then exit

ADC0_ISR_END:
            pop   acc
            pop   PSW

            reti

;-----------------------------------------------------------------------------
; SUBROUTINES
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
; SYSCLK_Init
;-----------------------------------------------------------------------------
; This routine initializes the system time base by selecting the internal
; 24.5MHz oscillator as the system clock source.  Also enables the missing
; clock detector.
;
SYSCLK_Init:
            mov   OSCICN, #07h            ; select internal oscillator at
                                          ; 24.5MHz as the system clock 
                                          ; source
            mov   RSTSRC, #04h            ; enable missing clock detector

            ret

;-----------------------------------------------------------------------------
; PORT_Init
;-----------------------------------------------------------------------------
; This routine initializes the crossbar and GPIO pins.
;
PORT_Init:
            orl   XBR0, #04h              ; skip LED pin in crossbar
                                          ; assignments
            mov   XBR2, #40h              ; Enable crossbar and weak pull-ups

            orl   P0MDOUT, #04h           ; enable P0.2 (LED on target board)
                                          ; as push-pull
            orl   P0MDIN, #04h            ; enable P0.2 (LED) as digital
                                          ; input
            ret

;-----------------------------------------------------------------------------
; Timer2_Init
;-----------------------------------------------------------------------------
; This routine initializes Timer2 in 16-bit auto-reload mode to overflow
; at 100Hz using SYSCLK/12 as its time base.  Exits with Timer2
; stopped and Timer2 interrupts disabled.
;
Timer2_Init:
            mov   TMR2CN, #00h            ; STOP Timer2, clear TF2H and TF2L;
                                          ; disable low-byte interrupt;
                                          ; disable split mode; select
                                          ; internal prescaler as timebase
            anl   CKCON, #NOT(060h)       ; Timer2 uses SYSCLK/12
            mov   TMR2RLH, #HIGH(-TC_10ms); init reload values
            mov   TMR2RLL, #LOW(-TC_10ms)
            mov   TMR2H, #0ffh            ; set to auto-reload immediately
            mov   TMR2L, #0ffh
            clr   ET2                     ; disable Timer2 interrupts

            ret

;-----------------------------------------------------------------------------
; ADC0_Init
;-----------------------------------------------------------------------------
; This routine initializes ADC0 for monitoring the on-chip temp sensor at a
; gain of '2'.  Enables the End of Converstion interrupt.  Leaves ADC in 
; disabled state.
;
ADC0_Init:
            mov   ADC0CN, #02h            ; ADC0 disabled, normal
                                          ; track mode, ADC0 conversions
														; initiated by overflow of
														; Timer2
            mov   AMX0SL, #0f8h           ; select temp sensor as ADC0 input

            ; ADC conversion clock <= 7.5 MHz
            mov   ADC0CF, #((SYSCLK / 7500) SHL 3)

            orl   ADC0CF, #02h            ; PGA gain = 2

            mov   REF0CN, #0eh            ; enable temp sensor; VREF = VDD;
                                          ; bias generator is on
            orl   EIE1, #04h              ; enable ADC0 End of Conversion
                                          ; Interrupt
            ret

;-----------------------------------------------------------------------------
; End of file.

END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲韩国精品一区| 欧美变态凌虐bdsm| 亚洲三级电影全部在线观看高清| 成人免费电影视频| 亚洲欧洲色图综合| 欧美亚洲一区二区在线观看| 亚洲成人先锋电影| 欧美一级生活片| 国产在线国偷精品产拍免费yy| 精品88久久久久88久久久| 国产精品888| 综合久久综合久久| 欧美乱熟臀69xxxxxx| 男女视频一区二区| 国产女主播一区| 97久久久精品综合88久久| 亚洲一区在线电影| 日韩欧美高清在线| 成人18视频在线播放| 亚洲国产成人va在线观看天堂| 日韩午夜三级在线| www.久久精品| 日韩黄色免费电影| 国产精品全国免费观看高清| 欧美视频完全免费看| 九九久久精品视频| 一区二区三区在线免费播放| 欧美一区二区三区四区高清| 成人午夜免费av| 天堂在线一区二区| 欧美国产精品劲爆| 在线播放91灌醉迷j高跟美女| 国产一区二区三区免费在线观看| 亚洲精品视频免费看| 日韩欧美国产系列| 色综合色狠狠综合色| 久久精品久久久精品美女| 亚洲图片激情小说| 久久美女高清视频| 制服丝袜亚洲网站| 色悠久久久久综合欧美99| 麻豆91在线播放免费| 亚洲免费视频成人| 久久九九99视频| 欧美肥妇毛茸茸| 成人精品国产免费网站| 另类小说图片综合网| 亚洲激情在线激情| 国产精品天干天干在线综合| 欧美一区二区福利在线| 欧美在线你懂得| jlzzjlzz亚洲女人18| 激情欧美一区二区三区在线观看| 亚洲自拍偷拍综合| 综合激情成人伊人| 中文字幕av一区二区三区| 欧美一区二区三区思思人 | 美女视频网站黄色亚洲| 亚洲视频一二三区| 欧美极品另类videosde| 精品国产三级a在线观看| 欧美绝品在线观看成人午夜影视| 91丝袜高跟美女视频| 福利一区二区在线观看| 国内精品在线播放| 久久精工是国产品牌吗| 日本亚洲天堂网| 日韩二区三区在线观看| 亚洲成人在线观看视频| 亚洲一区二区三区在线| 亚洲码国产岛国毛片在线| 国产精品素人一区二区| 中文乱码免费一区二区| 欧美国产精品久久| 国产精品免费视频网站| 国产精品免费视频观看| 日本一区二区视频在线观看| 久久日韩精品一区二区五区| 亚洲精品一区二区三区四区高清 | 91女神在线视频| eeuss鲁片一区二区三区在线观看| 国产东北露脸精品视频| 国产高清精品在线| 欧美日韩在线播放三区四区| 色噜噜久久综合| 91精品福利视频| 欧美日韩国产精品成人| 在线成人高清不卡| 日韩精品最新网址| 久久新电视剧免费观看| 国产亲近乱来精品视频| 国产精品国产三级国产aⅴ中文| 国产精品美女一区二区三区| 成人欧美一区二区三区白人| 一区二区三区蜜桃| 日韩精品亚洲一区二区三区免费| 日本午夜一本久久久综合| 老司机午夜精品| 国产精品99久久久久| 成人高清av在线| 在线观看一区不卡| 欧美一区二区高清| 中文欧美字幕免费| 亚洲大片免费看| 毛片av一区二区三区| 成人精品在线视频观看| 色综合久久中文综合久久牛| 欧美精品一二三| 久久久亚洲综合| 一级中文字幕一区二区| 免费在线欧美视频| 成人午夜视频网站| 欧美一级夜夜爽| 国产精品国产三级国产三级人妇| 亚洲高清不卡在线观看| 经典三级视频一区| 91成人免费电影| 26uuu国产在线精品一区二区| 国产精品免费人成网站| 日韩制服丝袜av| 91原创在线视频| 精品国产sm最大网站| 亚洲猫色日本管| 国产精品自拍在线| 欧美精品一级二级三级| 国产精品久久久久久户外露出 | 精品日韩在线一区| 国产精品对白交换视频| 日本成人超碰在线观看| 99久久婷婷国产综合精品电影| 欧美高清视频一二三区| 中文字幕亚洲在| 麻豆精品久久久| 欧美少妇性性性| 国产精品久久久久影院亚瑟| 久久精品国产精品亚洲精品| 色系网站成人免费| 中文成人av在线| 精品一区二区三区蜜桃| 欧美日本一道本| 亚洲视频图片小说| 成人自拍视频在线| 精品国精品国产| 天天影视网天天综合色在线播放| k8久久久一区二区三区| 久久精品一区蜜桃臀影院| 日韩精品欧美精品| 欧美三级乱人伦电影| 中文字幕日韩欧美一区二区三区| 韩国成人在线视频| 91精品国产高清一区二区三区| 一区二区三区中文在线| 成人综合在线观看| 久久久久久夜精品精品免费| 老司机午夜精品| 884aa四虎影成人精品一区| 亚洲精品自拍动漫在线| www.日韩大片| 国产精品久久精品日日| 国产精品2024| 国产午夜精品久久| 国产福利一区二区三区视频在线| 精品粉嫩超白一线天av| 国产真实乱子伦精品视频| 日韩欧美在线1卡| 蜜臀av性久久久久av蜜臀妖精| 欧美精品xxxxbbbb| 日韩中文字幕一区二区三区| 欧美日韩视频在线一区二区| 午夜欧美一区二区三区在线播放 | 337p亚洲精品色噜噜| 亚洲第一电影网| 欧美精品高清视频| 久久精品噜噜噜成人av农村| 日韩你懂的电影在线观看| 韩日欧美一区二区三区| 久久久影视传媒| 成人精品在线视频观看| 亚洲人成网站色在线观看| 色婷婷激情久久| 午夜精品福利一区二区三区蜜桃| 欧美日韩一级片在线观看| 日韩中文字幕区一区有砖一区| 日韩一区二区三| 国产一区二区免费看| 国产精品三级在线观看| 色先锋久久av资源部| 五月激情综合网| 精品久久久久99| 懂色av中文一区二区三区 | 亚洲一区二区三区四区中文字幕| 99re在线视频这里只有精品| 一区二区三区欧美亚洲| 欧美夫妻性生活| 精品一区二区三区香蕉蜜桃 | 91精品国产综合久久香蕉麻豆| 美女免费视频一区二区| 久久久久国产精品麻豆ai换脸| a美女胸又www黄视频久久| 亚洲成人av一区|