資源簡介
包含電話撥號、密碼設(shè)定和簡單計算器,文件包括proteus仿真圖。可以利用Mplab(v4.05)與protesu聯(lián)調(diào)在線仿真。硬件模塊涉及矩陣按鍵和LCD1602,
程序僅供參考,設(shè)計不合理的地方歡迎大家留言交流。

代碼片段和文件信息
/*
?*?File:???hanxin.c
?*?Author:?jenney
?*
?*?Created?on?2018年4月19日?下午6:00
?*?修復(fù)3個bug:1.右移補(bǔ)1?2.刪除必須調(diào)用清屏命令?3.必須使用else?if?否則會有錯誤的返回
?*/
#include?
//?#pragma?config?statements?should?precede?project?file?includes.
//?Use?project?enums?instead?of?#define?for?ON?and?OFF.
//?CONFIG1
#pragma?config?FOSC?=?XT????????//?Oscillator?Selection?bits?(XT?oscillator:?Crystal/resonator?on?RA6/OSC2/CLKOUT?and?RA7/OSC1/CLKIN)
#pragma?config?WDTE?=?OFF???????//?Watchdog?Timer?Enable?bit?(WDT?disabled?and?can?be?enabled?by?SWDTEN?bit?of?the?WDTCON?register)
#pragma?config?PWRTE?=?OFF??????//?Power-up?Timer?Enable?bit?(PWRT?disabled)
#pragma?config?MCLRE?=ON??????//?RE3/MCLR?pin?function?select?bit?(RE3/MCLR?pin?function?is?digital?input?MCLR?internally?tied?to?VDD)
#pragma?config?CP?=?OFF?????????//?Code?Protection?bit?(Program?memory?code?protection?is?disabled)
#pragma?config?CPD?=?OFF????????//?Data?Code?Protection?bit?(Data?memory?code?protection?is?disabled)
#pragma?config?BOREN?=?OFF??????//?Brown?Out?Reset?Selection?bits?(BOR?disabled)
#pragma?config?IESO?=?OFF???????//?Internal?External?Switchover?bit?(Internal/External?Switchover?mode?is?disabled)
#pragma?config?FCMEN?=?OFF??????//?Fail-Safe?Clock?Monitor?Enabled?bit?(Fail-Safe?Clock?Monitor?is?disabled)
#pragma?config?LVP?=?OFF????????//?Low?Voltage?Programming?Enable?bit?(RB3?pin?has?digital?I/O?HV?on?MCLR?must?be?used?for?programming)
//?CONFIG2
#pragma?config?BOR4V?=?BOR40V???//?Brown-out?Reset?Selection?bit?(Brown-out?Reset?set?to?4.0V)
#pragma?config?WRT?=?OFF????????//?Flash?Program?Memory?Self?Write?Enable?bits?(Write?protection?off)
#define?LCD_E??RD6
#define?LCD_RW?RD5
#define?LCD_RS?RD4
#define?COM?0
#define?DATA?1
#define?LINE1?0b10000000
#define?LINE2?0b11000000
#define?Password_OPEN?0//0為開啟密碼模式?1為關(guān)閉密碼模式
#define?T1_10MS?65410
char?myline1[16]=“Password:“;
char?myline2[16]=““;
void?CSH(void);
void?LCD_CSH(void);
void?LCD_BUSY(void);
char?LCD_READ(void);
void?LCD_WRITE(charchar);
void?LCD_WRITE_4(charchar);
void?DELAY_US(char);
void?DELAY(unsigned?int);
void?Keyscan(void);
void??DISP_LINE1();
?void??DISP_LINE2();
?void?Password(void);
?void?Phone_Number(void);
?void?Mode_Control(void);
?void?interrupt?Timer1(void);
?void?Calc(void);//僅能進(jìn)行1位數(shù)的加減乘除
?char?Get_Strlen(char?string[16]);
void?Error_LED_Control(int?a);//RB3?密碼錯誤指示燈
void?Warning_LED_Control(int?a);//RB4?報警指示燈
void?Buzzer(char?i);//蜂鳴器
void?BCD(unsigned?int?a);
?void?BCD1(float?a);
?char?press_temp=16?;//按鍵默認(rèn)16
?char?viewview1view2;
?char?press_temp_flag=1;//按鍵鎖存flag
?char?Mode_Select=2;//0?TEL;1?Calc?2:Password,初始為密碼模式
?char?Log_Flag=Password_OPEN;//登錄成功標(biāo)志位()
?char?line2_count;//第二行顯示字符計數(shù)
?char?Calc_Result=0;//簡單計算器結(jié)果
?float?Calc_Result1=0.0;?//浮點型數(shù)據(jù)
?unsigned?int?AABB;//計算器輸入兩值
?char?Password_Set[16]=?“000000“;//密碼設(shè)置
?char?Mode_Count=2;//模式循環(huán)計數(shù)
?char?press_temp_save=0;//上一次按鍵值
?char?Last_Phone_Number[16]=““;//電話模式下存儲上一次的電話值
?char?Key14_Count
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-04-27?20:13??Phone\
?????文件????????3381??2018-04-27?20:13??Phone\Makefile
?????目錄???????????0??2018-04-27?20:13??Phone\build\
?????目錄???????????0??2018-04-27?20:13??Phone\build\default\
?????目錄???????????0??2018-04-27?20:13??Phone\build\default\debug\
?????文件??????155195??2018-04-27?20:13??Phone\build\default\debug\hanxin.p1
?????文件??????????80??2018-04-27?20:13??Phone\build\default\debug\hanxin.p1.d
?????文件???????59860??2018-04-27?20:13??Phone\build\default\debug\hanxin.pre
?????目錄???????????0??2018-04-27?20:13??Phone\build\default\production\
?????文件??????154910??2018-04-27?20:13??Phone\build\default\production\hanxin.p1
?????文件??????????90??2018-04-27?20:13??Phone\build\default\production\hanxin.p1.d
?????文件???????59649??2018-04-27?20:13??Phone\build\default\production\hanxin.pre
?????目錄???????????0??2018-04-27?20:13??Phone\debug\
?????目錄???????????0??2018-04-27?20:21??Phone\debug\default\
?????目錄???????????0??2018-04-27?20:13??Phone\dist\
?????目錄???????????0??2018-04-27?20:13??Phone\dist\default\
?????目錄???????????0??2018-04-27?20:13??Phone\dist\default\debug\
?????文件???????87605??2018-04-27?20:13??Phone\dist\default\debug\5.X.debug.cmf
?????文件???????33615??2018-04-27?20:13??Phone\dist\default\debug\5.X.debug.elf
?????文件???????10566??2018-04-27?20:13??Phone\dist\default\debug\5.X.debug.hxl
?????文件??????427023??2018-04-27?20:13??Phone\dist\default\debug\5.X.debug.lst
?????文件???????82776??2018-04-27?20:13??Phone\dist\default\debug\5.X.debug.map
?????文件?????????465??2018-04-27?20:13??Phone\dist\default\debug\5.X.debug.mum
?????文件???????80650??2018-04-27?20:13??Phone\dist\default\debug\5.X.debug.obj
?????文件??????602777??2018-04-27?20:13??Phone\dist\default\debug\5.X.debug.rlf
?????文件???????12427??2018-04-27?20:13??Phone\dist\default\debug\5.X.debug.sdb
?????文件???????27557??2018-04-27?20:13??Phone\dist\default\debug\5.X.debug.sym
?????文件???????91810??2018-04-27?20:13??Phone\dist\default\debug\5.debug.cmf
?????文件???????33001??2018-04-27?20:13??Phone\dist\default\debug\5.debug.elf
?????文件???????10300??2018-04-27?20:13??Phone\dist\default\debug\5.debug.hxl
?????文件??????422068??2018-04-27?20:13??Phone\dist\default\debug\5.debug.lst
............此處省略39個文件信息
評論
共有 條評論