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

正文內(nèi)容

51單片機匯編語言及c語言經(jīng)典實例(文件)

2025-04-25 04:52 上一頁面

下一頁面
 

【正文】 OURK,$NK3: LJMP WTDELY10MS:MOV R6,10D1: MOV R7,248DJNZ R7,$DJNZ R6,D1RETDISP:MOV A,DISPBUFADD A,8DEC AMOV R1,AMOV A,HOURMOV B,10DIV ABMOV R1,ADEC R1MOV A,BMOV R1,ADEC R1MOV A,10MOVR1,ADEC R1MOV A,MINITEMOV B,10DIV ABMOV R1,ADEC R1MOV A,BMOV R1,ADEC R1MOV A,10MOVR1,ADEC R1MOV A,SECONDMOV B,10DIV ABMOV R1,ADEC R1MOV A,BMOV R1,ADEC R1RETINT_T0:MOV TH0,(655362000) / 256MOV TL0,(655362000) MOD 256MOV A,DISPBUFADD A,DISPBITMOV R0,AMOV A,R0MOV DPTR,TABLEMOVC A,A+DPTRMOV P1,AMOV A,DISPBITMOV DPTR,TABMOVC A,A+DPTRMOV P3,AINC DISPBITMOV A,DISPBITCJNE A,08H,KNAMOV DISPBIT,00HKNA: INC T2SCNTAMOV A,T2SCNTACJNE A,100,DONEMOV T2SCNTA,00HINC T2SCNTBMOV A,T2SCNTBCJNE A,05H,DONEMOV T2SCNTB,00HINC SECONDMOV A,SECONDCJNE A,60,NEXTMOV SECOND,00HINC MINITEMOV A,MINITECJNE A,60,NEXTMOV MINITE,00HINC HOURMOV A,HOURCJNE A,24,NEXTMOV HOUR,00HNEXT: LCALL DISPDONE: RETITABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40HTAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FHEND 7. C 語言源程序INClude unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}。unsigned char second。unsigned char mstt。TL0=0x06。while(1){if(P0_0==0){for(i=5。j)。dispbuf[1]=second/10。i)for(j=248。if(minite==60){minite=0。}}if(P0_2==0){for(i=5。j)。dispbuf[7]=hour/10。P1=dispcode[dispbuf[dispbitt]]。}}tt++。minite++。}}}dispbuf[0]=second%10。dispbuf[6]=hour%10。2 ADC0809 的內(nèi)部邏輯結(jié)構(gòu)圖91由上圖可知,ADC0809 由一個 8 路模擬開關(guān)、一個地址鎖存與譯碼器、一個 A/D轉(zhuǎn)換器和一個三態(tài)輸出鎖存器組成。地址輸入和控制線:4 條ALE 為地址鎖存允許輸入線,高電平有效。CBA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7數(shù)字量輸出及控制線:11 條ST 為轉(zhuǎn)換啟動信號。OE 為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù)據(jù)。因 ADC0809 的內(nèi)部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為 500KHZ,VREF(+),VREF(-)為參考電壓輸入。(4). 在 ST 端給出一個至少有 100ns 寬的正脈沖信號。ADC0809 的 VREF 接+5V電壓。(2). 進行 A/D 轉(zhuǎn)換之前,要啟動轉(zhuǎn)換的方法:ABC=110 選擇第三通道ST=0,ST=1,ST=0 產(chǎn)生啟動轉(zhuǎn)換的正脈沖信號 7. 匯編源程序CH EQU 30HDPCNT EQU 31HDPBUF EQU 33HGDATA EQU 32HST BIT OE BIT EOC BIT ORG 00HLJMP STARTORG 0BHLJMP T0XORG 30HSTART: MOV CH,0BCHMOV DPCNT,00HMOV R1,DPCNTMOV R7,5MOV A,10MOV R0,DPBUFLOP: MOV R0,AINC R0DJNZ R7,LOPMOV R0,00HINC R0MOV R0,00HINC R0MOV R0,00HMOV TMOD,01HMOV TH0,(655364000)/256MOV TL0,(655364000) MOD 256SETB TR0SETB ET0SETB EAWT: CLR STSETB STCLR STWAIT: JNB EOC,WAITSETB OEMOV GDATA,P0CLR OEMOV A,GDATAMOV B,100DIV ABMOV 33H,AMOV A,BMOV B,10DIV ABMOV 34H,AMOV 35H,BSJMP WTT0X: NOPMOV TH0,(655364000)/256MOV TL0,(655364000) MOD 256MOV DPTR,DPCDMOV A,DPCNTADD A,DPBUFMOV R0,AMOV A,R0MOVC A,A+DPTRMOV P1,AMOV DPTR,DPBTMOV A,DPCNTMOVC A,A+DPTRMOV P2,AINC DPCNTMOV A,DPCNTCJNE A,8,NEXTMOV DPCNT,00HNEXT: RETIDPCD: DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FH,00HDPBT: DB 0FEH,0FDH,0FBH,0F7HDB 0EFH,0DFH,0BFH,07FHEND8. C 語言源程序INClude unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}。sbit ST=P3^0。//IN3unsigned char getdata。TR0=1。while(1){ST=0。OE=1。getdata=getdata%10。TL0=(655364000)%256。if(dispcount==8){dispcount=0。(2)、在 DS18B20 中的每個器件上都有獨一無二的序列號。C 之間。(底視圖)圖 1由于 DS18B20 采用的是 1-Wire 總線協(xié)議方式,即在一根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的雙向傳輸,而對 AT89S51 單片機來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對 DS18B20 芯片的訪問。所有時序都是將主機作為主設(shè)備,單總線器件作為從設(shè)備。對于 DS18B20 的讀時隙是從主機把單總線拉低之后,在 15 秒之內(nèi)就得釋放單總線,以讓 DS18B20 把數(shù)據(jù)傳輸?shù)絾慰偩€上。4. 實驗任務(wù)用一片 DS18B20 構(gòu)成測溫系統(tǒng),測量的溫度精度達到 度,測量的溫度的范圍在-20 度到+100 度之間,用 8 位數(shù)碼管顯示出來。unsigned char displaycount。sbit DQ=P3^7。for(i=255。for(i=60。for(i=200。unsigned char j。 0x01)==0){DQ=0。DQ=1。j)。j)。Unsigned char temp。i++){temp=_cror_(temp,1)。DQ=1。if(DQ==1){temp=temp | 0x80。j)。TL0=(655364000)%256。writemandtods18b20(0xcc)。}}void t0(void) interrupt 1 using 0{unsigned char x。if(displaycount==2){P0=displaycode[displaybuf[displaycount]] | 0x80。if(displaycount==8){displaycount=0。writemandtods18b20(0xcc)。for(x=0。if((readdata[1] amp。result=readdata[0]+1。readdata[1]=readdata[1] amp。x=x amp。result=readdata[1]。}displaybuf[x]=result。x=x1。writemandtods18b20(0xcc)。4. 程序設(shè)計內(nèi)容(1). 44 行列式鍵盤識別技術(shù):有關(guān)這方面內(nèi)容前面已經(jīng)討論過,這里不再重復(fù)。在密碼輸入過程中,若輸入錯誤,可以利用“DEL”鍵刪除剛才輸入的錯誤的數(shù)字。unsigned char dispbuf[8]={18,16,16,16,16,16,16,16}。unsigned char key。bit keyoverflag。unsigned int aa,bb。bit hibitflag。TH0=(65536500)/256。EA=1。temp=temp amp。i)for(j=248。 0x0f。switch(temp){case 0x0e:key=7。case 0x0b:key=9。}temp=P3。 (key10)){if(keycount6){getps[keycount]=key。}else if(keycount6){keycount=6。dispbuf[keycount+2]=16。second3=0。errorflag=1。}}errorflag=0。 0x0f。}keyoverflag=0。temp=temp amp。i)for(j=248。temp=temp amp。 0x0f。break。break。amp。if(keycount==6){keycount=6。getps[keycount]=0。rightflag=0。i++){if(getps[i]!=ps[i]){i=keycount。goto a4。}}temp=temp amp。 0x0f。temp=P3。i0。temp=P3。temp=temp amp。case 0x0d:key=2。case 0x07:key=12。if((key=0) amp。}keycount++。//key overflow}}else if(key==12)//delete key{if(keycount0){keycount。}}else if(key==15)//enter key{if(keycount!=pslen){errorflag=1。ikeycount。goto a3。}}temp=temp amp。 0x0f。temp=P3。i0。temp=P3。temp=temp amp。case 0x0d:key=13。case 0x07:key=15。if((key=0) amp。}keycount++。//key overflow}}else if(key==12)//delete key{if(keycount0){keycount。}}else if(key==15)//enter key{if(keycount!=pslen){errorflag=1。ikeycount。second3=0。a2: i=keycount。temp=temp amp。TL0=(65536500)%256。P2=dispbit[dispcount]。amp。}if(alarmflag==1)//sound alarm signal{P1_7=~P1_7。}second3++。alarmflag=0。
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1