找回密碼
         注冊會員
        搜索附件  
        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.

        返回頂部
        亚洲精品无码你懂的网站| 99精品无人区乱码在线观看| 国产精品电影网| 国产短视频精品一区二区三区| 日韩精品在线视频| 久久成人精品| 香蕉久久夜色精品升级完成| 国产91精品在线观看| 国产999精品久久久久久| 亚洲国产精品成人久久蜜臀 | 最近中文字幕免费mv视频多少集| 人人妻人人澡人人爽精品日本| 九九精品免视看国产成人| 蜜臀久久99精品久久久久久| 久久亚洲精精品中文字幕| 99久久精品国产一区二区| 在线观看国产免费高清不卡| 97精品国产手机| 蜜臀久久99精品久久久久久| 国产亚洲欧美精品永久| 精品国产一级在线观看| 亚洲精品无码专区在线在线播放 | 先锋看片影音资源网站| 99麻豆久久久国产精品免费| 久久99精品国产麻豆蜜芽| 久久精品无码专区免费青青| 国产精品乱码一区二区三区| 亚洲国产精品无码久久SM| 刺激无码在线观看精品视频| 亚洲精品乱码久久久久66| 国产成人精品综合在线观看| 无码精品人妻一区二区三区人妻斩| 99精品国产一区二区| **性色生活毛片| 国产成人综合久久精品尤物| 日产精品久久久一区二区| 国产精品男男视频一区二区三区| 色欲精品国产一区二区三区AV| 国产乱子伦精品免费视频 | 国产精品99精品视频网站| 亚洲国产精品无码AAA片|