歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

單片機(jī)原理與應(yīng)用技術(shù).ppt

  • 資源ID:15627451       資源大?。?span id="ljy5pr5" class="font-tahoma">342.84KB        全文頁(yè)數(shù):22頁(yè)
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

單片機(jī)原理與應(yīng)用技術(shù).ppt

單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件,第六講:C-51程序設(shè)計(jì),本講重點(diǎn): C-51的數(shù)據(jù)類型和存儲(chǔ)類型; 指針和中斷的使用; 通過(guò)實(shí)例消化理解C-51的編程方法; 嘗試將實(shí)驗(yàn)課中的ASM-51程序轉(zhuǎn)為C-51程序.,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件,C語(yǔ)言作為一種非常方便的語(yǔ)言而得到廣泛的支持, C語(yǔ)言程序本身不依賴于機(jī)器硬件系統(tǒng),基本上不作修改就可將程序從不同的單片機(jī)中移植過(guò)來(lái)。 C提供了很多數(shù)學(xué)函數(shù)并支持浮點(diǎn)運(yùn)算,開(kāi)發(fā)效率高,故可縮短開(kāi)發(fā)時(shí)間,增加程序可讀性和可維護(hù)性。, C-51簡(jiǎn)介,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件,C-51與ASM-51相比,有如下優(yōu)點(diǎn): 1.對(duì)單片機(jī)的指令系統(tǒng)不要求了解,僅要求對(duì)8051 的存貯器結(jié)構(gòu)有初步了解; 2.寄存器分配、不同存貯器的尋址及數(shù)據(jù)類型等細(xì)節(jié)可由編譯器管理; 3.程序有規(guī)范的結(jié)構(gòu),可分成不同的函數(shù),這種方式可使程序結(jié)構(gòu)化; 4.具有將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性; 5.提供的庫(kù)包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能力; 6.由于具有方便的模塊化編程技術(shù),使已編好程序可容量地植入新程序;,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件, C51的數(shù)據(jù)類型 常用的數(shù)據(jù)類型有:, C51的程序結(jié)構(gòu) 與一般C語(yǔ)言的結(jié)構(gòu)相同,以main()函數(shù)為程序人口,程序體中包含若干語(yǔ)句還可以包含若干函數(shù)。,位型 字符型 整型 長(zhǎng)整型 浮點(diǎn)型 bit char int long int float 1位 1字節(jié) 2字節(jié) 4字節(jié) 4字節(jié),數(shù)組型 指針型,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件, C-51數(shù)據(jù)的存儲(chǔ)類型,名 存儲(chǔ)空間位置 長(zhǎng)度 數(shù)據(jù)范圍 data 直接尋址片內(nèi)RAM 8位 0255 bdata 可位尋址片內(nèi)RAM 1位 0/1 idata 間接尋址片內(nèi)RAM 8位 0255 xdata 片外RAM 16位 065535, C-51的包含的頭文件,通常有:reg51.h math.h ctype.h stdio.h stdlib.h absacc.h 常用有:reg51.h (定義特殊功能寄存器和位寄存器); math.h (定義常用數(shù)學(xué)運(yùn)算);,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件, C-51的運(yùn)算符 與C語(yǔ)言基本相同: + - * / (加 減 乘 除) = << (位右移 位左移) 指向字形口 MOV A,#80H;確定字形代碼 MOVX R0,A ;輸出字形代碼 MOV R1,#0DDH ;指向字位口 MOV A,#20H;從最高位開(kāi)始 LEDO: MOVX R1,A;輸出字位代碼 MOV R2,#18H;確定延時(shí)常數(shù) ACALL DEYS;調(diào)延時(shí)子程序 RL A;右移一位 SJMP LEDO;循環(huán)演示,; 延時(shí)子程序 DEYS: PUSH 02H DEY0: PUSH 02H DEY1: PUSH 02H DJNZ R2,$ POP 02H DJNZ R2,DEY1 POP 02H DJNZ R2,DEY0 POP 02H DJNZ R2,DEYS RET END,例1.“8”字符循環(huán)演示 (字形口為DCH; 字位口為DDH) 匯編語(yǔ)言程序,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件,#include #include #define uchar unsigned char /* 字形口 */ #define PORTA XBYTE0 xffdc /* 字位口 */ #define PORTB XBYTE0 xffdd /* 延時(shí) 1MS子程序 */ void msce(unsigned int x) unsigned char j; while(x-)!=0) for(j=0;j<60;j+); ,main( ) uchar rr,i; for(;) rr=0 x01;/* 從最右一位開(kāi)始 */ for(i=0;i<6;i+) PORTA =0 x80;/*輸出字形代碼*/ PORTB =rr; /*輸出字位代碼*/ msce(150); /*調(diào)延時(shí)子程序*/ rr=rr<<1; /*循環(huán)左移一位*/ , “8”字符循環(huán)演示的C51程序,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件, C51程序 #include main( ) int i; unsigned char xdata *p=0 x2000; /* 指針指向2000H單元 */ for(i=0;i<256;i+) /*清零2000H-20FFH單元*/ *p=0; p+; ,例2.清零程序 (將2000H20FFH的內(nèi)容清零) 匯編語(yǔ)言程序 ORG 0000H SE01: MOV R0,#00H MOV DPTR,#2000H ;(0000H)送DPTR LOO1: CLR A MOVX DPTR,A ;0送(DPTR) INC DPTR ;DPTR+1 INC R0 ;字節(jié)數(shù)加1 CJNE R0,#00H,LOO1 ;不到FF個(gè)字節(jié)再清 LOOP: SJMP LOOP,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件,例3.拆字程序 (將2000H的內(nèi)容拆開(kāi),高位送2001H低位,低位送2002H低位) 匯編語(yǔ)言程序 ORG 0000H SE02: MOV DPTR,#2000H MOVX A,DPTR MOV B,A ;(2000)AB SWAP A ;交換 ANL A,#0FH ;屏敝高位 INC DPTR MOVX DPTR,A ;送2001H INC DPTR MOV A,B ANL A,#0FH ;(2000)內(nèi)容屏敝高位 MOVX DPTR,A ;送2002H SJMP $,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件,拆字C51程序 #include main( ) unsigned char xdata *p=0 x2000;/*指針指向2000H單元*/ /* 2002H單元高4位清零,低4位裝2000H單元低4位 */ *(p+2)=(*p) ,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件, 匯編語(yǔ)言程序 ORG 0000H L00: MOV R0,#10H ;查找16個(gè)字節(jié) MOV R1,#00H MOV DPTR,#2000H L11: MOVX A,DPTR CJNE A,#00H,L16 ;取出內(nèi)容與00H相等嗎? INC R1 ;取出個(gè)數(shù)加1 L16: INC DPTR DJNZ R0,L11 ;未完繼續(xù) MOV DPTR,#2100H MOV A,R1 MOVX DPTR,A ;相同數(shù)個(gè)數(shù)送2100H L1E: SJMP L1E,例4.查找零的個(gè)數(shù)(在2000H-200FH中查出有幾個(gè)字 節(jié)是零,把個(gè)數(shù)放在2100H單元中),單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件,查找零的個(gè)數(shù)C51程序 #include main ( ) unsigned char xdata *p=0 x2000;/*指針p指向2000H單元*/ int n=0,i; for(i=0;i<16;i+) if(*p=0) n+; /* 若該單元內(nèi)容為零,則n+1 */ p+; /* 指針指向下一單元 */ p=0 x2100; /* 指針p指向2100H單元 */ *p=n; /* 把個(gè)數(shù)放在2100H單元中 */ ,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件, 匯編程序 ORG 0000H MOV A,R3 MOV B,R7 MUL AB ;R3*R7 XCH A,R7 ;R7=(R3*R7)低字節(jié) MOV R5,B ;R5=(R3*R7)高字節(jié) MOV B,R2 MUL AB ;R2*R7 ADD A,R5 MOV R4,A CLR A ADDC A,B MOV R5,A ;R5=(R2*R7)高字節(jié) MOV A,R6 MOV B,R3 MUL AB ;R3*R6,ADD A,R4 XCH A,B ADDC A,R5 MOV R5,A MOV PSW.5,C ;存CY MOV A,R2 MUL AB ;R2*R6 ADD A,R5 MOV R5,A CLR A MOV ACC.0,C MOV C,PSW.5 ;加上次加法的位 ADDC A,B MOV R4,A JMP $,例5.雙字節(jié)無(wú)符號(hào)整數(shù)快速乘法,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件, C51程序 #include main( ) unsigned int xdata *p1=0 x2000;/*雙字節(jié)被乘數(shù)在2000H單元*/ unsigned int xdata *p2=0 x2002;/*雙字節(jié)乘數(shù)在2002H單元 */ unsigned long xdata *p3=0 x2010;/*4字節(jié)乘積放在2010H單元*/ *p3=(*p1)*(*p2); ,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件,例6.工業(yè)順序控制C-51程序 #include sbit P1_7=0 x97; /* 定義P1.7口地址 */ unsigned char TT; void Delay(unsigned int value) /* 延時(shí)子程序*/ while(value!=0) value-; void Serint1()interrupt 2 /*中斷服務(wù)程序-暫停并報(bào)警*/ int i; TT=P1; /* 保護(hù)現(xiàn)場(chǎng) */ P1=0 x7f; /* 關(guān)輸出 */ while(!INT1) /* 若故障未消除,則報(bào)警 */ for(i=0;i<0 xa0;i+) /* 給蜂鳴器發(fā)震蕩脈沖 */ P1_7=1;Delay(50); P1_7=0;Delay(50); P1_7=0;Delay(6550); P1=TT; /*恢復(fù)現(xiàn)場(chǎng) */ ,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件,main ( ) IE=0 x84; /* CPU開(kāi)中斷,INT1開(kāi)中斷 */ while(T0=0); /* 等待P3.4變高 */ for(;) P1=0 xfe; Delay(60000); /* 工序1 */ P1=0 xfd; Delay(60000); /* 工序2 */ P1=0 xfb; Delay(60000); /* 工序3 */ P1=0 xf7; Delay(60000); /* 工序4 */ P1=0 xef; Delay(60000); /* 工序5 */ P1=0 xdf; Delay(60000); /* 工序6 */ P1=0 x8f; Delay(60000); /* 工序7 */ ,(續(xù)前),單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件,例7.電腦時(shí)鐘 (用定時(shí)器產(chǎn)生0.1秒定時(shí)中斷,對(duì)時(shí)鐘計(jì)數(shù)器計(jì)數(shù)并送數(shù)碼管顯示) C51程序 #include #include #define uchar unsigned char #define LEDwp XBYTE0 xffdc #define LEDwb XBYTE0 xffdd uchar code table10=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90; uchar hour=1,min=23,sec=45,m=0,n,i; /* 給時(shí)鐘賦初值 */ uchar xdata *p; void Delay(unsigned int value) /*延時(shí)子程序*/ while(value!=0) value-;,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件,void Trans(void) /*時(shí)間數(shù)據(jù)轉(zhuǎn)換子程序*/ if(sec=60) min+;sec=0; if(min=60) hour+;min=0; if(hour=24) hour=0; *(p+0)=hour/10; /* 時(shí)的十分位 */ *(p+1)=hour%10; /* 時(shí)的個(gè)位*/ *(p+2)=min/10; /* 分的十分位 */ *(p+3)=min%10; /* 分的個(gè)位 */ *(p+4)=sec/10; /* 秒的十分位 */ *(p+5)=sec%10; /* 秒的個(gè)位 */ void Show(void) /*循環(huán)顯示子程序*/ for(;) Trans( ); LEDwb=n=0 x20; for(i=0;i1; ,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件,/* 中斷服務(wù)子程序(0.1秒中斷一次) */ void time() interrupt 1 m+; TH0=0 x3c; TL0=0 xb7; /* 給 T0 賦計(jì)數(shù)初值 */ if(m=10) sec=sec+1; m=0; main( ) p=0 x2000; TMOD=0X01; /* T/C0工作在定時(shí)器方式1 */ TH0=0 x3c; TL0=0 xb7; /* 給 T0 賦計(jì)數(shù)初值 */ EA=1; /* CPU開(kāi)中斷 */ TR0=1; /* 啟動(dòng)T/C0開(kāi)始定時(shí) */ ET0=1; /* T/C0開(kāi)中斷 */ Show( ); ,單片機(jī)原理與應(yīng)用技術(shù)教學(xué)課件,OVER !,

注意事項(xiàng)

本文(單片機(jī)原理與應(yīng)用技術(shù).ppt)為本站會(huì)員(w****2)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!