您好通过串口向GSM发送短信信息后要加一个“0”之类的标示符,具体是哪个我忘了,可以网上查一下。另外你以后提问题,可以把具体的不良现象和 *** 作方法将一下,有助于大家帮你一起分析问题。
(1)检查uart是否设置正确。GSM模块的波特率是可以变的,检查下是否正确。
(2)把单片机Uart接口接到PC上,用串口调试助手接收信息,判断单片机发码情况。
(3)把GSM模块uart接口接到PC,用串口调试助手手动发码确认是否可以顺利控制GSM模块。
可以查看是不是while(!Hand("OK"));这句语句没有通过,你可以把LED4=0; 放while(!Hand("OK"));前面,看看灯会不会亮,如果两,则说明while(!Hand("OK"));没有满足跳转条件,你得进一步查找
sim900a的手册。
用原子的程序调试成功了,我自己的没成功。。。估计跟电脑串口调试助手,底层驱动有关。。我先用电脑和sim900a相互收发短信正常后,然后SIM900A模块别断电,带电 *** 作把串口线和战舰开发板串口相应接好。战舰开发板,和SIM900A模块通信就正常了。战舰开发板串口就可以收到SIM900A的串口发送的信息了。。
电脑串口调试助手和SIM900A通信正常后,SIM900A带电 *** 作,和战舰开发板串口跳线。此时通信正常。
搞不懂那电脑串口调试助手,底层怎么运行的,执行了什么代码。。。搞懂这个就可以解决了,但是我还没有搞懂电脑串口调试助手那界面怎么写出来的,底层到底进行了什么 *** 作。。直接抄原子哥的代码,做触摸屏电话试验了。。
你要是研究出来了,通知我一下。我现在正在学习界面编程。。。。
我用的是SIM900应该差别不大,接上电源后有2个指示灯,其中一个长亮,另外一个隔6S闪亮说明已经搜索到网络,如果是隔1S闪亮就是搜索网络中,隔3S就是正在进行数据传输。另外确定你的波特率设定是否正确,如果你用过AT+IPR=设定波特率,那么你用串口就必须用相同的波特率才能进行通讯。
使用中断方式获取到短信,然后对短信的内容进行解析,然后执行相应的功能就可以。
void serial () interrupt 4 using 3
{
uchar bb;
if(RI==0)
return;
ES=0;
RI=0;
bb=SBUF;
if(bb=='m') //如果接收到的短信内容是m,就执行flag4=1;
{
flag4=1;
}
if(bb=='k')//如果接收到的短信内容是k,就执行flag4=0;
{
flag4=0;
}
ES=1;
}
一、 设计目的
1、 学习基本理论在实践综合运用的经验,掌握工程系统设计的基本方法、设计步骤,培养综合设计与调试能力。
2、 学会以STC89C52为核心芯片的温度报警器的设计方法和性能指标测试方法。
3、 培养实践技能,提高分析和解决实际问题的能力。
二、 设计任务及要求
1、 设计并制作一个可用显示模块显示实时温度、报警温度,当环境温度超过或低于某个值时,实施报警。主要技术指标要求:
设计温度分辨率为01摄氏度
2、 设计电路结构,画出编程流程框图,选择电路元件,计算确定元件参数,画出实用原理电路图。
二 MCS-51单片机
单片机SCM(Single Chip Microcomputer),即Microcontroller,是把微型计算机主要部分都集成在一个芯片上的单芯片微型计算机。主要包括了微处理器(CPU)、存储器(ROM, RAM)、输入/输出口(I/O口)和定时器/计数器、中断系统等功能部件。单片机自70年代出现以来,已经有了很大的发展,被广泛应用于机械、测量控制、工业自动化、智能接口和智能仪表等许多领域。
1 MCS-51单片机的引脚图:
2 MCS-51单片机的内部结构图:
(1)电源引脚Vcc和Vss:
Vcc(40脚):电源端,+5伏
Vss(20脚):接地端
(2)时钟电路引脚XTAL1和XTAL2
XTAL1(18脚)和XTAL2(19脚):接外部晶体和微调晶体。在89C51
中,它们分别是震荡电路反向放大器的输入端和输出端,震荡电路的频率就是晶体固有频率。
(3) 控制引脚信号RST,ALE,PSEN和EA
RST/VpD(9脚):RST是复位信号输入端,高电平有效。此引脚的第二功能是VpD,即备用电源的输入端。
ALE/PROG(ADDRESS LATCHENABLE/PROGRAMMING(30脚):地址锁存允许信号端。上电后,此端不断向外输出正脉冲信号,此频率为振荡频率fosc的1/6。CPU访问片外存储器时,ALE输出信号作为所存低八位地址的控制信号。
PSEN (PROGRAM STORE ENABLE,29脚):程序存储允许输出信号端。在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引脚接EPROM的OE端。PSEN端有效时,即允许读出EPROM/ROM中的指令代码。
EA/Vpp(ENABLE ADDRESS/VOLTAGE PULSE OF RAMMING,31脚):外部程序存储器地址输入端/固化编程电压输入端。当输入信号EA引脚接高电平时,CPU只访问片内EPROM/ROM并执行内部程序存储器中的指令,但是当PC超过0FFFH时,将自动转去执行片外程序存储器中的内容。当输入信号EA引脚接低电平时,CPU只访问外部EPROM/ROM并执行外部程序存储器中的指令,而不管是否具有片内程序存储器。此引脚的第二功能Vpp是对片内EPROM固化编程时,作为施加较高编程电压的输入端。
(4) 输入/输出端口P0,P1,P2和P3
P0口(P00-P07,39-32脚):一个8为准双向I/O端口。当P0口作为输入口使用时,应首先向锁存器(地址80H)写入全1,此时P0口的全部引脚悬空,可作为高阻抗输入。在CPU访问片外存储器时,P0口分时提供低8位地址和8位数据的复位总线。 P0口的地址/数据分时使用分两种情况:一种是用作输出地址/数据总线,另一种是由P0口输入数据。而且P0口作I/O输出时,输出级属开漏电路,必须接上拉电阻,才有高电平输出。
P1口、P2口(P10-P17,1-8脚;P20-p27,21-28脚):都是上拉电阻的8位准双向I/O端口。每一位可以驱动4个LS型TTL负载。在访问片外EPROM/ROM时,P2口可以输出高8位地址。
P3口(P30-P37,10-17脚):P3口是一个带内部上拉电阻的8位准双向I/O端口。P3每一位都能驱动4个LS型TTL负载。P3口的引脚还具有第二功能。
3单片机的晶振电路:
4单片机的复位电路:
三、显示器件
1 数码管的分类
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。
2 等效电路:
3 字形代码与十六进制数的对应关系
以上就是关于您好,不知道您能不能把51单片机在特定条件下可以控制sim900a拨打电话的程序发给我全部的内容,包括:您好,不知道您能不能把51单片机在特定条件下可以控制sim900a拨打电话的程序发给我、51单片机控制sim900a收发短信,到了删短信那里卡住了(灯不亮),求大神指出哪里错了、单片机为什么接收不到SIM900A模块发送的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)