资源简介
包含电话拨号、密码设定和简单计算器,文件包括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个文件信息
相关资源
- 基于51单片机的心率脉搏计源码+电路
- 基于51单片机的温度警报器的设计
- 单总线温度采集与显示
- 报警发生器
- 基于单片机的电子门铃设计
- 基于C51单片机计时器
- 51单片机控制的GSM报警程序
- MQ-2烟雾传感器51单片机代码
- 单片机水塔水位控制系统课程设计p
- labview和单片机的温度监控系统
- 基于51单片机12864显示的指纹锁
- 027 简易电子秤 LCD1602显示 超重报警
- 基于PIC单片机的多功能万年历
- 基于51单片机的1602万年历设计_温度
- 51单片机温度报警器设计程序及prote
- 基于单片机的热电偶测温系统设计
- 基于单片机的水质浊度分析仪的设计
- 51单片机 啤酒生产线计数器
- 基于51和hx711的电子秤
- ATMEGA16 PROTUES 热水器
- 基于传感器的温度测量与报警系统设
- 51单片机和1602显示18b20温度报警系统
- 51单片机 CH452驱动数码管,按键,按键
- 单片机数字温度计的设计与实现论文
- 蔬菜大棚温度的温度控制程序
- 51单片机多任务的切换和堆栈的保护
- 基于51单片机的的电子密码锁设计.r
- 基于嵌入式开发的智能医药箱设计与
- 单片机甲醛浓度
- 51单片机实现温度检测数码管显示,控
评论
共有 条评论