模擬計算器數字輸入及顯示

2021-04-16 10:15:19 字數 2539 閱讀 9405

1.

實驗任務

(1.開機時,顯示「0」

(2.第一次按下時,顯示「

d1」;第二次按下時,顯示「

d1d2

」;第三按下時,顯示「

d1d2d3」,8

個全顯示完畢,再按下按鍵下時,給出「嘀」提示音。

2.

電路原理圖

圖4.23.1

3.

系統板上硬體連線

(1.把「微控制器系統」區域中的

p1.0

埠用導線連線到「音訊放大模組」區域中的

spk in

埠上;(2.把「微控制器系統「區域中的

p3.0

-p3.7

埠用8芯排線連線到「

4x4行列式鍵盤」區域中的c1-

c4r1-r4

埠上;(3.把「微控制器系統」區域中的

p0.0

-p0.7

埠用8芯排線連線到「動態數碼顯示」區域中的a-

h埠上;

(4.把「微控制器系統:區域中的

p2.0

-p2.7

埠用8芯排線連線到「動態數碼顯示」區域中的s1-

s8埠上;

4.

相關程式設計內容

(1.行列式鍵盤輸入及按鍵功能設定;

(2.動態數碼顯示;

(3.數碼顯示方式處理;

5.

彙編源程式

(略)

6.c語言源程式

#include

unsigned char code dispcode=;

unsigned char code dispbitcode=;

unsigned char dispbuf[8]=;

unsigned char dispbitcount;

unsigned char temp;

unsigned char i,j;

unsigned char key;

unsigned char keypos;

bit alarmflag;

void change(unsigned char *p,unsigned char count)

}

void main(void)

if ((key>=0) && (key<10))

else

}

temp=p3;

p1_0=~p1_0;

temp=temp & 0x0f;

while(temp!=0x0f)

alarmflag=0;}}

p3=0xff;

p3_5=0;

temp=p3;

temp=temp & 0x0f;

if (temp!=0x0f)

if ((key>=0) && (key<10))

else

}

temp=p3;

p1_0=~p1_0;

temp=temp & 0x0f;

while(temp!=0x0f)

alarmflag=0;}}

p3=0xff;

p3_6=0;

temp=p3;

temp=temp & 0x0f;

if (temp!=0x0f)

if ((key>=0) && (key<10))

else

}

temp=p3;

p1_0=~p1_0;

temp=temp & 0x0f;

while(temp!=0x0f)

alarmflag=0;}}

p3=0xff;

p3_7=0;

temp=p3;

temp=temp & 0x0f;

if (temp!=0x0f)

if ((key>=0) && (key<10))

else

}

temp=p3;

p1_0=~p1_0;

temp=temp & 0x0f;

while(temp!=0x0f)

alarmflag=0;}}

}}void t0(void) interrupt 1 using 0

if (alarmflag==1)

}

簡單計算器模擬

雖然打個簡單計算器不算難事,但是模擬始終算一關,不能忽視基礎。本程式不適用以下情況 表示式中帶空格 表示式中帶括號 僅能進行四則運算,結果限制在int型 include using namespace std intlevel char x intcalculate string s if q1.e...

模擬計算器(MFC)實現

忙了一天終於搞定了。以下為演算法類封裝 caldlg.cpp implementation file author baker email baker1203 sina.com course designing for data structures and program design in c ...

Problem 模擬簡單計算器

time limit 1 sec memory limit 64 mb submit 4325 solved 1524 程式模擬簡單運算器的工作 輸入乙個算式 沒有空格 遇到 號說明輸入結束,輸出結果。假設計算器只能進行加 減 乘 除運算,運算數和結果都是整數,4種運算子的優先順序相同,按從左到右的...