基于89C2051單片機的熱表通訊模塊的開發:介紹了利用89C2051 單片機開發某熱表的通訊模塊,并將其應用于實驗用主從分布式控制系統中,實現了工控機同多個熱表的串行通訊。闡述了串行通訊規程,利用單片機的普通I/ O 端口實現串行口功能的方法,從而解決了該單片機在實際的串行通訊應用中串口資源少的問題。通訊模塊通過RS - 485 通訊方式實現了熱表與工控機的遠距離通訊。在充分利用單片機端口資源的基礎上完成了工控機與多臺單片機通訊。關鍵詞:單片機;串行通訊;普通I/ O 端口;RS - 485 ;多機通訊
上傳時間: 2014-04-16
上傳用戶:tb_6877751
文章提出了一種精簡指令集8 位單片機中, 算術邏輯單元的工作原理。在此基礎上, 對比傳統PIC 方案、以及在ALU 內部再次采用流水線作業的332 方案、44 方案, 并用Synopsys 綜合工具實現了它們。綜合及仿真結果表明, 根據該單片機系統要求, 44 方案速度最高, 比332 方案可提高43.9%, 而面積僅比最小的332 方案增加1.6%。在分析性能差異的根本原因之后, 闡明了該方案的優越性。關鍵詞: 單片機, 精簡指令集, 算術邏輯單元, 流水線 Abstract: Work principle for ALU in an 8_bit RISC Singlechip microcomputer is described. The traditional PIC scheme, 332 Pipeline scheme and 44 Pipeline scheme are compared on the base of the principle, which are implemented using Synopsys design tools. Results from synthesis and simulation shows that 44 scheme operates the fast, which is 43.9% faster and only 1.6% larger than 332 scheme. The essential reason why the performance is so different is analyzed.Then the advantage of 44 scheme is clarified.Key words: Singlechip, Microcomputer, RISC, ALU, Pipeline
上傳時間: 2013-10-18
上傳用戶:xiaoyaa
基于單片機的LED漢字顯示屏設計與制作:在大型商場、車站、碼頭、地鐵站以及各類辦事窗口等越來越多的場所需要用LED點陣顯示圖形和漢字。LED行業已成為一個快速發展的新興產業,市場空間巨大,前景廣闊。隨著信息產業的高速發展,LED顯示作為信息傳播的一種重要手段,已廣泛應用于室內外需要進行服務內容和服務宗旨宣傳的公眾場所,例如戶內外公共場所廣告宣傳、機場車站旅客引導信息、公交車輛報站系統、證券與銀行信息顯示、餐館報價信息豆示、高速公路可變情報板、體育場館比賽轉播、樓宇燈飾、交通信號燈、景觀照明等。顯然,LED顯示已成為城市亮化、現代化和信息化社會的一個重要標志。 本文基于單片機(AT89C51)講述了16×16 LED漢字點陣顯示的基本原理、硬件組成與設計、程序編譯與下載等基本環節和相關技術。2 硬件電路組成及工作原理本產品擬采用以AT89C51單片機為核心芯片的電路來實現,主要由AT89C51芯片、時鐘電路、復位電路、列掃描驅動電路(74HC154)、16×16 LED點陣5部分組成,如圖1所示。 其中,AT89C51是一種帶4 kB閃爍可編程可擦除只讀存儲器(Falsh Programmable and Erasable Read OnlyMemory,FPEROM)的低電壓、高性能CMOS型8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,能夠進行1 000次寫/擦循環,數據保留時間為10年。他是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。因此,在智能化電子設計與制作過程中經常用到AT89C51芯片。時鐘電路由AT89C51的18,19腳的時鐘端(XTALl及XTAL2)以及12 MHz晶振X1、電容C2,C3組成,采用片內振蕩方式。復位電路采用簡易的上電復位電路,主要由電阻R1,R2,電容C1,開關K1組成,分別接至AT89C51的RST復位輸入端。LED點陣顯示屏采用16×16共256個象素的點陣,通過萬用表檢測發光二極管的方法測試判斷出該點陣的引腳分布,如圖2所示。 我們把行列總線接在單片機的IO口,然后把上面分析到的掃描代碼送人總線,就可以得到顯示的漢字了。但是若將LED點陣的行列端口全部直接接入89S51單片機,則需要使用32條IO口,這樣會造成IO資源的耗盡,系統也再無擴充的余地。因此,我們在實際應用中只是將LED點陣的16條行線直接接在P0口和P2口,至于列選掃描信號則是由4-16線譯碼器74HC154來選擇控制,這樣一來列選控制只使用了單片機的4個IO口,節約了很多IO資源,為單片機系統擴充使用功能提供了條件。考慮到P0口必需設置上拉電阻,我們采用4.7 kΩ排電阻作為上拉電阻。
上傳時間: 2013-10-16
上傳用戶:ywcftc277
信息技術的日新月異要求發展新的技術來提高熱量計量收費的可靠性,改變過去熱力站數據采集靠人工抄表的落后方法,以實現集中供熱系統管理的全面自動化。便攜式查表器是一種新興的現場數據采集技術。本文所設計的查表器通過RS485 接口從現場使用的熱量計中遠距離采集數據,它采用Intel 80C196 作為CPU, 240×128 點陣的液晶作為顯示器,并擴展了256K 的非易失性RAM 來保存30 個熱力站的所有運行數據。信息革命沖擊著各行各業,傳統的數據采集方式已不適應信息時代的需要。常規的現場儀表數據采集方法要靠查表員手工來完成。有些儀表安裝在危險場所,如在地下的熱水管道系統,查表員有時會冒生命危險。目前公用事業的發展,迫切要求改變傳統的數據采集方式,以更方便、更快捷的服務來適應信息時代的到來。微處理器、存儲器、VLSI, A/D 轉換等技術的迅速發展,使得現場儀表與控制中心之間傳遞的不再是傳統的模擬信號,而是數字信號。數字信號不但避免了模擬信號傳輸過程中存在的精度降低、信號衰減、易引入干擾信號等的不足,而且顯著提高了信號的可靠性,它為采用新的數據采集技術提供了可能。
上傳時間: 2013-11-17
上傳用戶:tzl1975
介紹用PIC16C73 自帶的八位A/D 轉換器擴展為十二位A/D 轉換器,給出了具體的設計方案和程序流程。它是用以 PIC16C73 為MCU 構成的海水有機磷測控儀A/D 轉換部分的一種解決方案。為監測海洋生態環境,研制了用于海水有機磷農藥現場監測的生物傳感器。為測定生物傳感器的信號,使傳感器可用于船載及臺站的海洋生態環境現場自動監測,需要對整個的采樣和排液裝置進行控制以及對傳感器來的信號進行實時采集處理,形成有機磷的濃度傳給上位機。為此,開發了以PIC16C73 單片機為核心的小型測控儀器,很好的完成了上述功能。PIC1673 單片機自帶8 位的A/D 轉換器,但不能滿足系統對精度的要求,本設計在單片機自帶8 位A/D 基礎上加少量的硬件和軟件開銷,使其擴展為十二位A/D 轉換器,滿足了系統的要求。
上傳時間: 2013-10-30
上傳用戶:a296386173
單片機指令系統 3.1 MCS-51指令簡介 3.2 指令系統 3.1 MCS-51指令簡介 二、MCS-51系列單片機指令系統分類 按尋址方式分為以下七種:按功能分為以下四種: 1、立即立即尋址 1、數據傳送指令位操 2、直接尋址 2、算術運算指令 3、寄存器尋址 3、邏輯運算指令 4、寄存器間接尋址指令 4、控制轉移類指令 5、相對尋址 5、位操作指令 6、變址尋址 7、位尋址 三、尋址方式 3、寄存器間接尋址 MOV A, @R1 操作數是通過寄存器間接得到的。 4、立即尋址 MOV A, #40H 操作數在指令中直接給出。 5、基址寄存器加變址寄存器尋址 以DPTR或PC為基址寄存器,以A為變址寄存器, 以兩者相加形成的16位地址為操作數的地址。 MOVC A, @A+DPTR MOVC A, @A+PC 四、指令中常用符號說明 Rn——當前寄存器區的8個工作寄存器R0~R7(n=0~7); Ri——當前寄存器區可作地址寄存器的2個工作寄存器R0和R1(i=0,1); direct——8位內部數據存儲器單元的地址及特殊功能寄存器的地址; #data——表示8位常數(立即數); #datal6——表示16位常數; add 16——表示16位地址; addrll——表示11位地址; rel——8位帶符號的地址偏移量; bit——表示位地址; @——間接尋址寄存器或基址寄存器的前綴; ( )——表示括號中單元的內容 (( ))——表示間接尋址的內容; 五、MCS-51指令簡介 1. 以累加器A為目的操作數的指令 2. 以Rn為目的操作數的指令 3. 以直接地址為目的操作數的指令 4. 以寄存器間接地址為目的操作數指令 應用舉例1 8段數碼管顯示 應用舉例2 3.2 指令系統 2、堆棧操作指令 3. 累加器A與外部數據傳輸指令 4. 查表指令 MOVC A, @A+PC 例子: 5. 字節交換指令 6. 半字節交換指令 二、算術操作類指令 PSW寄存器 2. 帶進位加法指令 3. 加1指令 4. 十進制調整指令 5. 帶借位減法指令(Subtraction) 6. 減1指令(Decrease) 7. 乘法指令(Multiplication) 8. 除法指令(Division) 三、邏輯運算指令 1. 簡單邏輯操作指令 2. 循環指令 帶進位左循環指令(Rotate Accumulator Left through Carry flag) 右循環指令(Rotate Accumulator Right) 帶進位右循環指令(Rotate A Right with C) 3. 邏輯與指令 4. 邏輯或指令 5. 邏輯異或指令 四、控制轉移類指令 1. 跳轉指令 相對轉移指令 SJMP rel PC←(PC)+2 PC←(PC)+rel 程序中標號與地址之間的關系 2. 條件轉移指令 3. 比較不相等轉移指令 4. 減 1 不為 0 轉移指令 5. 調用子程序指令 7. 中斷返回指令 五、位操作指令 1. 數據位傳送指令 2. 位變量邏輯指令 3. 條件轉移類指令
上傳時間: 2013-10-27
上傳用戶:xuanjie
介紹用PIC16F84單片機制作的電子密碼鎖。PIC16F84單片機共18個引腳,13個可用I/O接口。芯片內有1K×14的FLASHROM程序存儲器,36×8的靜態RAM的通用寄存器,64×8的EEPROM的數據存儲器,8級深度的硬堆棧。 用PIC單片機設計的電子密碼鎖微芯公司生產的PIC8位COMS單片機,采用類RISC指令集和哈弗總線結構,以及先進的流水線時序,與傳統51單片機相比其在速度和性能方面更具優越性和先進性。PIC單片機的另一個優點是片上硬件資源豐富,集成常見的EPROM、DAC、PWM以及看門狗電路。這使得硬件電路的設計更加簡單,節約設計成本,提高整機性能。因此PIC單片機已成為產品開發,尤其是產品設計和研制階段的首選控制器。本文介紹用PIC16F84單片機制作的電子密碼鎖。PIC16F84單片機共18個引腳,13個可用I/O接口。芯片內有1K×14的FLASHROM程序存儲器,36×8的靜態RAM的通用寄存器,64×8的EEPROM的數據存儲器,8級深度的硬堆棧。硬件設計 電路原理見圖1。Xx8位數據線接4x4鍵盤矩陣電路,面板布局見表1,A、B、C、D為備用功能鍵。RA0、RA7輸出4組編碼二進制數據,經74LS139譯碼后輸出逐行掃描信號,送RB4-RB7列信號輸入端。余下半個139譯碼器動揚聲器。RB2接中功率三極管基極,驅動繼電器動作。有效密碼長度為4位,根據實際情況,可通過修改源程序增加密碼位數。產品初始密碼為3345,這是一隨機數,無特殊意義,目的是為防止被套解。用戶可按*號鍵修改密碼,按#號鍵結束。輸入密碼并按#號確認之后,腳輸出RB2腳輸出高電平,繼電器閉合,執行一次開鎖動作。 若用戶輸入的密碼正確,揚聲器發出一聲稍長的“滴”提示聲,若輸入的密碼與上次修改的不符,則發出短促的“滴”聲。連續3次輸入密碼錯誤之后,程序鎖死,揚聲器報警。直到CPU被復位或從新上電。軟件設計 軟件流程圖見圖3。CPU上電或復位之后將最近一次修改并保存到EEPROM的密碼讀出,最為參照密匙。然后等待用戶輸入開鎖密碼。若5分鐘以內沒有接受到用戶的任何輸入,CPU自動轉入掉電模式,用戶輸入任意值可喚醒CPU。每次修改密碼之后,CPU將新的密碼存入內部4個連續的EEPROM單元,掉電后該數據任有效。每執行一次開鎖指令,CPU將當前輸入密碼與該值比較,看是否真確,并給出相應的提示和控制。布 局 所有元件均使用SMD表貼封裝,縮小體積,便于產品安裝,60X60雙面PCB板,頂層是一體化輸入鍵盤,底層是元件層。成型后的產品體積小巧,能很方便的嵌入防盜鐵門、保險箱柜。
上傳時間: 2013-10-31
上傳用戶:uuuuuuu
用單片機AT89C51改造普通雙桶洗衣機:AT89C2051作為AT89C51的簡化版雖然去掉了P0、P2等端口,使I/O口減少了,但是卻增加了一個電壓比較器,因此其功能在某些方面反而有所增強,如能用來處理模擬量、進行簡單的模數轉換等。本文利用這一功能設計了一個數字電容表,可測量容量小于2微法的電容器的容量,采用3位半數字顯示,最大顯示值為1999,讀數單位統一采用毫微法(nf),量程分四檔,讀數分別乘以相應的倍率。電路工作原理 本數字電容表以電容器的充電規律作為測量依據,測試原理見圖1。電源電路圖。 壓E+經電阻R給被測電容CX充電,CX兩端原電壓隨充電時間的增加而上升。當充電時間t等于RC時間常數τ時,CX兩端電壓約為電源電壓的63.2%,即0.632E+。數字電容表就是以該電壓作為測試基準電壓,測量電容器充電達到該電壓的時間,便能知道電容器的容量。例如,設電阻R的阻值為1千歐,CX兩端電壓上升到0.632E+所需的時間為1毫秒,那么由公式τ=RC可知CX的容量為1微法。 測量電路如圖2所示。A為AT89C2051內部構造的電壓比較器,AT89C2051 圖2 的P1.0和P1.1口除了作I/O口外,還有一個功能是作為電壓比較器的輸入端,P1.0為同相輸入端,P1.1為反相輸入端,電壓比較器的比較結果存入P3.6口對應的寄存器,P3.6口在AT89C2051外部無引腳。電壓比較器的基準電壓設定為0.632E+,在CX兩端電壓從0升到0.632E+的過程中,P3.6口輸出為0,當電池電壓CX兩端電壓一旦超過0.632E+時,P3.6口輸出變為1。以P3.6口的輸出電平為依據,用AT89C2051內部的定時器T0對充電時間進行計數,再將計數結果顯示出來即得出測量結果。整機電路見圖3。電路由單片機電路、電容充電測量電路和數碼顯示電路等 圖3 部分組成。AT89C2051內部的電壓比較器和電阻R2-R7等組成測量電路,其中R2-R5為量程電阻,由波段開關S1選擇使用,電壓比較器的基準電壓由5V電源電壓經R6、RP1、R7分壓后得到,調節RP1可調整基準電壓。當P1.2口在程序的控制下輸出高電平時,電容CX即開始充電。量程電阻R2-R5每檔以10倍遞減,故每檔顯示讀數以10倍遞增。由于單片機內部P1.2口的上拉電阻經實測約為200K,其輸出電平不能作為充電電壓用,故用R5兼作其上拉電阻,由于其它三個充電電阻和R5是串聯關系,因此R2、R3、R4應由標準值減去1K,分別為999K、99K、9K。由于999K和1M相對誤差較小,所以R2還是取1M。數碼管DS1-DS4、電阻R8-R14等組成數碼顯示電路。本機采用動態掃描顯示的方式,用軟件對字形碼譯碼。P3.0-P3.5、P3.7口作數碼顯示七段筆劃字形碼的輸出,P1.3-P1.6口作四個數碼管的動態掃描位驅動碼輸出。這里采用了共陰數碼管,由于AT89C2051的P1.3-P1.6口有25mA的下拉電流能力,所以不用三極管就能驅動數碼管。R8-R14為P3.0-P3.5、P3.7口的上拉電阻,用以驅動數碼管的各字段,當P3的某一端口輸出低電平時其對應的字段筆劃不點亮,而當其輸出高電平時,則對應的上拉電阻即能點亮相應的字段筆劃。
上傳時間: 2013-12-31
上傳用戶:ming529
82C55A是高性能,工業標準,并行I/O的LSI外圍芯片;提供24條I/O腳線。 在三種主要的操作方式下分組進行程序設計82C88A的幾個特點:(1)與所有Intel系列微處理器兼容;(2)有較高的操作速度;(3)24條可編程I/O腳線;(4)底功耗的CHMOS;(5)與TTL兼容;(6)擁有控制字讀回功能;(7)擁有直接置位/復位功能;(8)在所有I/O輸出端口有2.5mA DC驅動能力;(9)適應性強。方式0操作稱為簡單I/O操作,是指端口的信號線可工作在電平敏感輸入方式或鎖存輸出。所以,須將控制寄存器設計為:控制寄存器中:D7=1; D6 D5=00; D2=0。D7位為1代表一個有效的方式。通過對D4 D3 D1和D0的置位/復位來實現端口A及端口B是輸入或輸出。P56表2-1列出了操作方式0端口管腳功能。
上傳時間: 2013-10-26
上傳用戶:brilliantchen
設置復位標志位便于區分不同原因引發的復位,作為一種新技術被越來越多的新型單片機所采納。例如Philips公司的P87LPC700和 P89LPC900系列、Freescale公司(原Motorola半導體部)的MC68HC05系列和MC68HC08系列、Sunplus公司的 SPMC65系列、Microchip公司的PIC系列等,內部都設計了專門用于記錄各種復位標志的狀態寄存器。MC68HC08系列有一個復位狀態寄存器,負責記錄6種復位標志位:上電復位、引腳復位、看門狗復位、非法指令復位、非法地址復位和欠壓復位。SPMC65系列有一個系統控制寄存器,負責記錄5種復位標志位:上電復位、外部復位、看門狗復位、非法地址復位和欠壓復位。51兼容的P89LPC900系列有一個復位源寄存器,負責記錄6種復位標志位:欠壓復位、上電復位、外部復位、看門狗復位、軟件復位和UART收到間隔字符復位(主要作為進入ISP監控程序的途徑之一)。就連初學者很常用的 AT89S51/52和P89C52X2,也在其電源控制寄存器PCON中增設了一個上電標志位POF。1、 復位標志位的設置方法傳統的80C51單片機沒有設計復位標志位的記錄功能,這應該說是一種遺憾,那么能否通過一定的技術手段來彌補這個缺憾呢?這里給廣大80C51單片機用戶提供一種啟示和引導。實現復位標志位的記錄肯定需要一定的硬件電路支持,而這種電路的設計不存在固定模式。筆者利用一片MAX813L設計了一種支撐電路,如圖1所示,僅供讀者參考。
上傳時間: 2013-10-21
上傳用戶:lhw888