PIC16F877单片机设计,做了一个简易加法计算器
单片机源程序如下:
- /*
- 简单的加法计算器例程。
- 当前使用方法:
- 1) 输入第一个数(<4位);
- 2) 按+号;清空数码管;
- 3) 输第二个数(<4位) ;
- 4) 按=号出结果;显示在数码管上
- 5) 按C号,返回1) 继续等待输入
- */
- #include "pic.h"
- #include "delay.h"
- #include "keyboard.h"
- #include "seg74.h"
- // ICD2调试时必须设定的配置字内容
-
- main()
- {
- int i=0,k=9,Number[2]={0,0},NumIndex=0;
- SEG_FONT_PORT_DIR=0x00;
- SEG_FONT_PORT=0x00;
- SEG_BITSEL_PORT_DIR=0xF0; // low 4 bits is selecting bit
- SEG_BITSEL_PORT=0x0; // deselect all 4 bits
- NumIndex=0; // 开始时输入数据放在Number[0]中。
- while(1)
- {
-
- i=GetKeyValue(); //获得键值
- if(i!=NO_KEY) //如果有按键按下
- {
- if(i>=0 && i<=9) // 如果是数字键
- {
- Number[NumIndex]=Number[NumIndex]*10+i; //原显示数字×10+新数字
- }
- else
- {
- switch(i)
- {
- case '+' : NumIndex=1; break; //按加号则开始记录下一个数字
- case '=' : NumIndex=0; // 按等号说明用户要求计算结果了
- Number[0]=Number[0]+Number[1]; //Number[0]+计算加法
- Number[1]=0; // 第二个数清零,这样可以实现连加
- break;
- case 'C' : Number[0]=0; // C键表示计算器清零
- Number[1]=0;
- NumIndex=0;
- break;
- case NO_KEY : break; // 说明无按键按下
- default : break;
- };
- }
- }
- DisplayData(Number[NumIndex]);
- }
- }
复制代码
所有资料51hei提供下载:
PIC16F877简易加法计算器.zip
(135.59 KB, 下载次数: 36)
|