找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1847|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

關(guān)于51單片機匯編語言計算器程序的幾個問題分析

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:73992 發(fā)表于 2022-11-11 21:42 來自觸屏版 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我做51單片機計算器部分的時候遇到的問題
使用的是1602顯示屏
按鍵輸入的十進制值存入單片機70h~7fh。共16個ascii字符比如:2222333355556666的asc碼
60h~6fh留存計算結(jié)果。
問題,70h~7fh的值不是真的值,是asc碼。如果存真的值1602顯示不出。
這個就涉及到框架和流程問題。將真值存入內(nèi)存,在顯示部分轉(zhuǎn)換成asc碼。
或者計算的時候轉(zhuǎn)成真的值算完了改成asc碼存入內(nèi)存。或者有標準的通用的框架流程
問題2,就是16位十進制數(shù)計算,超過了累加器A的大小,是按十進制每一位分別計算還是將每一位數(shù)加好了寫入內(nèi)存,然后整體計算呢。
問題3,就是請推薦關(guān)于匯編計算的書籍。
不然我做的計算器可能只會計算結(jié)果小于255的算術(shù)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:195496 發(fā)表于 2022-11-12 08:17 | 只看該作者
去看一下單片機基礎(chǔ)這本書,上面有例子,匯編語言的
回復(fù)

使用道具 舉報

板凳
ID:883242 發(fā)表于 2022-11-12 23:01 | 只看該作者
你先試著做一個16位數(shù)據(jù)加減法程序,光想不去實踐是永遠做不出來的。
回復(fù)

使用道具 舉報

地板
ID:123289 發(fā)表于 2022-11-14 17:00 | 只看該作者
本帖最后由 yzwzfyz 于 2022-11-15 08:25 編輯

通用易想到的方法:
輸入數(shù)字部分(任意進制,格式)-- 轉(zhuǎn)成二進制進行運算 -- 轉(zhuǎn)成顯示碼(顯示設(shè)備需要的碼)-- 送出顯示
本例:
1、按鍵只是IO口的電平高低,無多少值一說。
2、按鍵后,先做識別,可以解析成數(shù)字,建議用二進制儲存!就ㄓ谩
3、正常二進制運算【CPU善長】
4、轉(zhuǎn)成BCD碼【10進制】
5、轉(zhuǎn)成ASCII碼【需要的碼】
6、送出

匯編計算是相當麻煩的事,沒有很深的功底寫不了。
多看別人的程序,自己慢慢積累。
先學(xué)會多字位的加、減,
再乘除,
再學(xué)會BCD碼、ASCII碼等其它碼的轉(zhuǎn)換,
再學(xué)會浮點數(shù)的表達方式及其加減乘除。
這樣,許多常規(guī)的運算就解決了。
開方、三角函數(shù),更需要數(shù)學(xué)功底。較難。
所以,現(xiàn)在很少數(shù)人用匯編寫程序,但是會匯編的人,對單片機必然是精通的。否則他無法寫程序,最低層了,是單片機的最高境界。
匯編最大的好處是,不受函數(shù)庫的限制,可以直接根據(jù)元件說明編寫控制程序。
而用C寫程序時,一旦某元件的庫文件沒有提供時,就傻眼了。也即程序建立他人的元件庫文件上。

回復(fù)

使用道具 舉報

5#
ID:73992 發(fā)表于 2022-11-16 13:12 來自觸屏版 | 只看該作者
yzwzfyz 發(fā)表于 2022-11-14 17:00
通用易想到的方法:
輸入數(shù)字部分(任意進制,格式)-- 轉(zhuǎn)成二進制進行運算 -- 轉(zhuǎn)成顯示碼(顯示設(shè)備需要 ...

我選擇的流程是,按鍵存成asc碼,1602可以直接顯示。需要用到內(nèi)存值的時候,將asc碼轉(zhuǎn)成二進制。進行計算。這兩天我學(xué)習(xí)了雙字節(jié)加法。1,fefe+f0f5等等。按照算術(shù)流程,如十進制355+652,先把加數(shù)轉(zhuǎn)換成二進制,再把被加數(shù)轉(zhuǎn)換成二進制,計算出結(jié)果轉(zhuǎn)成asc碼1602顯示
2,我準備驗證的流程是,上式為例不進行二進制計算,2+5=7存?zhèn)位成asc碼,5+5=0存十位成asc碼 進1,1+3+6=0存百位成asc碼進1,1+0=0存千位成asc碼。這樣的話省的來回轉(zhuǎn)換
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表