当前位置:首页 > 单片机 > 单片机
[导读] BH1415F调频台控制C程序 使用keilC51 通过调试//使用AT89C52单片机,12MHz晶振,用共阳四位LED数码管//P0口输出段码,P2口扫描//#pragmaSRC(d:\\aa.asm)#include"reg52.h"#include"intrins.h"//_nop_();

BH1415F调频台控制C程序 使用keilC51 通过调试
//使用AT89C52单片机,12MHz晶振,用共阳四位LED数码管
//P0口输出段码,P2口扫描
//#pragmaSRC(d:aa.asm)
#include"reg52.h"
#include"intrins.h"//_nop_();延时函数用

#defineDisdataP0//段码输出口
#definedisCANP2//扫描口
#definekeyioP1//键盘接口
#defineucharunsignedchar
#defineuintunsignedint
sbitDA=P3^0;//数据输出
sbitCK=P3^1;//时钟
sbitCE=P3^2;//片选
sbitDIN=P0^7;//LED小数点控制
sbitmonolamp=P3^3;//立体声指示灯
uinth;//延时参量
//
//扫描段码表
ucharcodedis_7[12]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff,0xbf};
/*共阳LED段码表"0""1""2""3""4""5""6""7""8""9""不亮""-"*/
ucharcodescan_con[4]={0xfe,0xfd,0xfb,0xf7};//列扫描控制字
uintdataf_data={0x00},f_data1;//频率数据,数据运算时暂存用
uchardatadisplay[4]={0x00,0x00,0x00,0x00};//显示单元数据,共4个数据
ucharbdatacondata=0x08;//1415控制字高5位,开机为立体声状态
sbitmono=condata^3;//单声道/立体声控制位
uchardataconcommand[2],keytemp;//合成后的2个控制字,键值存放
//
/**********************************************************************/
//
//
/***********11微秒延时函数**********/
//
voiddelay(uintt)
{
for(;t>0;t--);
}
//
/***********LED显示动态扫描函数**********/
scan()
{
chark;
for(k=0;k<4;k++)//四位LED扫描控制
{
Disdata=dis_7[display[k]];
if(k==1){DIN=0;}
discan=scan_con[k];delay(90);discan=0xff;
}
}
//
//
/***********频率数据转换为显示用BCD码函数**********/
turn_bcd()
{
display[3]=f_data/1000;if(display[3]==0){display[3]=10;}//最高位为0时不显示
f_data1=f_data%1000;
display[2]=f_data1/100;//求显示十位数
f_data1=f_data1%100;
display[1]=f_data1/10;//求显示个位数
display[0]=f_data1%10;//求显示小数位
}
/***********控制字合成函数**********/
command()
{
concommand[1]=f_data/256;
concommand[0]=f_data%256;
concommand[1]=concommand[1]+condata;
}
/***********写入1个字节函数**********/
write(ucharval)
{
uchari;
CE=1;
for(i=8;i>0;i--)
{
DA=val&0x01;//
_nop_();_nop_();_nop_();_nop_();
CK=1;
_nop_();_nop_();_nop_();_nop_();
CK=0;
val=val/2;
}
CE=0;
}
/***********控制字写入1415函数**********/
w_1415()
{
write(concommand[0]);
write(concommand[1]);
}
//
//*************频率涮新*****************//
fup()
{
turn_bcd();//显示BCD码转换
command();//合成控制字
w_1415();//写入1415
}
//
/***********查键函数**********/
read_key()
{
keyio=0xf0;
keytemp=(~keyio)&0xf0;
if(keytemp!=0)
{
keytemp=keyio;
keyio=0x0f;
keytemp=keytemp|keyio;
while(((~keyio)&0x0f)!=0);//
switch(keytemp)
{
case238:{f_data++;if(f_data>1099){f_data=1099;}fup();break;}//加0.1MHZ
case222:{f_data--;if(f_data<800){f_data=800;}fup();break;}//减0.1MHZ
case190:{mono=~mono;if(mono){monolamp=0;}elsemonolamp=1;fup();break;}//立体声/单声道转换
case126:{f_data=1090;fup();break;}//预置109.0MHZ
case237:{f_data=1070;fup();break;}//预置107.0MHZ
case221:{f_data=1050;fup();break;}//预置105.0MHZ
case189:{f_data=1030;fup();break;}//预置103.0MHZ
case125:{f_data=1000;fup();break;}//预置100.0MHZ
case235:{f_data=970;fup();break;}//预置97.0MHZ
case219:{f_data=950;fup();break;}//预置95.0MHZ
case187:{f_data=930;fup();break;}//预置93.0MHZ
case123:{f_data=900;fup();break;}//预置90.0MHZ
case231:{f_data=870;fup();break;}//预置87.0MHZ
case215:{f_data=850;fup();break;}//预置85.0MHZ
case183:{f_data=830;fup();break;}//预置83.0MHZ
case119:{f_data=800;fup();break;}//预置80.0MHZ
default:{break;}//
}
}
keyio=0xff;
}
//
//
//
/**************主函数****************/
main()
{
Disdata=0xff;//初始化端口
discan=0xff;
keyio=0xff;
DA=0;//bh1415禁止
CK=0;//
CE=0;//
for(h=0;h<4;h++){display[h]=8;}//开机显示"8888"
for(h=0;h<500;h++)
{scan();}//开机显示"8888"2秒
f_data=1000;//预置1000MHZ
monolamp=0;//开机立体声灯点亮
fup();//频率送入BH1415
while(1)
{
read_key();//查键按纽
scan();//显示4ms
}
}
//
//*********************结束**************************//


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭