• 大小: 3KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: 其他
  • 标签: lm371  51  

资源简介

基于51单片机和lm371的发射机程序,功能基本齐全,调试通过!

资源截图

代码片段和文件信息

#include	
#include 
#define uchar unsigned char 
#define uint unsigned int
sbit radio_clk = P3^0;//串行通信时要使用的同步时钟
sbit radio_di = P3^1;//串行数据输入。单片机--》PLL
sbit radio_ce =P3^2;//片选信号
uchar bdata fl=0fh=0col=0;
sbit sns=col^0;//
sbit dvs=col^1;
sbit cte=col^2;//测量中频开始或结束 1:开始    2:结束复位
sbit xs=col^3;//晶振设置    1:7.2M    0: 4.5M
sbit r0=col^4;//参考频率设置  
sbit r1=col^5;
sbit r2=col^6;
sbit r3=col^7; 
#define Lcd_Data P0
#define Busy 0x80 //用于检测Lcd中的忙标识
sbit Lcd_RS=P2^7;
sbit Lcd_RW=P2^6;
sbit Lcd_E=P2^5;
sbit     key1=P1^0; //频率按键加定义
sbit     key2=P1^1; //频率按键减定义
sbit     key3=P1^2; //频段选择按键
uint wqbsgmnnum1num2=0l=0j=0;
uint  Cfreq=9800; //初开机显示的频率 
#define RdCommand 0x01 //定义ISP操作
#define PrgCommand 0x02 
#define EraseCommand 0x03 
#define WaitTime 0x01 //定义CPU等待时间



sfr ISP_DATA=0xe2; //寄存器声明
sfr ISP_ADDRH=0xe3; 
sfr ISP_ADDRL=0xe4; 
sfr ISP_CMD=0xe5; 
sfr ISP_TRIG=0xe6; 
sfr ISP_CONTR=0xe7;
//**************各函数声明**************//
void Lcd_WriteData(uchar TempData);//各函数声明
void Lcd_WriteCmd(uchar TempData uchar BuysC);
uchar ReadDataLcd(void);
uchar ReadStatusLcd(void) ;
void Lcd_DisplayOneChar(uchar X uchar Y uchar DData);
void Lcd_DisplayString(uchar X uchar Yuchar  *DData);
void Lcd_Init(void); //LCD初始化;
void fredisplay();// 频率显示函数
void keyscan(); // 键盘扫描函数
void soucrescan();//  信号源扫描函数
void tx_dat(uchar i);//  lc72131传递8个字节函数
void rd_cmd();// 向lc72131传送数据函数
void Read_Epprom(); // 开机读各保存数据
uchar byte_read(uint byte_addr);// 读数据函数
void SectorErase(uint sector_addr);// 擦数据函数
void byte_write(uint byte_addr uchar original_data) ;//  写字节函数
void Delay(uint Delay_Time)
{
while(Delay_Time--);
}
void main()
{
    uint kz=0;
TMOD=0x01; // 设置定时器0工作方式1
    TH0=(65536-55000)/256;// 定时器赋初值     
    TL0=(65536-55000)%256; 
    EA=1;//开中断 
    ET0=1; 
    TR0=1; 
    Lcd_Init(); //lcd初始化
    Lcd_DisplayString(30“WelcomeUse“);
Lcd_DisplayString(41“AG-FM2008“);//开机显示内容
Delay(500000); Delay(500000);
Delay(500000); Delay(500000);
Delay(500000);  Delay(500000);
Delay(500000); Delay(500000);
Delay(500000); Delay(500000); 
Lcd_WriteCmd(0x011); //开机短暂显示后清屏
    Delay(5000000); Delay(500000);
Read_Epprom();//开机读各数据
while(1)
   {
      fredisplay();
  keyscan();//按键扫描
  soucrescan();//信号源扫描
      Lcd_DisplayString(00“AHGD“);
  Lcd_DisplayString(01“FM:“);
  Lcd_DisplayString(80“DS:“);
  Lcd_DisplayString(91“MHz“);
  rd_cmd();
  if(num2>=1)//定时时间到后进行数据的保存
    {
   for(k=0;k<7;k++) 
       { 
         SectorErase(0x2000+z);  //保存数据先擦除扇区内容
        z=z+2;
}
  byte_write(0x2000 w);  //存数据万位
  byte_write(0x2002 q);
  byte_write(0x2004 b);
  byte_write(0x2006 s);
  byte_write(0x2008 g);
  byte_write(0x2010 l);  //存信号源标志位
  //byte_write(0x2012 j);  //存频段标志位 
      
      }

      }  

}

void soucrescan()
{
       P3=P3&00001111;
  if(P3^5=

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       9961  2002-01-01 08:36  8.1.c

----------- ---------  ---------- -----  ----

                 9961                    1


评论

共有 条评论