找回密碼
         注冊會員
        搜索附件  
        MCU資訊論壇 附件中心 單片機論壇 51單片機論壇 51jianyijisuanqi.doc

        51jianyijisuanqi.doc

         

        51單片機實現的能進行浮點運算(包括浮點乘法,除法等)的計算器:

        51單片機實現的簡易計算器

        1. 4X4鍵盤輸入,點陣字符型液晶顯示。
        2. 由于所采用的浮點程序庫的限制(MCU平臺只找到這個……),浮點運算采用3字節二進制補碼表示,有效數字6位。對于輸入輸出,采用3字節BCD碼浮點數格式,有效數字只有4位,因此最終有效數字只有4位。
        3. 可進行連續輸入,例如:1.23+4.56*8.23/234.8 ,但是運算結果為從左到右,這也是8位簡易計算器的方式。
        4. 可進行錯誤判斷,溢出、除零等錯誤將顯示一個字符 E
        5. 由于鍵盤只有16個按鍵,安排如下:
        +---------------+
        | 7 | 8 | 9 | + |
        | 4 | 5 | 6 | - |
        | 1 | 2 | 3 | * |
        | 0 | . | = | / |
        +---------------+
        6. 按鍵的缺少導致取消了一些特殊函數,即開根號,三角函數(sin, cos, tan, ctg)的實現,由于這些函數在浮點程序庫中均已提供,如果硬件允許,在原來的框架上添加這些附加功能是很容易的(可以看作和+, -, *, /等價的按鍵操作,調用不同的子程序進行運算即可)
        7. 按兩次 = 等于清靈。因為按鍵實在太少,才采用了這個做法。
        8. 相應舉例:
        按鍵 結果 說明
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        123+= 123 按下等號而沒有第二個操作數,保留第一個操作數并認為此次運算結束(等號的功能)

        123+321/111 4.0 等價于(123+321) / 111

        2.3+5.4=/0.1+ 77 等號后直接按 / ,則將前面的運算結果作為第一個操作數
        1/0= E 錯誤顯示

        9. 不足
        使用3字節的浮點數表示,不可避免的帶來了數表示的不精確,加上有效數字比較少,因此計算結果很容易產生誤差,尤其是進行連續多次運算后,結果和精度較高的科學計算器的誤差會很快達到0.01以上,當然這個差距和所測試的用例也有關系,4位有效數字導致了數字123456只能表示為123400,最后兩位有效數字被摒棄了。
        同時,雖然純整數可以進行較為高精度的運算,實現也較為容易,但是考慮到要和浮點數混合在一起處理,如果在算法上分別考慮整數和浮點數,整個程序框架代碼將會膨脹不少,因此將其簡化為統一作為浮點數對待。

        10. 源代碼
        2000行左右(含注釋、空行),其中浮點程序庫約900行。其余為鍵盤輸入掃描、液晶輸出顯示和按鍵處理程序。文件大小 47.2 KB



        kan kan 希望有用  不過還是謝謝樓主
        看看 您的帖子長度不符合要求。 當前長度: 6 字節系統限制: 20 到 10000 字節!!!!!!!!
        DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
        額...是匯編實現的呀...
        額...是匯編實現的呀...
        為啥子不用c編呢,比匯編好些
        回復 admin 的帖子

        樓主真是太牛了
        下來才發現是匯編的……能發個C編的么?
        想學習用匯編語言實現浮點相乘,希望幫助得到
        我就是要做一個計算器。
        無奈之舉啊。。。。。
        再次感謝樓主!!!{:e154:}

        QQ|手機版|MCU資訊論壇 ( 京ICP備18035221號-2 )|網站地圖

        GMT+8, 2025-3-18 13:00 , Processed in 0.039979 second(s), 8 queries , Redis On.

        Powered by Discuz! X3.5

        © 2001-2024 Discuz! Team.

        返回頂部
        国产精品第六页| 国产精品伊人久久伊人电影 | 黄色网战在线观看| 亚洲欧美精品丝袜一区二区| 亚洲AV无码久久精品成人 | 欧美亚洲国产成人精品| 黑巨人与欧美精品一区 | 黄网站色视频毛片| 99在线精品免费视频九九视| 亚洲精品免费在线观看| 精品久久人人做人人爽综合| 在线观看自拍少妇精品| 国产亚洲精品美女久久久| 97久人人做人人妻人人玩精品| 无码精品久久一区二区三区| 亚洲AV无码成人精品区在线观看 | 久久成人精品| 亚洲Av永久无码精品三区在线| 黑人精品videos亚洲人| 精品国产黑色丝袜高跟鞋| 国产精品美女一区二区三区| 精品午夜久久福利大片| 乱人伦人妻精品一区二区| 老司机午夜精品视频资源| 91精品国产91久久久久久青草| 日韩精品无码免费视频| 国产精品美女久久久m| 精品人妻少妇一区二区三区不卡| 亚洲综合精品香蕉久久网| 久久亚洲国产精品一区二区| 亚洲电影日韩精品| 99精品视频在线观看免费| 欧美精品xxxxbbbb| 99精品国产在热久久无毒不卡| 九九久久精品无码专区| 国产精品美女一区二区视频| 亚欧乱色国产精品免费视频 | 国产欧美日韩精品专区| 青青草原精品国产亚洲av| 国产精品偷伦视频免费观看了| 无码精品国产一区二区三区免费|