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種運算子的優先順序相同,按從左到右的...