资源简介
类似校园广播电台的数控调频发射器,单片机,BH1415F

代码片段和文件信息
#include
#include//调用_nop_()函数
#define uchar unsigned char
#define uint unsigned int
#define key P2 //键盘扫描口
sbit rs=P1^0; //液晶数据命令选择端
sbit w=P1^1; //液晶读写选择端
sbit en=P1^2; //液晶使能端
sbit MUTE=P1^3;//静音控制键
sbit DA=P1^4; //BH1415F数据输入端
sbit CLK=P1^5; //BH1415F时钟信号输入端
sbit CE=P1^6 ; //BH1415F使能端
uint data_fm; //11位频率控制字
void delay() //4微妙延迟
{
_nop_();
_nop_();
_nop_();
_nop_();
}
void delayms(int x) //毫秒延迟
{
int ij;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void write_lcdcom(uchar com) //向液晶屏送命令
{
rs=0;
w=0;
en=0;
P0=com;
delayms(5);
en=1;
delayms(5);
en=0;
}
void write_lcddata(uchar date) //向液晶屏送数据
{
rs=1;
w=0;
en=0;
P0=date;
delayms(5);
en=1;
delayms(5);
en=0;
}
void lcd_init() //液晶屏初始化
{
write_lcdcom(0x38);
write_lcdcom(0x0c);
write_lcdcom(0x06);
write_lcdcom(0x01);
}
void write_lcdfm(uint data1) // 将频率控制字转化为频率显示
{
uint baishigefen;
bai=data1/1000;
shi=data1%1000/100;
ge=data1%1000%100/10;
fen=data1%1000%100%10;
lcd_init();
if(bai)
{
write_lcdcom(0x80+0x40);
write_lcddata(0x30+bai);
}
write_lcdcom(0x80+0x41);
write_lcddata(0x30+shi);
write_lcddata(0x30+ge);
write_lcddata(‘.‘);
write_lcddata(0x30+fen);
write_lcddata(‘M‘);
write_lcddata(‘H‘);
write_lcddata(‘z‘);
}
void write_bh1415f(uint data2) //单片机将频率控制字写入BH1415F
{
int i;
CLK=0;
CE=0;
CE=1;
for(i=11;i>0;i--) //写入11位频率控制字
{
DA=data2&0x01;
data2>>=1;
delay();
CLK=1;
delay();
CLK=0;
}
DA=1; //MONO=1表示立体声开启
delay();
CLK=1;
delay();
CLK=0;
delay();
DA=0;
delay();
CLK=1;
delay();
CLK=0;
delay();
DA=0; //PD0=0 PD1=0 表明PLL输出状态为正常模式
delay();
CLK=1;
delay();
CLK=0;
delay();
DA=1; //T0=1
delay();
CLK=1;
delay();
CLK=0;
delay();
DA=0; //T1=0
delay();
CLK=1;
delay();
CLK=0;
CE=0;
}
void keyscan() //键盘扫描程序
{
uchar keytemp;
key=0xf0;
if(key!=0xf0)
delayms(5);
if(key!=0xf0)
{
keytemp=key;
key=0x0f;
keytemp=keytemp|key;
while(key!=0x0f);
switch(keytemp)
{
case 0xee:{data_fm++;if(data_fm>1020)data_fm=820;
write_lcdfm(data_fm);write_bh1415f(data_fm);break;} //以0.1MHZ频率加
case 0xde:{data_fm--;if(data_fm<820)data_fm=1020;
write_lcdfm(data_fm);write_bh1415f(data_fm);break;} //以0.1MHZ频率减
case 0xbe:{MUTE=~MUTE;break;} //静音控制
case 0xe7:{data_fm=820;write_lcdfm(data_fm);
write_bh1415f(data_fm);break;} //预置频率82MHZ
case 0xd7:{data_fm=840;write_lcdfm(data_fm);
write_bh1415f(data_fm);break;} //预置频率84MHZ
case 0xb7:{data_fm=860;write_lcdfm(data_fm);
write_bh1415f(data_fm);bre
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11059 2014-05-30 18:56 基于BH1415F的数控调频发射器设计\jack21
文件 2327 2014-05-30 18:56 基于BH1415F的数控调频发射器设计\jack21.hex
文件 59 2014-05-30 18:56 基于BH1415F的数控调频发射器设计\jack21.lnp
文件 14743 2014-05-30 18:56 基于BH1415F的数控调频发射器设计\jack21.M51
文件 1102 2014-05-30 19:07 基于BH1415F的数控调频发射器设计\jack21.opt.bak
文件 204 2016-05-03 18:21 基于BH1415F的数控调频发射器设计\jack21.plg
文件 2149 2014-04-28 16:15 基于BH1415F的数控调频发射器设计\jack21.Uv2.bak
文件 57184 2016-05-03 18:21 基于BH1415F的数控调频发射器设计\jack21.uvopt
文件 13403 2016-05-03 18:21 基于BH1415F的数控调频发射器设计\jack21.uvproj
文件 1090 2014-05-30 14:32 基于BH1415F的数控调频发射器设计\jack21_Opt.Bak
文件 2148 2014-04-27 23:12 基于BH1415F的数控调频发射器设计\jack21_Uv2.Bak
文件 6376 2005-03-22 15:22 基于BH1415F的数控调频发射器设计\STARTUP.A51
文件 14048 2014-05-30 18:56 基于BH1415F的数控调频发射器设计\STARTUP.LST
文件 758 2014-05-30 18:56 基于BH1415F的数控调频发射器设计\STARTUP.OBJ
文件 4186 2014-05-30 18:56 基于BH1415F的数控调频发射器设计\Text1.c
文件 9564 2014-05-30 18:56 基于BH1415F的数控调频发射器设计\Text1.LST
文件 11958 2014-05-30 18:56 基于BH1415F的数控调频发射器设计\Text1.OBJ
目录 0 2016-05-03 18:21 基于BH1415F的数控调频发射器设计
----------- --------- ---------- ----- ----
152358 18
- 上一篇:mvc学习mvc学习mvc学习
- 下一篇:木马制作教程
相关资源
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
- 51单片机基于protues的几个仿真实例
- 基于52单片机的直流电压测量
- 38k单片机红外发送代码、keil
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 武汉理工大学 单片机课程设计 16*16点
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- 浙江工业大学2005-2006学年单片机习题
- 单片机与PC机串口通讯仿真
- 毕业设计 单片机 对讲机 protues仿真
- 数据采集系统——ADC0808的应用,单片
评论
共有 条评论