资源简介
基于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
- 上一篇:倒频谱程序
- 下一篇:VC控制Excel的示范源码--不错的选择
相关资源
- 51单片机通信采样proteus仿真方波转化
- 基于89C51的智能台灯
- 51智能排课系统大课表版v5.1.3中文免费
- Beginning STM32: Developing with FreeRTOS libo
- MODERN ROBOTICS MECHANICS PLANNING AND CONTROL
- 51 单片机 红外避障小车 大集合136
- 最新的北京地铁shp文件75146
- 程序员专用字体YaHei.Consolas.1.11b42517
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- 清翔电子MCS51开发板资料_新版 01_开发
- MCS_51单片机与8255A的接口设计
- Rtx51_tiny_RTOS中文版.pdf
- 51单片机PWM程序,占空比、周期可调整
- 51单片机多功能自行车测速仪
- proteus仿真 AT89C51输出各种波形
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51模拟SPI读写SD卡(包括Fat和Fat32文件
- NRF24L01实现51与STM32双向通讯
- 基于c8051f020的AD转换程序及LCD显示程序
- 51单片机控制舵机程序
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- 课程设计蔬菜大棚自动控制系统,包
- 基于AT89C51的数据采集系统设计新方法
评论
共有 条评论