网站首页  |  法律法规  |   调频入门  |   调频发射  |   调频接收  |   天线技术  |   电视电台  |   音响技术  |   单 片 机  |   下载中心  |   广播资讯  |   名站推介  |   本站留言  |  淘宝店铺
  用户名: 密码: 验证码:       
 今天是:

共有 34876 位读者读过此文 【选择字体颜色】: 【字体:放大 正常 缩小】     【双击自动滚屏】【图片滚轮变焦】

MB1504调频发射汇编参考程序

发表日期:2007年10月3日   出处:网络收录 作者:FM007 【编辑录入:飞奔

;;;;;;;;;注:本程序未经本站测试,仅供参考
;;;;;;;;;软件按键去抖,LCD数据串行驱动,24c02保存关机频率
;;;;;;;;;MB1504+LCD+SST89E58RD+24C04
;;;;;;;;;Designed by FM007(zuowenping)
;;;;;;;;;Date:OCT,18th,2006

    CLK164  EQU P2.0
    DAT164  EQU P2.1
    E       EQU P2.2
    R_W     EQU P2.3
    RS      EQU P2.4
    CLK     EQU P2.5
    DAT     EQU P2.6
    LE1504  EQU P2.7
    SDA     EQU P1.3
    SCL     EQU P1.2


    ORG 0000H
    AJMP    START
    ORG 0030H
START:  CLR DAT
    CLR LE1504
    CLR CLK
    CLR CLK164
    CLR DAT164
    MOV R1,#99H  ;;;;;;;;;;;;;;;;;;;MB1504 PRE SET START
    MOV R2,#01H
    MOV A,R1
    ACALL   RS1504
    MOV A,R2
    ACALL   RS1504
    NOP
    NOP
    SETB    LE1504
    NOP
    NOP
    NOP
    CLR LE1504
    NOP
    NOP
    NOP     ;;;;;;;;;;;;;;;;;;;MB1504 PRE SET END
    MOV SP,#70H ;;;;;;;;;;;;;;;;;;;LCD PRE SET BEGAIN
    ACALL   INS
    ACALL   CLS
    MOV A,#80H
    ACALL   WRITE_COM
    MOV DPTR,#LINE1
    ACALL   DISPLAY
    MOV A,#0C0H
    ACALL   WRITE_COM
    MOV DPTR,#LINE2
    ACALL   DISPLAY ;;;;;;;;;;;;;;;;;;LCD PRE SET END
    MOV 20H,#00H
    MOV 21H,#04H
    MOV 22H,#05H
    MOV 23H,#07H
    MOV DPTR,#457
    ACALL   READ
    MOV     DPL,24H
    MOV     DPH,25H
    ACALL   DIS
    ACALL   SETFRE  ;;;;;;;;;;;;;;;;;;FRE PRE SET END

 

MAIN:   ACALL   KEY  ;;;MAIN  FUNCTION 
    AJMP    MAIN
   

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;INSTALL  LCD
INS:    MOV A,#38H
    ACALL   WRITE_COM
    MOV A,#0CH
    ACALL   WRITE_COM
    MOV A,#06H
    ACALL   WRITE_COM
    RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CHECK BUSY
BUSY:   PUSH    ACC
BUSYLOOP:   CLR E
    SETB    R_W
    CLR RS
    SETB    E
    MOV A,P0
    JB  ACC.7,BUSYLOOP
    POP ACC
    ACALL   DEL
    RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WRITE COM 
WRITE_COM:ACALL BUSY
    CLR E
    CLR RS
    CLR R_W
    SETB    E
;   MOV DB0_DB7,A
    ACALL   RS1602
    CLR E
    RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WRITE DATA
WRITE_DATA:ACALL BUSY
    CLR E
    SETB    RS
    CLR R_W
    SETB    E
;   MOV DB0_DB7,A
    ACALL   RS1602
    CLR E
    RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DELAY
DEL:    MOV R5,#5
L1: MOV R6,#248
    DJNZ    R6,$
    DJNZ    R5,L1
    RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;164DAT SEND
RS1602: MOV R0,#08H
RSS:    RLC A
    MOV DAT164,C
    SETB    CLK164
    NOP
    NOP
    NOP
    CLR CLK164
    DJNZ    R0,RSS
    RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MB1504  3BIT SEND
SEND3BIT:   MOV R0,#03H
    RLC A
    RLC A
    RLC A
    RLC A
    RLC A
    AJMP    RCC
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MB1504  8BIT SEND
RS1504: MOV R0,#08H
RCC:    RLC A
    MOV DAT,C
    NOP
    NOP
    NOP
    NOP
    NOP
    SETB    CLK
    CLR CLK
    DJNZ    R0,RCC
    RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DISPLAY
DISPLAY:    PUSH    ACC
DIS_LOOP:   CLR A
    MOVC    A,@A+DPTR
    JZ  END_DIS
    ACALL   WRITE_DATA
    INC DPTR
    SJMP    DIS_LOOP
END_DIS:POP ACC
    RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SET FREQ
SETFRE:ACALL WRITE
    MOV A,DPH
    ACALL   SEND3BIT
    MOV A,DPL
    ACALL   RS1504
    MOV A,#00H
    ACALL   RS1504
    NOP
    NOP
    SETB    LE1504
    NOP
    NOP
    NOP
    CLR LE1504
    NOP
    NOP
    NOP
    RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;FRE DIS
DIS:    PUSH    ACC
    MOV 40H,DPH
    MOV 50H,DPL
    MOV A,#0CAH
    ACALL   WRITE_COM
    MOV A,20H
    CJNE    A,#00H,FFFF
    MOV A,#0AH
FFFF:   MOV DPTR,#TAB
    MOVC    A,@A+DPTR
    ACALL   WRITE_DATA;;;;;;;;QIANWEI

    MOV A,#0CBH
    ACALL   WRITE_COM
    MOV A,21H
    MOV DPTR,#TAB
    MOVC    A,@A+DPTR
    ACALL   WRITE_DATA;;;;;;;;;BAIWEI

    MOV A,#0CCH
    ACALL   WRITE_COM
    MOV A,22H
    MOV DPTR,#TAB
    MOVC    A,@A+DPTR
    ACALL   WRITE_DATA;;;;;;;;;SHIWEI
   
    MOV A,#0CEH
    ACALL   WRITE_COM
    MOV A,23H
    MOV DPTR,#TAB
    MOVC    A,@A+DPTR
    ACALL   WRITE_DATA;;;;;;;GEWEI
    POP ACC
    MOV DPH,40H
    MOV DPL,50H
    RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ANJIAN DELAY
DELANJIAN:MOV   R5,#01H
DL11:   MOV R6,#051H   
DL22:   DJNZ    R6,DL22
    DJNZ    R5,DL11
    RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DEL111:
    MOV R2,#04H
LMS1:   MOV R0,#0A0H
LMS2:   ACALL   DELANJIAN
    DJNZ    R0,LMS2
    DJNZ    R2,LMS1
    RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KEY:    SETB    P1.0
    SETB    P1.1   
    JNB P1.0,GO1
    JNB P1.1,GO2
    AJMP    RETURN
GO1:    LCALL   DELANJIAN
    JNB P1.0,DOWN1
    AJMP    RETURN
GO2:    LCALL   DELANJIAN
    JNB P1.1,UP1
    AJMP    RETURN
DOWN1:  ACALL   DOWN
    AJMP    RETURN
UP1:    ACALL   UP
    AJMP    RETURN
RETURN: ACALL   DEL111
    RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;   
UP: MOV A,DPL
    INC A
    MOV DPL,A
    CJNE    A,#00H,PANDUAN
    INC DPH
PANDUAN:    INC 23H
    MOV A,23H
    CJNE    A,#10,RETURNUP
    MOV 23H,#00H
    INC 22H
    MOV A,22H
    CJNE    A,#10,RETURNUP
    MOV 22H,#00H
    INC 21H
    MOV A,21H
    CJNE    A,#10,RETURNUP
    MOV 21H,#00H
    INC 20H
RETURNUP:   ACALL   DIS
    ACALL   SETFRE
    RET
;;;;;;;;;;;;;;;;;;;;;;;;;;
DOWN:   MOV A,DPL
    DEC A
    MOV DPL,A
    CJNE    A,#0FFH,PANDUAN1
    DEC DPH

PANDUAN1:   DEC 23H
    MOV A,23H
    CJNE    A,#0FFH,RETURN1
    MOV 23H,#09H
    DEC 22H
    MOV A,22H
    CJNE    A,#0FFH,RETURN1
    MOV 22H,#09H
    DEC 21H
    MOV A,21H
    CJNE    A,#0FFH,RETURN1
    MOV 21H,#09H
    DEC 20H
    MOV A,20H
    CJNE    A,#0FFH,RETURN1
    MOV 20H,#00H
RETURN1:ACALL   DIS
    ACALL   SETFRE
    RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CLS清屏
CLS:    MOV A,#01H
    ACALL   WRITE_COM
    RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24C04读写  STORE & READ FUNCTION(24C02/04 IIC)
WRITE:
    ACALL   C02START
    MOV A,#0A0H
    ACALL   C02SEND
    ACALL   CACK
    JB  F0,WRITE
    MOV A,#08H
    ACALL   C02SEND
    ACALL   CACK
    JB  F0,WRITE
    MOV 24H,DPL
    MOV 25H,DPH
    MOV R0,#20H
    MOV R1,#06H
GHOST:  MOV A,@R0
    ACALL   C02SEND
    ACALL   CACK
    JB  F0,WRITE
    INC R0
    DJNZ    R1,GHOST
        ACALL   C02STOP
    SETB    SCL
    SETB    SDA
    RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;       READ
READ:   ACALL   C02START
    MOV A,#0A0H
    ACALL   C02SEND
    ACALL   CACK
    JB  F0,READ
    MOV A,#08H
    ACALL   C02SEND
    ACALL   CACK
    JB  F0,READ
    ACALL   C02START
    MOV A,#0A0H
    SETB    ACC.0
    ACALL   C02SEND
    ACALL   CACK
    JB  F0,READ
    MOV R0,#06H  ;;;;;;;;;;;;;      RECEIVE CONTROL
    MOV R1,#20H
GO_ON:  ACALL   RDB
    MOV @R1,A
    DJNZ    R0,ACK1
    ACALL   MNACK
    ACALL   C02STOP
    SETB    SCL
    SETB    SDA
    RET
ACK1:   ACALL   MACK
    JB  F0,GO_ON
    INC R1
    AJMP    GO_ON
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     RECEIVE BYTE
RDB:    MOV R7,#8
RLP:    SETB    SDA
    SETB    SCL
    MOV C,SDA
    MOV A,R6
    RLC A
    MOV R6,A
    CLR SCL
    DJNZ    R7,RLP
    RET

C02START:SETB   SDA      ;;;;;;;;;      24C02 START
    SETB    SCL
    NOP
    NOP
    NOP
    NOP
    NOP
    CLR SDA
    NOP
    NOP
    NOP
    NOP
    NOP
    CLR SCL
    RET
C02STOP:CLR SDA     ;;;;;;;;;;      24C02  STOP
    SETB    SCL
    NOP
    NOP
    NOP
    NOP
    NOP
    SETB    SDA
    NOP
    NOP
    NOP
    NOP
    NOP
    CLR SCL
    RET

C02SEND:MOV R7,#08H  ;;;;;;;;;;;        24C02 CONTROL BIT SEND
REGO:   RLC A
    JNC SHIFT
    AJMP    QQQQ
SHIFT:  CLR SDA
    AJMP    SAME
QQQQ:   SETB    SDA
SAME:   SETB    SCL
    NOP
    NOP
    NOP
    NOP
    NOP
    CLR SCL
    DJNZ    R7,REGO
    RET

MNACK:  SETB    SDA        ;;;;;;;;;;;;;;;;;    NACK SEND
    SETB    SCL
    NOP
    NOP
    NOP
    NOP
    NOP
    CLR SCL
    CLR SDA
    RET

MACK:   CLR SDA        ;;;;;;;;;;;;;;;;;;;  ACK SEND
    SETB    SCL
    NOP
    NOP
    NOP
    NOP
    NOP
    CLR SCL
    SETB    SDA
    NOP
    NOP
    RET

CACK:   SETB    SDA ;;;;;;;;;;;;;;;     ACK CHECK
    SETB    SCL
    NOP
    NOP
    NOP
    NOP
    NOP
    MOV C,SDA
    MOV F0,C
    CLR SCL
    NOP
    NOP
    NOP
    NOP
    NOP
    RET

LINE1:  DB "304RADIO STATION",00H
LINE2:  DB "LOCAL FRE:   . M",00H
LINE3:  DB "                   ",00H
TAB:    DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,' '
END        

程序打包点击以下地址下载

请点击图标下载浏览:

附件
1
  • 上一篇:MCS-51单片机指令表
  • 下一篇:MB1504控制参考C程序
  • 相关专题:

  • 专题1信息无
  • 专题2信息无
  • 相关评论:(评论内容只代表网友观点,与本站立场无关!)[相关评论无]

    发表、查看更多关于该信息的评论 将本信息发给好友 打印本页

    | 关于我们 | 网站地图 | 联系我们 | 帮助中心 | 图片新闻 |淘宝店铺 |
    Copyright © 2003-2017 www.fmdiy.com All Rights Reserved
    电话:020-86048309   手机:13512700536
    Powered By:ForecastNews v1.5(B1)
    点击这里给我发消息 xml聚合新闻rss2.0 firefox全面支持 Creative Commons License
    页面执行时间:31.250毫秒
    友情链接:2 澳门新葡京官网 澳门新葡京娱乐 澳门葡京官网 澳门葡京娱乐 澳门新葡京娱乐场 澳门新葡京游戏 澳门葡京娱乐场 澳门葡京游戏 葡京赌场官网 澳门新葡京 新葡京开户 澳门新葡京娱乐 威尼斯人 威尼斯人开户 澳门威尼斯人娱乐 澳门新葡京官网 澳门新葡京娱乐 澳门葡京官网 澳门葡京娱乐 澳门新葡京娱乐场 澳门新葡京游戏 澳门葡京娱乐场 澳门葡京游戏 澳门新葡京官网 澳门新葡京棋牌 澳门新葡京棋牌手机版下载 澳门新葡京棋牌游戏 澳门新葡京娱乐场官网 澳门新葡京棋牌官网 澳门新葡京棋牌手机版 澳门新葡京线上娱乐 澳门新葡京棋牌客户端 澳门新葡京线路检测中心 澳门新葡京娱乐场官网下载 澳门新葡京手机网址 澳门新葡京下载 澳门新葡京棋牌app 澳门新葡京全网返利 澳门新葡京客户端下载 澳门新葡京娱乐场手机网址 澳门新葡京真人游戏 澳门新葡京赌博 澳门新葡京真人视讯 威尼斯人娱乐 威尼斯人娱乐场 威尼斯人网站 威尼斯人网址 银河娱乐 澳门金沙 金沙娱乐 金沙网上娱乐 金沙网址 澳门金沙官方网站