|
第二章 硬件設計與原理 STC12C5A60S2單片機作為核心,控制整個電路系統以及價格的計算。電路包括STC12C5A60S2最小系統電路、LCD1602顯示電路、鍵盤輸入電路、過載報警電路、A/D轉換電路、放大電路、傳感器電路。 2.1 總設計框圖 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD350.tmp.jpg 圖2-1 2.2硬件設計分析 2.2.1 核心-單片機的選擇 核心控制器主要用于對質量測量、價格計算、超載報警、鍵盤輸入、以及顯示單元進行控制,涉及輸入、計算、輸出等方面,功能相對復雜,所以核心控制器的選擇非常重要,其選擇方案有以下兩種: 方案一:采用FPGA(現場可編程門列陣)作為系統的控制器。FPGA可以實現各種復雜的邏輯功能,規模大,密度高,它將所有器件集成在一塊芯片上,減小了體積,提高了穩定性。但由于本設計對數據處理的速度要求不高,FPGA的高速處理的優勢得不到充分體現,并且由于其集成度高,使其成本偏高,同時由于芯片的引腳較多,實物硬件電路板布線復雜,加重了電路設計和實際焊接的工作。 方案二:采用單片機作為系統控制器的作為其核心的方案。單片機算術運算功能強、軟件編程靈活、自由度大,可以用軟件編程實現各種算法和邏輯控制,并且由于其功耗低、體積小、技術成熟和成本低等優點,使其在各個領域應用廣泛。 基于以上分析,本次設計采用了方案二。 2.2.2 鍵盤的選擇 鍵盤是單片機不可缺少的輸入設備,是實現人機對話的紐帶。鍵盤按結構形式可以分為非編碼鍵盤和編碼鍵盤,前者用軟件方法產生鍵碼,而后者則用硬件方法來產生鍵碼。在單片機中使用的都是非編碼鍵盤,因為非編碼鍵盤結構簡單,成本低廉,非編碼鍵盤的類型很多,常用的有獨立式鍵盤,行列式鍵盤等 方案一:獨立式鍵盤 獨立式鍵盤接口中使用幾根I/O線,就有幾個按鍵,這種類型的鍵盤,其按鍵比較少,且鍵盤中各按鍵的工作互不干擾。因此可以根據實際需要對鍵盤中的按鍵靈活編碼。獨立式鍵盤的缺點是需要占用比較多的I/O口線,當單片機應用系統鍵盤中需要的按鍵比較少或I/O口線比較富余時,可以采用這樣類型的鍵盤。 方案二:行列式鍵盤 行列式鍵盤是用N條I/O線作為行線,M條I/O線作為列線組成的鍵盤,按鍵在行線和列線的每個交叉點上。這種形式的鍵盤結構,能夠有效地提高單片機系統中I/O的利用率。 CPU對鍵盤的掃描可以采用取程序控制的隨機方式,即只有在CPU空閑是時才去掃描鍵盤,響應操作人員的鍵盤輸入,即利用單片機內部定時器每隔一定時間對鍵盤掃描一次,這樣控制方式,不管鍵盤上有無鍵閉合,CPU總是定時的關心鍵盤狀態。在大多數情況下,CPU對鍵盤可能進行空掃描。 根據以上的論述,本設計采用方案一。 2.2.3 顯示器的選擇 單片機設計中有數碼管顯示和液晶屏顯示兩種,本設計中需要顯示單價信息、重量信息、總價信息、以及文字信息,顯示信息較多,且包含漢字,不能使用數碼管顯示,故本設計使用液晶屏顯示。 2.2.4 放大電路的選擇 由于應變式電阻傳感器發生形變時,產生的電流變化非常小,在傳輸過程中,容易受到影響導致失真,所以需要及時將電流放大,本設計中選擇了集成了HX711芯片的模塊,便于電路簡化以及A/D采集。 2.2.5 A/D轉換電路的選擇 應變式電阻傳感器發生形變時,產生的電流變化是模擬信號,而單片機處理數字信號更加可靠、方便,也便于后面的程序編寫,本設計中選擇了HX711芯片進行模擬信號采集以及A/D轉換處理。 2.2.6 質量測量電路的選擇 質量測量是本設計中另一個重要的模塊,而能夠測量質量的傳感器有應變式電阻傳感器、電容傳感器等多種傳感器,所以本設計準備了以下三種方案: 方案一:電容傳感器。它利用電容器振蕩電路的振蕩頻率f與極板間距d 的正比例關系工作(圖6 )。極板有兩塊,一塊固定不動,另一塊可移動。在承重臺加載被測物時,板簧撓曲,兩極板之間的距離發生變化,電路的振蕩頻率也隨之變化。測出頻率的變化即可求出承重臺上被測物的質量。電容式傳感器耗電量少,造價低,準確度為1/200~1/500。但它有以下缺點: 缺點一:輸出阻抗高,負載能力差 缺點二:輸出特性非線性 缺點三:寄生電容影響大。 方案二:應變式電阻傳感器。電阻應變式稱重傳感器是基于這樣一個原理:彈性體(彈性元件,敏感梁)在外力作用下產生彈性變形,使粘貼在它表面的電阻應變片(轉換元件)也隨同產生變形,電阻應變片變形后,它的阻值將發生變化(增大或減小),再經相應的測量電路把這一電阻變化轉換為電信號(電壓或電流),從而完成了將外力變換為電信號的過程它的缺點是對于大應變有較大的非線性、輸出信號較弱,但可采取一定的補償措施。 根據以上所訴,本設計采用了應變式電阻傳感器。 2.3 單片機最小系統 51單片機是對目前所有兼容intel 8031指令系統的單片機的統稱。該系列單片機的始祖是intel的8031單片機,后來隨著技術的發展,成為目前廣泛應用的八位單片機之一。單片機是在一塊芯片內集成了CPU、RAM、ROM、定時器/計數器和多功能I/O口等計算機所需要的基本功能部件的大規模集成電路,又稱為MCU。51系列單片機內包含以下幾個部件: 一個8位CPU;一個片內振蕩器及時鐘電路; 8KB的ROM程序存儲器; 一個256B的RAM數據存儲器; 尋址64KB外部數據存儲器和64KB外部程序存儲空間的控制電路; 32條可編程的I/O口線; 兩個16位定時/計數器; 一個可編程全雙工串行口; 5個中斷源、兩個優先級嵌套中斷結構。 如圖2-2所示為單片機基本構造,其基本性能介紹如下: file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD351.tmp.png 圖2-2 本設計采用的STC12C5A60S2單片機基本特點介紹如下: STC12C5A60S2/AD/PWM系列單片機是宏晶科技生產的單時鐘/機器周期(1T)的單片機,是高速/低功耗/超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統8051,但速度快8-12倍。內部集成MAX810專用復位電路,2路PWM,8路高速10位A/D轉換(250K/S),針對電機控制,強干擾場合。 1.增強型8051 CPU,1T,單時鐘/機器周期,指令代碼完全兼容傳統8051; 2.工作電壓:STC12C5A60S2系列工作電壓:5.5V-3.3V(5V單片機)STC12LE5A60S2系列工作電壓:3.6V-2.2V(3V單片機); 3.工作頻率范圍:0 - 35MHz,相當于普通8051的 0~420MHz; 4.用戶應用程序空間8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字節; 5.片上集成1280字節RAM; 6.通用I/O口(36/40/44個),復位后為:準雙向口/弱上拉(普通8051傳統I/O口),可設置成四種模式:準雙向口/弱上拉,推挽/強上拉,僅為輸入/高阻,開漏,每個I/O口驅動能力均可達到20mA,但整個芯片最大不要超過120mA; 7. ISP(在系統可編程)/IAP(在應用可編程),無需專用編程器,無需專用仿真器 可通過串口(P3.0/P3.1)直接下載用戶程序,數秒即可完成一片; 8.有EEPROM功能(STC12C5A62S2/AD/PWM無內部EEPROM); 9.內部集成MAX810專用復位電路(外部晶體12M以下時,復位腳可直接1K電阻到地); 10.外部掉電檢測電路:在P4.6口有一個低壓門檻比較器,5V單片機為1.32V,誤差為±5%,3.3V單片機為1.30V,誤差為±3%; 11.時鐘源:外部高精度晶體/時鐘,內部R/C振蕩器(溫漂為±5%到±10%以內) 1用戶在下載用戶程序時,可選擇是使用內部R/C振蕩器還是外部晶體/時鐘,常溫下內部R/C振蕩器頻率為:5.0V單片機為:11MHz~15.5MHz,3.3V單片機為:8MHz~12MHz,精度要求不高時,可選擇使用內部時鐘,但因為有制造誤差和溫漂,以實際測試為準; 12.共4個16位定時器 兩個與傳統8051兼容的定時器/計數器,16位定時器T0和T1,沒有定時器2,但有獨立波特率發生器 做串行通訊的波特率發生器 再加上2路PCA模塊可再實現2個16位定時器; 13. 2個時鐘輸出口,可由T0的溢出在P3.4/T0輸出時鐘,可由T1的溢出在P3.5/T1輸出時鐘; 14.外部中斷I/O口7路,傳統的下降沿中斷或低電平觸發中斷,并新增支持上升沿中斷的PCA模塊, Power Down模式可由外部中斷喚醒,INT0/P3.2,INT1/P3.3,T0/P3.4, T1/P3.5, RxD/P3.0,CCP0/P1.3(也可通過寄存器設置到P4.2 ), CCP1/P1.4 (也可通過寄存器設置到P4.3); 15. PWM(2路)/PCA(可編程計數器陣列,2路): ——也可用來當2路D/A使用 ——也可用來再實現2個定時器 ——也可用來再實現2個外部中斷(上升沿中斷/下降沿中斷均可分別或同時支持); 16.A/D轉換, 10位精度ADC,共8路,轉換速度可達250K/S(每秒鐘25萬次),通用全雙工異步串行口(UART),由于STC12系列是高速的8051,可再用定時器或PCA軟件實現多串口; 17. STC12C5A60S2系列有雙串口,后綴有S2標志的才有雙串口,RxD2/P1.2(可通過寄存器設置到P4.2),TxD2/P1.3(可通過寄存器設置到P4.3); 18.工作溫度范圍:-40 - +85℃(工業級) / 0 - 75℃(商業級)21.封裝:PDIP-40,LQFP-44,LQFP-48 I/O口不夠時,可用2到3根普通I/O口線外接 74HC164/165/595(均可級聯)來擴展I/O口, 還可用A/D做按鍵掃描來節省I/O口,或用雙CPU,三線通信,還多了串口。 STC12C5A60S2是8051系列單片機,與普通51單片機相比有以下特點: 1、同樣晶振的情況下,速度是普通51的8~12倍 2、有8路10位AD 3、多了兩個定時器,帶PWM功能 4、有SPI接口 5、有EEPROM 6、有1K內部擴展RAM 7、有WATCH_DOG 8、多一個串口 9、IO口可以定義,有四種狀態 10、中斷優先級有四種狀態可定義 [1] 引腳功能: VCC:供電電壓; GND:接地; P0口:P0口為一個8位漏級開路雙向I/O口,每個管腳可吸收8TTL門電流。當P0口的管腳寫“1”時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FLASH編程時,P0口作為原碼輸入口,當FLASH進行校驗時,P0輸出原碼,此時P0外部電位必須被拉高; P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入“1”后,電位被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收; P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳電位被內部上拉電阻拉高,且作為輸入。作為輸入時,P2口的管腳電位被外部拉低,將輸出電流,這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉的優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號; P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入時,由于外部下拉為低電平,P3口將輸出電流(ILL),也是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口: P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 INT0(外部中斷0) P3.3 INT1(外部中斷1) P3.4 T0(記時器0外部輸入) P3.5 T1(記時器1外部輸入) P3.6 WR (外部數據存儲器寫選通) P3.7 RD (外部數據存儲器讀選通) 同時P3口同時為閃爍編程和編程校驗接收一些控制信號; RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高平時間; ALE / PROG :當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執行MOVX,MOVC指令時ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效; PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取址期間,每個機器周期PSEN兩次有效。但在訪問內部部數據存儲器時,這兩次有效的PSEN信號將不出現; EA/VPP:當EA保持低電平時,訪問外部ROM;注意加密方式1時,EA將內部鎖定為RESET;當EA端保持高電平時,訪問內部ROM。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP); XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入; XTAL2:來自反向振蕩器的輸出; 2.4 按鍵輸入電路 按鍵是由一組按壓式或觸摸式開關構成的陣列,是一種常用的輸入設備。鍵盤可分為編 碼式鍵盤和非編碼式鍵盤兩種。 1.編碼鍵盤通過硬件電路產生被按按鍵的鍵碼,這種鍵盤所需程序簡單,但硬件電路復 雜、價格昂貴通常不被單片機系統采用。 2.非編碼鍵盤常用一些按鍵排列成行列矩陣,其硬件邏輯與按鍵編碼不存在嚴格的對應 關系,而要由所用的程序來決定。非編碼鍵盤的硬件接口簡單,但是要占用較多的 CPU 時間,通常采用可編程鍵盤管理芯片來克服這個缺點。 在接線時由于有四個引腳,連接時需要用萬用表進行測量,然后接通兩個引腳,原理圖如下。 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD352.tmp.jpg 圖2.4-1 按鍵電路 要進行數據的計算就必須先進行數據的輸入,也就必須確定按鍵輸入的數值是什么,這 就需要對鍵盤進行掃描,從而確定究竟是哪個鍵按下。 這些常開開關組成了調節按鍵,硬件電路簡單,在程序設計上也不復雜,只要在程序中 消除在按鍵過程中產生的“毛刺”現象就可以了。這里采用最常用的方法即延時法,其的原 理為:因為“毛刺”脈沖一般持續時間短,約為幾 ms,而按鍵的時間一般遠遠大于這個時 間,所以當單片機檢測到有按鍵動靜后再延時一段時間(這里取 10ms)后再判斷此電平是否 保持原狀態,如果是則為有效按鍵,否則無效。 這些常開開關組成了調節按鍵,硬件電路簡單,在程序設計上也不復雜,只要在程序中 消除在按鍵過程中產生的“毛刺”現象就可以了。這里采用最常用的方法即延時法,其的原 理為:因為“毛刺”脈沖一般持續時間短,約為幾 ms,而按鍵的時間一般遠遠大于這個時 間,所以當單片機檢測到有按鍵動靜后再延時一段時間(這里取 10ms)后再判斷此電平是否 保持原狀態,如果是則為有效按鍵,否則無效。 2.5 顯示電路 1、液晶顯示模塊是128×64點陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內置8192 個中文漢字(16X16點陣)、128個字符(8X16點陣)及64X256點陣顯示RAM(GDRAM)。可與CPU直接接口,提供兩種界面來連接微處理機:8-位并行及串行兩種連接方式。具有多種功能:光標顯示、畫面移位、睡眠模式等。由該模塊構成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結構或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。 2、 基本特性: (1)、低電源電壓(VDD:+3.0--+5.5V)(2)、顯示分辨率:128×64點 (3)、內置漢字字庫,提供8192個16×16點陣漢字(簡繁體可選) (4)、內置 128個16×8點陣字符 (5)、2MHZ時鐘頻率 (6)、顯示方式:STN、半透、正顯 (7)、驅動方式:1/32DUTY,1/5BIAS (8)、視角方向:6點 (9)、背光方式:側部高亮白色LED,功耗僅為普通LED的1/5—1/10 (10)、通訊方式:串行、并口可選 (11)、內置DC-DC轉換電路,無需外加負壓 (12)、無需片選信號,簡化軟件設計(13)、工作溫度: 0℃ - +55℃ ,存儲溫度: -20℃ - +60℃ 3、 外觀尺寸:93×70×12.5mm 4、 視域尺寸:73×39mm 5、外觀尺寸圖 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD363.tmp.jpg 圖2.5-1 6、引腳說明 管腳號 | | | | | | | | | | | | | | | | | | | RS=“H”,表示DB7——DB0為顯示數據 RS=“L”,表示DB7——DB0為顯示指令數據 | | | | R/W=“H”,E=“H”,數據被讀到DB7——DB0 R/W=“L”,E=“H→L”, DB7——DB0的數據被寫到IR或DR | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
模塊接口說明: *注釋1:如在實際應用中僅使用串口通訊模式,可將PSB接固定低電平,也可以將模塊上的J8和“GND”用焊錫短接。 *注釋2:模塊內部接有上電復位電路,因此在不需要經常復位的場合可將該端懸空。 *注釋*注釋3如背光和模塊共用一個電源,可以將模塊上的JA、JK用焊錫短接。 7、控制器接口信號說明: I、RS,R/W的配合選擇決定控制界面的4種模式: II、E信號 ● 忙標志:BF BF標志提供內部工作情況.BF=1表示模塊在進行內部操作,此時模塊不接受外部指令和數據.BF=0時,模塊為準備狀態,隨時可接受外部指令和數據.利用STATUS RD 指令,可以將BF讀到DB7總線,從而檢驗模塊之工作狀態. ● 字型產生ROM(CGROM) 字型產生ROM(CGROM)提供8192個此觸發器是用于模塊屏幕顯示開和關的控制。DFF=1為開顯示(DISPLAY ON),DDRAM 的內容就顯示在屏幕上,DFF=0為關顯示(DISPLAY OFF)。DFF 的狀態是指令DISPLAY ON/OFF和RST信號控制的。 ● 顯示數據RAM(DDRAM)模塊內部顯示數據RAM提供64×2個位元組的空間,最多可控制4行16字(64個字)的中文字型顯示,當寫入顯示數據RAM時,可分別顯示CGROM與CGRAM的字型;此模塊可顯示三種字型,分別是半角英數字型(16*8)、CGRAM字型及CGROM的中文字型,三種字型的選擇,由在DDRAM中寫入的編碼選擇,在0000H—0006H的編碼中(其代碼分別是0000、0002、0004、0006共4個)將選擇CGRAM的自定義字型,02H—7FH的編碼中將選擇半角英數字的字型,至于A1以上的編碼將自動的結合下一個位元組,組成兩個位元組的編碼形成中文字型的編碼BIG5(A140—D75F),GB(A1A0-F7FFH)。 ● 字型產生RAM(CGRAM) 字型產生RAM提供圖象定義(造字)功能, 可以提供四組16×16點的自定義圖象空間,使用者可以將內部字型沒有提供的圖象字型自行定義到CGRAM中,便可和CGROM中的定義一樣地通過DDRAM顯示在屏幕中。 ● 地址計數器AC地址計數器是用來貯存DDRAM/CGRAM之一的地址,它可由設定指令暫存器來改變,之后只要讀取或是寫入DDRAM/CGRAM的值時,地址計數器的值就會自動加一,當RS為“0”時而R/W為“1”時,地址計數器的值會被讀取到DB6——DB0中。 光標/閃爍控制電路 此模塊提供硬體光標及閃爍控制電路,由地址計數器的值來指定DDRAM中的光標或閃爍位置。 8、指令說明 模塊控制芯片提供兩套控制命令,基本指令和擴充指令如下: 指令表1:(RE=0:基本指令) | | | | | | | | | | | | | | | | | | | | | | | | | | 將DDRAM填滿"20H",并且設定DDRAM的地址計數器(AC)到"00H" | | | | | | | | | | | | 設定DDRAM的地址計數器(AC)到"00H",并且將游標移到開頭原點位置;這個指令不改變DDRAM 的內容 | | | | | | | | | | | | D=1: 整體顯示 ON C=1: 游標ON B=1:游標位置反白允許 | | | | | | | | | | | | 指定在數據的讀取與寫入時,設定游標的移動方向及指定顯示的移位 | | | | | | | | | | | | 設定游標的移動與顯示的移位控制位;這個指令不改變DDRAM 的內容 | | | | | | | | | | | | DL=0/1:4/8位數據 RE=1: 擴充指令操作 RE=0: 基本指令操作 | | | | | | | | | | | | | | | | | | | | | | | | 設定DDRAM 地址(顯示位址) 第一行:80H-87H 第二行:90H-97H | | | | | | | | | | | | 讀取忙標志(BF)可以確認內部動作是否完成,同時可以讀出地址計數器(AC)的值 | | | | | 將數據D7——D0寫入到內部的RAM (DDRAM/CGRAM/IRAM/GRAM) | | | | | 從內部RAM讀取數據D7——D0 (DDRAM/CGRAM/IRAM/GRAM) | | | | | | | | | | | | | | | | | | | | | | | | | | | 將DDRAM填滿"20H",并且設定DDRAM的地址計數器(AC)到"00H" | | | | | | | | | | | | 設定DDRAM的地址計數器(AC)到"00H",并且將游標移到開頭原點位置;這個指令不改變DDRAM 的內容 | | | | | | | | | | | | D=1: 整體顯示 ON C=1: 游標ON B=1:游標位置反白允許 | | | | | | | | | | | | 指定在數據的讀取與寫入時,設定游標的移動方向及指定顯示的移位 | | | | | | | | | | | | 設定游標的移動與顯示的移位控制位;這個指令不改變DDRAM 的內容 | | | | | | | | | | | | DL=0/1:4/8位數據 RE=1: 擴充指令操作 RE=0: 基本指令操作 | | | | | | | | | | | | | | | | | | | | | | | | 設定DDRAM 地址(顯示位址) 第一行:80H-87H 第二行:90H-97H | | | | | | | | | | | | 讀取忙標志(BF)可以確認內部動作是否完成,同時可以讀出地址計數器(AC)的值 | | | | | 將數據D7——D0寫入到內部的RAM (DDRAM/CGRAM/IRAM/GRAM) | | | | | 從內部RAM讀取數據D7——D0 (DDRAM/CGRAM/IRAM/GRAM) |
指令表2:(RE=1:擴充指令) 指 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SR=1:允許輸入垂直卷動地址 SR=0:允許輸入IRAM和CGRAM地址 | | | | | | | | | | | | 選擇2行中的任一行作反白顯示,并可決定反白與否。初始值R1R0=00,第一次設定為反白顯示,再次設定變回正常 | | | | | | | | | | | | | | | | | | | | | | | | CL=0/1:4/8位數據 RE=1: 擴充指令操作 RE=0: 基本指令操作 G=1/0:繪圖開關 | | | | | | | | | | | | 設定繪圖RAM 先設定垂直(列)地址AC6AC5…AC0 再設定水平(行)地址AC3AC2AC1AC0 將以上16位地址連續寫入即可 |
備注:當IC1在接受指令前,微處理器必須先確認其內部處于非忙碌狀態,即讀取BF標志時,BF需為零,方可接受新的指令;如果在送出一個指令前并不檢查BF標志,那么在前一個指令和這個指令中間必須延長一段較長的時間,即是等待前一個指令確實執行完成。 應用舉例: 1、使用前的準備:先給模塊加上工作電壓,再按照下圖的連接方法調節LCD的對比度,使其顯示出黑色的底影。此過程亦可以初步檢測LCD有無缺段現象。 2、字符顯示:帶中文字庫的128X64-0402B每屏可顯示4行8列共32個16×16點陣的漢字,每個顯示RAM可顯示1個中文字符或2個16×8點陣全高ASCII碼字符,即每屏最多可實現32個中文字符或64個ASCII碼字符的顯示。帶中文字庫的128X64-0402B內部提供128×2字節的字符顯示RAM緩沖區(DDRAM)。字符顯示是通過將字符顯示編碼寫入該字符顯示RAM實現的。根據寫入內容的不同,可分別在液晶屏上顯示CGROM(中文字庫)、HCGROM(ASCII碼字庫)及CGRAM(自定義字形)的內容。三種不同字符/字型的選擇編碼范圍為:0000~0006H(其代碼分別是0000、0002、0004、0006共4個)顯示自定義字型,02H~7FH顯示半寬ASCII碼字符,A1A0H~F7FFH顯示8192種GB2312中文字庫字形。字符顯示RAM在液晶模塊中的地址80H~9FH。字符顯示的RAM的地址與32個字符顯示區域有著一一對應的關系,其對應關系如下表所示。 3 、圖形顯示 先設垂直地址再設水平地址(連續寫入兩個字節的資料來完成垂直與水平的坐標地址) 垂直地址范圍 AC5...AC0 水平地址范圍 AC3…AC0 繪圖RAM 的地址計數器(AC)只會對水平地址(X 軸)自動加一,當水平地址=0FH 時會重新設為00H 但并不會對垂直地址做進位自動加一,故當連續寫入多筆資料時,程序需自行判斷垂直地址是否需重新設定。GDRAM的坐標地址與資料排列順序如下圖: 4、應用說明 用帶中文字庫的128X64顯示模塊時應注意以下幾點: ①欲在某一個位置顯示中文字符時,應先設定顯示字符位置,即先設定顯示地址,再寫入中文字符編碼。 ②顯示ASCII字符過程與顯示中文字符過程相同。不過在顯示連續字符時,只須設定一次顯示地址,由模塊自動對地址加1指向下一個字符位置,否則,顯示的字符中將會有一個空ASCII字符位置。 ③當字符編碼為2字節時,應先寫入高位字節,再寫入低位字節。 ④模塊在接收指令前,向處理器必須先確認模塊內部處于非忙狀態,即讀取BF標志時BF需為“0”,方可接受新的指令。如果在送出一個指令前不檢查BF標志,則在前一個指令和這個指令中間必須延遲一段較長的時間,即等待前一個指令確定執行完成。指令執行的時間請參考指令表中的指令執行時間說明。⑤“RE”為基本指令集與擴充指令集的選擇控制位。當變更“RE”后,以后的指令集將維持在最后的狀態,除非再次變更“RE”位,否則使用相同指令集時,無需每次均重設“RE”位。 2.7 A/D轉換電路 AD轉換就是模數轉換。顧名思義,就是把模擬信號轉換成數字信號。主要包括積分型、逐次逼近型、并行比較型/串并行型、Σ-Δ調制型、電容陣列逐次比較型及壓頻變換型。 A/D轉換器是用來通過一定的電路將模擬量轉變為數字量。模擬量可以是電壓、電流等電信號,也可以是壓力、溫度、濕度、位移、聲音等非電信號。但在A/D轉換前,輸入到A/D轉換器的輸入信號必須經各種傳感器把各種物理量轉換成電壓信號。 I、分類 1)積分型(如TLC7135) 積分型AD工作原理是將輸入電壓轉換成時間(脈沖寬度信號)或頻率(脈沖頻率),然后由 定時器/計數器獲得數字值。其優點是用簡單電路就能獲得高分辨率, 但缺點是由于轉換精度依賴于積分時間,因此轉換速率極低。初期的單片AD轉換器大多采用積分型,現在逐次比較型已逐步成為主流。 2)逐次比較型(如TLC0831) 逐次比較型AD由一個比較器和DA轉換器通過逐次比較邏輯構成,從MSB開始,順序地對每一位將輸入電壓與內置DA轉換器輸出進行比較,經n次比較而輸出 數字值。其電路規模屬于中等。其優點是速度較高、功耗低,在低分辯率(<12位)時價格便宜,但高精度(>12位)時價格很高。 3)并行比較型/串并行比較型(如TLC5510) 并行比較型AD采用多個比較器,僅作一次比較而實行轉換,又稱FLash(快速)型。由于轉換速率極高,n位的轉換需要2n-1個比較器,因此電路規模也極大,價格也高,只適用于視頻AD轉換器等速度特別高的領域。 串并行比較型AD結構上介于并行型和逐次比較型之間,最典型的是由2個n/2位的并行型AD轉換器配合DA轉換器組成,用兩次比較實行轉換,所以稱為 Half flash(半快速)型。還有分成三步或多步實現AD轉換的叫做分級(Multistep/Subrangling)型AD,而從轉換時序角度 又可稱為流水線(Pipelined)型AD,現代的分級型AD中還加入了對多次轉換結果作數字運算而修正特性等功能。這類AD速度比逐次比較型高,電路 規模比并行型小。 4)Σ-Δ(Sigma?/FONT>delta)調制型(如AD7705) Σ-Δ型AD由積分器、比較器、1位DA轉換器和數字濾波器等組成。原理上近似于積分型,將輸入電壓轉換成時間( 脈沖寬度)信號,用數字濾波器處理后得到數字值。電路的數字部分基本上容易單片化,因此容易做到高分辨率。主要用于音頻和測量。 5)電容陣列逐次比較型 電容陣列逐次比較型AD在內置DA轉換器中采用電容 矩陣方式,也可稱為電荷再分配型。一般的電阻陣列DA轉換器中多數電阻的值必須一致,在單芯片上生成高 精度的電阻并不容易。如果用電容陣列取代電阻陣列,可以用低廉成本制成高精度單片AD轉換器。最近的逐次比較型AD轉換器大多為電容陣列式的。 6)壓頻變換型(如AD650) 壓頻變換型(Voltage-Frequency Converter)是通過間接轉換方式實現模數轉換的。其原理是首先將輸入的模擬信號轉換成頻率,然后用計數器將頻率轉換成 數字量。從理論上講這種AD的分辨率幾乎可以無限增加,只要采樣的時間能夠滿足輸出頻率分辨率要求的累積脈沖個數的寬度。其優點是分辯率高、功耗低、價格低,但是需要外部計數電路共同完成AD轉換。 II、HX711 1)、簡介。HX711是一款專為高精度稱重傳感器而設計的24位A/D轉換器芯片。與同類型其它芯片相比,該芯片集成了包括穩壓電源、片內時鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應速度快、抗干擾性強等優點。降低了電子秤的整機成本,提高了整機的性能和可靠性。該芯片與后端MCU芯片的接口和編程非常簡單,所有控制信號由管腳驅動,無需對芯片內部的寄存器編程。輸入選擇開關可任意選取通道A或通道B,與其內部的低噪聲可編程放大器相連。通道A的可編程增益為128或64,對應的滿額度差分輸入信號幅值分別為±20mV或±40mV。通道B則為固定的32增益,用于系統參數檢測。芯片內提供的穩壓電源可以直接向外部傳感器和芯片內的A/D轉換器提供電源,系統板上無需另外的模擬電源。芯片內的時鐘振蕩器不需要任何外接器件。上電自動復位功能簡化了開機的初始化過程。 2)、特點。 A、兩路可選擇差分輸入; B、片內低噪聲可編程放大器,可選增益為64 和128; C、片內穩壓電路可直接向外部傳感器和芯片內A/D 轉換器提供電源; D、片內時鐘振蕩器無需任何外接器件,必要時也可使用外接晶振或時鐘上電自動復位電路; E、簡單的數字控制和串口通訊:所有控制由管腳輸入,芯片內寄存器無需編程; F、可選擇10Hz 或80Hz 的輸出數據速率; G、同步抑制50Hz 和60Hz 的電源干擾; H、耗電量(含穩壓電源電路):典型工作電流:<1.7mA, 斷電電流:<1μA; I、工作電壓范圍:2.6 ~ 5.5V; J、工作溫度范圍:-20 ~ +85℃; L、16 管腳的SOP-16 封裝; file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD383.tmp.jpg 圖2.7-1 HX711內部方框圖 3)、管腳說明 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD384.tmp.jpg 圖2.7-2管腳圖 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD385.tmp.jpg 圖2.7-3管腳說明 模擬輸入 通道A模擬差分輸入可直接與橋式傳感器的差分輸出相接。由于橋式傳感器輸出的信號較小,為了充分利用A/D轉換器的輸入動態范圍,該通道的可編程增益較大,為128或64。這些增益所對應的滿量程差分輸入電壓分別±20mV或±40mV。通道B為固定的32增益,所對應的滿量程差分輸入電壓為±80mV。通道B應用于包括電池在內的系統參數檢測。 供電電源 數字電源(DVDD)應使用與MCU芯片相同的的數字供電電源。HX711芯片內的穩壓電路可同時向A/D轉換器和外部傳感器提供模擬電源。穩壓電源的供電電壓(VSUP)可與數字電源(DVDD)相同。穩壓電源的輸出電壓值(VAVDD)由外部分壓電阻R1、R2 和芯片的輸出參考電壓VBG決定(圖1),VAVDD=VBG(R1+R2)/R2。應選擇該輸出電壓比穩壓電源的輸入電壓(VSUP)低至少100mV。如果不使用芯片內的穩壓電路,管腳VSUP和管腳AVDD應相連,并接到電壓為2.6~5.5V的低噪聲模擬電源。管腳VBG上不需要外接電容,管腳VFB應接地,管腳BASE 為無連接。 時鐘選擇 如果將管腳XI接地,HX711將自動選擇使用內部時鐘振蕩器,并自動關閉外部時鐘輸入和晶振的相關電路。這種情況下,典型輸出數據速率為10Hz或80Hz。如果需要準確的輸出數據速率,可將外部輸入時鐘通過一個20pF的隔直電容連接到XI管腳上,或將晶振連接到XI和XO管腳上。這種情況下,芯片內的時鐘振蕩器電路會自動關閉,晶振時鐘或外部輸入時鐘電路被采用。此時,若晶振頻率為11.0592MHz,輸出數據速率為準確的10Hz或80Hz。輸出數據速率與晶振頻率以上述關系按比例增加或減少。使用外部輸入時鐘時,外部時鐘信號不一定需要為方波。可將MCU芯片的晶振輸出管腳上的時鐘信號通過20pF的隔直電容連接到XI管腳上,作為外部時鐘輸入。外部時鐘輸入信號的幅值可低至150mV。 串口通訊 串口通訊線由管腳PD_SCK和DOUT組成,用來輸出數據,選擇輸入通道和增益。當數據輸出管腳DOUT為高電平時,表明A/D轉換器還未準備好輸出數據,此時串口時鐘輸入信號PD_SCK應為低電平。當DOUT從高電平變低電平后,PD_SCK應輸入25至27個不等的時鐘脈沖(圖二)。其中第一個時鐘脈沖的上升沿將讀出輸出24位數據的最高位(MSB),直至第24個時鐘脈沖完成,24位輸出數據從最高位至最低位逐位輸出完成。第25至27個時鐘脈沖用來選擇下一次A/D轉換的輸入通道和增益,參見圖2.7-4。 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD386.tmp.jpg 圖2.7-4輸入通道和增益選擇 PD_SCK的輸入時鐘脈沖數不應少于25或多于27,否則會造成串口通訊錯誤。當A/D轉換器的輸入通道或增益改變時,A/D轉換器需要4個數據輸出周期才能穩定。DOUT在4個數據輸出周期后才會從高電平變低電平,輸出有效數據。 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD387.tmp.jpg 圖2.7-5數據輸出,輸入通道和增益選擇時序圖 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD388.tmp.jpg 復位和斷電 當芯片上電時,芯片內的上電自動復位電路會使芯片自動復位。管腳PD_SCK輸入用來控制HX711的斷電。當PD_SCK為低電平時,芯片處于正常工作狀態。 file:///C:\Users\hxsd\AppData\Local\Temp\ksohtml\wpsD389.tmp.jpg 圖2.7-6斷電控制 如果PD_SCK從低電平變高電平并保持在高電平超過60μs,HX711 即進入斷電狀態(圖三)。如使用片內穩壓電源電路,斷電時,外部傳感器和片內A/D 轉換器會被同時斷電。當PD_SCK 重新回到低電平時,芯片會自動復位后進入正常工作狀態。芯片從復位或斷電狀態進入正常工作狀態后,通道A和增益128會被自動選擇作為第一次A/D轉換的輸入通道和增益。隨后的輸入通道和增益選擇由PD_SCK的脈沖數決定,參見串口通訊一節。芯片從復位或斷電狀態進入正常工作狀態后,A/D 轉換器需要4個數據輸出周期才能穩定。DOUT在4個數據輸出周期后才會從高電平變低電平,輸出有效數據。 2.8 放大電路 放大電路亦稱為放大器,它是使用最為廣泛的電子電路之一、也是構成其他電子電路的基礎單元電路。所謂放大,就是將輸入的微弱信號(簡稱信號,指變化的電壓、電流等)放大到所需要的幅度值且與原輸入信號變化規律一致的信號,即進行不失真的放大。只有在不失真的情況下放大才有意義。放大電路的本質是能量的控制和轉換,根據輸入回路和輸出回路的公共端不同,放大電路有三種基本形式:共射放大電路、共集放大電路和共基放大電路 實際的放大電路通常是由信號源、晶體三極管構成的放大器及負載組成。增加電信號幅度或功率的電子電路。 應用放大電路實現放大的裝置稱為放大器。它的核心是電子有源器件,如電子管、晶體管等。為了實現放大,必須給放大器提供能量。常用的能源是直流電源,但有的放大器也利用高頻電源作為泵浦源。放大作用的實質是把電源的能量轉移給輸出信號。輸入信號的作用是控制這種轉移,使放大器輸出信號的變化重復或反映輸入信號的變化。現代電子系統中,電信號的產生、發送、接收、變換和處理,幾乎都以放大電路為基礎。20世紀初,真空三極管的發明和電信號放大的實現,標志著電子學發展到一個新的階段。20世紀40年代末晶體管的問世,特別是60年代集成電路的問世,加速了電子放大器以至電子系統小型化和微型化的進程。 現代使用最廣的是以晶體管(雙極型晶體管或場效應晶體管)放大電路為基礎的集成放大器。大功率放大以及高頻、微波的低噪聲放大,常用分立晶體管放大器。高頻和微波的大功率放大主要靠特殊類型的真空管,如功率三極管或四極管、磁控管、速調管、行波管以及正交場放大管等。 放大電路的前置部分或集成電路元件變質引起高頻振蕩產生"咝咝"聲,檢查各部分元件,若元件無損壞,再在磁頭信號線與地間并接一個1000PF~0.047F的電容,"咝咝"聲若不消失,則需要更換集成塊。 放大電路本身的特點: 一、有靜態和動態兩種工作狀態,所以有時往往要畫出它的直流通路和交流通路才能進行分析; 二、電路往往加有負反饋,這種反饋有時在本級內,有時是從后級反饋到前級,所以在分析這一級時還要能“瞻前顧后”。在弄通每一級的原理之后就可以把整個電路串通起來進行全面綜合。 電壓放大倍數、輸入電阻和輸出電阻是放大電路的三個主要性能指標,分析這三個指標最常用的方法是微變等效電路法,這是一種在小信號放大條件下,將非線性的三極管放大電路等效為線性放大電路。 [2] 放大倍數 放大倍數又稱增益,它是衡量放大電路放大能力的指標。根據需要處理的輸入和輸出量的不同,放大倍數有電壓、電流、互阻、互導和功率放大倍數等,其中電壓放大倍數應用最多。 輸入電阻 放大電路的輸入電阻是從輸入端向放大電路內看進去的等效電阻,它等于放大電路輸出端接實際負載電阻后,輸入電壓與輸入電流之比,即Ri=Ui/Ii。對于信號源來說,輸入電阻就是它的等效負載。 輸入電阻的大小反映了放大電路對信號源的影響程度。輸入電阻越大,放大電路從信號源汲取的電流(即輸入電流)就越小,信號源內阻上的壓降就越小,其實際輸入電壓就越接近于信號源電壓,常稱為恒壓輸入。反之,當要求恒流輸入時,則必須使Ri<<Rs;若要求獲得最大功率輸入,則要求Ri=Rs,常稱為阻抗匹配。 輸出電阻 對負載而言,放大電路的輸出端可等效為一個信號源。輸出電阻越小,輸出電壓受負載的影響就越小,若Ro=0,則輸出電壓的大小將不受RL的大小影響,稱為恒壓輸出。當RL<<Ro時即可得到恒流輸出。因此,輸出電阻的大小反映了放大電路帶負載能力的大小。 根據放大電路的作用可以將其分為:電壓放大電路、電流放大電路和功率放大電路。根據放大電路的組成元件可以分為晶體管放大電路和場效應管放大電路。 晶體管放大電路的基本形式有三種:共射放大電路,共基放大電路和共集放大電路;場效應管放大電路基本形式有兩種:共源放大電路,共漏放大電路。在構成多級放大器時,這幾種電路常常需要相互組合使用。 [2] 一、共發射極放大電路 共發射極放大電路簡稱共射電路,輸入端AA′外接需要放大的信號源;輸出端BB′外接負載。發射極為輸入信號ui和輸出信號uo的公共端。公共端通常稱為“地”(實際上并非真正接到大地),其電位為零,是電路中其他各點電位的參考點,用“⊥”表示。 1.電路的組成及各元件的作用 (1)三極管VNPN管,具有放大功能,是放大電路的核心。 (2)直流電源VCC使三極管工作在放大狀態,VCC一般為幾伏到幾十伏。 (3)基極偏置電阻Rb它使發射結正向偏置,并向基極提供合適的基極電流(。Rb一般為幾十千歐至幾百千歐。 (4)集電極負載電阻Rc它將集電極電流的變化轉換成集-射極之間電壓的變化,以實現電壓放大。Rc的值一般為幾千歐至幾十千歐。 (5)耦合電容C1、C2又稱隔直電容,起通交流隔直流的作用。C1、C2一般為幾微法至幾十微法的電解電容器,在聯結電路時,應注意電容器的極性,不能接錯。 2.放大電路的靜態分析:靜態是指放大電路沒有交流輸入信號(ui=0)時的直流工作狀態。靜態時,電路中只有直流電源VCC作用,三極管各極電流和極間電壓都是直流值,電容C1、C2相當于開路,其等效電路如圖6-22所示,該電路稱為直流通路。 對放大電路進行靜態分析的目的是為了合理設置電路的靜態工作點(用Q表示),即靜態時電路中的基極電流IBQ、集電極電流ICQ和集-射間電壓UCEQ的值,防止放大電路在放大交流輸入信號時產生的非線性失真。 三極管工作于放大狀態時,發射結正偏,這時UBEQ基本不變,對于硅管約為0.7V,鍺管約為0.3V。 三、功率放大電路 1.功率放大電路的基本概念功率放大電路的任務是輸出足夠的功率,推動負載工作。例如揚聲器發聲、繼電器動作、電動機旋轉等。功率放大電路和電壓放大電路都是利用三極管的放大作用將信號放大,不同的是功率放大電路以輸出足夠的功率為目的,工作在大信號狀態;而電壓放大電路的目的是輸出足夠大的電壓,工作在小信號狀態。 功率放大電路應滿足以下要求: (1)輸出功率足夠大為了獲得較大的輸出信號電壓和電流,往往要求三極管工作在極限狀態。實際應用時,應考慮到三極管的極限參數PCM、ICM和U(BR)CEO。 2)動態工作分析設輸入信號為正弦電壓ui,如圖6-30a所示。在正半周時,V1管發射結正偏導通,V2管發射結反偏截止,由+VCC提供的電流ic1經V1管流向負載,在負載RL上獲得正半周輸出電壓uo。同理,在負半周時,V1管發射結反偏截止,V2管發射結正偏導通,由-VCC提供的電流ic2從-VCC端經負載流向V2管,在RL上獲得負半周輸出電壓uo。可見,在ui的整個周期內,V1管和V2管輪流導通,相互補充,從而在RL上得到完整的輸出電壓uo,故稱為補對稱功率放大電路。 3.集成功率放大電路簡介 集成功率放大電路是將功率放大電路中的各個元件及其聯線制作在一塊半導體芯片上的整體。它具有體積小、重量輕、可靠性高、使用方便等優點,因此在收錄機、電視機及伺服放大電路中獲得廣泛應用。 四、多級放大電路簡介 實際應用中,放大電路的輸入信號都是很微弱的,一般為毫伏級或微伏級。為獲得推動負載工作的足夠大的電壓和功率,需將輸入信號放大成千上萬倍。由于前述單級放大電路的電壓放大倍數通常只有幾十倍,所以需要將多個單級放大電路聯結起來,組成多級放大電路對輸入信號進行連續放大。 多級放大電路中,輸入級用于接受輸入信號。為使輸入信號盡量不受信號源內阻的影響,輸入級應具有較高的輸入電阻,因而常采用高輸入電阻的放大電路,例如射極輸出器等。中間電壓放大級用于小信號電壓放大,要求有較高的電壓放大倍數。輸出級是大信號功率放大級,用以輸出負載需要的功率。 2.多級放大電路的級間耦合方式及特點在多級放大電路中,級與級之間的聯結方式稱為耦合。級間耦合時應滿足以下要求:各級要有合適的靜態工作點;信號能從前級順利傳送到后級;各級技術指標能滿足要求。 2.9傳感器電路 電阻應變式傳感器(straingauge type transducer )是以電阻應變計為轉換元件的電阻式傳感器。電阻應變式傳感器由彈性敏感元件、電阻應變計、補償電阻和外殼組成,可根據具體測量要求設計成多種結構形式。彈性敏感元件受到所測量的力而產生變形,并使附著其上的電阻應變計一起變形。電阻應變計再將變形轉換為電阻值的變化,從而可以測量力、壓力、扭矩、位移、加速度和溫度等多種物理量。 常用的電阻應變式傳感器有應變式測力傳感器、應變式壓力傳感器、應變式扭矩傳感器(見轉矩傳感器)、應變式位移傳感器(見位移傳感器)、應變式加速度傳感器(見加速度計)和測溫應變計等。電阻應變式傳感器的優點是精度高,測量范圍廣壽命長,結構簡單,頻響特性好,能在惡劣條件下工作,易于實現小型化、整體化和品種多樣化等。 常用的電阻應變式傳感器有應變式測力傳感器、應變式壓力傳感器、應變式扭矩傳感器(見轉矩傳感器)、應變式位移傳感器(見位移傳感器)、應變式加速度傳感器(見加速度計)和測溫應變計等。電阻應變式傳感器的優點是精度高,測量范圍廣壽命長,結構簡單,頻響特性好,能在惡劣條件下工作,易于實現小型化、整體化和品種多樣化等。
|