標(biāo)號: FSQR 功能:浮點數(shù)開平方(快速逼近算法)入口條件:操作數(shù)在[R0]中。出口信息:OV=0時,平方根仍在[R0]中,OV=1時,負(fù)數(shù)開平方出錯。影響資源:PSW、A、B、r2~R7 堆棧需求: 2字節(jié)FSQR: MOV A,@R0JNB ACC.7,SQRSETB OV ;負(fù)數(shù)開平方,出錯
標(biāo)簽: MCS 51 單片機(jī)實用 程序庫
上傳時間: 2013-11-17
上傳用戶:止絮那夏
標(biāo)號: FDIV 功能:浮點數(shù)除法 入口條件:被除數(shù)在[R0]中,除數(shù)在[R1]中。出口信息:OV=0時,商仍在[R0]中,OV=1時,溢出。影響資源:PSW、A、B、r2~R7、位1EH、1FH 堆棧需求: 5字節(jié)
標(biāo)簽: MCS 51 單片機(jī)實用 程序庫
上傳時間: 2014-12-28
上傳用戶:wfl_yy
入口條件:待轉(zhuǎn)換的雙字節(jié)BCD碼小數(shù)在R4、R5中。出口信息:轉(zhuǎn)換后的雙字節(jié)十六進(jìn)制小數(shù)在r2、R3中。*影響資源:PSW、A、r2~R6 堆棧需求: 2字節(jié)BHD2: MOV R6,#10H ;準(zhǔn)備計算兩個字節(jié)小數(shù)BHD3: MOV A,R5 ;按十進(jìn)制倍增
標(biāo)簽: MCS 51 單片機(jī)實用 程序庫
上傳時間: 2013-10-23
上傳用戶:zhang_yi
入口條件:被除數(shù)在r2、R3、R4、R5中,除數(shù)在R6、R7中。出口信息:OV=0時商在r2、R3中,OV=1時溢出。影響資源:PSW、A、B、R1~R7 堆棧需求: 5字節(jié)DIVS: LCALL MDS ;計算結(jié)果的符號和兩個操作數(shù)的絕對值PUSH PSW ;保存結(jié)果的符號LCALL DIVD ;計算兩個絕對值的商JNB OV,DVS1 ;溢出否?POP ACC ;溢出,放去結(jié)果的符號,保留溢出標(biāo)志
標(biāo)簽: MCS 51 單片機(jī)實用 程序庫
上傳時間: 2013-11-09
上傳用戶:lht618
基于單片機(jī)的LED漢字顯示屏設(shè)計與制作:在大型商場、車站、碼頭、地鐵站以及各類辦事窗口等越來越多的場所需要用LED點陣顯示圖形和漢字。LED行業(yè)已成為一個快速發(fā)展的新興產(chǎn)業(yè),市場空間巨大,前景廣闊。隨著信息產(chǎn)業(yè)的高速發(fā)展,LED顯示作為信息傳播的一種重要手段,已廣泛應(yīng)用于室內(nèi)外需要進(jìn)行服務(wù)內(nèi)容和服務(wù)宗旨宣傳的公眾場所,例如戶內(nèi)外公共場所廣告宣傳、機(jī)場車站旅客引導(dǎo)信息、公交車輛報站系統(tǒng)、證券與銀行信息顯示、餐館報價信息豆示、高速公路可變情報板、體育場館比賽轉(zhuǎn)播、樓宇燈飾、交通信號燈、景觀照明等。顯然,LED顯示已成為城市亮化、現(xiàn)代化和信息化社會的一個重要標(biāo)志。 本文基于單片機(jī)(AT89C51)講述了16×16 LED漢字點陣顯示的基本原理、硬件組成與設(shè)計、程序編譯與下載等基本環(huán)節(jié)和相關(guān)技術(shù)。2 硬件電路組成及工作原理本產(chǎn)品擬采用以AT89C51單片機(jī)為核心芯片的電路來實現(xiàn),主要由AT89C51芯片、時鐘電路、復(fù)位電路、列掃描驅(qū)動電路(74HC154)、16×16 LED點陣5部分組成,如圖1所示。 其中,AT89C51是一種帶4 kB閃爍可編程可擦除只讀存儲器(Falsh Programmable and Erasable Read OnlyMemory,F(xiàn)PEROM)的低電壓、高性能CMOS型8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,能夠進(jìn)行1 000次寫/擦循環(huán),數(shù)據(jù)保留時間為10年。他是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。因此,在智能化電子設(shè)計與制作過程中經(jīng)常用到AT89C51芯片。時鐘電路由AT89C51的18,19腳的時鐘端(XTALl及XTAL2)以及12 MHz晶振X1、電容C2,C3組成,采用片內(nèi)振蕩方式。復(fù)位電路采用簡易的上電復(fù)位電路,主要由電阻R1,r2,電容C1,開關(guān)K1組成,分別接至AT89C51的RST復(fù)位輸入端。LED點陣顯示屏采用16×16共256個象素的點陣,通過萬用表檢測發(fā)光二極管的方法測試判斷出該點陣的引腳分布,如圖2所示。 我們把行列總線接在單片機(jī)的IO口,然后把上面分析到的掃描代碼送人總線,就可以得到顯示的漢字了。但是若將LED點陣的行列端口全部直接接入89S51單片機(jī),則需要使用32條IO口,這樣會造成IO資源的耗盡,系統(tǒng)也再無擴(kuò)充的余地。因此,我們在實際應(yīng)用中只是將LED點陣的16條行線直接接在P0口和P2口,至于列選掃描信號則是由4-16線譯碼器74HC154來選擇控制,這樣一來列選控制只使用了單片機(jī)的4個IO口,節(jié)約了很多IO資源,為單片機(jī)系統(tǒng)擴(kuò)充使用功能提供了條件。考慮到P0口必需設(shè)置上拉電阻,我們采用4.7 kΩ排電阻作為上拉電阻。
標(biāo)簽: LED 單片機(jī) 漢字 顯示屏設(shè)計
上傳時間: 2013-10-16
上傳用戶:ywcftc277
用單片機(jī)AT89C51改造普通雙桶洗衣機(jī):AT89C2051作為AT89C51的簡化版雖然去掉了P0、P2等端口,使I/O口減少了,但是卻增加了一個電壓比較器,因此其功能在某些方面反而有所增強(qiáng),如能用來處理模擬量、進(jìn)行簡單的模數(shù)轉(zhuǎn)換等。本文利用這一功能設(shè)計了一個數(shù)字電容表,可測量容量小于2微法的電容器的容量,采用3位半數(shù)字顯示,最大顯示值為1999,讀數(shù)單位統(tǒng)一采用毫微法(nf),量程分四檔,讀數(shù)分別乘以相應(yīng)的倍率。電路工作原理 本數(shù)字電容表以電容器的充電規(guī)律作為測量依據(jù),測試原理見圖1。電源電路圖。 壓E+經(jīng)電阻R給被測電容CX充電,CX兩端原電壓隨充電時間的增加而上升。當(dāng)充電時間t等于RC時間常數(shù)τ時,CX兩端電壓約為電源電壓的63.2%,即0.632E+。數(shù)字電容表就是以該電壓作為測試基準(zhǔn)電壓,測量電容器充電達(dá)到該電壓的時間,便能知道電容器的容量。例如,設(shè)電阻R的阻值為1千歐,CX兩端電壓上升到0.632E+所需的時間為1毫秒,那么由公式τ=RC可知CX的容量為1微法。 測量電路如圖2所示。A為AT89C2051內(nèi)部構(gòu)造的電壓比較器,AT89C2051 圖2 的P1.0和P1.1口除了作I/O口外,還有一個功能是作為電壓比較器的輸入端,P1.0為同相輸入端,P1.1為反相輸入端,電壓比較器的比較結(jié)果存入P3.6口對應(yīng)的寄存器,P3.6口在AT89C2051外部無引腳。電壓比較器的基準(zhǔn)電壓設(shè)定為0.632E+,在CX兩端電壓從0升到0.632E+的過程中,P3.6口輸出為0,當(dāng)電池電壓CX兩端電壓一旦超過0.632E+時,P3.6口輸出變?yōu)?。以P3.6口的輸出電平為依據(jù),用AT89C2051內(nèi)部的定時器T0對充電時間進(jìn)行計數(shù),再將計數(shù)結(jié)果顯示出來即得出測量結(jié)果。整機(jī)電路見圖3。電路由單片機(jī)電路、電容充電測量電路和數(shù)碼顯示電路等 圖3 部分組成。AT89C2051內(nèi)部的電壓比較器和電阻r2-R7等組成測量電路,其中r2-R5為量程電阻,由波段開關(guān)S1選擇使用,電壓比較器的基準(zhǔn)電壓由5V電源電壓經(jīng)R6、RP1、R7分壓后得到,調(diào)節(jié)RP1可調(diào)整基準(zhǔn)電壓。當(dāng)P1.2口在程序的控制下輸出高電平時,電容CX即開始充電。量程電阻r2-R5每檔以10倍遞減,故每檔顯示讀數(shù)以10倍遞增。由于單片機(jī)內(nèi)部P1.2口的上拉電阻經(jīng)實測約為200K,其輸出電平不能作為充電電壓用,故用R5兼作其上拉電阻,由于其它三個充電電阻和R5是串聯(lián)關(guān)系,因此r2、R3、R4應(yīng)由標(biāo)準(zhǔn)值減去1K,分別為999K、99K、9K。由于999K和1M相對誤差較小,所以r2還是取1M。數(shù)碼管DS1-DS4、電阻R8-R14等組成數(shù)碼顯示電路。本機(jī)采用動態(tài)掃描顯示的方式,用軟件對字形碼譯碼。P3.0-P3.5、P3.7口作數(shù)碼顯示七段筆劃字形碼的輸出,P1.3-P1.6口作四個數(shù)碼管的動態(tài)掃描位驅(qū)動碼輸出。這里采用了共陰數(shù)碼管,由于AT89C2051的P1.3-P1.6口有25mA的下拉電流能力,所以不用三極管就能驅(qū)動數(shù)碼管。R8-R14為P3.0-P3.5、P3.7口的上拉電阻,用以驅(qū)動數(shù)碼管的各字段,當(dāng)P3的某一端口輸出低電平時其對應(yīng)的字段筆劃不點亮,而當(dāng)其輸出高電平時,則對應(yīng)的上拉電阻即能點亮相應(yīng)的字段筆劃。
上傳時間: 2013-12-31
上傳用戶:ming529
基于單片機(jī)的紅外門進(jìn)控制系統(tǒng)設(shè)計與制作:我們所做的創(chuàng)新實驗項目“基于單片機(jī)的紅外門控系統(tǒng)”已基本完成,現(xiàn)將其工作原理簡要說明。該系統(tǒng)主要分為兩大部分:一是紅外傳感器部分。二是單片機(jī)計數(shù)顯示控制部分。基本電路圖如下:其中紅外傳感器部分我們采用紅外對管實現(xiàn),紅外對管平行放置,平常處于接收狀態(tài),經(jīng)比較器輸出低電平,當(dāng)有人經(jīng)過時,紅外線被擋住,接收管接收不到紅外線,經(jīng)比較器輸出高電平。這樣,當(dāng)有人經(jīng)過時便會產(chǎn)生一個電平的跳變。單片機(jī)控制部分主要是通過外部兩個中斷判斷是否有人經(jīng)過,如果有人經(jīng)過,由于電平跳變的產(chǎn)生,進(jìn)入中斷服務(wù)程序,這里我們采用了兩對紅外傳感器接到兩個外部中斷口,中斷0作為入口,實現(xiàn)加1操作,中斷1作為出口,實現(xiàn)減1操作。另外,我們通過P0口控制室內(nèi)燈的亮暗,當(dāng)寄存器計數(shù)值為0時,熄燈,不為0時,燈亮。顯示部分,采用兩位數(shù)碼管動態(tài)顯示,如有必要,可以很方便的擴(kuò)展為四位計數(shù)。精益求精!在實驗過程中,我們走了非常多的彎路,做出來的東西根本不是自己想要的,我們本想做成室內(nèi)只有一個門的進(jìn)出計數(shù),原理已清楚,即在門的兩邊放置兩對紅外對管,進(jìn)出時,擋住兩對對管的順序不同,因此,可判斷是進(jìn)入還是出去,從而實現(xiàn)加減計數(shù),編程時,可分別在兩個中斷服務(wù)程序的入口置標(biāo)志位,根據(jù)標(biāo)志位判斷進(jìn)出,詳細(xì)內(nèi)容在程序部分。理論如此,但在實際過程中,還是發(fā)現(xiàn)實現(xiàn)不了上述功能,我們初步判定認(rèn)為是程序掌握得不夠好,相信隨著自己對單片機(jī)了解的深入,應(yīng)該會做出更好的 (因為我們是臨時學(xué)的單片機(jī)),程序的具體內(nèi)容如下: $MOD52 ORG 0000H LJMP MAIN ORG 0003H LJMP 0100H ORG 0013H LJMP 0150H ORG 0050HMAIN: CLR A MOV 30H , A ;初始化緩存區(qū) MOV 31H , A MOV 32H , A MOV 33H , A MOV R6 , A MOV R7 , A SETB EA SETB EX0 SETB EX1 SETB IT0 SETB IT1 SETB PX1NEXT1: ACALL HEXTOBCDD ;調(diào)用數(shù)制轉(zhuǎn)換子程序 ACALL DISPLAY ;調(diào)用顯示子程序 LJMP NEXT1 ORG 0100H ;中斷0服務(wù)程序 LCALL DELY mov 70h,#2 djnz 70h,next JBC F0,NEXT SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 MOV A , R7 ADD A , #1 MOV R7, A MOV A , R6 ADDC A , #0 MOV R6 , A CJNE R6 , #07H , NEXT CLR A MOV R6 , A MOV R7 , ANEXT: RETI ORG 0150H ;中斷1服務(wù)程序 LCALL DELY mov 70h,#2 djnz 70h,next2 JBC F0,NEXT2 SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 CLR C MOV A , R7 SUBB A , #1 MOV R7, A MOV A , R6 SUBB A , #0 MOV R6 , A CJNE R6 , #07H , NEXT2 CLR A MOV R6 , A MOV R7 , ANEXT2: RETI ORG 0200HHEXTOBCDD:MOV A , R6 ;由十六進(jìn)制轉(zhuǎn)化為十進(jìn)制 PUSH ACC MOV A , R7 PUSH ACC MOV A , r2 PUSH ACC CLR A MOV R3 , A MOV R4 , A MOV R5 , A MOV r2 , #10HHB3: MOV A , R7 ;將十六進(jìn)制中最高位移入進(jìn)位位中 RLC A MOV R7 , A MOV A , R6 RLC A MOV R6 , A MOV A , R5 ;每位數(shù)加上本身相當(dāng)于將這個數(shù)乘以2 ADDC A , R5 DA A MOV R5 , A MOV A , R4 ADDC A , R4 DA A ;十進(jìn)制調(diào)整 MOV R4 , A MOV A , R3 ADDC A , R3 DJNZ r2 , HB3 POP ACC MOV r2 , A POP ACC MOV R7 , A POP ACC MOV R6 , A RET ORG 0250HDISPLAY: MOV R0 , #30H MOV A , R5 ANL A , #0FH MOV @R0 , A MOV A , R5 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV R0 , #30H MOV r2 , #11111110BAGAIN: MOV A , r2 MOV P2 , A MOV A , @R0 MOV DPTR , #TAB MOVC A , @A+DPTR MOV P1 , A ACALL DELAY INC R0 MOV A , r2 RL A MOV r2 , A JB ACC.4 , AGAIN RETTAB: DB 03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH ;七段碼表DELY: MOV R1,#80D1: MOV r2,#100 DJNZ r2,$ DJNZ R1,D1 RET DELAY: MOV TMOD , #01H ;延時子程序 MOV TL0 , #0FEH MOV TH0 , #0FEH SETB TR0WAIT: JNB TF0 , WAIT CLR TF0 CLR TR0 RETDELY0: MOV R1, #200D3: MOV r2,#250 DJNZ r2,$ DJNZ R1,D3 RET END 該系統(tǒng)實際應(yīng)用廣泛。可用在生產(chǎn)線上產(chǎn)品數(shù)量統(tǒng)計、公交車智能計數(shù)問候(需添加語音芯片)、超市內(nèi)人數(shù)統(tǒng)計等公共場合。另外,添加串口通信部分便可實現(xiàn)與PC數(shù)據(jù)交換的功能。 由于,實驗簡化了,剩下不少零件和資金,所以我們又做了兩項其他的實驗。
標(biāo)簽: 單片機(jī) 紅外 控制系統(tǒng)設(shè)計 原理圖
上傳時間: 2013-12-22
上傳用戶:tangsiyun
微型51/AVR 編程器套件裝配說明書 請您在動手裝配這個編程器之前,務(wù)必先看完本說明書,避免走彎路。 1.收到套件后請對照元器件列表檢查一下,元件、配件是否齊全? Used Part Type Designator ==== ================ ========== 1 1k R6 1 1uf 50V C11 5 2k2 r2 R3 R4 R5 R11 1 10K*8 RN1 2 11.0592MHZ Q1 Q2 1 12V,0.5W D2 2 15k R7 R8 2 21k R9 R10 4 33p C6 C7 C8 C9 1 47uf 25V C10 1 74HC164 IC6 2 78L05 IC4 IC5 1 100uf 25V C12 1 220R R1 1 AT89C51 IC2 1 B40C800(W02) D1 2 BS170 T1 T2 1 BS250 T3 1 DB9/F J2 1 J1X2 J1 1 LED GN5 D3 1 LM317L IC1 1 TLC2272 IC7 1 ZIF40 IC3 5 1uf C1 C2 C3 C4 C5 另外,套件配有1.5米串行電纜一根和配套的PCB一塊,不含電源。編程器使用的15V交流電源或12V直流電源需要自己配套。2.裝配要點:先焊接阻容元件,3個集成電路插座(IC2,IC7,IC6)其次是晶振, 全橋,穩(wěn)壓IC 等,然后焊接J2,最后焊接T1,T2,T3三只場效應(yīng)管。焊接場效應(yīng)管時務(wù)必按照以下方法:拔去電烙鐵的電源,使用電烙鐵余溫去焊接三只場效應(yīng)管,否則靜電很容易損壞管子。這是裝配成功的關(guān)鍵。這三只管子有問題,最典型的現(xiàn)象是不能聯(lián)機(jī)。由于電源插座封裝比較特殊,國內(nèi)無法配套上,已改用電源線接線柱,可直接焊接在PCB板焊盤上,如下圖1所示(在下圖中兩個紅色圓圈內(nèi)指示的焊盤),然后在連接到套件中配套的電源插座上。最近有朋友反映用15V交流比較麻煩,還要另外配變壓器。如果要使用12V的直流電,無需將全橋焊上,將兩個接線柱分別焊接在全橋的正負(fù)輸出位置的焊盤上即可,如下圖2所示,藍(lán)色圓圈內(nèi)指示的焊盤,連接電源的時候要注意正負(fù)極,不要接錯了。方形焊盤是正極。40腳ZIF插座焊接前,應(yīng)該將BR1飛線焊接好。注意:由于焊盤比較小,注意焊接溫度,不要高溫長時間反復(fù)焊接,會導(dǎo)致焊盤脫落。
上傳時間: 2013-12-31
上傳用戶:caiguoqing
通用的多電源總線,如VME、VXI 和PCI 總線,都可提供功率有限的3.3V、5V 和±12V(或±24V)電源,如果在這些系統(tǒng)中添加設(shè)備(如插卡等),則需要額外的3.3V或5V電源,這個電源通常由負(fù)載較輕的-12V電源提供。圖1 電路,將-12V 電壓升壓到15.3V(相對于-12V 電壓),進(jìn)而得到3.3V 的電源電壓,輸出電流可達(dá)300mA。Q2 將3.3V 電壓轉(zhuǎn)換成適當(dāng)?shù)碾妷海?10.75V)反饋給IC1 的FB 引腳,PWM 升壓控制器可提供1W 的輸出功率,轉(zhuǎn)換效率為83%。整個電路大約占6.25Cm2的線路板尺寸,適用于依靠臺式PC機(jī)電源供電,需要提供1W輸出功率的應(yīng)用,這種應(yīng)用中,由于-12V總線電壓限制在1.2W以內(nèi),因此需要保證高于83%的轉(zhuǎn)換效率。由于限流電阻(RSENSE)將峰值電流限制在120mA,N 溝道MOSFET(Q1)可選用廉價的邏輯電平驅(qū)動型場效應(yīng)管,R1、r2 設(shè)置輸出電壓(3.3V 或5V)。IC1 平衡端(Pin5)的反饋電壓高于PGND引腳(Pin7)1.25V,因此:VFB = -12V + 1.25V = - 10.75V選擇電阻R1后,可確定:I2 = 1.25V / R1 = 1.25V / 12.1kΩ = 103μA可由下式確定r2:r2 = (VOUT - VBE)/ I2 =(3.3V - 0.7V)/ 103μA = 25.2 kΩ圖1 中,IC1 的開關(guān)頻率允許通過外部電阻設(shè)置,頻率范圍為100kHz 至500kHz,有利于RF、數(shù)據(jù)采集模塊等產(chǎn)品的設(shè)計。當(dāng)選擇較高的開關(guān)頻率時,能夠保證較高的轉(zhuǎn)換效率,并可選用較小的電感和電容。為避免電流倒流,可在電路中增加一個與R1串聯(lián)的二極管。
上傳時間: 2013-10-17
上傳用戶:jixingjie
晶振:12M TEMPER_L EQU 36H TEMPER_H EQU 35H TEMPER_NUM EQU 60H FLAG1 BIT 00H DQ BIT P3.3AAA:MOV SP,#70H LCALL GET_TEMPER LCALL TEMPER_COV LJMP AAA NOP ;------------------讀出轉(zhuǎn)換后的溫度值 GET_TEMPER: SETB DQ ; 定時入口 BCD:LCALL INIT_1820 JB FLAG1,S22 LJMP BCD ; 若DS18B20不存在則返回S22:LCALL DELAY1 MOV A,#0CCH ; 跳過ROM匹配------0CC LCALL WRITE_1820 MOV A,#44H ; 發(fā)出溫度轉(zhuǎn)換命令 LCALL WRITE_1820 NOP LCALL DELAY LCALL DELAY CBA:LCALL INIT_1820 JB FLAG1,ABC LJMP CBA ABC:LCALL DELAY1 MOV A,#0CCH ; 跳過ROM匹配 LCALL WRITE_1820 MOV A,#0BEH ; 發(fā)出讀溫度命令 LCALL WRITE_1820 LCALL READ_18200 ;READ_1820 RET ;------------------讀DS18B20的程序,從DS18B20中讀出一個字節(jié)的數(shù)據(jù) READ_1820: MOV r2,#8 RE1: CLR C
上傳時間: 2013-10-09
上傳用戶:heart_2007
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1