久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7288|回復: 1
收起左側

[推薦]51單片機C語言學習

[復制鏈接]
ID:3395 發表于 2008-7-17 11:44 | 顯示全部樓層 |閱讀模式
單片機教程,51單片機C語言學習


第一講


  學習單片機實在不是件易事,一來要購買高價格的編程器,仿真器,二來要學習編程語言,還有眾多種類的單片機選擇真是件讓人頭腦的事。在眾多單片機中51架構的芯片風行很久,學習資料也相對很多,是初學的較好的選擇之一。51的編程語言常用的有二種,一種是匯編語言,一種是C語言。匯編語言的機器代碼生成效率很高但可讀性卻并不強,復雜一點的程序就更是難讀懂,而C語言在大多數情況下其機器代碼生成效率和匯編語言相當,但可讀性和可移植性卻遠遠超過匯編語言,而且C語言還可以嵌入匯編來解決高時效性的代碼編寫問題。對于開發周期來說,中大型的軟件編寫用C語言的開發周期通常要小于匯編語言很多。綜合以上C語言的優點,我在學習時選擇了C語言。以后的教程也只是我在學習過程中的一些學習筆記和隨筆,在這里加以整理和修改,希望和大家一起分享,一起交流,一起學習,一起進步。
  *注:可以肯定的說這個教程只是為初學或入門者準備的,筆者本人也只是菜鳥一只,有望各位大俠高手指點錯誤提出建議。   
                         


第一課 建立您的第一個C項目
  使用C語言肯定要使用到C編譯器,以便把寫好的C程序編譯為機器碼,這樣單片機才能執行編寫好的程序。KEIL uVISION2是眾多單片機應用開發軟件中優秀的軟件之一,它支持眾多不同公司的MCS51架構的芯片,它集編輯,編譯,仿真等于一體,同時還支持,PLM,匯編和C語言的程序設計,它的界面和常用的微軟VC++的界面相似,界面友好,易學易用,在調試程序,軟件仿真方面也有很強大的功能。因此很多開發51應用的工程師或普通的單片機愛好者,都對它十分喜歡。
  以上簡單介紹了KEIL51軟件,要使用KEIL51軟件,必需先要安裝它。KEIL51是一個商業的軟件,對于我們這些普通愛好者可以到KEIL中國代理周立功公司的網站上下載一份能編譯2K的DEMO版軟件,基本可以滿足一般的個人學習和小型應用的開發。(安裝的方法和普通軟件相當這里就不做介紹了)
  安裝好后,你是不是迫不及待的想建立自己的第一個C程序項目呢?下面就讓我們一起來建立一個小程序項目吧。或許你手中還沒有一塊實驗板,甚至沒有一塊單片機,不過沒有關系我們可以通過KEIL軟件仿真看到程序運行的結果。
  首先當然是運行KEIL51軟件。怎么打開?噢,天!那你要從頭學電腦了。呵呵,開個玩笑,這個問題我想讀者們也不會提的了:P。運行幾秒后,出現如圖1-1的屏幕。





圖1-1 啟動時的屏幕


  接著按下面的步驟建立您的第一個項目:
  (1)點擊Project菜單,選擇彈出的下拉式菜單中的New Project,如圖1-2。接著彈出一個標準Windows文件對話窗口,如圖1-3,這個東東想必大家是見了N次的了,用法技巧也不是這里要說的,以后的章節中出現類似情況將不再說明。在"文件名"中輸入您的第一個C程序項目名稱,這里我們用"test",這是筆者慣用的名稱,大家不必照搬就是了,只要符合Windows文件規則的文件名都行。"保存"后的文件擴展名為uv2,這是KEIL uVision2項目文件擴展名,以后我們可以直接點擊此文件以打開先前做的項目。





圖1-2 New Project菜單





圖1-3 文件窗口


  (2)選擇所要的單片機,這里我們選擇常用的Ateml公司的AT89C51。此時屏幕如圖1-4所示。AT89C51有什么功能、特點呢?不用急,看圖中右邊有簡單的介紹,稍后的章節會作較詳細的介紹。完成上面步驟后,我們就可以進行程序的編寫了。
  (3)首先我們要在項目中創建新的程序文件或加入舊程序文件。如果你沒有現成的程序,那么就要新建一個程序文件。在KEIL中有一些程序的Demo,在這里我們還是以一個C程序為例介紹如何新建一個C程序和如何加到您的第一個項目中吧。點擊圖1-5中1的新建文件的快捷按鈕,在2中出現一個新的文字編輯窗口,這個操作也可以通過菜單File-New或快捷鍵Ctrl+N來實現。好了,現在可以編寫程序了,光標已出現在文本編輯窗口中,等待我們的輸入了。第一程序嘛,寫個簡單明了的吧。下面是經典的一段程序,呵,如果你看過別的程序書也許也有類似的程序:


#include
#include


void main(void)
{
 SCON = 0x50; //串口方式1,允許接收
 TMOD = 0x20; //定時器1定時方式2
 TCON = 0x40; //設定時器1開始計數
 TH1 = 0xE8; //11.0592MHz 1200波特率
 TL1 = 0xE8;
 TI = 1;
 TR1 = 1; //啟動定時器


 while(1)
  {
   printf ("Hello World!\n"); //顯示Hello World
  }
}





圖1-4選取芯片





圖1-5新建程序文件


這段程序的功能是不斷從串口輸出"Hello World!"字符,我們先不管程序的語法和意思吧,先看看如何把它加入到項目中和如何編譯試運行。
  (4)點擊圖1-5中的3保存新建的程序,也可以用菜單File-Save或快捷鍵Ctrl+S進行保存。因是新文件所以保存時會彈出類似圖1-3的文件操作窗口,我們把第一個程序命名為test1.c,保存在項目所在的目錄中,這時你會發現程序單詞有了不同的顏色,說明KEIL的C語法檢查生效了。如圖1-6鼠標在屏幕左邊的Source Group1文件夾圖標上右擊彈出菜單,在這里可以做在項目中增加減少文件等操作。我們?quot;Add File to Group 'Source Group 1'"彈出文件窗口,選擇剛剛保存的文件,按ADD按鈕,關閉文件窗,程序文件已加到項目中了。這時在Source Group1文件夾圖標左邊出現了一個小+號說明,文件組中有了文件,點擊它可以展開查看。





圖1-6把文件加入到項目文件組中


  (5)C程序文件已被我們加到了項目中了,下面就剩下編譯運行了。這個項目我們只是用做學習新建程序項目和編譯運行仿真的基本方法,所以使用軟件默認的編譯設置,它不會生成用于芯片燒寫的HEX文件,如何設置生成HEX文件就請看下面的第三課。我們先來看圖1-7吧,圖中1、2、3都是編譯按鈕,不同是1是用于編譯單個文件。2是編譯當前項目,如果先前編譯過一次之后文件沒有做動編輯改動,這時再點擊是不會再次重新編譯的。3是重新編譯,每點擊一次均會再次編譯鏈接一次,不管程序是否有改動。在3右邊的是停止編譯按鈕,只有點擊了前三個中的任一個,停止按鈕才會生效。5是菜單中的它們,我個人就不習慣用它了。嘿嘿,這個項目只有一個文件,你按123中的一個都可以編譯。按了?好快哦,呵呵。在4中可以看到編譯的錯誤信息和使用的系統資源情況等,以后我們要查錯就靠它了。6是有一個小放大鏡的按鈕,這就是開啟\關閉調試模式的按鈕,它也存在于菜單Debug-Start\Stop Debug Session,快捷鍵為Ctrl+F5。





圖1-7編譯程序


  (6)進入調試模式,軟件窗口樣式大致如圖1-8所示。圖中1為運行,當程序處于停止狀態時才有效,2為停止,程序處于運行狀態時才有效。3是復位,模擬芯片的復位,程序回到最開頭處執行。按4我們可以打開5中的串行調試窗口,這個窗口我們可以看到從51芯片的串行口輸入輸出的字符,這里的第一個項目也正是在這里看運行結果。這些在菜單中也有,這里不再一一介紹大家不妨找找看,其它的功能也會在后面的課程中慢慢介紹。首先按4打開串行調試窗口,再按運行鍵,這時就可以看到串行調試窗口中不斷的打?quot;Hello World!"。呵呵,是不是不難呀?這樣就完成了您的第一個C項目。最后我們要停止程序運行回到文件編輯模式中,就要先按停止按鈕再按開啟\關閉調試模式按鈕。然后我們就可以進行關閉KEIL等相關操作了。
  到此為止,第一課已經完結了,初步學習了一些KEIL uVision2的項目文件創建、編譯、運行和軟件仿真的基本操作方法。其中一直有提到一些功能的快捷鍵的使用,的確在實際的開發應用中快捷鍵的運用可以大大提高工作的效率,建議大家多多使用,還有就是對這里所講的操作方法舉一反三用于類似的操作中。





圖1-8調試運行程序


回復

使用道具 舉報

ID:66501 發表于 2014-10-27 12:59 | 顯示全部樓層
掘墓高手,專挖古墓,一挖一個坑,坑坑見墓。。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人91视频 | 午夜精品久久久久99蜜 | 成人欧美一区二区三区黑人孕妇 | 亚洲精品在线免费看 | 91.com在线观看| 一区二区三区欧美在线观看 | 中文字幕视频一区二区 | 亚洲欧美激情精品一区二区 | 中文字幕日韩欧美一区二区三区 | 精品国产一区二区三区性色av | 91资源在线观看 | 国产精品美女在线观看 | 亚洲精品国产第一综合99久久 | 欧美色性 | 国产精品揄拍一区二区久久国内亚洲精 | 911精品美国片911久久久 | 成人一区在线观看 | 久久精品免费看 | 2021狠狠天天天 | 91se在线 | 国产美女黄色片 | 天天操天天干天天透 | 国产丝袜一区二区三区免费视频 | 亚洲一区二区三区在线免费观看 | 国产精品高清一区二区三区 | 超碰在线免费av | 91免费看片| 久久久久久看片 | 国产欧美一区二区三区久久人妖 | 久久伊人影院 | 亚洲综合色站 | 日韩免费视频一区二区 | 日韩一区二区在线视频 | 色欧美综合| 国产成人麻豆免费观看 | 围产精品久久久久久久 | 国产日韩欧美一区 | 亚洲一区二区三区观看 | 亚洲v日韩v综合v精品v | 亚洲精品一区在线 | 久久久久久久久91 |