自學單片機第十二篇上:首次測試設備——軟體測試

2020-12-14 小亮談電氣

這是新手的第一次嘗試,是老師傅的一次回望當年。

準備階段,我們儘量讓第一次測試完整,可操作。由於準備比較多,講得儘可能詳細,所以分為兩篇,上篇是軟體測試,下篇是硬體測試。

所有材料:

1,安裝軟體的電腦,至少安裝了keil和ISP,keil用於編輯程序,ISP用於把程序下載到單片機中。沒有這兩個,我們即使首次測試成功,接下來的學習也會很艱難。

2,可以上電的最小系統板,已安裝單片機。上電是基本的,單片機也是基本的,沒有單片機,程序就沒地方存,沒有電,什麼也幹不了。

3,下載器,它是電腦和晶片的連接紐帶,沒有它,接下來也是學著艱難,下載線可以想辦法,下載器就只能買了。

材料準備好了,小白們就可以準備了,大佬們也準備好板凳。

首先,測試軟體是否可以運行,並寫下第一個代碼,同時導出可執行文件。

打開安裝好的keil軟體。

然後我們建立一個工程

文件名我寫成了002,主要是為了好記,你們可以命成自己喜歡的,例如我們要練習LED燈,可以直接命名為小燈點亮,沒有問題的,支持中文。

接著是選擇我們需要編程的控制器型號,原則上選擇相近的型號即可,最好選擇一致,自帶的沒有STC的庫,所以我導入了一個,由於我已經導入,所以可以直接看到。

你們可以用inter的8051替代,沒有問題的。如果需要知道如何導入晶片庫,我們後面說到下載的時候會介紹一下方法。選擇好之後,點擊確定。從這一步開始,程序就已經進入編輯階段了,你選擇的這個晶片型號,就決定了接下來你使用的函數中,哪些是已經準備好的,可以直接調用,如果選錯,可能會導致無法編譯或者編譯錯誤。就像學習文理分科一樣,雖然不影響學習,但是最終考試題會不一樣。

我選擇的是與我的晶片型號一致的STC89C52RC

看到這個選擇「否」,意思是將這個引導文件添加到工程的項目中,我們暫時不需要,所以不用。如果選擇了「是」也不影響操作,接著進行下一步即可。(截圖忘記保存,不影響操作,大家自己看提示就可以完成)

新建一個程序文檔,我們可以在項目上單擊右鍵,會彈出菜單欄,選擇第二項》》添加一個新的文檔。

我們在對話框中,選擇第一個.c文件,然後輸入文件名,原則上支持中文,但是條件允許的情況下,儘量選擇英文加數字,防止出現編譯錯誤。畢竟這個軟體時國外開發的。還是要遷就一下它,防止軟體使用中亂發脾氣。

這個添加的文件直接就是程序文檔,後綴名就是「****.c」。

還有一種快捷的添加文件方式,也說一下,就是這個一頁紙一樣的圖標,左鍵單擊就添加了,不過出現的是一個沒有後綴名的文檔。

我們需要點擊上方的藍色的保存按鍵,或者直接Ctrl+s,在彈出的對話框下方,輸入想要命名的文件名,例如「003.c」,切記,此時的「.c」不可以省略,否則就會保存問文本文檔,程序就讀不出來。填完,點擊保存即可。

下面我們寫入第一個程序,也是每個學習單片機的同學最容易接受的一段代碼,估計大家都是從這個開始的吧,我當年第一次學,可是比這個難,所以直接完犢子了,今天就來的簡單些,防止重蹈當年的覆轍。

首先是第一句:#include<reg51.h>

這個根據各自的單片機型號而定,建議大家選擇這個,通用的基本聲明,我的是52型號的,用這個也可以,不過以後的學習中,大家可以根據需要書寫與自己單片機一致的頭文件,例如我的就可以書寫成#include<reg52.h>,這裡邊包含的是一些已經幫我們聲明好的變量和定義,可以直接使用,方便了程序書寫。暫時先不用理會,先寫上第一句。

然後是第二句:sbit LED=P1^0;

這個是一個賦值語句,高中就學習過,意思是把P1.0口的值送給LED,但是前邊的sbit,就改變了他的一些功能,此時也可以理解為,P1.0和LED相等,看見P1.0就可以認為是LED,看見LED就認為是P1.0,給P1.0新建了一個名字叫LED。就像我們有大名,喊著比較彆扭,於是就起了個小名,喊著親切還好認。跟這個是一個意思。

在課堂上老師會說這個是一個聲明語句,意思是,提前告訴所有程序:唉!都聽好了,以後看見有人喊「LED」就是在喊「P1.0」,都挺清楚了。

於是程序中就可以用LED代替P1.0進行操作了。

接下來是主程序:void main(void){}

mian後的括號中的void可以不用寫,如果嚴格一些,需要寫,不寫也不會報錯。後邊的大括號是必須寫的,一對出現。我們以後寫的所有程序都需要在這個函數中運行,不管你寫的什麼,都需要走主函數過一下,就像一個火車站的進站口一樣,負責檢查和執行。

我們需要在主函數的大括號中寫上一個語句,完成一個輸出。

輸出語句:LED=0;

這句話就相當於P1.0=0。

最後需要加一個語句,用於保持程序的當前狀態,防止出現錯誤。

最後的一句:while();

就這麼幾句,看似簡單,其實可以通過它,我們來簡單測試一下軟體是否可用,下載器是否正常,單片機是否可以正常驅動,作為開始,這就夠了。

編譯前,項目中只有程序的.c文件。

點擊編譯,用於檢查和生成可執行文件。如果有錯誤會在下方的提示窗中顯示。

編譯後,下方提示0-錯誤,0-警告。如果有錯誤,程序就不會生成可執行文件,如果有警告,可以生成可執行文件,但警告的內容是提示你,即使生成了可執行文件,你也可能會無法真常執行程序。所以最好做到沒有錯誤,沒有警告。

一般編譯完後,我們的頭文件會引導出一個文件,包含在了我們的程序文件中,就是左側002.c下方的reg52.h。這個先按下不談。

查看輸出提示,我們發現,並沒有提示導出了可執行文件。主要是我們沒有設置。要輸出文件,還需要設置一下。之前的文章中已經有提到過。

單擊下圖中的設置按鈕,進入設置界面。

在設置中的第三項output中,將輸出HEX文件前選中,打勾。然後點擊確定。

接著再次編譯異一次,此時,在0-錯誤,0-警告的上方,多了一句話,生成了HEX文件,存儲在了「.\objects\002」這個地址中。我們從這個地址就可以找到所虛的可執行文件。這個文檔,位置在你存儲002.C文件的文件夾中。

就是下圖中間的文件。

至此,軟體調試結束,如果你成功生成了「*****.hex」文件,那麼離成功就只有一步之遙了。由於篇幅限制,先分享這麼多,硬體的調試,下篇文章會進行詳細解釋。

對於已經深諳單片機之道的大佬,這些就是連門都沒入的基本功,好比進入古代宗門中,的外門弟子修習的法術,而且還是最初級的那種,所以這個適合新手看,若是已經入門或造詣頗深,可以為文章提出更合理的講解方法,留言回復,讓更多小白,輕鬆入門。授人一計,若得大道。

如果是第一次使用軟體,總會有些問題,歡迎不懂的小夥伴私信或留言。

往期文章:

自學單片機第三篇:keil軟體

自學單片機第四篇:proteus pro軟體

自學單片機第五篇:TSC-ISP軟體

感謝關注,瀏覽更多福利

相關焦點

  • 自學單片機第十二篇下:首次測試設備——硬體
    我們就直接接著上一篇講了。上一篇介紹了編程軟體的測試,然後輸出了一個.hex文件,這次我們需要使用。接下來就開始硬體的介紹。搞單片機,硬體也是一大方面,很重要而且很難啃的一塊骨頭,要有心理準備。我們就用它來測試第一個程序,來驗證下我們的學習整套設備是否都可以使用。打開下載軟體選擇型號,我使用的是89c52,所以選擇了這個,你們可以選擇與自己一致的型號。
  • 自學單片機第十二篇番外:首次測試——軟體仿真
    對於沒有單片機和下載器的同學,看完前兩篇文章,或許會一時技癢,但無從下手,這裡,咱就說下,沒有硬體,如果調試。之前我共享過一個軟體,不知道現在還能用不,私信回復【仿真】應該還可以獲取連結地址。如果連結失效,私信我,我單獨發送。好了,接下來介紹仿真的首次使用。
  • 自學單片機第十篇:基礎知識--萬用表的使用
    測量上有電阻,電壓,電流,通斷,二極體判斷這幾個是經常使用的,電容和溫度也會用,但是頻率比較低。我們就說下頻率高的。表筆連好後,再次確認線路和萬用表量程,然後再上電,如果有數據,就根據數據再判斷量程是否合適,若合適,就可以分析數據了,讀數時注意小數點和單位。經常有人讀錯位數和單位。斷開設備時,應先斷電,再拆卸表筆。
  • 自學單片機第二十七篇:矩陣按鍵的硬體測試
    前幾篇我們也對硬體進行了測試,我們可以發現,仿真沒有問題,但是凡是按鍵開關,在實際應用中,都會出現按鍵按下響應不穩定的情況,我們稱之為抖動,在實際應用中,抖動的問題,是一定存在的,無論電路優化的多麼完美,那麼我們在現在這個階段,如何處理呢,依然是採用軟體延時消抖大法。
  • 自學單片機第九篇:基礎知識--計算機基礎操作
    還有些是因為你的內存條不夠了,這個估計不是運行keil卡,運行其他的也會出現卡,所以電腦學不了單片機這個鍋,電腦不想背,不過換個內存條是要現金的,怎麼辦,哪就只有關進程了,把那些不用的軟體暫時先清掉,或者我們先把自己要寫的程序用視頻看完,要點記到筆記本上,然後關閉所有軟體,獨留keil,這樣就可以玩了。完美。
  • 網際網路軟體測試及測試報告怎麼做?第三方測試解決方案
    隨著信息技術的高速發展,湧現了越來越多自主研發軟體系統的網際網路企業。對於很多大型網際網路公司一般都有設置軟體測試崗位,自主開展軟體測試或編寫軟體測試報告等。對於部分小微網際網路企業,一般會選擇第三方測試機構進行軟體測試。基於不同網際網路企業產品類型,需要做的軟體測試工作其實有共同之處,但也有很多的不一樣。
  • 自學單片機第二十四篇:混合輸入的硬體測試
    前文我們通過仿真測試了程序的運行效果,符合我們的思路,但是仿真並不能代替現實情況下的狀況,之前我們有些測試也說明了這個問題,所以在條件允許的情況下,我們會儘量在實物上對程序進行相應的測試,有些只有仿真沒有測試,是因為文章未通過導致的,可以在電氣學苑內瀏覽。
  • 【軟體測試基礎】APP測試和WEB測試的區別
    從功能測試的層面上來講的話,APP 測試、web 測試 在流程和功能測試上是沒有區別的。
  • 做軟體測試,首選第三方軟體測評機構
    我們正在進入網際網路高速發展的時代,每天都有無數的APP、平臺、系統被立項,提上開發的日程,無數的軟體產品在不停的更新迭代。所以對於軟體測試的需求也越來越大,在軟體質量控制方面,軟體測試具有不可替代的作用,也是衡量軟體質量的一大重要方式。一般企業需要做軟體測試時,都會傾向於選擇第三方軟體測評機構。
  • 自學單片機第十一篇:基礎知識--電工常識
    第一條,用電安全所有的用電設備都應連接牢靠,使用容量合適的插板,試驗臺上不要有裸露的電線,儘可能地將交流電源布置到不易接觸的位置,不要讓電線在地上踩來踩去。插座應遠離水源。實驗若需通電,最好準備護目鏡,防止電容或電阻炸掉,濺到眼上。5V電源也有短路爆炸或引發火災的風險。第二條,操作安全電烙鐵使用完,務必放回烙鐵臺或焊臺,嚴禁直接放置在桌面,儘管有時發熱部分不會接觸桌面。
  • 零基礎學軟體測試基礎篇
    1.軟體測試的定義首先我們看一下什麼是軟體測試,也就是軟體測試的定義。關於軟體測試有很多的定義和說法,這裡和大家分享的是筆者比較認可的一種。軟體測試是通過手工或自動化手段來檢測軟體產品中的錯誤和缺陷的過程。
  • 神舟十二號首次實現與航天員中心遠程測試,天舟二號有新進展
    神舟十二號首次實現與航天員中心遠程測試,天舟二號有新進展 @中國航天科技集團 2020-03-27 15:40
  • 同樣是軟體測試工程師,為什麼自動化測試工資更高?
    很多小夥伴一定會有這樣的疑問,同樣是軟體測試工程師,為什麼自動化測試的薪資更高?甚至有的自動化測試工程師的薪資已經超過了開發,這篇文章就來為大家一一解答。市面上普遍的軟體測試主要分為功能測試、性能測試、自動化測試這三類,根據第三方平臺「職友集」發布的薪資來看,以西安地區為例,功能測試的平均薪資為6.5k/月,性能測試的平均薪資為8.9k/月,而自動化測試的平均薪資已經達到了12k/月,自動化測試的薪資已經遠遠超過功能測試和性能測試,甚至快是功能測試薪資的2倍之多。
  • 軟體測試中黑盒測試和白盒測試的詳細講解
    本篇將介紹關於軟體測試的黑盒測試和白盒測試知識的分享,有興趣的朋友可以了解一下!眾所周知,軟體測試是為了便於程式設計師對必要的有要求的軟體進行相關的運行和闡明,判辯設計的規範以及最後運行成功後的審查編碼的合格性。這一步的成功也就是設計的成功的第一步。我們將軟體的測試分為兩個模塊來完成,一方面是程序的編碼部分設計與軟體單元測試的部分,另一個方面就是對整個設計的全面檢測了。
  • 必看:軟體測試測試工具總結
    軟體測試工具軟體測試工具分為性能測試工具、自動化軟體測試工具和測試管理工具。性能測試工具、自動化軟體測試工具存在的價值是為了提高測試效率,用軟體來代替一些人工輸入。測試管理工具是為了復用測試用例,提高軟體測試的價值,更好的管理測試過程。
  • 軟體測試中的性能測試 負載測試 壓力測試
    1.之前有做過性能測試嗎,做過的話是做了哪些呢這個可以說使用常用的工具(jmeter,loadrunner)來完成,也可以說用的第三方軟體(這種普遍都是傻瓜型軟體,直接裝好就能用,騰訊gt等)。當然不知說這些,還要說在項目的哪一塊用過,有沒有遇到什麼問題之類的。
  • 半導體設備有哪些?如何分類?(後道工藝設備——封裝測試篇)
    半導體設備泛指用於生產各類半導體產品所需的生產設備,屬於半導體行業產業鏈的關鍵支撐環節。半導體設備是半導體產業的技術先導者,晶片設計、晶圓製造和封裝測試等需在設備技術允許的範圍內設計和製造,設備的技術進步又反過來推動半導體產業的發展。本文是繼上篇技術文章《半導體設備有哪些?如何分類?
  • 微星全球首次展示DirectX 11顯卡測試軟體3DMark 11
    全球頂尖顯卡與主板製造商微星科技,與全球顯卡測試軟體龍頭廠商FutureMark ,將於ComputeX Taipei 2010 臺北國際計算機展南港館期間,於微星 (攤位編號L607) 的Big Bang展區全球首次公開展示無數玩家與媒體期待已久的DirectX 11 顯卡遊戲效能標準的測試軟體 「3DMark 11」!
  • MHL的接收設備測試方法
    為了保護用戶已有的投資,Agilent的MHL接收設備測試也是基於E4887A的平臺,當然需要對這個平臺進行一些軟體上的升級並增加一些MHL測試的附件如測試夾具、時間轉換器(TTC)、通道模擬器等。下圖是HDMI和MHL的測試平臺的比較,我們可以看到主要的測試設備沒有太大變化,只是外部接線的方法和測試附件、測試軟體有一些變化。
  • 軟體功能測試與性能測試的3大差異,如何做好功能測試?
    軟體功能測試是軟體測試中最基礎的一項測試,軟體產品開發出來以後,功能是否能正常使用關係到產品價值與用戶體驗,所以很多開發人員會在開發的同時不斷進行軟體功能測試。那麼如何做好軟體功能測試,功能測試與性能測試又有什麼不同呢?一、什麼是軟體功能測試?軟體功能測試是指對軟體功能進行多項驗證測試,根據功能測試用例,逐項測試,檢查產品是否達到用戶要求的功能,確保應用程式的功能符合需求規範。