FMUSER更轻松地传输视频和音频!

[电子邮件保护] WhatsApp的+ 8618078869184
语言

    51单片机控制的立体声调频发射器让BH1415F

     

    51单片机控制的立体声调频发射器让BH1415F

    说明:1,使用MCS51,使用最小的应用系统设计的控制,外围电路非常简单! 16按键设计,可以控制80.0〜109.9MHz频率范围;
    2,4位共阳极LED显示器频率;
    特点:1,可独立设置百,十,有点,小数点的频率;
    2,发射频率的预置;
    3,单声道/立体声控制;带立体声发射器的指令;
    -------------------------------------------------- -------------------------------------
    ; ***************************;
    ;数控调频控制器;
    ; ***************************;
    ;
    ; 26H-29H小数位显示,有点,十,百BCD码数,24H-25H放电频率控制数据(十六进制)
    ;
    CONBITL EQU 21H;频率控制字节低8
    CONBITH EQU 22H;频率控制字节的高八位
    关键字EQU 23H;当存储键值P1端口扫描
    ;
    ;
    ORG 0000H;程序的起始地址
    LJMP START;转移开始执行
    ORG 0003H;
    RETI;不中断程序
    ORG 000BH;
    RETI;不中断程序
    ORG 0013H;
    RETI;不中断程序
    ORG 001BH;
    RETI;不中断程序
    ORG 0023H;
    RETI;不中断程序
    ORG 002BH;
    RETI;不中断程序
    ;
    ;初始化程序
    CLEARMEN:MOV R0,#20H; 20H-29H循环中清除
    MOV R1,#0AH;
    CLEARLOOP:MOV @ R0,#00H;
    INC R0;
    DJNZ R1,CLEARLOOP;
    MOV P0,#0FFH,其中四个端口设置
    MOV P1,#0FFH;
    MOV P2,#0FFH;
    MOV P3,#0FFH;
    CLR P3.0; BH1415禁止操作
    CLR P3.1;
    CLR P3.2;
    LCALL KEYFUN15;家庭立体声传输模式,打开立体声发射器指示灯
    CLEAR1:MOV PCON,#00H;控制寄存器清零
    MOV 29H,#00H;设置88MHZ的初始值(示为088.0)
    MOV 28H,#08H;
    MOV 27H,#08H;
    MOV 26H,#00H;
    LCALL DISPUPDAT;写道BH1415芯片(修改传输频率)
    RET;子程序返回
    ;
    ;主
    START:LCALL CLEARMEN;电初始化
    MAIN:LCALL关键字;调查按键子程序
    LCALL显示,LED显示时间
    AJMP MAIN;转移主循环
    NOP;电脑错误处理
    NOP;
    AJMP START;重新初始化
    ;
    ; 4 * 4矩阵按键扫描例行检查
    关键字:MOV P1,#0FFH;
    CLR P1.0;
    MOV A,P1;
    ANL A,#0F0H;
    CJNE A,#0F0H,KEYCON;
    SETB P1.0;
    CLR P1.1;
    MOV A,P1;
    ANL A,#0F0H;
    CJNE A,#0F0H,KEYCON;
    SETB P1.1;
    CLR P1.2;
    MOV A,P1;
    ANL A,#0F0H;
    CJNE A,#0F0H,KEYCON;
    SETB P1.2;
    CLR P1.3;
    MOV A,P1;
    ANL A,#0F0H;
    CJNE A,#0F0H,KEYCON;
    SETB P1.3;
    RET;
    KEYCON:LCALL DL10MS;去抖处理
    MOV A,P1;
    ANL A,#0F0H;
    CJNE A,#0F0H,KEYCHE;
    KEYOUT:RET;干扰,子程序返回
    KEYCHE:MOV A,P1;
    MOV关键字,A;
    CJLOOP:LCALL DISPLAY;
    MOV A,P1;
    ANL A,#0F0H;
    CJNE A,#0F0H,CJLOOP;
    MOV R7,#00H;
    MOV DPTR,#密钥表;
    CHEKEYLOOP:MOV A,R7;
    MOVC A,@ A + DPTR;
    XRL A,关键字;
    JZ KEYOK; 0(等于)转KEYOK
    INC R7,范围,再加上一些查表的
    CJNE R7,#10H,CHEKEYLOOP;
    RET;
    ;
    KEYOK:MOV A,R7;
    MOV B,A,B为
    RL A;左
    ADD A,B;增加(由关键3字节指令处理JMP 3)
    MOV DPTR,#KEYFUNTAB;
    JMP @ A + DPTR;
    KEYFUNTAB:LJMP KEYFUN00;
    LJMP KEYFUN01;
    LJMP KEYFUN02;
    LJMP KEYFUN03
    LJMP KEYFUN04
    LJMP KEYFUN05
    LJMP KEYFUN06
    LJMP KEYFUN07
    LJMP KEYFUN08
    LJMP KEYFUN09
    LJMP KEYFUN10
    LJMP KEYFUN11
    LJMP KEYFUN12
    LJMP KEYFUN13
    LJMP KEYFUN14
    LJMP KEYFUN15,跳转到该程序的15th关键功能
    RET;批量传输错误返回
    ;
    ;对应P1端口值表中的键数(同时按下两个键是无效的操作)
    密钥表:DB 0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DH
    DB 0EBH,0DBH,0BBH,7BH,0E7H,0D7H,0B7H,77H,0FFH,0FFH
    ;
    ;该计划的第0关键功能
    KEYFUN00:INC 29H;
    MOV A,29H;
    CLR℃;
    CJNE A,#02H,FUN00;
    FUN00:JC FUN00OUT;
    MOV 29H,#00H;
    FUN00OUT:MOV A,29H;
    XRL A,#01H;
    JNZ F00OUT1;
    MOV 28H,#00H;
    AJMP F00OUT;
    F00OUT1:MOV 28H,#08H;
    F00OUT:LCALL DISPUPDAT;
    RET;返回
    ;
    ;该计划的1st关键功能
    KEYFUN01:INC 28H;
    MOV A,28H;
    CLR℃;
    CJNE A,#0AH,FUN01;
    FUN01:JC FUN01OUT;
    MOV 28H,#00H;
    FUN01OUT:MOV A,29H;
    XRL A,#01H;
    JNZ F01OUT;
    MOV 28H,#00H;
    AJMP F001OUT;
    F01OUT:MOV A,28H;
    XRL A,#08H;
    JZ F001OUT;
    MOV A,28H;
    XRL A,#09H;
    JZ F001OUT;
    MOV 28H,#08H;
    F001OUT:LCALL DISPUPDAT;
    RET;返回
    ;
    ;该2nd键功能程序
    KEYFUN02:INC 27H;个位数加1
    MOV A,27H;
    CLR℃;
    CJNE A,#0AH,FUN02;确定比10是否少
    FUN02:JC FUN02OUT;小于10变成FUN02OUT
    MOV 27H,#00H;大于或等于10被清零0
    FUN02OUT:LCALL DISPUPDAT;写控制芯片(修改传输频率)
    RET;
    ;
    ;该计划的3rd关键功能
    KEYFUN03:INC 26H;个位数加1
    MOV A,26H;
    CLR℃;
    CJNE A,#0AH,FUN03,判断是不是小于10
    FUN03:JC FUN03OUT;小于10变成FUN03OUT
    MOV 26H,#00H;大于或等于10被清零0
    FUN03OUT:LCALL DISPUPDAT;写控制芯片(修改传输频率)
    RET;返回
    ;
    ; 04关键功能的程序(预设频率键)
    KEYFUN04:MOV 29H,#01H;预置109.0MHZ发射频率
    MOV 28H,#00H
    MOV 27H,#09H
    MOV 26H,#00H
    LCALL DISPUPDAT;写控制芯片(修改传输频率)
    RET
    ;
    ; 05关键功能的程序(预设频率键)
    KEYFUN05:MOV 29H,#01H;预置108.0MHZ发射频率
    MOV 28H,#00H
    MOV 27H,#08H
    MOV 26H,#00H
    LCALL DISPUPDAT;写控制芯片(修改传输频率)
    RET
    ;
    ; 06关键功能的程序(预设频率键)
    KEYFUN06:MOV 29H,#01H;预置105.0MHZ发射频率
    MOV 28H,#00H
    MOV 27H,#05H
    MOV 26H,#00H
    LCALL DISPUPDAT;写控制芯片(修改传输频率)
    RET
    ;
    ;程序(频率预置密钥)的7th关键功能
    KEYFUN07:MOV 29H,#01H;预置100.0MHZ发射频率
    MOV 28H,#00H
    MOV 27H,#00H
    MOV 26H,#00H
    LCALL DISPUPDAT;写控制芯片(修改传输频率)
    RET
    ;
    ; 08关键功能的程序(预设频率键)
    KEYFUN08:MOV 29H,#00H;预置传输频率98.0MHZ
    MOV 28H,#09H
    MOV 27H,#08H
    MOV 26H,#00H
    LCALL DISPUPDAT;写控制芯片(修改传输频率)
    RET
    ;
    ; 09关键功能的程序(预设频率键)
    KEYFUN09:MOV 29H,#00H;预置传输频率96.0MHZ
    MOV 28H,#09H
    MOV 27H,#06H
    MOV 26H,#00H
    LCALL DISPUPDAT;写控制芯片(修改传输频率)
    RET
    ;
    ;程序(频率预置密钥)的10th关键功能
    KEYFUN10:MOV 29H,#00H;预置传输频率94.0MHZ
    MOV 28H,#09H
    MOV 27H,#04H
    MOV 26H,#00H
    LCALL DISPUPDAT;写控制芯片(修改传输频率)
    RET
    ;
    ; 11关键功能的程序(预设频率键)
    KEYFUN11:MOV 29H,#00H;预置传输频率92.0MHZ
    MOV 28H,#09H
    MOV 27H,#02H
    MOV 26H,#00H
    LCALL DISPUPDAT;写控制芯片(修改传输频率)
    RET
    ;
    ;程序(频率预置密钥)的12th关键功能
    KEYFUN12:MOV 29H,#00H;预置传输频率90.0MHZ
    MOV 28H,#09H
    MOV 27H,#00H
    MOV 26H,#00H
    LCALL DISPUPDAT;写控制芯片(修改传输频率)
    RET
    ;
    ;程序(频率预置密钥)的13th关键功能
    KEYFUN13:MOV 29H,#00H;预置传输频率88.0MHZ
    MOV 28H,#08H
    MOV 27H,#08H
    MOV 26H,#00H
    LCALL DISPUPDAT;写控制芯片(修改传输频率)
    RET
    ;
    ;程序(频率预置密钥)的14th关键功能;预置传输频率87.0MHZ
    KEYFUN14:MOV 29H,#00H
    MOV 28H,#08H
    MOV 27H,#07H
    MOV 26H,#08H
    LCALL DISPUPDAT;写控制芯片(修改传输频率)
    RET
    ;
    ; 15关键功能的程序(立体声/单声道设置键)
    KEYFUN15:CPL 03H;
    JNB 03H,单声道;
    CLR P3.3;
    LCALL PUTBIT;
    RET;返回
    MON SETB P3.3;
    LCALL PUTBIT;
    RET;返回
    ;
    ; BCD码转换为十六进制,和5个控制代码的合成操作码,写控制芯片
    DISPUPDAT:LCALL BCDB;
    LCALL CONCOMMAND;
    LCALL PUTBIT;发送控制字到BH1415
    RET;返回
    ;
    ; BCD码转换为十六进制的程序
    BCDB:MOV CONBITL,#00H;控制字0
    MOV CONBITH,#00H;控制字0
    MOV CONBITL,26H;小数位控制字到低8
    MOV A,27H;个位数由10操作
    MOV B,#10;
    LCALL MULLOOP;调乘法子程序
    MOV A,28H; 100十位数的乘法运算
    MOV B,#100;
    LCALL MULLOOP;调乘法子程序
    MOV A,29H;
    JNZ ADD3E8;百位是一个回合ADD3E8(加1000操作)
    RET;百位数是0退出
    ADD3E8:CLR℃;明确的二进制标志
    MOV A,#0E8H;低8位加法器
    ADD A,CONBITL;积累
    MOV CONBITL,A;回CONBITL
    MOV A,#03H;高八位加法
    ADDC A,CONBITH;
    MOV CONBITH,A;回CONBITH
    RET;返回
    ;
    ;乘法和积累的过程(四个小数显示BCD码转换成二进制数)
    MULLOOP:MUL AB;乘法
    清除进位标​​志; CLR的ç
    ADD A,CONBITL;情节与CONBITL加入低8
    MOV CONBITL,A;回CONBITL
    MOV A,CONBITH;
    ADDC A,B,融入了高8位累加器与CONBITH
    MOV CONBITH,A;回CONBITH
    RET;返回
    ;
    ;频率控制数据和5个控制代码的合成BH1415控制字
    CONCOMMAND:ANL CONBITH,#07H;
    MOV A,20H;
    ORL A,CONBITH;
    MOV CONBITH,A;
    RET;返回
    ;
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ;;显示程序;;
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ;共阳极LED显示屏,代码P0端口输出部分,P2口输出扫描字
    显示:MOV R1,#26H,显示的第一个地址
    MOV R5,#0FEH;让扫描字
    播放:MOV A,R5;为A
    MOV P2,A; P2端口输出
    MOV A,@ R1;读取显示数据
    MOV DPTR,#TAB;采取的第一个地址段码表
    MOVC A,@ A + DPTR;调查分部
    MOV P0,A;从P0输出
    MOV A,R5;读取扫描的单词
    JB ACC.1,PLAY1;十(LED),不显示小数点
    CLR P0.7;十岁,显示小数点
    PLAY1:LCALL DL1MS,点燃了一毫秒
    INC R1;指向下一个显示数据
    JNB ACC.3,ENDOUT;是第四个LED灯,出口
    RL A;相反,留下了
    MOV R5,A;回R5
    SETB P0.7;关十进制
    AJMP播放;传输播放周期
    ENDOUT:MOV P2,#0FFH;展会结束了显示输出
    MOV P0,#0FFH;
    RET;返回
    ;
    沉阳科秒表0-9
    TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0FFH
    ;
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ;;发送控制字节子程序;;
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ;
    PUTBIT:MOV A,CONBITL;低8位控制字为A
    SETB P3.2; BH1415启用(写)
    LCALL放,送8
    MOV A,CONBITH;高八位控制字为A
    LCALL放,送8
    CLR P3.2; BH1415写禁止
    CLR P3.0;重置
    CLR P3.1;重置
    RET;返回
    ;
    ;字节发送子程序
    PUT:MOV R3,#8;发送八个控制
    CLR℃;清Ç
    PUT1:RRC A;进右(开始低)
    MOV P3.0,C,低到P3.0端口
    NOP;延缓4微秒
    NOP;
    NOP;
    NOP;
    SETB P3.1;锁存数据(上升沿锁存数据)
    NOP;延缓4微秒
    NOP;
    NOP;
    NOP;
    CLR P3.1;
    DJNZ R3,PUT1; 8位未完成轮到他PUT1复发
    8成品末端; RET
    ;
    ; 513微秒级延时子程序
    DL513:MOV R3,#0FFH
    DL513LOOP:DJNZ R3,DL513LOOP
    RET
    ;
    ; 1毫秒延时子程序(LED灯用)
    DL1MS:MOV R4,#02H
    DL1MSLOOP:LCALL DL513
    DJNZ R4,DL1MSLOOP
    RET
    ;
    ; 10毫秒延时子程序(抖动消除通过)
    DL10MS:MOV R6,#0AH
    DL10MSLOOP:LCALL DL1MS
    DJNZ R6,DL10MSLOOP
    RET
    ;
    ;
    结束

     

     

     

     

    列出所有问题

    昵称

    电邮

    有疑问吗?

    我们的其他产品:

    专业调频电台设备包

     



     

    酒店IPTV解决方案

     


      输入电子邮件以获取惊喜

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org ->荷兰语
      sq.fmuser.org ->阿尔巴尼亚人
      ar.fmuser.org ->阿拉伯语
      hy.fmuser.org - >亚美尼亚
      az.fmuser.org ->阿塞拜疆
      eu.fmuser.org ->巴斯克
      be.fmuser.org ->白俄罗斯语
      bg.fmuser.org - >保加利亚
      ca.fmuser.org ->加泰罗尼亚语
      zh-CN.fmuser.org ->中文(简体)
      zh-TW.fmuser.org - >中国(繁体)
      hr.fmuser.org ->克罗地亚语
      cs.fmuser.org ->捷克
      da.fmuser.org ->丹麦语
      nl.fmuser.org - >荷兰
      et.fmuser.org ->爱沙尼亚语
      tl.fmuser.org ->菲律宾
      fi.fmuser.org ->芬兰语
      fr.fmuser.org - >法国
      gl.fmuser.org ->加利西亚语
      ka.fmuser.org ->乔治亚
      de.fmuser.org ->德语
      el.fmuser.org - >希腊
      ht.fmuser.org ->海地克里奥尔语
      iw.fmuser.org ->希伯来语
      hi.fmuser.org ->印地语
      hu.fmuser.org - >匈牙利
      is.fmuser.org ->冰岛语
      id.fmuser.org ->印尼语
      ga.fmuser.org ->爱尔兰
      it.fmuser.org - >意大利
      ja.fmuser.org ->日语
      ko.fmuser.org ->韩文
      lv.fmuser.org ->拉脱维亚
      lt.fmuser.org - >立陶宛
      mk.fmuser.org ->马其顿语
      ms.fmuser.org ->马来语
      mt.fmuser.org ->马耳他语
      no.fmuser.org - >挪威
      fa.fmuser.org ->波斯语
      pl.fmuser.org ->波兰语
      pt.fmuser.org ->葡萄牙语
      ro.fmuser.org - >罗马尼亚
      ru.fmuser.org ->俄语
      sr.fmuser.org ->塞尔维亚语
      sk.fmuser.org ->斯洛伐克
      sl.fmuser.org - >斯洛文尼亚
      es.fmuser.org ->西班牙语
      sw.fmuser.org ->斯瓦希里语
      sv.fmuser.org ->瑞典语
      th.fmuser.org - >泰国
      tr.fmuser.org ->土耳其语
      uk.fmuser.org ->乌克兰语
      ur.fmuser.org ->乌尔都语
      vi.fmuser.org - >越南
      cy.fmuser.org ->威尔士语
      yi.fmuser.org - >意第绪语

       
  •  

    FMUSER更轻松地传输视频和音频!

  • 联系我们

    地址:
    305广州市环浦路273号汇兰大厦510620室

    电子邮箱:
    [电子邮件保护]

    电话/ WhatApps:
    +8618078869184

  • 分类目录

  • 订阅电子邮件

    名字或全名

    邮箱

  • 贝宝的解决方案  西联汇款中国银行
    电子邮箱:[电子邮件保护]   WhatsApp:+8618078869184 Skype:sky198710021 跟我聊天
    版权所有2006-2020技术支持 www.fmuser.org

    联系我们