80c51用計算器程式

2021-07-16 15:09:26 字數 1127 閱讀 4907

//由於這原本是寫給c51用的c程式,所以沒有新增stdio等標準庫

//並且考慮到51ram有限,大部分變數用unsigned char以節省空間

char stack1[55], stack2[55];

int pt1=-1, pt2=-1;

void push(char ch, unsigned short i)

char pop(unsigned short i)

char top(unsigned short i)

void rpexpression(char exp)

pop(1);//彈出』(』

break;

case 『+』:

case 『-『:

push(』 『,2);

while(top(1)==』*』||top(1)==』/』||top(1)==』+』||top(1)==』-『)

push(ch,1);

break;

case 『*』:

case 『/』:

push(』 『,2);

while(top(1)==』*』||top(1)==』/』)

push(ch,1);

break;

default:

push(ch,2);

break;

} }

while(pt1>0) }

float getprexpvalue()

if(!(stack2[j]>='0'&&stack2[j]<='9'))

}if(right!=80)

else

stack3[++pt3]=num+fra;}}

else if(ch=='+'||ch=='-'||ch=='*'||ch=='/')

stack3[++pt3]=num;

}}return stack3[pt3];void initialstack()

以下是標頭檔案

void initialstack();//初始化棧空間

void rpexpression(char exp);//轉化為逆波蘭表示式

float getprexpvalue();//獲取逆波蘭表示式的值

80C51常用標頭檔案

80c51常用標頭檔案 reg51.h math.h ctype.h stdio.h stdlib.h absacc.h intrins.h。1 reg51.h 定義51系列微控制器特殊功能暫存器和特殊位。2 absacc.h 訪問絕對位址標頭檔案。當用絕對位址訪問內部ram data 外部ram的...

80C51微控制器介紹

80c51微控制器屬於mcs 51系列微控制器,由intel公司開發,其結構是8048的延伸,改進了8048的缺點。增加了如乘 mul 除 div 減 subb 比較 cmp 16位資料指標 布林代數運算等指令,以及序列通訊能力和5個中斷源。採用40引腳雙列直插式dip dual in line p...

(筆記總結)80C51的中斷系統

80c51的中斷系統的結構 80c51的中斷系統有5個中斷源,2個中斷優先順序,可實現二級中斷巢狀。1.p3.2 可由it0 tcon.0 選擇其為低電平有效還是下降沿有效。當cpu檢測到p3.2引腳上有有效的中斷訊號時,中斷標誌ie0 tcon.1 置1,向cpu申請中斷。2.p3.3 可由it1...