• 大小: 73.17MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2023-07-18
  • 语言: 其他
  • 标签: 单片机  程序  毕设  

资源简介

基于单片机的GSM智能快递箱设计 该项目包括原理图电路图 程序源码 演示视频讲解文档全套资料 三分拿去 超值了

资源截图

代码片段和文件信息

#include  //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#include //_nop_
#include  //调用 strstr 字符串对比函数

sbit led = P1^6;
//sbit beep=P1^7;   //蜂鸣器
sbit beep=P1^5;   //蜂鸣器
sbit JDQ=P1^4;   //继电器


#define KeyDataPort P2
void keydelay(unsigned int i); //按键延时
unsigned char jvzhenjiance(); //矩阵键盘


unsigned int j=0;//计数变量   只有奇数时才发送短信   偶数时表示是取快递的人开的箱子   此时不发送短信
bit Send_Mes_flag=0;

//LCD1602液晶屏
sbit RS = P1^0;   //定义LCD1602端口 
sbit RW = P1^1;
sbit EN = P1^2;

#define RS_CLR RS=0 
#define RS_SET RS=1

#define RW_CLR RW=0 
#define RW_SET RW=1 

#define EN_CLR EN=0
#define EN_SET EN=1

#define DataPort P0
//液晶屏
void LCD1602_Delay5ms();   //@11.0592MHz

bit LCD1602_Check_Busy(void);// 判忙函数
void LCD1602_Write_Com(unsigned char com);//写入命令函数 
void LCD1602_Write_Data(unsigned char Data);//写入数据函数 

void LCD1602_Init(void);//初始化函数
void LCD1602_Clear(void);//清屏函数 

void LCD1602_SetPos(unsigned char Xunsigned char Y); //设置坐标
void LCD1602_Write_Char(unsigned char xunsigned char yunsigned char Data);//写入字符函数  x--第几行  y--第几列
void LCD1602_Write_String(unsigned char xunsigned char yunsigned char *s);//写入字符串函数   x--第几行  y--第几列



void Uart0_Init();//串口初始化
void Uart0_SendChar(unsigned char x); //发送一个字节的数据,形参d即为待发送数据。
void Uart0_SendString(unsigned char *s);//发送一个字符串

//短信模块运行参数
#define BUF_MAX 200  //缓存长度200
unsigned char sim900a_i = 0;               //定义缓存指针
unsigned char xdata sim900a_rec_buf[BUF_MAX];    //定义缓存数组
unsigned char phone_number[11]=“15733722032“;    //定义缓存数组

void SIM900A_Delay100ms(unsigned char y);// //@11.0592MHz
void SIM900A_Clr_Buf(void); //清除缓存数据函数
bit SIM900A_Hand(unsigned char *a); //判断缓存中是否含有指定的字符串函数

void SIM900A_Init(void); //初始化函数
void SIM900A_Read_Message(void); //读取第一条短信内容 存于sim900a_rec_buf[]数组中 注意:该函数读取短信后并未清除缓存 待判断短信内容后一定要清除
void SIM900A_Delete_Message(void); //删除第一条短信内容
void SIM900A_Send_TEST_Message(void); //发送验证码短信






unsigned char keytemp=0xffkeynumber=0xff;//矩阵键值



unsigned char test[4]=0;//测试

unsigned char i=0;//存储密码循环变量
unsigned char errortimes=0;//错误次数 5次报警

unsigned char default_password[4]=“1234“;//默认密码
unsigned char input_password1[5]=“00000“;//输入密码1 第五位用来缓存 不做处理
unsigned char input_password2[5]=“00000“;//输入密码2

void Input_PasswordA(); //把输入密码存入input_password1数组中
void Input_PasswordB(); //把输入密码存入input_password2数组中
bit Compare_Password(unsigned char *s1unsigned char *s2); //比较1 2 数据是否相同 相同返回1 不同返回0 
void Empty_Password(unsigned char *s1); //清空该数组数据
void Change_Password(); //修改默认密码数据


void Delay100ms() //@11.0592MHz
{
unsigned char i j;

i = 180;
j = 73;
do
{
while (--j);
} while (--i);
}

/*------------------------------------------------
                    主函数
------------------------------------------------*/ 
void main(void) 
{

LCD1602_Init(); //液晶屏初始化
LCD1602_Clear();//清屏
/////*************************012345678

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      47104  2018-03-14 10:10  基于单片机的GSM智能快递箱设计任务书.doc

----------- ---------  ---------- -----  ----

                47104                    1


评论

共有 条评论