您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 单片机课程设计stc89c52+nrf24l01
1武汉纺织大学单片机原理与应用课程设计设计题目:nrf24l01数据传送学院:电子与电气工程学院班级:电子11201姓名:张啸宇胡安凯QQ号:12727797142目录一、思想出路:..............................................................................3二、设计方案:..............................................................................32.1、硬件设计方案:...............................................................32.2、软件设计方案:...............................................................31.驱动文件:........................................................................32.发送端主程序....................................................................43.接收端主程序....................................................................52.3、接线:...............................................................................6三、选题方案..................................................................................7四、系统原理图..............................................................................74.1、发射端:...........................................................................74.2、接收端:...........................................................................8五、程序精选..................................................................................8六、总结.........................................................................................86.1、功能总结:.......................................................................86.2、功能完善:.......................................................................96.3、自我总结:.......................................................................9七、展望:......................................................................................93一、思想出路:物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。随着我国互联网的发展,物联网相关概念也随之进入了人们的视线,物联网是继计算机、互联网与移动通信网之后的又一次信息产业化浪潮。而基于物联网的智能家居系统也渐渐浮出水面,科学技术在发展,也在慢慢的改变我们的生活。因此,为了适应潮流,我们选择了nrf24l01模块,和单片机,组成一个简单的wifi传输系统,实现简单的物联网功能。二、设计方案:2.1、硬件设计方案:一个完整的传输系统至少应该有两个部分组成。一个发射端,一个接收端。发送端:硬件:nRF24l01模块发送部分STC89C52RC单片机小系统控制发送部分数码管显示发送值代号8键独立键盘触发发送接收端:硬件:nRF24l01模块接收部分STC89C52RC单片机小系统控制接收处理显示部分LCD1602显示单片机处理后的要显示内容2.2、软件设计方案:1.驱动文件:nRF24l01的驱动头文件(引脚定义和功能函数定义),LCD1602驱动头文件(引脚定义和功能函数定义),52单片机驱动头文件。42.发送端主程序程序存储器中存储8组发送数组,扫描按键后对应子函数发送。发送成功后数码管点亮。(1)8组16字节数组。unsignedcharcodetx_buf【16】(2)键盘扫描程序unsignedcharKey_Scan(){unsignedcharkeyValue=0,i;//保存键值//--检测按键1--//if(GPIO_KEY!=0xFF)//检测按键K1是否按下{Delay10ms(1);//消除抖动if(GPIO_KEY!=0xFF)//再次检测按键是否按下{keyValue=GPIO_KEY;i=0;while((i50)&&(GPIO_KEY!=0xFF))//检测按键是否松开{Delay10ms(1);i++;}}}//GPIO_KEY在引脚定义中为#defineGPIO_KEYP2对应P2口。(3)主程序跳转到子函数部分:start:while(1){keyNum=Key_Scan();//扫描键盘switch(keyNum){case(0xFE):fun0();gotostart;break;//返回按键K1的数据case(0xFD):fun1();gotostart;break;//返回按键K2的数据case(0xFB):fun2();gotostart;break//返回按键K3的数据case(0xF7):fun3();gotostart;break;//返回按键K4的数据case(0xEF):fun4();gotostart;break;//返回按键K5的数据case(0xDF):fun5();gotostart;break;//返回按键K6的数据case(0xBF):fun6();gotostart;break;//返回按键K7的数据case(0x7F):fun7();gotostart;break;//返回按键K8的数据default:break;}(4)子函数:5voidfun0(){nrf24l01_init(NRF24L01_TX_MODE);//设置为发送端nrf24l01_set_tx_addr(tx_addr);//设置发送端地址n=1000;while(n--)//写延时为了确保接受成功率{status=nrf24l01_send(tx_buf,16);//发送数据}ledValue=0xEE;点亮数码管}3.接收端主程序接受发送来的数据。Cpu处理。写入液晶屏。while(1){lcd1602_set_point(0,0);lcd1602_disp_char('');lcd1602_disp_char('W');lcd1602_disp_char('e');lcd1602_disp_char('l');lcd1602_disp_char('c');lcd1602_disp_char('o');lcd1602_disp_char('m');lcd1602_disp_char('e');lcd1602_disp_char('');lcd1602_disp_char('t');lcd1602_disp_char('o');lcd1602_disp_char('');lcd1602_disp_char('L');lcd1602_disp_char('I');lcd1602_disp_char('B');lcd1602_disp_char('');status=nrf24l01_recv(rx_buf);if(status&0x40){lcd1602_set_point(0,1);lcd1602_disp_char('T');lcd1602_disp_char('h');lcd1602_disp_char('e');lcd1602_disp_char('');lcd1602_disp_char('B');6lcd1602_disp_char('O');lcd1602_disp_char('O');lcd1602_disp_char('K');lcd1602_disp_char(rx_buf[8]);lcd1602_disp_char('');lcd1602_disp_char('i');lcd1602_disp_char('s');lcd1602_disp_char('');a=rx_buf[8];b=a%2;if(b==1){lcd1602_disp_char('');lcd1602_disp_char('I');lcd1602_disp_char('N');}if(b==0){lcd1602_disp_char('O');lcd1602_disp_char('U');lcd1602_disp_char('T');}}}}2.3、接线:NRF24L01_MISO=P1^0;NRF24L01_MOSI=P1^1;NRF24L01_SCK=P1^2;NRF24L01_CSN=P1^3;NRF24L01_CE=P1^4;NRF24L01_IRQ=P3^2;发送端:数码管对应P1口。按键对应P2口。接收端:LCDLCD1602_RS=P1^7;LCD1602_RW=P1^6;7LCD1602_EN=P1^5;LCD1602_DATAP2三、选题方案智能图书馆:8个按键分别对应八本书。按下键就会发送对应的书目号到图书馆中心处理器,处理器中存有书目在或借出的数据。并返还到大屏幕上,可以直观的了解到书是否在图书馆。四、系统原理图4.1、发射端:P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.0/RxD10P3.1/TxD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL218XTAL119VSS20P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P2.7/A1528PSEN29ALE30EA/VPP31P0.7/AD732P0.6/AD633P0.5/AD534P0.4/AD435P0.3/AD336P0.2/AD237P0.1/AD138P0.0/AD039VCC40IC1STC89C52RC12345678P0CON012345678P1CON112345678P2CON212345678P3CON312Y011.0592MHzC030pFC130pFGNDGNDVCC+5DB0DB1DB2DB3DB4DB5DB6DB7LDB0LDB1LDB2LDB3LDB4LDB5LDB6LDB7MISOMOSISCKCSNCEERWRSRXDTXDINT0INT1ROW0ROW1COL0COL1RST单片机K1C910μFR010KGNDVCCRSTC1+1VDD2C1-3C2+4C2-5VEE6T2OUT7R2IN8R2OUT9T2IN10T1IN11R1OUT12R1IN13T1OUT14GND15VCC16IC2
本文标题:单片机课程设计stc89c52+nrf24l01
链接地址:https://www.777doc.com/doc-4795317 .html