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

        返回頂部
        夜夜爽一区二区三区精品| 国产精品久久久久久久久鸭| 精品人体无码一区二区三区 | 996久久国产精品线观看| sihu国产精品永久免费| 国产亚洲精品资在线| 日韩福利视频精品专区| 精品国产三级a∨在线| 日韩精品无码免费视频| 亚洲精品无码mv在线观看网站| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 成人精品一区二区三区电影黑人| 中文字幕中文字幕在线中…一区| 久久国产香蕉一区精品| 精品牛牛影视久久精品| 国产精品2019| 香蕉国产精品麻豆亚洲欧美日韩精品自拍欧美v国 | 惠民福利中文字幕人妻无码乱精品 | 6080亚洲精品午夜福利| 国产办公室秘书无码精品99| 亚洲精品福利视频| 伊人 久久 精品| 国产精品一久久香蕉国产线看| 精品视频在线免费观看| 91国内揄拍国内精品对白不卡| 99热都是精品久久久久久| 呦交小u女国产精品视频| 99久久99这里只有免费的精品| 国产精品55夜色66夜色| 鲸鱼传媒绿头鱼实验室之炮机测评日韩精品一级毛| 亚洲精品你懂的在线观看| 91精品视频在线| 无码国产精品一区二区免费式芒果| 国内精品伊人久久久久AV影院| 国产精品亚洲片夜色在线| 亚洲精品和日本精品| 国产在线不卡午夜精品2021| 国产成人精品无人区一区| 欧美日韩精品| 国产女人成人精品视频| 99热成人精品国产免男男|