⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 开关式的 锁相环bh1415的调频参考c程序.lst

📁 数控调频发射器的设计 开关式的锁相环BH1415的调频参考C程序
💻 LST
字号:
C51 COMPILER V8.08   开关式的____薩相环BH1415的调频参考C程序                               10/02/2002 11:31:23 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE 开关式的____薩相环BH1415的调频参考C程序
OBJECT MODULE PLACED IN 开关式的    锁相环BH1415的调频参考C程序.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 开关式的    锁相环BH1415的调频参考C程序.c BROWSE DEBUG OBJECTEXTEND LISTINC
                    -LUDE

line level    source

   1          //***************************************************************
   2          //             锁相环BH1415的调频程序
   3          //作者:Shang Xianglu
   4          //电子信息工程专业 航空工程学院
   5          //日期:2008.9.25
   6          //说明:四个按键分别控制:频率步进,步退,立体声开关,音频静音
   7          //     复位默认:频率是 98MHZ ,立体声, 正常模式。
   8          //     频率调节范围 :88MHZ--108MHZ
   9          //硬件连接:
  10          //  MUTE ------- P1^0
  11          //  DI ------- P1^1 
  12          //  CLK ------- P1^2
  13          //  CE ------- P1^3
  14          //  按键   静音控制 ------- P1^4
  15          //  按键   频率步进 ------- P1^5
  16          //  按键   频率步退 ------- P1^6
  17          //  按键 立体声控制 ------- P1^7
  18          //
  19          //***************************************************************
  20          
  21          #include<reg51.h>
   1      =1  /*--------------------------------------------------------------------------
   2      =1  REG51.H
   3      =1  
   4      =1  Header file for generic 80C51 and 80C31 microcontroller.
   5      =1  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
   6      =1  All rights reserved.
   7      =1  --------------------------------------------------------------------------*/
   8      =1  
   9      =1  #ifndef __REG51_H__
  10      =1  #define __REG51_H__
  11      =1  
  12      =1  /*  BYTE Register  */
  13      =1  sfr P0   = 0x80;
  14      =1  sfr P1   = 0x90;
  15      =1  sfr P2   = 0xA0;
  16      =1  sfr P3   = 0xB0;
  17      =1  sfr PSW  = 0xD0;
  18      =1  sfr ACC  = 0xE0;
  19      =1  sfr B    = 0xF0;
  20      =1  sfr SP   = 0x81;
  21      =1  sfr DPL  = 0x82;
  22      =1  sfr DPH  = 0x83;
  23      =1  sfr PCON = 0x87;
  24      =1  sfr TCON = 0x88;
  25      =1  sfr TMOD = 0x89;
  26      =1  sfr TL0  = 0x8A;
  27      =1  sfr TL1  = 0x8B;
  28      =1  sfr TH0  = 0x8C;
  29      =1  sfr TH1  = 0x8D;
  30      =1  sfr IE   = 0xA8;
  31      =1  sfr IP   = 0xB8;
  32      =1  sfr SCON = 0x98;
  33      =1  sfr SBUF = 0x99;
C51 COMPILER V8.08   开关式的____薩相环BH1415的调频参考C程序                               10/02/2002 11:31:23 PAGE 2   

  34      =1  
  35      =1  
  36      =1  /*  BIT Register  */
  37      =1  /*  PSW   */
  38      =1  sbit CY   = 0xD7;
  39      =1  sbit AC   = 0xD6;
  40      =1  sbit F0   = 0xD5;
  41      =1  sbit RS1  = 0xD4;
  42      =1  sbit RS0  = 0xD3;
  43      =1  sbit OV   = 0xD2;
  44      =1  sbit P    = 0xD0;
  45      =1  
  46      =1  /*  TCON  */
  47      =1  sbit TF1  = 0x8F;
  48      =1  sbit TR1  = 0x8E;
  49      =1  sbit TF0  = 0x8D;
  50      =1  sbit TR0  = 0x8C;
  51      =1  sbit IE1  = 0x8B;
  52      =1  sbit IT1  = 0x8A;
  53      =1  sbit IE0  = 0x89;
  54      =1  sbit IT0  = 0x88;
  55      =1  
  56      =1  /*  IE   */
  57      =1  sbit EA   = 0xAF;
  58      =1  sbit ES   = 0xAC;
  59      =1  sbit ET1  = 0xAB;
  60      =1  sbit EX1  = 0xAA;
  61      =1  sbit ET0  = 0xA9;
  62      =1  sbit EX0  = 0xA8;
  63      =1  
  64      =1  /*  IP   */ 
  65      =1  sbit PS   = 0xBC;
  66      =1  sbit PT1  = 0xBB;
  67      =1  sbit PX1  = 0xBA;
  68      =1  sbit PT0  = 0xB9;
  69      =1  sbit PX0  = 0xB8;
  70      =1  
  71      =1  /*  P3  */
  72      =1  sbit RD   = 0xB7;
  73      =1  sbit WR   = 0xB6;
  74      =1  sbit T1   = 0xB5;
  75      =1  sbit T0   = 0xB4;
  76      =1  sbit INT1 = 0xB3;
  77      =1  sbit INT0 = 0xB2;
  78      =1  sbit TXD  = 0xB1;
  79      =1  sbit RXD  = 0xB0;
  80      =1  
  81      =1  /*  SCON  */
  82      =1  sbit SM0  = 0x9F;
  83      =1  sbit SM1  = 0x9E;
  84      =1  sbit SM2  = 0x9D;
  85      =1  sbit REN  = 0x9C;
  86      =1  sbit TB8  = 0x9B;
  87      =1  sbit RB8  = 0x9A;
  88      =1  sbit TI   = 0x99;
  89      =1  sbit RI   = 0x98;
  90      =1  
  91      =1  #endif
  22          
  23          #define uchar unsigned char
  24          #define uint  unsigned int 
  25          
C51 COMPILER V8.08   开关式的____薩相环BH1415的调频参考C程序                               10/02/2002 11:31:23 PAGE 3   

  26          sbit MUTE = P1^0;
  27          sbit DI   = P1^1; 
  28          sbit CLK  = P1^2; 
  29          sbit CE   = P1^3;
  30          sbit KEY_1= P1^4;
  31          sbit KEY_2= P1^5;
  32          sbit KEY_3= P1^6;
  33          sbit KEY_4= P1^7;
  34          
  35          void Send_16(uint ui_Date, uchar uc_MONO ,uchar uc_PD);        //发送数据函数
  36          void Key_Scan_1(void);     //控制静音
  37          void Key_Scan_2(void);     //频率步进 精度0.1MHZ
  38          void Key_Scan_3(void);     //频率步退 精度0.1MHZ
  39          void Key_Scan_4(void);     //立体声控制
  40          void Delay(void);     
  41          
  42          uchar uc_Count_1;
  43          uchar uc_Count_2;
  44          uchar uc_Count_3;
  45          uchar uc_Count_4;
  46          uint ui_TEMP_1;            //保存频率数据
  47          uint ui_TEMP_2;      //保存立体声数据
  48          
  49          //主函数
  50          void main(void)
  51          {
  52   1       Send_16(0x3d4,0x01,0x00);
  53   1       while(1)
  54   1       {Key_Scan_1();
  55   2        Key_Scan_2(); 
  56   2        Key_Scan_3();
  57   2        Key_Scan_4();}
  58   1      }
  59          
  60          
  61          //延迟函数
  62          void Delay()
  63          {
  64   1       uchar i,j;
  65   1       for(i=100;i;--i)
  66   1        for(j=200;j;--j);
  67   1      }
  68          
  69          
  70           //控制静音
  71          void Key_Scan_1(void) 
  72          {
  73   1       if(KEY_1==0)
  74   1        {
  75   2         Delay();
  76   2          if(KEY_1==0)
  77   2           {
  78   3            MUTE=(uc_Count_1++)%2;
  79   3            while(KEY_1==0);
  80   3           }
  81   2        }   
  82   1      }
  83          
  84          
  85          //频率步进
  86          void Key_Scan_2(void)
  87          {
C51 COMPILER V8.08   开关式的____薩相环BH1415的调频参考C程序                               10/02/2002 11:31:23 PAGE 4   

  88   1       if(KEY_2==0)
  89   1        {
  90   2         Delay();
  91   2          if(KEY_2==0)
  92   2           {
  93   3            uc_Count_2++;
  94   3            if(uc_Count_2==100)
  95   3             {
  96   4               uc_Count_2=0;
  97   4               Send_16(0x3d4,ui_TEMP_2,0x00);
  98   4             }
  99   3            Send_16(ui_TEMP_1+1,ui_TEMP_2,0x00);
 100   3            while(KEY_2==0);
 101   3           }
 102   2        } 
 103   1      }
 104          
 105          
 106          //频率步退
 107          void Key_Scan_3(void)      
 108          {
 109   1       if(KEY_3==0)
 110   1        {
 111   2         Delay();
 112   2          if(KEY_3==0)
 113   2           {
 114   3            uc_Count_3++;
 115   3            if(uc_Count_3==100)
 116   3             {
 117   4               uc_Count_3=0;
 118   4               Send_16(0x3d4,ui_TEMP_2,0x00);
 119   4             }
 120   3            Send_16(ui_TEMP_1-1,ui_TEMP_2,0x00);  
 121   3            while(KEY_3==0);
 122   3           }
 123   2        }
 124   1      }
 125          
 126          
 127          
 128          //立体声控制
 129          void Key_Scan_4(void)    
 130          {
 131   1       if(KEY_4==0)
 132   1        {
 133   2         Delay();
 134   2          if(KEY_4==0)
 135   2           {
 136   3            uc_Count_4++;
 137   3            if(ui_TEMP_2=uc_Count_4%2)
 138   3             Send_16(ui_TEMP_1,0x01,0x00);
 139   3            else
 140   3             Send_16(ui_TEMP_1,0x00,0x00);
 141   3            while(KEY_4==0);
 142   3           }
 143   2        }  
 144   1      }
 145          
 146          
 147          //发送数据函数
 148          void Send_16(uint ui_Date,uchar uc_MONO ,uchar uc_PD)
 149          {
C51 COMPILER V8.08   开关式的____薩相环BH1415的调频参考C程序                               10/02/2002 11:31:23 PAGE 5   

 150   1       uchar i;
 151   1       ui_TEMP_1=ui_Date;
 152   1       CLK=0;
 153   1       CE=0;
 154   1       CE=1;
 155   1       for(i=11;i;--i)
 156   1        {
 157   2        DI=ui_Date&0x01; 
 158   2        ui_Date>>=1;
 159   2        CLK=1;
 160   2        CLK=0;
 161   2        }  
 162   1       DI=uc_MONO&0x01;
 163   1       CLK=1;
 164   1       CLK=0;
 165   1       DI=uc_PD&0x20;
 166   1       CLK=1;
 167   1       CLK=0;
 168   1       uc_PD<<=1;
 169   1       DI=uc_PD&0x20;
 170   1       CLK=1;
 171   1       CLK=0;
 172   1       DI=1;
 173   1       CLK=1;
 174   1       CLK=0;
 175   1       DI=0;
 176   1       CLK=1;
 177   1       CLK=0;
 178   1       CE=0;
 179   1       }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    257    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      8    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -