200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > c51单片机矩阵键盘1602计算器_51单片机矩阵键盘计算器.doc

c51单片机矩阵键盘1602计算器_51单片机矩阵键盘计算器.doc

时间:2024-02-01 01:41:58

相关推荐

c51单片机矩阵键盘1602计算器_51单片机矩阵键盘计算器.doc

51单片机矩阵键盘计算器

51单片机矩阵键盘计算器

/**********413暑假作品*********12864液晶显示屏,结合4*4矩阵键盘,简易计算器*,存储地址:STC-hex2 , LCD12864.c *************************************/

/***功能:1、基本整数的加减乘除; 2、有清除功能;3、除法计算,结果保留两位小数;4、分母为0报错********/

/*********5、小数减大数可显示负号;6、只能做两个数的加减乘除;7、可做10位数的有效运算***********************************/

/******注意:计算结果要求余显示,比如正确结果123,求余显示321,所以将321逐个赋给某一数组,倒序向12864输出**/

#include

#define uint unsigned int

#define uchar unsigned char

#define ulong unsigned long

sbit rs=P3^7;

sbit rw=P3^6;

sbit e=P3^5;

sbit psb=P3^4; //串并选择,H=串 L=并,此程序让12864并行输出

bit flag1=0; //数字标记位

bit flag11=0; // +标记位

bit flag12=0; // —标记位

bit flag13=0; // *标记位

bit flag14=0; // /标记位

bit flag15=0; // =标记位

bit flag16=0; //清除位

bit flag2=0; // 负号标记

bit flag3=0; // 分子小于分母,结果只有两位有效数字时,扩大100倍有两位有效数字

bit flag4=0; //分子小于分母,结果只有一位效数字时,扩大100倍有1位有效数字

void init(); //初始化16824子函数

void write_com(uchar); //写命令

void write_dat(uchar); //写数据,即显示内容

void display1(uchar); //显示字符

void delete(); //清除显示

void delay(uint); //延时

void keyscan(); //键盘扫描

void scan(); //扫描运算符,设定两个数计算

void display_value(); // 计算结果显示

void value(); // 计算

void begin(); //开机屏幕显示

void math_error(); //数学错误显示

uchar code table1[]="0123456789.+-*/=";

uchar code table3[]="welcome to";

uchar code table4[]=" 51 calculator" ;

uchar code table5[]="math error";

long table2[19]; //存储结果的数组,20就出错?

long s,a,b,num1; //s为计算结果,a为第一个数,b为第二个数,num1对应为键对应的值为显12864显示服务

/***********************************主**函**数***********************************************************/

void main()

{

init();

delay(5);

begin(); //开机初始化

delay(5);

write_com(0x80);//输入数在第一行显示

while(1) //大循环使其不断的显示

{

keyscan();

scan();

value();

display_value();

delete();

}

}

/***********初始化********************************/

void init()

{

psb=1; //并口传输方式

delay(50); //先等待50个毫秒

write_com(0x30); //基本操作指令

delay(5);

write_com(0x0e); //显示状态开/关,08什么也没有;0c无光标;0

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。