51单片机  GSM模块  无线通信        
 
地铁站,公交车站以及机场这种地方都有电子告示牌的存在,其中最大的问题在于更新每天的内容。本文教你如何设计一个运用GSM技术的无线电子告示牌,该项目将可以将我们从手机上发送的内容显示在LCD上。
如今还有很多无线通信科技,比如蓝牙,RF通信,Zigbee等,但只有GSM技术基于长距离,可靠以及安全的通信。
注意:我们需要发送信息的手机以及一个GSM模块才能接受该告示的内容。
原理
当用户从手机发送信息时,GSM模块会发送一下指令来代表收到新信息。
以上的指令中,“3”代表新信息的位置,比如这是收件箱中的第三条信息。如今你需要读取这条未读信息的话,需要运用以下指令来读取GSM模块里的信息。
将该指令给到GSM模块后,它会发出以下指令。
- +CMGR: “REC UNREAD”,”MD-WAYSMS”,,”13/05/20,15:31:48+34″
 - 电子发烧友
 
 
以上的指令中,“REC UNREAD”指未读信息。”MD-WAYSMS”指发送者手机号或名字,13/05/20指时间,15:31指时间,电子发烧友为该信息的内容。
威廉希尔官方网站
所需主要元器件
AT89C51
SIM 900A
16 x 2 LCD
10kΩ电位器
显示模块代码
- while (rx_data() ! = 0x0d);
 - while (rx_data() ! = 0x0a);
 - if (rx_data() == ‘+’)
 - {
 - if (rx_data() == ‘C’)
 - {
 - if (rx_data() == ‘M’)
 - {
 - if (rx_data() == ‘T’)
 - {
 - if(rx_data()==’I’)
 - {
 - while (rx_data() != ‘,’);
 - a = rx_data ();
 - delay_ms (10);
 - tx_string (“at”);
 - tx_data (0x0d);
 - tx_data (0x0a);
 - tx_string (“at + cmgf =1”);
 - tx_data (0x0d);
 - tx_data (0x0a);
 - tx_string (“at + cmgr =”);
 - tx_data (a);
 - tx_data (0x0d);
 - tx_data (0x0a);
 - while (rx_data() ! = 0x0a);
 - while (rx_data() != 0x0a);
 - while (rx_data() ! = 0x0a);
 - for (i=0; i<15; i++)
 - {
 - read [i]= rx_data();
 - }
 - lcd_stringxy(1,0,read);
 - delay_ms (5000);
 - }
 - }
 - }
 - }
 - }
 
 
 
 
              
更多回帖