欢迎来到天天文库
浏览记录
ID:38711631
大小:50.50 KB
页数:12页
时间:2019-06-18
《基于单机收音机的C语言程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单片机源程序#include//调用单片机头文件#defineucharunsignedchar//无符号字符型宏定义变量范围0~255#defineuintunsignedint//无符号整型宏定义变量范围0~65535#includeucharkey_can;//按键值的变量ucharmenu_1;//菜单设计的变量#definemax_freq108000#definemin_freq87500//数据接收和发送地址数组ucharradio_write_data[5]={0
2、x2A,0x85,0x60,0x11,0x00};//默认电台87.8ucharradio_read_data[5];//TEA5767读出的状态uchari;uchar*ptr;//指向发送数组bitack;//应答信号检测uchartemp_l,temp_h;//定义PLL的数值uintpll;ucharflag_value;uintvalue;//非关键函数申明voidradio_read(void);voidget_pll(void);voidget_frequency(void);voidauto_searc
3、h(bitmode);voidInitial(void);//系统初始化voidDelay(uintn);//普通延时//24C04函数申明voidStart_I2C(void);voidStop_I2C(void);voidSendByte(ucharfdata);/*24C04子函数*/ucharRecByte(void);voidAck_I2C(bita);bitSendStr(ucharSlave,uchar*Source,ucharNum);bitRecStr(ucharSlave,uchar*Source,
4、ucharNum);bitflag_1s;unsignedlongfrequency=88000;//频率中间变量sbitSDA=P1^4;sbitSCL=P1^5;//IIC的操作线//这三个引脚参考资料sbitrs=P1^0;//1602数据/命令选择引脚H:数据L:命令sbitrw=P1^1;//1602读写引脚H:数据寄存器L:指令寄存器sbite=P1^2;//1602使能引脚下降沿触发ucharcodetable_num[]="0123456789abcdefg";/********************
5、*************************************************名称:delay_uint()*功能:小延时。*输入:无*输出:无***********************************************************************/voiddelay_uint(uintq){while(q--);}/*********************************************************************名称:w
6、rite_com(ucharcom)*功能:1602命令函数*输入:输入的命令值*输出:无***********************************************************************/voidwrite_com(ucharcom){e=0;rs=0;rw=0;P0=com;delay_uint(10);e=1;delay_uint(50);e=0;}/************************************************************
7、*********名称:write_data(uchardat)*功能:1602写数据函数*输入:需要写入1602的数据*输出:无***********************************************************************/voidwrite_data(uchardat){e=0;rs=1;rw=0;P0=dat;delay_uint(10);e=1;delay_uint(50);e=0;}/***************************************
8、******************************名称:write_sfm2(ucharhang,ucharadd,uchardate)*功能:显示2位十进制数,如果要让第一行,第五个字符开始显示"23",调用该函数如下write_sfm1(1,5,23)*输入:行,列,需要输入1602的数据*输出:无*********
此文档下载收益归作者所有