Thông báo
Collapse
No announcement yet.
cần giúp gởi tin nhắn với module sim300cz
Collapse
X
-
các bác nào ra tay giúp em sơ đồ nguyên lý với, em đang tìm hiểu về đề tài này mà không biết làm sao.
-
vdk và modun GSM có cùng mức điện áp theo chuẩn TTL nên được nối với nhau ko cần qua thiết bị convert. vdk và modun GSM giao tiếp qua 1 cổng UART, nối chéo nhau giữa 2 chân TXD và RXD của vdk và modun gsm.
Leave a comment:
-
Nguyên văn bởi plmobile Xem bài viếtsimcard là smartcard theo chuẩn chân iso7816
truyền nhận rs232 thì theo chuẩn phoenix =>serial reader, các hãng hay dùng chuẩn smartcard reader
search google từ khóa sim protocol thì có nhiều nữa
Leave a comment:
-
Nguyên văn bởi gauden Xem bài viết[i]=m;
}
#int_rda
void ngat_modun(){
ngat();
}
void main(){
i=0;
lcd_init();
enable_interrupts(GLOBAL);
enable_interrupts(int_rda);
while (true){
printf(lcd_putc,"%d",i);
}
}
Leave a comment:
-
simcard là smartcard theo chuẩn chân iso7816
truyền nhận rs232 thì theo chuẩn phoenix =>serial reader, các hãng hay dùng chuẩn smartcard reader
search google từ khóa sim protocol thì có nhiều nữa
Leave a comment:
-
Nguyên văn bởi gauden Xem bài viếtđang tập viết tin nhắn điều khiển thiết bị,việc đầu tiên mình muốn đếm độ dài của một tin nhắn gửi đến để sau đó lấy được tin nhắn về và xử lí nó.nhưng không hiểu sao mỗi lần gửi tin nhắn thì lại nhận được số lần ngắt(số kí tự trả về từ modunsim) lại khác nhau.tất nhiên là cùng một tin nhắn như nhau.ai đã gặp rồi xin giải thích giúp mình với,code đơn giản của mình như sau:
#include <18F4431.h>
#include <def_877a.h>
#FUSES HS,NOWDT,NOPROTECT,NOLVP
#use DELAY (clock=20000000)
#use rs232(stream=rs232A, baud=9600, xmit=PIN_c0,rcv=PIN_c1)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8)
#include <stdio.h>
#include <string.h>
#include <stdlibm.h>
#include <stdlib.h>
#include <LCD1.c>
int i,m;
ngat(){
delay_ms(1);
m=getc();
i++; //nếu có kí tự gửi đến từ modunsim thì tăng biến
str[i]=m;
}
#int_rda
void ngat_modun(){
ngat();
}
void main(){
i=0;
lcd_init();
enable_interrupts(GLOBAL);
enable_interrupts(int_rda);
while (true){
printf(lcd_putc,"%d",i);
}
}
Leave a comment:
-
đang tập viết tin nhắn điều khiển thiết bị,việc đầu tiên mình muốn đếm độ dài của một tin nhắn gửi đến để sau đó lấy được tin nhắn về và xử lí nó.nhưng không hiểu sao mỗi lần gửi tin nhắn thì lại nhận được số lần ngắt(số kí tự trả về từ modunsim) lại khác nhau.tất nhiên là cùng một tin nhắn như nhau.ai đã gặp rồi xin giải thích giúp mình với,code đơn giản của mình như sau:
#include <18F4431.h>
#include <def_877a.h>
#FUSES HS,NOWDT,NOPROTECT,NOLVP
#use DELAY (clock=20000000)
#use rs232(stream=rs232A, baud=9600, xmit=PIN_c0,rcv=PIN_c1)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8)
#include <stdio.h>
#include <string.h>
#include <stdlibm.h>
#include <stdlib.h>
#include <LCD1.c>
int i,m;
ngat(){
delay_ms(1);
m=getc();
i++; //nếu có kí tự gửi đến từ modunsim thì tăng biến
str[i]=m;
}
#int_rda
void ngat_modun(){
ngat();
}
void main(){
i=0;
lcd_init();
enable_interrupts(GLOBAL);
enable_interrupts(int_rda);
while (true){
printf(lcd_putc,"%d",i);
}
}
Leave a comment:
-
Em cũng đang làm đề tài này, cũng test sim qua hyper gửi sms va call đều ok.Nhưng kết nối sim 300 và pic xong ,nạp code xong, gửi tin nhắn sms thì không thấy phản hồi lại,không biết code này có đúng hông xin anh chị giúp đỡ e ạ.E cám ơn nhiều .Đây là source code của em,dùng trình dich ccsc.
#include <18f26K20.h> // chuong trinh su dung cho vi dieu khien Pic18f26k20
#device icd=true // tao ma tuong thich debug phan cung Microchip
#DEVICE ADC=10 // su dung ADC 10 bit
#fuses HS,NOWDT,NOPROTECT,NOLVP // khai bao cac thiet dat cho Pic
#use delay(clock=11059000) // su dung OSC=11,059 Mhz
#include <stdio.h>
#include <string.h>
#include <stdlibm.h>
#include <stdlib.h>
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7,stream=SENSOR)
// baud= 9600, chan truyen C6, chan nhan C7
//************************************************** ******************************
//khai bao thanh ghi
#BYTE PORTA =0xf80
#BYTE PORTB =0xf81
#BYTE PORTC =0xf82
#BYTE ANSELH = 0xF7F
#BYTE ANSEL = 0xF7E
#BYTE TRISA = 0xF92
#BYTE TRISB = 0xF93
#BYTE ADCON2 = 0xFC0
#BYTE ADCON1 = 0xFC1
#BYTE ADCON0 = 0xFC2
#BYTE INTCON = 0xFF2
#BYTE INTCON2 = 0xFF1
#BYTE INTCON3 = 0xFF0
#BYTE T0CON = 0xFD5
#BYTE TMR0L = 0xFD6
#BYTE TMR0H = 0xFD7
#BYTE PIR1 = 0x0F9E
#BYTE PIE1 = 0x0F9D
#BYTE T1CON = 0x0FCD
#BYTE T1GCON = 0x0F9A
#BYTE TCLKCON = 0x0F52
//************************************************** ******************************
#bit INTCON_GIEH = INTCON.7
#bit INTCON_GIEL = INTCON.6
#bit INTCON_TMR0IE = INTCON.5
#bit INTCON_TMR0IF = INTCON.2
#bit INTCON2_TMR0IP = INTCON2.2
#bit INTCON_INT0IE = INTCON.4
#bit INTCON_INT0IF = INTCON.1
#bit INTCON2_INTEDG0 = INTCON2.6
#bit INTCON2_INTEDG1 = INTCON2.5
#bit INTCON3_INT1IE = INTCON3.3
#bit INTCON3_INT1IF = INTCON3.0
#bit TRISAbits_TRISA0 = TRISA.0
#bit TRISAbits_TRISA1 = TRISA.1
#bit TRISAbits_TRISA2 = TRISA.2
#bit TRISAbits_TRISA3 = TRISA.3
#bit TRISAbits_TRISA4 = TRISA.4
#bit TRISBbits_TRISB1 = TRISB.1
#bit TRISBbits_TRISB0 = TRISB.0
//************************************************** ******************************
//khai bao bien
#bit I_CD = PORTB.2
#bit O_TN = PORTC.0
#bit O_LOA = PORTC.1
#bit O_RUN = PORTC.2
//************************************************** ******************************
#define BUFFER_SIZE 500
BYTE buffer[BUFFER_SIZE];
unsigned char temp_array[500];
unsigned int16 next_in = 0;
unsigned int16 next_out = 0;
unsigned int16 count =0;
unsigned char temp_sdt[200];
unsigned char MKmacdinh[9] = "ADA",MK_tam[8],MSGmacdinh[102]="";
int proba,k,dem_ND=0,skipline=2,status=0,count_mk=0,co unt_temp=0;
unsigned char conf_MSG[]="MSG:",temp_MSG[102];
unsigned char conf_PW[]="PW:",temp_MK[9],temp_PT[9];
unsigned char conf_GETPW[15]="GET PASSWORD",conf_CONF[]="CONF:",PTOFF[]="OFF",PTON[]="ON",conf_PT[]="PT:";
unsigned char conf_NHD[]="ND:",temp_NHD[3],NHDmacdinh_txt[3];
unsigned char READY[]="READY",NETW[]="+CREG: 0,1";
int NHDmacdinh_int=45;
int save_pw,save_phone,save_msg,save_n=0,save_nhd=0,ic ount=0,inhietdo=0,check_sim=0,check_nw=0,check_crd =0;
int itinnhan=0;
int ichuyendong=0,ichuyendong1=0;
int icua = 0,icua1=0;
int inuoc = 0,inuoc1 = 0;
int ikhoi = 0,ikhoi1=0;
int inc = 0,inc1=0;
int itimer0=0;
int DONG=0,MO=0,PT_MO=0,PT_DONG=0;
float tbnd=0,value=0;
unsigned int doc =176,chao=0,count_dong=0,count_mo=0,count_cd=0,cou nt_khoi=0,count_nuoc=0;
int time_out=0,check_NC=0,check_CD=0,check_KHOI=0,chec k_NUOC=0,check_ND=0,alarm=0;
long icheck_NC=0,icheck_CD=0,icheck_KHOI=0,icheck_NUOC= 0,icheck_ND=0;
//ham khai bao thoi gian timer0
//bat timer0
void en_timer0()
{
INTCON_TMR0IE = 1;
INTCON_TMR0IF = 0;
}
//tat timer0
void dis_timer0()
{
INTCON_TMR0IE = 0;
INTCON_TMR0IF = 0;
//INTCON2_TMR0IP = 1;
}
//************************************************** ******************
//khoi tao timer0
void init_timer0()
{
T0CON = 0b11000111;
TMR0L = 0;
TMR0H = 0;
}
void en_cuadong()
{
INTCON_GIEH = 1;
INTCON_GIEL = 1;
INTCON3_INT1IE = 1;
INTCON3_INT1IF = 0;
INTCON2_INTEDG1 = 0;//dong:0-->1
}
void en_cuamo()
{
INTCON_GIEH = 1;
INTCON_GIEL = 1;
INTCON3_INT1IE = 1;
INTCON3_INT1IF = 0;
INTCON2_INTEDG1 = 1;//mo:1-->0
}
void dis_cuadong()
{
INTCON_GIEH = 1;
INTCON_GIEL = 1;
INTCON3_INT1IE = 0;
INTCON3_INT1IF = 0;
INTCON2_INTEDG1 = 0;
}
int instr(unsigned char *chuoi,unsigned char *chuoi_ss)
{
int i,j,n=0,h=0;
int dem,dem_ss;
dem = strlen(chuoi);
dem_ss = strlen(chuoi_ss);
}
//************************************************** ******************
struct quanliso
{
unsigned char dt[12];
}; struct quanliso so[11];
struct quanlind
{
float nd;
}; struct quanlind ql[11];
//************************************************** ******************
//************************************************** ******************
//************************************************** ******************
///////////////////////////////////////
//ham ngat tin nhan
#int_ext
void ngat_tinnhan()
{
itinnhan=1;
}
//************************************************** ******************
//ham ngat nhan tu UART
#int_rda
void serial_isr()
{
buffer[next_in]=getc();
if(next_in==next_out)
next_in=0; // Buffer full !!
}
///////////////////////////////////
//ham ngat timer0
#INT_timer0
void ngat_timer0()
{
itimer0++;
// Kiem tra Chuyen dong
if(itimer0==1)
{
if(ichuyendong==0)
{
if(input(PIN_B2)==1)
{
ichuyendong=1;
}
}
}
init_timer0();
INTCON_TMR0IF = 0;
}
//************************************************** ******************
//TIM VI TRI
int position(unsigned char *chuoi,unsigned char *chuoi_ss)
{
int hi,hj,hn=0,hh=0;
int hdem,hdem_ss;
hdem = strlen(chuoi);
hdem_ss = strlen(chuoi_ss);
for(hi=0;hi<hdem;hi++)
{
if(*(chuoi + hi) == *(chuoi_ss))
{
for(hj = hi;hj<hdem_ss+hi;hj++)
{
if(hn==hdem_ss) {return hi;};
}
}
}
return 0;
}
//XOA BO DEM
void erase_buffer()
{
unsigned int16 i;
for(i=0;i<BUFFER_SIZE;i++)
buffer[i]=0;
next_in=0;
next_out=0;
count=0;
}
//CAU HINH GSM
void gsm_config()
{ int i;
delay_ms(4000);
printf("AT\n\r");
delay_ms(500);
printf("AT\n\r");
delay_ms(500);
printf("AT\n\r");
delay_ms(500);
printf("AT\n\r");
delay_ms(500);
printf("AT+CMGF=1\n\r");
delay_ms(500);
printf("AT+CMGF=1\n\r");
delay_ms(500);
printf("AT&W\n\r");
// printf("ATE0\n\r");
delay_ms(1500);
erase_buffer();
}
//************************************************** ******************
//************************************************** ******************
//************************************************** ******************
void main()
{ //khoi tao cac bien dem cuc bo
int8 i=0,n=0,count_dauphay=0,count2_2cham=0,mposition=0 ;
int8 dem;
//khoi tao ngat
enable_interrupts(int_rda);
#if defined(__PCD__)
enable_interrupts(intr_global);
#else
enable_interrupts(global);
#endif
//************************************************** ******************
O_TN = 0;
O_RUN = 0;
O_LOA = 0;
set_tris_b(0b00001111);//nhan xung vao INPUT
set_tris_c(0b10000000);
TRISAbits_TRISA2 = 0; // OUTPUT PORTA.2
TRISAbits_TRISA3 = 0; // OUTPUT PORTA.3
TRISAbits_TRISA4 = 0; // OUTPUT PORTA.3
O_TN = 0;
O_RUN = 0;
O_LOA = 0;
delay_ms(1000);
do{
O_TN=1;
delay_ms(500);
O_TN=0;
delay_ms(500);
i++;
}
while(i<2);
i=0;
gsm_config();
//************************************************** ****************************
while(1)
{
//************************************************** ****************************
//bat dau xu li cac trang thai ngo vao(cam bien)
//kiem tra neu co chuyen dong thi se bao tin nhan
if(ichuyendong1==0)
{
if(ichuyendong==1)
{
O_LOA = 1;
check_CD = 1;
for(i=0;i<n+1;i++)
{ printf("AT+CMGS=\"%s\"\n\r",so[i].dt);
delay_ms(100);
printf("Nha tai %s co NGUOI. De nghi kiem tra.",MSGmacdinh);
putc(26);
delay_ms(1000);
}
delay_ms(2000);
ichuyendong1=1;
ichuyendong=ichuyendong1=0;
}
ichuyendong=0;
count_cd=0;
}
//************************************************** ***************************
//thuc hien va luu du cac lenh khi co tin nhan den
if(itinnhan)
{
start:i=0;count=0;count_mk=0;count2_2cham=0;dem_nd =0;
printf("AT+CMGR=1\n\r");
delay_ms(500);
O_TN=0;
//kiem tra lenh CONF: cai dat so dien thoai
if(instr(buffer,conf_CONF))
{
mposition = position(buffer,conf_CONF);
dem_ND=0;
do
{
temp_array[dem_ND++]=buffer[mposition++];
}
while(buffer[mposition]!=10);
count_mk = 0;
///////////////////////////////////////////
// BAT DAU VONG LAP KIEM TRA CONF
if(instr(temp_array,conf_CONF))
{
// BAT DAU VONG LAP KIEM TRA MK
if(instr(MK_tam,MKmacdinh))
{
for(i=0;i<11;i++)
for(n=0;n<12;n++)
so[i].dt[n]=0;
// BAT DAU LUU SO DIEN THOAI
O_TN=1;
delay_ms(400);
O_TN=0;
count_temp=strlen(temp_array);
count_temp=count_temp-count2_2cham;
count_dauphay=0;
i=0,n=0;
sdt:
i=dem;
do
{
if(temp_sdt[i]==13) {so[n].dt[i-dem]=0;goto next;}
so[n].dt[i-dem] = temp_sdt[i];
i++;
}
while(temp_sdt[i]!=',');
n++;
dem=i+1;
goto sdt;
next:
for(i=0;i<n+1;i++)
{ printf("AT+CMGS=\"%s\"\n\r",so[i].dt);
delay_ms(100);
printf("So dien thoai cua ban da duoc dua vao he thong canh bao");
putc(26);
delay_ms(1000);
}
O_TN=1;
delay_ms(300);
O_TN=0;
}
// da ket thuc doc va luu vao so dien thoai
}
printf("AT+CMGD=1\n\r");
delay_ms(200);
itinnhan=0;
erase_buffer();
///////////////////////////////////////////
}
if(save_phone==49)
{
if(instr(buffer,conf_PW))
{
mposition = position(buffer,conf_PW);
dem_ND=0;
// BAT DAU VONG LAP KIEM TRA MK
do{
MK_tam[count_mk]=temp_array[3+count_mk];//lay mat khau sau dau
count_mk++;
}
while(temp_array[3+count_mk]!=':');//cho toi khi gap dau 2 cham tiep theo
count2_2cham=3+count_mk+1; // luu lai vi tri dau 2 cham thu 2
if(instr(MK_tam,MKmacdinh))
{
// xoa bien MK moi truoc khi luu
for(i=0;i<8;i++)
MKmacdinh[i]=0;
// Bat dau dem
count_temp=strlen(temp_array);
count_temp=count_temp-count2_2cham;
count_dauphay=0;
i=0;
for(i=0;i<n+1;i++)
{
printf("AT+CMGS=\"%s\"\n\r",so[i].dt);
delay_ms(100);
printf("Mat khau moi:%s",MKmacdinh);
putc(26);
delay_ms(1000);
}
O_TN=1;
delay_ms(300);
O_TN=0;
}
printf("AT+CMGD=1\n\r");
delay_ms(200);
itinnhan=0;
erase_buffer();
}
}
/////////////////////////////////////////////////////////
if(save_phone==49)
{
if(instr(buffer,conf_PT))
{
mposition = position(buffer,conf_PT);
dem_ND=0;
do{
temp_array[dem_ND++]=buffer[mposition++];}
while(buffer[mposition]!=10);
count_mk = 0;
// BAT DAU VONG LAP KIEM TRA MK
do{
MK_tam[count_mk]=temp_array[3+count_mk];//lay mat khau sau dau
count_mk++;
if(count_mk>8)
{
count_mk=0;
printf("AT+CMGD=1\n\r");
goto start;
}
}
while(temp_array[3+count_mk]!=':');//cho toi khi gap dau 2 cham tiep theo
count2_2cham=3+count_mk+1; // luu lai vi tri dau 2 cham thu 2
if(instr(MK_tam,MKmacdinh))
{
if(instr(temp_array,PTON))
{
//tat cac ngat va xoa trang thai bien ve 0
for(i=0;i<n+1;i++)
{
printf("AT+CMGS=\"%s\"\n\r",so[i].dt);
delay_ms(50);
printf("Bat chuc nang bao ve he thong tai nha %s",MSGmacdinh);
putc(26);
delay_ms(1000);
}
delay_ms(5000);
en_timer0();
//DONG=0;
// PT_MO=0;
//dis_int0();
//Led_cd = 0;
O_TN=1;
//write_eeprom(502,'0');
delay_ms(300);
O_TN=0;
delay_ms(10000);
}
if(instr(temp_array,PTOFF))
{
//tat cac ngat va xoa trang thai bien ve 0
dis_timer0();
PT_MO=1;
O_LOA = 0;
//O_KHOI = 0;
//O_NUOC = 0;
//O_CUA = 0;
//O_NC= 0;
ichuyendong=ichuyendong1=0;
ikhoi=ikhoi1=0;
inuoc=inuoc1=0;
inc=inc1=0;
//ket thuc
delay_ms(1000);
for(i=0;i<n+1;i++)
{
printf("AT+CMGS=\"%s\"\n\r",so[i].dt);
delay_ms(100);
printf("TAT bao ve tai nha %s.",MSGmacdinh);
putc(26);
delay_ms(1000);
}
//dis_int0();
// Led_cd = 0;
O_TN=1;
// write_eeprom(502,'0');
delay_ms(300);
O_TN=0;
delay_ms(10000);
}
printf("AT+CMGD=1\n\r");
delay_ms(200);
itinnhan = 0;
erase_buffer();
}
}
}
//************************************************** ***************************
//Bat dau kiem tra lenh MSG
if(save_phone==49)
{
if(instr(buffer,conf_MSG))
{
mposition = position(buffer,conf_MSG);
dem_ND=0;
do{
temp_array[dem_ND++]=buffer[mposition++];}
while(buffer[mposition]!=10);
count_mk = 0;
// BAT DAU VONG LAP KIEM TRA MK
do{
MK_tam[count_mk]=temp_array[4+count_mk];//lay mat khau sau dau
count_mk++;
}
while(temp_array[4+count_mk]!=':');//cho toi khi gap dau 2 cham tiep theo
count2_2cham=4+count_mk+1; // luu lai vi tri dau 2 cham thu 2
if(instr(MK_tam,MKmacdinh))
{
// Bat dau dem
count_temp=strlen(temp_array);
count_temp=count_temp-count2_2cham;
count_dauphay=0;
i=0;
for(i=0;i<n+1;i++)
{
printf("AT+CMGS=\"%s\"\n\r",so[i].dt);
delay_ms(50);
printf("Da cai dia chi tai %s",MSGmacdinh);
putc(26);
delay_ms(1000);
}
O_TN=1;
delay_ms(300);
O_TN=0;
}
}
}
//************************************************** ***************************
printf("AT+CMGD=1\n\r");
delay_ms(200);
itinnhan=0;
erase_buffer();
}
}
}
Leave a comment:
-
em đã sửa được rồi,code ko có sai đâu ạ,kiểm tra mạch cứng bị hở chỗ switch ạ.
thân,
Leave a comment:
-
Cho xin cái mạch nguyên lý.
Theo như mình nhận xét code này bạn viết khá sơ sài, chưa có kiểm tra module sim xem đã khởi động chưa, chưa có kiểm tra phản hồi sau khi gửi tin nhắn.
Mình đọc code chỉ thấy bạn setting cho module của bạn ở chế độ mode text nhưng mình nhớ khi làm việc giữa pic và sim300 để có thể gửi tin nhắn, đọc tin nhắn tức thời cần phải setting ở 1 vài chỗ nữa. Nếu bạn đã setting rồi nên up luôn phần setting để tiện theo dõi.
Chúc bạn thành công!
Ngô Đông Y
********
Mobile : 0984053088
Yahoo : mailabautroixanh_39@yahoo.com
Email : mailabautroixanh39@gmail.comLast edited by lightspy39; 01-05-2011, 00:17.
Leave a comment:
-
cần giúp gởi tin nhắn với module sim300cz
chào mọi người,.
em hiện đang làm đồ án với con sim300CZ+pic
em test thử module sim qua Hyper thì thấy ok hết,cả nhắn tin và thực hiện cuộc gọi.
và em cũng đã thử lun con pic qua Hyper xem có gởi đúng lệnh theo kiểu AT hay ko,và thấy hắn gởi cũng chính xác.
Thế khi em kết nối trực tiếp con pic với module sim để thử gởi 1 tin nhắn,thì lại ko chạy được ạ
AC nào có kinh nghiệm làm phần này rồi hay đã từng gặp lỗi giống như em,thì xin AC chỉ giúp em với ạ.
Đoạn code trên Pic của em :
Code:#include <18f26K20.h> #device ADC=10 #fuses HS,NOWDT,NOPROTECT,NOLVP #use delay(clock=11059000) #include <stdio.h> #include <string.h> #include <stdlibm.h> #include <stdlib.h> #use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7) // baud= 9600, chan truyen C6, chan nhan C7 #BYTE PORTA =0xf80 #BYTE PORTB =0xf81 #BYTE PORTC =0xf82 #BYTE ANSELH= 0xF7F #BYTE ANSEL = 0xF7E #BYTE TRISA = 0xF92 #BYTE TRISB = 0xF93 #BYTE ADCON2 = 0xFC0 #BYTE ADCON1 = 0xFC1 #BYTE ADCON0 = 0xFC2 #BYTE INTCON = 0xFF2 #BYTE INTCON2 = 0xFF1 #BYTE INTCON3 = 0xFF0 #BYTE T0CON = 0xFD5 #BYTE TMR0L = 0xFD6 #BYTE TMR0H = 0xFD7 #BYTE PIR1 = 0x0F9E #BYTE PIE1 = 0x0F9D #BYTE T1CON = 0x0FCD #BYTE T1GCON = 0x0F9A #BYTE TCLKCON = 0x0F52 //*********************************************************************************************** #bit INTCON_GIEH = INTCON.7 #bit INTCON_GIEL = INTCON.6 #bit INTCON_TMR0IE = INTCON.5 #bit INTCON_TMR0IF = INTCON.2 #bit INTCON2_TMR0IP = INTCON2.2 #bit INTCON_INT0IE = INTCON.4 #bit INTCON_INT0IF = INTCON.1 #bit INTCON2_INTEDG0 = INTCON2.6 #bit INTCON2_INTEDG1 = INTCON2.5 #bit INTCON3_INT1IE = INTCON3.3 #bit INTCON3_INT1IF = INTCON3.0 #bit TRISAbits_TRISA0 = TRISA.0 #bit TRISAbits_TRISA1 = TRISA.1 #bit TRISAbits_TRISA2 = TRISA.2 #bit TRISAbits_TRISA3 = TRISA.3 #bit TRISAbits_TRISA4 = TRISA.4 #bit TRISBbits_TRISB1 = TRISB.1 #bit TRISBbits_TRISB0 = TRISB.0 //char chuoi_sms="ON_1"; // khai bao chuoi nay de so sanh vs tn,neu tn goi den on 1 thi ham ss chuoi return ve 1,bat role //char chuoi_sms2="ON_2"; void send_sms(void) { printf("AT+CMGS=\"0905638093 \"\n"); delay_ms(2000); printf("hello Chuan ^__^ "); putc(26); //Ctrl+z,,, enter=13 delay_ms(1000); } void call(void) { printf("ATD0905638093;"); putc(13); delay_ms(400); } void gsm_config() { delay_ms(4000); printf("AT\n\r"); delay_ms(500); printf("AT\n\r"); delay_ms(500); printf("AT\n\r"); delay_ms(500); printf("AT\n\r"); delay_ms(500); printf("AT+CMGF=1\n\r"); delay_ms(500); printf("AT+CMGF=1\n\r"); delay_ms(500); } void main() { set_tris_c(0x80); gsm_config(); send_sms(); while(true) { } }
thân chào.Tags: None
Bài viết mới nhất
Collapse
-
Trả lời cho Cần tư vấn giúp đỡbởi bqvietCái remote hàng lô chạy được là tốt rồi, cứ thế dùng, đâu cần giúp đỡ gì nữa.
-
Channel: Điện tử gia dụng
hôm nay, 12:49 -
-
Trả lời cho Bộ gia nhiệt và ổn định nhiệtbởi bqvietNhiệt độ muốn ổn định phụ thuộc nhiều vào bộ điều khiển hơn là mạch điện. Nếu bộ điều khiển thuộc loại điều chỉnh PID thì cần thay đổi các hệ số P, I, D cho phù hợp; món này nên tham khảo tài liệu bên Điều khiển tự động.
-
Channel: Hỗ trợ học tập
hôm nay, 12:47 -
-
Trả lời cho Tổng hợp các loại máy xay đa năng sữa đậu , máy xay sinh tố , máy nghiền , máy đánh , máy trộnbởi longanntem có cái máy ép chậm, mà thấy nó ép không kiệt nước. Giờ mang ra đâu sửa đc mấy bác nhỉ.
-
Channel: Điện tử gia dụng
hôm nay, 10:56 -
-
bởi DththangMình đã làm 1 bộ gia nhiệt cho keo ở 180 độ với ssr và đồng hồ đo nhiệt rkc. Tuy nhiên mình muốn nhiệt ổn định hơn và nhanh cân bằng hơn thì nên bổ sung thêm mạch gì k ạ.
với lại mình muốn thay vỏ từ inox thành nhôm thì k biết ở đâu giá công nhôm ở q6 ạ Cảm ơn ac nhé...-
Channel: Hỗ trợ học tập
hôm nay, 10:01 -
-
bởi TaihnpLời đầu tiên em xin chào các bác, các chú.
Nhờ các bác các chú tư vấn cho em vấn đề như thế này ạ.
Nhà em có cái quạt điều khiển từ xa panasonic, xài cũng được vài năm rồi, và hôm nay thì nút on/off và nút oscil(xoay/đứng) nó...-
Channel: Điện tử gia dụng
Hôm qua, 21:19 -
-
Trả lời cho Mạch cao ápbởi nghungquocđúng bạn à, chúc bạn cùng gia đình năm mới SỨC KHỎE, VẠN SỰ BÌNH AN...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 08:31 -
-
Trả lời cho Mạch cao ápbởi dinhthuong80Rất ngưỡng mộ bạn. Bạn đúng là một người có TÂM làm KỸ THUẬT, con người bạn quá đúng với nickname bạn chọn.
Thời buổi bay giờ, số người như bạn, như chúng ta, làm kĩ thuật với cái tâm trong sáng không vụ lợi, chỉ với mục...-
Channel: Điện tử dành cho người mới bắt đầu
16-01-2021, 14:32 -
-
Trả lời cho Mạch cao ápbởi tamkythuatKhông có chi, giúp đỡ nhau là việc tốt. Tôi cũng chúc bạn năm mới nhiều sức khoẻ, vạn sự bình an....
-
Channel: Điện tử dành cho người mới bắt đầu
16-01-2021, 14:03 -
-
Trả lời cho Mạch cao ápbởi nghungquoccảm ơn bạn nhiều nha. mình đã làm được rồi.chúc bạn cùng gia đình năm mới AN KHANG THỊNH VƯỢNG, VẠN SỰ NHƯ Ý...
-
Channel: Điện tử dành cho người mới bắt đầu
16-01-2021, 13:51 -
-
bởi tamkythuatNhư đoạn trên đã nói 7FH là địa chỉ cao nhất (uppermost) của RAM trên chip cho nên ngăn xếp có kích thước phụ thuộc vào địa chỉ khởi tạo ngăn xếp đến địa chỉ 7FH.
Hoặc ngăn xếp mặc định nếu không khởi tạo là 24 byte từ 08H...-
Channel: Vi điều khiển họ 8051
16-01-2021, 09:48 -
Leave a comment: