|
PIC16F877單片機(jī)設(shè)計(jì),做了一個(gè)簡(jiǎn)易加法計(jì)算器
51hei.png (18.41 KB, 下載次數(shù): 86)
下載附件
2021-3-16 20:12 上傳
單片機(jī)源程序如下:
- /*
- 簡(jiǎn)單的加法計(jì)算器例程。
- 當(dāng)前使用方法:
- 1) 輸入第一個(gè)數(shù)(<4位);
- 2) 按+號(hào);清空數(shù)碼管;
- 3) 輸?shù)诙䝼(gè)數(shù)(<4位) ;
- 4) 按=號(hào)出結(jié)果;顯示在數(shù)碼管上
- 5) 按C號(hào),返回1) 繼續(xù)等待輸入
- */
- #include "pic.h"
- #include "delay.h"
- #include "keyboard.h"
- #include "seg74.h"
- // ICD2調(diào)試時(shí)必須設(shè)定的配置字內(nèi)容
-
- 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; // 開始時(shí)輸入數(shù)據(jù)放在Number[0]中。
- while(1)
- {
-
- i=GetKeyValue(); //獲得鍵值
- if(i!=NO_KEY) //如果有按鍵按下
- {
- if(i>=0 && i<=9) // 如果是數(shù)字鍵
- {
- Number[NumIndex]=Number[NumIndex]*10+i; //原顯示數(shù)字×10+新數(shù)字
- }
- else
- {
- switch(i)
- {
- case '+' : NumIndex=1; break; //按加號(hào)則開始記錄下一個(gè)數(shù)字
- case '=' : NumIndex=0; // 按等號(hào)說明用戶要求計(jì)算結(jié)果了
- Number[0]=Number[0]+Number[1]; //Number[0]+計(jì)算加法
- Number[1]=0; // 第二個(gè)數(shù)清零,這樣可以實(shí)現(xiàn)連加
- break;
- case 'C' : Number[0]=0; // C鍵表示計(jì)算器清零
- Number[1]=0;
- NumIndex=0;
- break;
- case NO_KEY : break; // 說明無按鍵按下
- default : break;
- };
- }
- }
- DisplayData(Number[NumIndex]);
- }
- }
復(fù)制代碼
51hei.png (9.95 KB, 下載次數(shù): 83)
下載附件
2021-3-16 20:14 上傳
所有資料51hei提供下載:
PIC16F877簡(jiǎn)易加法計(jì)算器.zip
(135.59 KB, 下載次數(shù): 37)
2021-3-16 18:01 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|