單片機控制LED燈點亮(C語言).ppt_第1頁
單片機控制LED燈點亮(C語言).ppt_第2頁
單片機控制LED燈點亮(C語言).ppt_第3頁
單片機控制LED燈點亮(C語言).ppt_第4頁
單片機控制LED燈點亮(C語言).ppt_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

單片機控制led燈點亮 主要內(nèi)容 一 點亮板子上的第一個燈D0二 點亮板子上的D0 D2 D4 D6燈 與D1 D3 D5 D7燈交替閃爍三 流水燈 從D0 D7依次點亮 一 點亮板子上的第一個燈D0 1 目標(biāo)了解單片機的基本設(shè)計思路和編程方法 和單片機的最小系統(tǒng) 2 分析利用單片機的一個輸入 輸出口來控制一盞發(fā)光二極管點亮 引腳 1 4個I O口占了32個引腳2 電源和接地又占了2個引腳3 剩下的6個引腳是時鐘引腳和控制引腳 硬件說明 使用單片機的P1口來驅(qū)動8個LED 發(fā)光二極管的陽極接高電平 故P1口為低電平時 就可以驅(qū)動其點亮D0與P1 0口是相連的 P1 0用來表示P1口的最低位 本任務(wù)中給單片機的P1 0口一個低電平信號即可完成控制 所以 只需給P1 0低電平信號 其他引腳均為高電平 點亮D0燈 D7D6D5D4D3D2D1D011111110從二進(jìn)制轉(zhuǎn)化為十六進(jìn)制 0 xfe 源程序 includevoidmain P1 0 xfe 十六進(jìn)制 是二進(jìn)制的簡短表示形式 十進(jìn)制中的0 15分別表示為十六進(jìn)制的0 1 2 3 4 5 6 7 8 9 A B C D E F熟練掌握二進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)換 規(guī)律 一般把四個二進(jìn)制數(shù)放在一起轉(zhuǎn)換成一個十六進(jìn)制數(shù) 轉(zhuǎn)換時先把二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù) 再把十進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù) 二進(jìn)制和十六進(jìn)制的轉(zhuǎn)換 如 0001B 1HB表示為二進(jìn)制 H為十六進(jìn)制1001B 9H1010B AH00101100 2CH11111110 FEH在C語言編程中是不能用H的 十六進(jìn)制整常數(shù)的前綴為0X或0 x 十六進(jìn)制整常數(shù) 十六進(jìn)制整常數(shù)的前綴為0X或0 x 其數(shù)碼取值為0 9 A F或a f 以下各數(shù)是合法的十六進(jìn)制整常數(shù) 0X2A 十進(jìn)制為42 0XA0 十進(jìn)制為160 0XFFFF 十進(jìn)制為65535 以下各數(shù)不是合法的十六進(jìn)制整常數(shù) 5A 無前綴0X 0X3H 含有非十六進(jìn)制數(shù)碼 各種進(jìn)位制的對應(yīng)關(guān)系 Keil的使用 掌握Keil工程的建立和軟件的開發(fā) 1 啟動 Vision Vision2是一個標(biāo)準(zhǔn)的Windows應(yīng)用程序 雙擊Keil Vision2圖標(biāo)即可啟動 也可以選擇 開始 程序 Keil Vision2 命令來啟動運行 其主界面如圖1 28所示 2 創(chuàng)建一個項目并選擇單片機選擇 Project 項目 NewProject 新建項目 命令 如圖1 29所示 將彈出 GreateNewProject 新建項目 對話框 隨后會彈出一個對話框 要求選擇單片機的型號 在該對話框中顯示了 Vision2的器件數(shù)據(jù)庫 從中可以根據(jù)使用的單片機來選擇 3 創(chuàng)建一個新的源程序文件 并把這個源文件添加到項目中單擊工具欄中的新建文件圖標(biāo) 或選擇 File 文件 New 新建 命令 文件操作窗口即可出現(xiàn)新建文件 保存該空白文件 單擊工具欄中的保存圖標(biāo) 或選擇 File 文件 Save 保存 命令 彈出如圖1 32所示的 Saveas 保存為 對話框 在 文件名 文本框中輸入欲保存的文件名 保存時注意加上正確的后綴名 單擊Target1前面的 號 然后在SourceGroup1上單擊鼠標(biāo)右鍵 彈出快捷菜單 選擇 AddFilestoGroup SourceGroup1 添加文件到項目 命令 彈出如圖1 34所示的對話框 選中文件 注意選擇文件類型 然后單擊 Add 添加 按鈕 即可添加選中文件到項目中 4 輸入源程序 此時就可以輸入源程序了 5 設(shè)置目標(biāo)硬件的工具選項程序編寫完成后 還要對項目進(jìn)行進(jìn)一步的設(shè)置 以滿足要求 Output 選項卡如圖所示 其中有多個選項 此處選擇 CreateHEXFile 復(fù)選框用于生成可執(zhí)行代碼文件 該文件可以用編程器寫入單片機芯片 文件的擴展名為 HEX 默認(rèn)情況下該項未被選中 如果要寫芯片做硬件實驗 就必須選中該項 其余選項均取默認(rèn)值 不做任何修改 6 編譯項目并創(chuàng)建HEX文件可以通過工具欄中的圖標(biāo)直接進(jìn)行 從左到右的圖標(biāo)分別是 編譯 編譯連接 全部重建 停止編譯和對工程進(jìn)行設(shè)置 對源程序編寫之后編譯 最終要得到結(jié)果 提示0個錯誤 0個警告 同時還可看到 該程序的內(nèi)部RAM的使用量 data 8 0 外部RAM的使用量 xdata 0 代碼量 code 18 等一些信息 7 將生成的hex文件 通過ISP下載到板子中 請觀察現(xiàn)象 源程序 includevoidmain P1 0 xfe C語言復(fù)習(xí) Main函數(shù)格式 voidmain 特點 無返回值 無參 任何一個C程序有且僅有一個main函數(shù) 它是整個程序開始執(zhí)行的入口 例 voidmain 總程序從這里開始執(zhí)行 其他語句 C語言 51單片機的頭文件 通常有 reg51 hreg52 hmath hctype hstdio hstdlib habsacc h常用有 reg51 hreg52 h 定義特殊功能寄存器和位寄存器 math h 定義常用數(shù)學(xué)運算 二 點亮板子上的0 2 4 6燈 與1 3 5 7燈交替閃爍 點亮0 2 4 6燈 D7D6D5D4D3D2D1D010101010從二進(jìn)制轉(zhuǎn)化為十六進(jìn)制 0 xaa點亮1 3 5 7燈 D7D6D5D4D3D2D1D001010101從二進(jìn)制轉(zhuǎn)化為十六進(jìn)制 0 x55 include defineuintunsignedint defineucharunsignedcharvoidmain uinta while 1 P1 0 xaa a 50000 while a P1 0 x55 a 50000 while a 1 宏定義 defineuintunsignedint defineucharunsignedchar define標(biāo)識符字符串C語言中的例子 definePI3 14159262 函數(shù)聲明函數(shù)聲明是指函數(shù)的定義在后面 而前面需要對它進(jìn)行調(diào)用 這樣就需要預(yù)先作聲明 一般來說函數(shù)的聲明只是函數(shù)首部加上分號即可 3 數(shù)據(jù)類型Intsignedint范圍是多少 unsignedint范圍是多少 char可以表示小整數(shù)或者單個字符 當(dāng)char表示整數(shù)時 signedchar的范圍是多少 unsignedchar的范圍是多少 C 51的數(shù)據(jù)類型 基本數(shù)據(jù)類型 類型 符號 關(guān)鍵字 數(shù)的表示范圍 所占位數(shù) 整型 字符型 實型 有 無 signed int 16 32768 32767 signed short 16 32768 32767 signed long 32 2147483648 2147483647 16 unsignedint 0 65535 32 0 4294967295 unsignedlongint unsignedshortint 16 0 65535 有 float 32 3 4e 38 3 4e38 有 double 64 1 7e 308 1 7e308 有 char 8 128 127 無 unsignedchar 8 0 255 4 While 表達(dá)式 語句 內(nèi)部也可為空 特點 先判斷表達(dá)式 后執(zhí)行語句 原則 若表達(dá)式不是0 即為真 那么執(zhí)行語句 否則跳出while語句 While 1 while 1 就是while true 條件判斷直接為true 循環(huán)永遠(yuǎn)不會退出 也稱為死循環(huán) 5 delay 函數(shù)是一個延時函數(shù) 兩個for語句 構(gòu)成了循環(huán)嵌套 用數(shù)數(shù)的方式消耗時間產(chǎn)生延遲效果 具體延遲多久取決于若干因素 以后再討論 voiddelay uintx y for x 100 x 0 x for y 600 y 0 y 注意 第二個for循環(huán)體是一條空語句 5 for循環(huán)for 表達(dá)式1 表達(dá)式2 表達(dá)式3 語句 內(nèi)部可為空 執(zhí)行過程 1 求解一次表達(dá)式1 2 求解表達(dá)式2 若其值為真 非0即為真 則執(zhí)行for中語句 然后執(zhí)行第3步 否則結(jié)束for語句 直接跳出 不再執(zhí)行第3步 3 求解表達(dá)式3 4 跳到第2步重復(fù)執(zhí)行 三 流水燈 從D0 D7依次點亮 分析 D0亮0 xfe11111110D1亮0 xfd11111101D2亮0 xfb11111011D3亮0 xf711110111D4亮0 xef11101111D5亮0 xdf11011111D6亮0 xbf10111111D7亮0 x7f01111111 軟件分析 1 依次把這8個值賦給P1口 延時一段程序 voidmain uinta while 1 P1 0 xfe a 50000 while a P1 0 xfd a 50000 while a P1 0 xfb a 50000 while a P1 0 xf7 a 50000 while a P1 0 xef a 50000 while a P1 0 xdf a 50000 while a P1 0 xbf a 50000 while a P1 0 x7f a 50000 while a 2 將0 xfe賦給P1口 然后使用移位函數(shù)來改變P1口的值 達(dá)到流水燈的效果移位函數(shù) crol cror 將char型變量循環(huán)向左 右 移動指定位數(shù)后返回 crol cror c51中的intrins h庫函數(shù) include include defineuintunsignedint defineucharunsignedcharuchartemp voiddelay ui

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論