PersonalCorpus 版 (精华区)

寄信人: asaki (牙子·:-#)
标  题: 没主题
发信站: 哈工大紫丁香 (2003年06月17日12:59:25 星期二)
来  源: 202.118.248.68 

延时计数初值计算:
机器周期=12/晶振=12/(4*10^6)=3us
初值:(2^13-X)*3*10^(-6)=2*10^(-3)
    X=0x1D65 初值TH0=0xE8     TL0=0x65

说明:中断调试程序。把输入的初值放到40H里,程序设的是15,就是15递减。
      蜂鸣器接到P0.0端口。

        ORG 0000H
RESET:  AJMP    MAIN
        ORG 000BH
        AJMP    IT0
        ORG 0100H
MAIN:   MOV     40H,#15
        MOV     R0,#40H
        LCALL   PTOMO  ;调用设置初值子程序
HERE:   JMP HERE    

;
;设初值子程序
PTOMO:  MOV TL0,#65H    ;设初值
        MOV TH0,#0E8H
        SETB    TR0         ;启动T0
        SETB    ET0     ;允许T0中断
        SETB    EA          ;CPU开中断
        RET
;中断程序
IT0:    MOV TL0,#65H
        MOV TH0,#0E8H   
        DEC     R0
        CJNE    R0,#9,CAL  ;小于10蜂鸣
        jmp re
CAL:    MOV     A,#01H
        MOV     P1,A
        CJNE    R0,#0,OFF  ;等于0清显示        
;OFF:   LCALL   CLRDIS     ;清除显示(以后再调)
RE:     RETI                

--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.248.68]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.007毫秒