资源简介

包含电话拨号、密码设定和简单计算器,文件包括proteus仿真图。可以利用Mplab(v4.05)与protesu联调在线仿真。硬件模块涉及矩阵按键和LCD1602, 程序仅供参考,设计不合理的地方欢迎大家留言交流。

资源截图

代码片段和文件信息

/*
 * File:   hanxin.c
 * Author: jenney
 *
 * Created on 2018年4月19日 下午6:00
 * 修复3个bug:1.右移补1 2.删除必须调用清屏命令 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为关闭密码模式
#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);//仅能进行1位数的加减乘除
 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 ;//按键默认16
 char viewview1view2;
 char press_temp_flag=1;//按键锁存flag
 char Mode_Select=2;//0 TEL;1 Calc 2:Password,初始为密码模式
 char Log_Flag=Password_OPEN;//登录成功标志位()
 char line2_count;//第二行显示字符计数
 char Calc_Result=0;//简单计算器结果
 float Calc_Result1=0.0; //浮点型数据
 unsigned int AABB;//计算器输入两值
 char Password_Set[16]= “000000“;//密码设置
 char Mode_Count=2;//模式循环计数
 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个文件信息

评论

共有 条评论