//-----------------------------------------------------------------------------
//
// 目标器件: C8051F320x
//
// 编译工具: Silicon Laboratories IDE
//
//-----------------------------------------------------------------------------
//程序描述:
// 16 Key + LCD Display
// 可以进行正整数的加、减、乘、整除运算,计算结果显示范围:-9999999~99999999
//-----------------------------------------------------------------------------
// 头文件包含
//-----------------------------------------------------------------------------
#include <c8051F320.h>
//;************************************************************************
//;* p1.0 : 1st column (k0,k4,k8,kc)
//;* p1.1 : 2nd column (k1,k5,k9,kd)
//;* p1.2 : 3rd column (k2,k6,ka,ke)
//;* p1.3 : 4th column (k3,k7,kb,kf)
//;* p1.4 : 1st row (k0,k1,k2,k3) p1.7-p1.4 connect to 74LS21
//;* p1.5 : 2nd row (k4,k5,k6,k7)
//;* p1.6 : 3rd row (k8,k9,ka,kb)
//;* p1.7 : 4th row (kc,kd,ke,kf)
//:* p2.6 : =0 a key is pressed
//;**********************************
//-----------------------------------------------------------------------------
//全局变量定义
//-----------------------------------------------------------------------------
unsigned char DispData0[8]={'0',' ',' ',' ',' ',' ',' ',' '};//
unsigned int x;
unsigned char *lcdpoint0; //指向 lcddata数组的指针
unsigned char *lcdpoint1; //指向 lcddata数组的指针
sbit rs = P2^3;
sbit e = P2^5;
sbit aKey = P2^6;
//-----------------------------------------------------------------------------
// 函数定义
//-----------------------------------------------------------------------------
void PORT_Init (void); //通用I/O口及交叉开关初始化
void SYSCLK_Init (void); //系统时钟初始化
void LCD_Init(void); //液晶初始化
void LCD_Instruction(unsigned char comnd);
void LCD_Data(unsigned char data0);
void LCD_Display (void);
void Delay8_33us(unsigned int iM);
void ClearLCD(void); //清除显示内容
void GetKey(unsigned char chkey);//获得显示字符
void GetResult(void); // 计算结果
int ii,i=0;
unsigned char columNum; //列号
unsigned char rowNum; //行号
unsigned char tt;
unsigned char key;
//-----------

这个博客介绍了一个基于C8051F320x单片机的简易计算器,具备16键加LCD显示功能,支持正整数的加、减、乘、整除运算,结果显示范围限制在-9999999到99999999。程序详细说明了按键检测、显示处理和计算过程。存在的限制包括只能处理整数和显示结果位数受限。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



