freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

51單片機(jī)匯編語(yǔ)言及c語(yǔ)言經(jīng)典實(shí)例-wenkub

2023-04-22 04:52:11 本頁(yè)面
 

【正文】 BH,0FDH,0FEHDB 00H, 0FFH,00H, 0FFHDB 01HENDC 語(yǔ)言源程序INClude unsigned char code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x00,0xff,0x00,0xff,0x01}。}if(P1_7==0){P1_3=0。}if(P1_5==0){P1_1=0。temp=temp | 0xf0。(開(kāi)關(guān)閉合,對(duì)應(yīng)的燈亮,開(kāi)關(guān)斷開(kāi),對(duì)應(yīng)的燈滅)。L1=1。k0。i0。延時(shí)程序的設(shè)計(jì)方法,作為單片機(jī)的指令的執(zhí)行的時(shí)間是很短,數(shù)量大微秒級(jí),因此,我們要求的閃爍時(shí)間間隔為 秒,相對(duì)于微秒來(lái)說(shuō),相差太大,所以我們?cè)趫?zhí)行某一指令時(shí),插入延時(shí)程序,來(lái)達(dá)到我們的要求,但這樣的延時(shí)程序是如何設(shè)計(jì)呢?下面具體介紹其原理:如圖 所示的石英晶體為 12MHz,因此,1 個(gè)機(jī)器周期為 1 微秒,機(jī)器周期 微秒如圖 1 所示,當(dāng) 端口輸出高電平,即 =1 時(shí),根據(jù)發(fā)光二極管的單向?qū)щ娦钥芍?,這時(shí)發(fā)光二極管 L1 熄滅;當(dāng) 端口輸出低電平,即 =0 時(shí),發(fā)光二極管 L1 亮;我們可以使用 SETB 指令使 ,使用 CLR 指令使 端口輸出低電平。C 語(yǔ)言源程序include sbit L1=P1^0。i)for(j=20。k)。delay02s()。對(duì)于開(kāi)關(guān)狀態(tài)檢測(cè),相對(duì)單片機(jī)來(lái)說(shuō),是輸入關(guān)系,我們可輪流檢測(cè)每個(gè)開(kāi)關(guān)狀態(tài),根據(jù)每個(gè)開(kāi)關(guān)的狀態(tài)讓相應(yīng)的發(fā)光二極管指示,可以采用 JB ,REL或 JNB ,REL 指令來(lái)完成;也可以一次性檢測(cè)四路開(kāi)關(guān)狀態(tài),然后讓其指示,可以采用 MOV A,P1 指令一次把 P1 端口的狀態(tài)全部讀入,然后取高 4 位的狀態(tài)來(lái)指示。P1=temp。}else{P1_1=1。}else圖5 單片機(jī)原理圖三、廣告燈的設(shè)計(jì)利用取表的方法,使端口 P1 做單一燈的變化:左移 2 次,右移 2 次,閃爍 2 次(延時(shí)的時(shí)間 秒)。unsigned char i。m)for(n=20。s)。}else{i=0。匯編源程序Second EQU 30HORG 0000HSTART: MOV Second, 00HNEXT: MOV A, SecondMOV B,10DIV ABMOV DPTR,TABLEMOVC A,A+DPTRMOV P0,AMOV A,BMOVC A,A+DPTRMOV P2,ALCALL DELY1SINC SecondMOV A,SecondCJNE A,60,NEXT圖7 程序流程圖LJMP STARTDELY1S: MOV R5,100D2: MOV R6,20D1: MOV R7,248DJNZ R7,$DJNZ R6,D1DJNZ R5,D2RETTABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHENDC 語(yǔ)言源程序include unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。k0。j0。P2=table[Second%10]。}P0=table[Second/10]。在進(jìn)行數(shù)碼顯示的時(shí)候,要對(duì)顯示單元開(kāi)辟 8 個(gè)顯示緩沖區(qū),每個(gè)顯示緩沖區(qū)裝有顯示的不同數(shù)據(jù)即可。Unsigned char i;Unsigned char a,b;Unsigned char temp;void main(void){ while(1){temp=0xfe。 } else {P0=table2[i]。 temp=a|b。b0。矩陣的行線和列線分別通過(guò)兩并行接口和 CPU 通信。 匯編源程序KEYBUF EQU 30HORG 00HSTART: MOV KEYBUF,2WAIT:MOV P3,0FFHCLR MOV A,P3ANL A,0FHXRL A,0FHJZ NOKEY1LCALL DELY10MSMOV A,P3ANL A,0FHXRL A,0FHJZ NOKEY1MOV A,P3ANL A,0FHCJNE A,0EH,NK1MOV KEYBUF,0LJMP DK1NK1: CJNE A,0DH,NK2MOV KEYBUF,1LJMP DK1NK2: CJNE A,0BH,NK3MOV KEYBUF,2LJMP DK1NK3: CJNE A,07H,NK4MOV KEYBUF,3LJMP DK1NK4: NOPDK1:MOV A,KEYBUFMOV DPTR,TABLEMOVC A,A+DPTRMOV P0,ADK1A: MOV A,P3ANL A,0FHXRL A,0FHJNZ DK1ANOKEY1:MOV P3,0FFHCLR MOV A,P3ANL A,0FHXRL A,0FHJZ NOKEY2LCALL DELY10MSMOV A,P3ANL A,0FHXRL A,0FHJZ NOKEY2MOV A,P3ANL A,0FHCJNE A,0EH,NK5MOV KEYBUF,4LJMP DK2NK5: CJNE A,0DH,NK6MOV KEYBUF,5LJMP DK2NK6: CJNE A,0BH,NK7MOV KEYBUF,6LJMP DK2NK7: CJNE A,07H,NK8MOV KEYBUF,7LJMP DK2NK8: NOPDK2:MOV A,KEYBUFMOV DPTR,TABLEMOVC A,A+DPTRMOV P0,ADK2A: MOV A,P3ANL A,0FHXRL A,0FHJNZ DK2ANOKEY2:MOV P3,0FFHCLR MOV A,P3ANL A,0FHXRL A,0FHJZ NOKEY3LCALL DELY10MSMOV A,P3ANL A,0FHXRL A,0FHJZ NOKEY3MOV A,P3ANL A,0FHCJNE A,0EH,NK9MOV KEYBUF,8LJMP DK3NK9: CJNE A,0DH,NK10MOV KEYBUF,9LJMP DK3NK10: CJNE A,0BH,NK11MOV KEYBUF,10LJMP DK3NK11: CJNE A,07H,NK12MOV KEYBUF,11LJMP DK3NK12: NOPDK3:MOV A,KEYBUFMOV DPTR,TABLEMOVC A,A+DPTRMOV P0,ADK3A: MOV A,P3ANL A,0FHXRL A,0FHJNZ DK3ANOKEY3:MOV P3,0FFHCLR MOV A,P3ANL A,0FHXRL A,0FHJZ NOKEY4LCALL DELY10MSMOV A,P3ANL A,0FHXRL A,0FHJZ NOKEY4MOV A,P3ANL A,0FHCJNE A,0EH,NK13MOV KEYBUF,12LJMP DK4NK13: CJNE A,0DH,NK14MOV KEYBUF,13LJMP DK4NK14: CJNE A,0BH,NK15MOV KEYBUF,14LJMP DK4NK15: CJNE A,07H,NK16MOV KEYBUF,15LJMP DK4NK16: NOPDK4:MOV A,KEYBUFMOV DPTR,TABLEMOVC A,A+DPTRMOV P0,ADK4A: MOV A,P3ANL A,0FHXRL A,0FHJNZ DK4ANOKEY4:LJMP WAITDELY10MS:MOV R6,10D1: MOV R7,248DJNZ R7,$DJNZ R6,D1RETTABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HENDC 語(yǔ)言源程序INClude unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}。void main(void){while(1){P3=0xff。 0x0f。j0。 0x0f。switch(temp){case 0x0e:key=7。case 0x0b:key=9。}temp=P3。 0x0f。}}}P3=0xff。 0x0f。j0。 0x0f。switch(temp){case 0x0e:key=4。case 0x0b:key=6。}temp=P3。 0x0f。}}}P3=0xff。 0x0f。j0。 0x0f。switch(temp){case 0x0e:key=1。case 0x0b:key=3。}temp=P3。 0x0f。}}}P3=0xff。 0x0f。j0。 0x0f。switch(temp){case 0x0e:key=0。case 0x0b:key=14。}temp=P3。 0x0f。}}}}} 七、按鍵識(shí)別方法每按下一次開(kāi)關(guān) SP1,計(jì)數(shù)值加 1,通過(guò)AT89S51 單片機(jī)的 P1 端口的 到 顯示出其二進(jìn)制計(jì)數(shù)值。從而提高了系統(tǒng)的可靠性。CPL A 。若按下,則延時(shí) 10ms 左右JB ,REL 。發(fā)光二極管顯示MOV P1,A 。延時(shí) 10ms 子程序L1: MOV R7,248DJNZ R7,$DJNZ R6,L1RETEND2. C 語(yǔ)言源程序include unsigned char count。i)for(j=248。if(P3_7==0){count++。}}}} 八、數(shù)字鐘(1. 開(kāi)機(jī)時(shí),顯示 12:00:00 的時(shí)間開(kāi)始計(jì)時(shí);(2. “秒”的調(diào)整,每按一次加 1 秒;(3. “分”的調(diào)整,每按一次加 1 分;(4. “時(shí)”的調(diào)整,每按一次加 1 個(gè)小時(shí) 6. 匯編源程序SECOND EQU 30HMINITE EQU 31HHOUR EQU 32HHOURK BIT MINITEK BIT SECONDK BIT DISPBUF EQU 40HDISPBIT EQU 48HT2SCNTA EQU 49HT2SCNTB EQU 4AHTEMP EQU 4BHORG 00HLJMP STARTORG 0BHLJMP INT_T0START: MOV SECOND,00HMOV MINITE,00HMOV HOUR,12MOV DISPBIT,00HMOV T2SCNTA,00HMOV T2SCNTB,00HMOV TEMP,0FEHLCALL DISPMOV TMOD,01HMOV TH0,(655362000) / 256MOV TL0,(655362000) MOD 256SETB TR0SETB ET0SETB EAWT: JB SECONDK,NK1LCALL DELY10MSJB SECONDK,NK1INC SECONDMOV A,SECONDCJNE A,60,NS60MOV SECOND,00HNS60: LCALL DISPJNB SECONDK,$NK1: JB MINITEK,NK2LCALL DELY10MSJB MINITEK,NK2INC MINITEMOV A,MINITECJNE A,60,NM60MOV MINITE,00HNM60: LCALL DISPJNB MINITEK,$NK2: JB HOURK,NK3LCALL DELY10MSJB HOURK,NK3INC HOURMOV A,HOURCJNE A,24,NH24MOV HOUR,00HNH24: LCALL DISPJNB H
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1