新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于HD7279和51單片機的計算器

        基于HD7279和51單片機的計算器

        作者: 時間:2012-09-15 來源:網絡 收藏
        是一款用于擴展單片機I/O口的芯片,至少我是這么認為的,雖然它占用了單片機4個I/O但是真正作為傳輸的僅僅是一根總線,它可以同時驅動8位共陰數碼管(或者8×8點陣),及8×8的矩陣鍵盤,而同時接在單片機上的話,至少需要3~4組I/O,當然單總線控制的芯片基本需要自己的指令和時序。

        接到這個課程設計之前我自己懶懶散散地看了一段時間的C51(用C語言編寫單片機代碼),之前老師教的是A51(用匯編編寫單片機代碼),我玩了很久,但是發現A51真的很局限,匯編這種語言是寫給機器看的,真正地寫0和寫1,真正是一個寄存器一個寄存器的調用,對于8位的來說,要實現1000×1000或者小數是比較困難的。老師推薦用C,之前只是看書實現過一些小東西這回要做比較大的項目了,雖然還有其他課題比如溫度計和數字鐘,不過都做過,只是環境不一樣,修改一下代碼太沒有挑戰性了。

        確實開始輕敵了,真正做的時候發現不是那么簡單,

        高中的時候學過一點VB做過,如果讓我現在做,也許給我幾天我可以做出來,用C我也沒什么問題,但是C51就有難度了,要考慮太多硬件的東西,特別是顯示這個模塊好不容易瘦下去的頭又兩個大了。等我真正意識到的時候,已經過去幾個禮拜了,呵呵,要和朋友說抱歉了,雖然我答應“等我做完之后再幫你改下程序”但是沒一個實現。

        當然,此程序因為基本全是自己寫的,被方晉甬老師稱之為“程序設計不成熟、比較亂”的,額,本來準備用switch語句,但是呂昂老師說switch語句會產生過多閑置寄存器(可是他沒有考慮到我僅僅是實現很少的功能),這段程序只實現+-×÷,符號閃爍,過八位報錯等功能但是沒有小數,只能計算一步(加少數程序即可計算多部)。其實程序挺早就寫出來了,只是一直出不來效果,后來在仿真和VC++編譯環境下修改了很多,理論上是可以實現了,可是還是沒有顯示,于是抓狂了“看來我已處在瓶頸...”,晃了最后一個禮拜,周日周一看了兩天晚上,依然沒有看出什么來,禮拜二去方晉甬老師辦公室請教,查了近3個鐘頭【基本看過了我所有奇形怪狀的子程序—。—||||】,在仿真多遍之后發現就少了一句“while(!key)【檢測釋放按鍵】”【程序中紅字部分即主程序最后一句】囧啊~~~~以至于周四答辯的時候我演示之后,剛點看ppt他就說直接給A,不用答了。。。。
        程序的完整版下載地址:http://www.51hei.com/ziliao/file/jsjq.rar


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 米泉市| 孝昌县| 江源县| 额敏县| 旬阳县| 潮州市| 关岭| 安国市| 丰城市| 普宁市| 永川市| 峡江县| 岳阳县| 聂荣县| 忻城县| 柏乡县| 凉山| 阜康市| 察雅县| 潢川县| 威远县| 中方县| 长汀县| 龙江县| 涿鹿县| 绵竹市| 惠来县| 额济纳旗| 扶风县| 新乡市| 西青区| 鄂州市| 股票| 原阳县| 个旧市| 玉门市| 金坛市| 开化县| 汨罗市| 新田县| 海口市|