




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、閃爍LED燈軟件描述:/*文件描述:使用的是P1.0口,可以用其他的端口,如果用其他的端口只需把程序里的P1.0改成相應的端口,程序實現(xiàn)的功能是單片機通過對端口高低電平的控制實現(xiàn)led燈的亮和滅。賦值1就是高電平,0是低電平,具體賦什么值才亮要結合硬件部分,看led燈的接法。這里是賦0就會亮。*/#includesbit LED=P10;/ 用sbit 關鍵字 定義 LED到P1.0端口, /LED是自己任意定義且容易記憶的符號void Delay(unsigned int t); /函數聲明 c語言有void main (void) while(1)LED =1; /P1.0口置1 led燈
2、滅Delay(50000); /延時50ms 更改數可以更改延時時間LED=0;/ P1.0口置0 led燈亮Delay(50000); /延時50ms 更改數可以更改延時時間void Delay(unsigned int t)/延時程序 t的值代表幾us while(-t);程序編譯過程:下面就建立一個工程:點擊project菜單下的new project按鈕,出現(xiàn)下圖然后鍵入文件名(自己起名字)比如 流水燈。點擊保存按鈕。選擇單片機型號 一般選擇ATMEL下面的AT89C52.點擊確定就好了。之后就需要在工程里面添加文件了(就是寫程序代碼的地方)。點擊file菜單下的new按鈕就建立了新文
3、件;鍵入程序 點擊保存按鈕。鍵入文件名但必須以 .c為后綴,因為你寫的是c語言文件。如果是匯編就是.asm了。一般用c語言寫,這里我就用test1.了,點擊保存。然后就是設置了。右擊target1,選擇第一項的options for target “target1”。 選擇output在create HEX前勾上對號。點擊確定。之后就是添加文件了,就是把c語言文件添加到工程里面去。右擊上圖灰色的部分,再左擊Add files to source group 1,點擊文件名text1.c,點擊Add;文件添加完畢,關閉對話框就可以了。下面就是編譯了,就是安從左到右的3個按鍵即可。創(chuàng)建了hex文件
4、,這個文件就是燒寫到單片機的文件;下面就是燒寫程序了。打開燒寫程序選擇單片機型號一般不用該默認c52.打開需要下載的文件即點擊open file按鈕;選擇下載的文件;點擊打開即可;選擇端口。一般這個電腦就是com1.點擊下載即可。給單片機上電;硬件描述:硬件部分就是一個led燈。但是需要串聯(lián)一個限流電阻,如果只加入一個led燈就是燒掉,限流電阻的選擇要合適,這個自己百度看看 很簡單的在這里就不必說了,應該串聯(lián)個500R左右的電阻,因為辦公室里沒有所以就用了2個1K的并聯(lián)。我建議同學自己焊下電路板,然后下載上程序看看。下載后的狀態(tài):定時器/*文件描述:這個led口用的也是是P1.0口,可以用其他
5、的端口,如果用其他的端口只需把程序里的P1.0改成相應的端口,這個程序實行的功能是利用定時器0的計數功能實現(xiàn)上面閃爍led燈的功能。*/#include sbit LED= P10;unsigned char Time=0; /計時次數int main(void)LED =1; /P1.0口置1 熄滅led燈TMOD=0x01; /定時器0工作方式1TH0=0xdb; /T0賦初值,延時0.01秒 (賦值有計算公式)TL0=0xff; ET0=1; /開定時器0中斷EA=1;/開總中斷TR0=1; /開始計數while(1) /等待定時器中斷 什么也不做 相當與while(1);void ti
6、mer0_int() interrupt 1 /定時器0中斷TH0=0xdb; /T0賦初值,延時0.01秒 如果不賦值就會從0計數 TL0=0xff;Time+;if(Time=100) /判斷是否計時到1秒Time=0; LED = LED;與上面的一樣,在這里就不必多說了。串口中斷/*文件描述:串口實現(xiàn)的功能就是對串口進行測試,單片機發(fā)送字符到電腦,在由電腦發(fā)送回來,*/#include void main() TMOD= 0x20; /定時器工作方式2 TH1=0XFD; /有公式 TL1=0XFD; TR1=1; SCON= 0x50;/串口工作方式1 EA = 1; /*打開總中斷
7、*/ ES = 1; /*打開串口中斷*/ while(1); /等待串口中斷 void UART_SER (void) interrupt 4 /串行中斷服務程序 unsigned char Temp; /定義臨時變量 if(RI) /判斷是接收中斷產生 RI=0; /標志位清零 Temp=SBUF; /讀入緩沖區(qū)的值 SBUF=Temp; /把接收到的值再發(fā)回電腦端 if(TI) /*如果是發(fā)送標志位,清零 應該是先接收了數據才可以發(fā)送 如果先發(fā)送的話沒有數據直接清零*/ TI=0; 程序的編譯跟燒寫跟上面的流水燈的類似在這不必在說了。請同學們仿照前面的例子。下面的是將程序燒寫在單片機上能
8、實現(xiàn)什么樣的功能。因為發(fā)送數據我們無法直接看到所以借助一個串口調試程序。上面的設置就默認這樣就可以(注意波特率設定的值必須跟你程序中設定的那個波特率一致,否則發(fā)不過去。因為程序都是9600所以默認為9600.還有串口號根據情況可以改變)。在下方寫入你要發(fā)送的字符看看上面的方框收到什么。寫入a得到了E1.這是為什么呢。這是因為接收區(qū)設置為十六進制顯示。所以得到的是a的十六進制代碼值。串口查詢/*文件描述:對串口進行測試,單片機發(fā)送字符到電腦,在由電腦發(fā)送回來*/#include int main(void) /主函數 unsigned char Temp; /定義變量用來發(fā)送或接收數據 TMOD=0x20; /定時器T1使用工作方式2 TH1=253; /設置初值 TH0=253; TR1=1; /開始計時 定時器不能開中斷 PCON=0x00; /SMOD=0; SCON=0x50; /工作方式1,波特率9600bit/s,允許接收 TI=1; /T
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 渭南危房拆除施工方案
- 東營橡皮壩施工方案
- 怎么使用MPIDP-RS232OD資料
- 引黃灌區(qū)施工方案
- 質管員考核試題及答案
- 中央財政支持地方高校發(fā)展專項資金
- 6-12歲小孩體能訓練動作名稱
- 5年級下冊第21課
- 5內加減法口算題
- 地質災害綜合治理項目效果監(jiān)測標書
- 數字電路設計及verilog-hdl實現(xiàn)康磊課后答案
- 青島版科學(2017)六三制六年級下冊1-5《觸覺》課件
- 建筑用砂標準及特點-課件
- 四年級數學思維訓練社團活動(素質拓展)電子教案
- 蒙古族文化課件
- 瀘州老窖股權激勵方案案例分析
- 火電廠廠用電系統(tǒng)與廠用電接線運行特點分析
- 部編版小學語文三年級(下冊)學期課程綱要
- _重大事故后果分析(精)
- 水泥攪拌樁施工監(jiān)理質量控制要點
- 初級診斷師培訓課程QC基礎知識
評論
0/150
提交評論