資源簡介
基于單片機的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
評論
共有 條評論