没有合适的资源?快使用搜索试试~ 我知道了~
tea5767数字收音机LED程序1602.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 37 浏览量
2022-06-27
03:43:28
上传
评论
收藏 262KB PDF 举报
温馨提示
试读
11页
tea5767数字收音机LED程序1602.pdftea5767数字收音机LED程序1602.pdftea5767数字收音机LED程序1602.pdftea5767数字收音机LED程序1602.pdftea5767数字收音机LED程序1602.pdftea5767数字收音机LED程序1602.pdftea5767数字收音机LED程序1602.pdftea5767数字收音机LED程序1602.pdf
资源推荐
资源详情
资源评论
//******************************************************
//功能:以 LCD1602 为显示的 TEA5767 模块的收音机
//编译软件:KELI C
//单片机:STC89C52 晶振:13.56MHZ
//设计者:兴向荣电子 zhengzhongxing39
//日期:20120610
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define DELAY5US _nop_();_nop_();_nop_();_nop_();_nop_();
//**************TEA5767 模块接线方法********************
sbit SDA=P2^6;
sbit SCL=P2^7;
//*************频率调节按键接线************************
sbit Key1=P3^2;
sbit Key2=P3^3;
//==============LCD1602 接口连接方法=====================
/*-----------------------------------------------------
|DB0-----P0.0 | DB4-----P0.4 | RW-------P2.3 |
|DB1-----P0.1 | DB5-----P0.5 | RS-------P2.4 |
|DB2-----P0.2 | DB6-----P0.6 | E--------P2.2 |
|DB3-----P0.3 | DB7-----P0.7 |
---------------------------------------------------*/
//================================================*/
#define LCM_Data P0 //LCD1602 数据接口
#define Busy 0x80 //用于检测 LCM 状态字中的 Busy 标识
sbit LCM_RW = P2^3; //读写控制输入端,LCD1602 的第五脚
sbit LCM_RS = P2^4; //寄存器选择输入端,LCD1602 的第四脚
sbit LCM_E = P2^2; //使能信号输入端,LCD1602 的第 6 脚
//*****************参数定义*****************************
unsigned long int FM_FREQ; //频率
unsigned short int FM_PLL; //PLL
uchar idata sbuf[5]; // 数据发送缓冲区
uchar idata numbyte;
uchar idata numbyte_AMP;
uchar idata ADDRESS_AMP;
uchar idata ADDRESS_SEND; //TEA5767发送地址
uchar idata ADDRESS_RECEIVE; //TEA5767接收地址
uchar idata rbuf[5]; // 数据接收缓冲区
uchar idata ampint[5];
uchar bdata PLL_HIGH;
uchar bdata PLL_LOW; //设定用于搜索和预设的可编程频率合成器
uchar bdata I2C_byte1;//发送的五字节TEA5767可位寻址的设置值
uchar bdata I2C_byte2;
uchar bdata I2C_byte3;
uchar bdata I2C_byte4;
uchar bdata I2C_byte5;
sbit MUTE =I2C_byte1^7;//如果 MUTE=1,则左右声道被静音;MUTE=0,左右声道正常工
作
sbit SM = I2C_byte1^6; //SM=1,则处于搜索模式;SM=0,不处于搜索模式
sbit SUD=I2C_byte3^7; //SUD=1,增加频率搜索;SUD=0,减小频率搜索
uchar byte1;
uchar byte2;
uchar byte3;
uchar byte4;
uchar byte5;
uchar num1,num2,num3,num4;
uchar tab1[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
bit bdata NACK; // 错误标志位
//**********相关函数声明**************************************
void init(void); //TEA5767 初始化
void delay600ms(void); //延迟 600ms
void delay100ms(void); //延迟 100ms
void delay10ms();
void delay1ms(void); //延迟 1ms
void sendnbyte(uchar idata *sla, uchar n);//与 sendbyte 函数构成 I2C 数据发送函数
void I2C_start(void); //I2C 传输开始
void sendbyte(uchar idata *ch);
void checkack(void); //检查应答讯号
void stop(void); //I2C 传输结束
void AMP_sendnbyte(uchar idata *sla,uchar numbyte_AMP);
void key_scan(void); //键扫描
void search_up(void); //接收频率向上加
void search_down(void); //接收频率向下减
void setByte1Byte2(void); //设置第一第二字节频率
void LCMInit(void);//LCD 初始
void DelayMs(uint Ms);//1MS 基准延时程序
void WriteDataLCM (uchar WDLCM);//LCD 模块写数据
void WriteCommandLCM (uchar WCLCM,BuysC); //LCD 模块写指令
uchar ReadStatusLCM(void);//读 LCD 模块的忙标
void DisplayOneChar(uchar X,uchar Y,uchar ASCII);//在第 X+1 行的第 Y+1 位置显示一个
字符
void LCDshow(void);
void DelayMs(uint Ms);
//*****************主程序******************************
void main(void)
{
numbyte = 5;
numbyte_AMP=5;
ADDRESS_SEND = 0xC0;// TEA5767 写地址 1100 0000
ADDRESS_RECEIVE=0XC1;//TEA5767读地址 1100 0001
ADDRESS_AMP=0X8E;
init(); // 初始化 TEA5767
LCMInit();//LCD 初始
LCDshow();
while(1)
{
key_scan(); //键扫描
}
}
//**************按键扫描程序**************************
void key_scan(void)
{
if(Key1==0)
{
delay10ms();
if(Key1==0)
{
while(Key1==0);
search_up(); //频率向上
LCDshow();
delay600ms();
}
}
if(Key2==0)
{
delay10ms();
if(Key2==0)
{
while(Key2==0);
search_down(); //频率向下
LCDshow();
delay600ms();
}
}
}
//*********************LCD1602 显示程序*********************
void LCDshow(void)
{
num1=FM_FREQ/100000000;
剩余10页未读,继续阅读
资源评论
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功