ccyy's coding zone
往前走,不要留恋路边的风景.
posts - 25,comments - 9,trackbacks - 0
搞了一个下午阿....差点崩溃了
实验要求:
(1)、定时采集:用定时器定时中断,每秒对一路模拟信号(0--5v)采样16次。
(2)、显示:通过七段LED显示器,显示十六进制采样的平均值。
(3)、报警:若模拟信号大于4v,使一个LED指示灯亮。
CODE:
C#语言: Codee#11156
ORG        0000H
        LJMP    MAIN
        ORG        000BH
        LJMP    PTF0
        ORG        0040H       
MAIN:            MOV    SP,#0EFH          ;中断初始化
        MOV     TL0,#00H
        MOV    TH0,#4CH
        MOV    TMOD ,#1
        MOV     IE,#82H
        SETB    TR0
        MOV     30H,#14H
        MOV     DPTR,#0BFFFH      ;8255控制字
        MOV     A,#81H
        MOVX    @DPTR,A
        MOV 70H,#10H
        MOV 71H,#10H
HERE:            ACALL DIS
                SJMP    HERE       
PTF0:            push    ACC
        PUSH    DPH
        PUSH    DPL
        PUSH    R0
        PUSH    R3
        PUSH    R6
        PUSH    R7
        MOV    TL0,#00H          ;中断程序
                MOV     TH0,#4CH
                DJNZ    30H,PTF0R
                MOV     30H,#14H
       
       
                MOV     DPTR,#7FF8H          ;选中ADC0809通道0
             MOVX    @DPTR,A
        MOV        40H,#0              
        MOV     41H,#0
                MOV     R7,#16
       
       
       
SAMPLE:     MOVX       @DPTR,A                ;采样
FINISH:         JB         P3.2,FINISH
       
       
        MOVX     A,@DPTR       
        ADD     A,41H                ;累加
        MOV     41H,A
        MOV     A,#0
        ADDC     A,40H
        MOV     40H,A
        DJNZ    R7,SAMPLE
       
AVERAGE:MOV     A,41H
        ANL     A,#0F0H
        SWAP    A
        MOV     41H,A
        MOV     70H,A
                                   
        MOV     A,40H
        ;XCHD    A,@R1
       

        ANL     A,#0FH
        MOV 71H,A
        SWAP     A
        ADD     A,41H
        
       
ALERT:            SUBB    A,#205
        JC        PTF0R1
        CLR     P3.3
       
PTF0R:         
                POP     R7
                POP     R6
                POP     R3
                POP       R0
                POP     DPL
                POP     DPH
                POP     ACC
        RETI       
PTF0R1:        SETB   P3.3
               SJMP   PTF0R   
       
       
DIS:    MOV     R3,#0FEH
        MOV     A,R3
        MOV     R0,#70H
AGAIN: MOV     DPTR,#0BFFCH
        MOVX    @DPTR,A
        MOV     A,@R0
        MOV     DPTR,#TABLE
        MOVC    A,@A+DPTR
        MOV     DPTR,#0BFFDH
        MOVX    @DPTR,A
        ACALL   DELAY
        INC     R0
        MOV     A,R3
        JNB     ACC.1,RE
        RL      A
        MOV     R3,A
        AJMP    AGAIN
RE:     RET
       



DELAY:    MOV     R7,#02H
DL1:    MOV     R6,#0FFH
DL0:    DJNZ    R6,DL0
        DJNZ    R7,DL1
        RET




TABLE:    DB    3FH,06H,5BH,4FH,66H,6DH,7DH,07H
    DB    7FH,6FH,77H,7CH,39H,5EH,79H,71H,0
        END

;接口电路:
;A15---CS0809
;A14---CS8255
;PB0--PB7----LEDA--LED-DP
;PA0---LCS1 PA1--LCS2
;IN0---5VE
;EOC---P3.3
;P3.3--LED
阅读全文
类别:默认分类 查看评论
文章来源:http://hi.baidu.com/%D2%EC%B6%C8%BF%D5%BC%E4%5F%B5%DA%CB%C4%CE%AC/blog/item/bf08e3b353c68b58082302d8.html
posted on 2010-05-18 14:21 ccyy 阅读(226) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理