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

正文內(nèi)容

單片機(jī)串口通信設(shè)計方案-免費(fèi)閱讀

2025-05-19 13:37 上一頁面

下一頁面
  

【正文】 到菜單“Tools/Netlist to ARES”,這樣就會打開ARES(你也可以利用工具欄的相應(yīng)按鈕來完成這一操作)。此原理圖在Proteus 原理圖編輯區(qū)進(jìn)行繪制,其方法已在上一章介紹,繪制過程在此不再累述。MAX232芯片可以完成TTL電平與RS232電平間的轉(zhuǎn)換。ISP為AT89C51的下載編程器端口。對于晶振電路,AT89C51中右一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入和輸出端。通過仿真直觀地看到通信系統(tǒng)的功能效果,通過調(diào)試可以直接看到運(yùn)行過程中各變量及單片機(jī)各寄存器中的數(shù)據(jù)變化,以確定程序運(yùn)行的正誤。閉合主機(jī)的接受/發(fā)送開關(guān),使從機(jī)處于接收數(shù)據(jù)狀態(tài),分別單擊數(shù)據(jù)輸入按鈕,使0機(jī),1機(jī)和2機(jī)的數(shù)據(jù)分別為5,2,8,斷開主機(jī)的接受/發(fā)送開關(guān),然后單擊主機(jī)發(fā)送按鈕,即將從機(jī)發(fā)送來的數(shù)據(jù)按從大到小的順序依次回發(fā)給0機(jī),1機(jī)和2機(jī)。單擊“確定”返回集成開發(fā)界面。*.h。但是,現(xiàn)在的大部分的單片機(jī)開發(fā)人員都用C 語言對單片機(jī)進(jìn)行編程控制。 //SM2置1,只接收地址幀ES=1。 while(TI!=1)。 //接收主機(jī)發(fā)送的數(shù)據(jù)while(RI!=1)。 //發(fā)送命令幀0X01,從機(jī)準(zhǔn)備好接收數(shù)據(jù)while(TI!=1)。 TI=0。 系統(tǒng)從機(jī)串行中斷服務(wù)程序流程圖系統(tǒng)從機(jī)串行中斷服務(wù)程序[8][9][10]如下:void slave(void) interrupt 4{uchar a。 //跳轉(zhuǎn)標(biāo)號TB8=1。0x80)==0x80) {TB8=1。 //若地址出錯標(biāo)志,從機(jī)復(fù)位else{TB8=0。SLAVE=3。 //LCD顯示定位到0x0b處 DispTable(rdata[2])。RI=0。 //等待發(fā)送結(jié)束while(RI!=1)。 TI=0。 //調(diào)用串口初始化程序send_data=P0^0。 //LCD顯示定位到0處LCD_prints(R0:)。039。 //定義一個變量k a[0]=(t/10000)%10。 SCON=0xd8。本系統(tǒng)的波特率設(shè)置為4800比特/秒,波特率倍增位置1,單片機(jī)的時鐘頻率=12MHz。 元器件屬性對話框 設(shè)置結(jié)果本章介紹了系統(tǒng)的硬件設(shè)計,首先對串行通信控制系統(tǒng)的核心器件AT89C51單片機(jī)與LCD1602液晶顯示器作了簡單介紹。兩個或多個相對應(yīng)端子的網(wǎng)絡(luò)標(biāo)號要相同。 元器件選擇框 選取元件按鈕,即可將元器件AT89C51放置在原理圖編輯區(qū)中。單擊“OK”按鈕,則以默認(rèn)的模板(DEFAULT)建立一個新的空白文件。本節(jié)主要介紹如何在Porteus ISIS環(huán)境中進(jìn)行原理圖繪制和原理圖電氣檢測。其中8位數(shù)據(jù)總線D0D7和RS、R/W、EN三個控制端口,個分解時序操作速度支持到1MHz,并且?guī)в凶址麑Ρ榷日{(diào)節(jié)和背光。當(dāng)保持低電平時,只訪問片內(nèi)ROM。此引腳出現(xiàn)至少兩個機(jī)器周期的高電平,將單片機(jī)復(fù)位。 AT89C51雙列直插式引腳圖P2口:是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。(9)5個中斷源,兩個中斷優(yōu)先級的中斷控制系統(tǒng)。AT89C51的主要部件:(1)一個以ALU為中心的8位中央處理器,完成運(yùn)算和控制功能。當(dāng)處于接收狀態(tài)時,主機(jī)循環(huán)接收下位機(jī)00、002三機(jī)的實時數(shù)據(jù),并進(jìn)行顯示;當(dāng)處于發(fā)送狀態(tài)時,主機(jī)將接收到的三機(jī)數(shù)據(jù)按從大到小的數(shù)據(jù)排列,然后依次發(fā)送到00、01和02機(jī)上,并進(jìn)行顯示。缺點(diǎn)是占用資源較多,執(zhí)行效率沒有匯編高。由于本系統(tǒng)主機(jī)顯示4個數(shù)據(jù),從機(jī)顯示2個數(shù)據(jù),選擇的液晶顯示器皆可,所以在此設(shè)計中采用LCD1602液晶顯示屏。方案二: 采用AT89C51芯片作為硬件核心,AT89系列機(jī)是ATMEL公司將先進(jìn)的Flash存儲器技術(shù)和Intel 80C51單片機(jī)相結(jié)合的產(chǎn)物,是與MCS51系列兼容的Flash單片機(jī)系列。按照上面的協(xié)議規(guī)定:主機(jī)首先發(fā)送地址幀,被尋址的從機(jī)向主機(jī)回送本地地址。4. 主機(jī)發(fā)送控制指令和數(shù)據(jù)給從機(jī),此時一幀數(shù)據(jù)的第9位TB8=0。主機(jī)在發(fā)送信息時,依靠TB8標(biāo)志位來區(qū)分發(fā)送的信息為地址信息還是數(shù)據(jù)信息。 51系列單片機(jī)多機(jī)通信多機(jī)應(yīng)用是指在一個系統(tǒng)中用到了多塊單片機(jī)。作為接受方的乙機(jī),需預(yù)先設(shè)置位REN(),即允許接收。在發(fā)送時鐘控制下,先發(fā)送一個低電平的起始位,緊接著把A中的數(shù)據(jù)送入SBUF,在發(fā)送控制器的控制下,按設(shè)定的波特率,每來一個移位時鐘,數(shù)據(jù)移出移一位,由低位到高位一位一位發(fā)送到電纜線上,移出的數(shù)據(jù)位通過電纜線直達(dá)乙機(jī)。51單片機(jī)的串行口正是通過對上述專用寄存器的設(shè)置、檢測與讀寫來管理串行通信的。其中:方式0,為同步移位寄存器方式,一般用于外接移位寄存器芯片擴(kuò)展I/O接口;方式1,是8位的異步通信方式,通常用于雙機(jī)通信。此時波特率由決定,稱為固定方式頻率方式;也可由單片機(jī)內(nèi)部定時器T1產(chǎn)生,T1工作于自動再裝入8位定時方式(方式2)。波特率是串行通信中的一個重要概念,它用于衡量串行通信速度的快慢。串行通信中要解決好發(fā)送設(shè)備與接收設(shè)備之間的同步問題,否則會造成某些數(shù)據(jù)位的丟失而通信失敗。(a)所示,通信方甲機(jī)只能作為發(fā)送方,而通信方乙機(jī)只能作為接收方,不能互換。通信是計算機(jī)系統(tǒng)中主機(jī)與外設(shè)之間及主機(jī)系統(tǒng)與主機(jī)系統(tǒng)之間的數(shù)據(jù)交換。 系統(tǒng)軟件設(shè)計 主要介紹了在Keil集成開發(fā)環(huán)境中進(jìn)行C51語言的編寫過程、控制系統(tǒng)程序的編寫以及程序流程圖繪制。實現(xiàn)單片機(jī)之間的串口通信所涉及單片機(jī)的知識點(diǎn)多,概括了單片機(jī)的定時器/計數(shù)器功能、中斷功能和串行通信功能等,是單片機(jī)功能的綜合應(yīng)用。Proteus ISIS與Keil整合起來使用,充分利用各自的仿真功能,單片機(jī)的軟硬件的調(diào)試和仿真,將變得非常直觀和生動。Proteus與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī) CPU的工作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其它電路的工作情況。而且要進(jìn)行硬件電路測試和調(diào)試,必須在電路板制作完成、元器件焊接完畢之后進(jìn)行,但這些工作費(fèi)時費(fèi)力。單片機(jī)串口通信設(shè)計方案目前,單片機(jī)的發(fā)展速度大約每兩、三年要更新一代,集成度增加一倍,功能翻一番。因此引入EDA軟件仿真系統(tǒng)建立虛擬實驗平臺,不僅可以大大提高單片機(jī)的學(xué)習(xí)效率,而且大大減少硬件設(shè)備的資金投入,同時降低對硬件設(shè)備的維護(hù)工作。因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機(jī)寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作的過程和結(jié)果。國內(nèi)外的很多知名大學(xué)已經(jīng)開始使Proteus作為他們的教學(xué)工具,比如Stanford University,University Of California,Cambridge University,Carlisle college,香港理工大學(xué),中山大學(xué),華南理工大學(xué),哈爾濱工程大學(xué)等幾十所高校。通過Proteus對單片機(jī)串行通信的仿真和調(diào)試,不僅是對51單片機(jī)知識的綜合學(xué)習(xí),也是熟悉Proteus軟件的應(yīng)用過程。 系統(tǒng)仿真與調(diào)試 完成控制系統(tǒng)在Proteus ISIS環(huán)境中的仿真與調(diào)試,主要是根據(jù)仿真結(jié)果驗證硬件原理圖以及軟件編寫的是否正確。通信有并行通信和串行通信兩種基本方式。通信雙方可通過傳輸線交替地進(jìn)行雙向傳輸,每個通信方都可以作為發(fā)送方或接收方,但在任一時刻,不能同時作為發(fā)送方和接收方,這樣的通信方 通信方式示意圖式稱為半雙工方式。根據(jù)采用的同步方式的不同, 將串行通信進(jìn)一步分為同步串行通信和異步串行通信兩種。波特率是指在串行通信中,單位時間里傳輸?shù)亩M(jìn)制代碼的位數(shù),單位是b/s或bps(位/秒)。由于定時器的計數(shù)初值可以人為改變,T1產(chǎn)生的時鐘頻率也可以改變,因此稱為可變波特率方式。方式2和方式3,是9位的異步通信方式,通常用于多機(jī)通信。在進(jìn)行通信時,外界的串行數(shù)據(jù)是通過引腳RXD()輸入的。最后發(fā)送一個高電平的停止位。當(dāng)REN置位1,接收控制器就開始工作,對接收數(shù)據(jù)線進(jìn)行采樣,當(dāng)采樣到從“1”到“0”的負(fù)跳變時,接收控制器開始接收數(shù)據(jù)。它是單片機(jī)在高科技領(lǐng)域的主要應(yīng)用,主要用于一些大型的自動化控制系統(tǒng)。當(dāng)設(shè)置TB8=1,時,發(fā)送的是地址信息;當(dāng)設(shè)置TB8=0時,發(fā)送的是數(shù)據(jù)或者命令信息。5. 當(dāng)從機(jī)接收數(shù)據(jù)結(jié)束的時候,置SM2=1,返回接收地址幀狀態(tài)。主機(jī)判斷地址是否相符,然后給被尋址的從機(jī)發(fā)送控制命令,被尋址的從機(jī)根據(jù)其命令向主機(jī)發(fā)送本地機(jī)狀態(tài)。它既繼承了MCS51原有的功能,又擁有自己是獨(dú)特功能是目前應(yīng)用廣泛的主流單片機(jī)。 軟件編程語言的選擇方案一:采用匯編語言編寫,匯編語言是一種用文字助記符來表示機(jī)器指令的符號語言,是最接近機(jī)器碼的一種語言。但本系統(tǒng)只進(jìn)行單片機(jī)之間的數(shù)據(jù)傳送,不涉及復(fù)雜的數(shù)據(jù)處理,因此本系統(tǒng)軟件采用C語言編寫[8]。從機(jī)的數(shù)據(jù)通過外部中斷輸入,數(shù)據(jù)從0開始每來一次中斷數(shù)據(jù)加1,加到9數(shù)據(jù)清0,再從0到9進(jìn)行循環(huán)。(2)128B的內(nèi)部數(shù)據(jù)存取存儲器(內(nèi)部RAM),其地址空范圍00H7FH。(10)一個片內(nèi)振蕩器和時鐘電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。ALE/(30):地址鎖存/編程脈沖。在Flash存儲器編程期間,該引腳用于施加編程電壓Vpp[13]。當(dāng)RS和RW同時為低電平時,可以寫入指令或顯示地址;當(dāng)RS為低電平,RW為高電平時,可以讀忙信號;當(dāng)RS為高電平,RW為低電平時,可以寫入數(shù)據(jù)。根據(jù)選擇的設(shè)計方案,以及系統(tǒng)框圖,可將硬件作如下連接:主、從機(jī)系統(tǒng)的液晶顯示器的數(shù)據(jù)I/,液晶顯示器的RW讀/寫選擇端、RS數(shù)據(jù)/、。 創(chuàng)建新設(shè)計文件單擊工具按鈕 ,取文件名“串行通信原理圖”,后綴為DSN是系統(tǒng)自動加上去是,然后單擊保存按鈕,則完成新建文件操作。同樣的方法把對象選擇器中的其他器件放入原理圖編輯區(qū)中,以備原理圖連線。采用同樣的方法完成原理圖中的其他的網(wǎng)絡(luò)標(biāo)號。其次,給出了系統(tǒng)原理圖的連線和器件清單。根據(jù)系統(tǒng)設(shè)定的波特率求定時器T1的計數(shù)初值,串行通信工作方式模式3的波特率計算公式[8]如下:波特率=4800bps其中為定時器的計數(shù)初值。 //11011000 串口工作方式3,REN=1允許串行接受 EX0=1。 //取數(shù)據(jù)轉(zhuǎn)化成BCD后的個位到數(shù)組a[0]a[1]=(t/1000)%10。 //將BCD碼的個十百千萬位分別轉(zhuǎn)成ASCII碼 LCD_prints(amp。 系統(tǒng)主機(jī)主程序流程圖系統(tǒng)主機(jī)主程序程序[7][8]如下:include //51單片機(jī)寄存器頭文件include //LCD1602頭文件include //硬件定義頭文件 define uchar unsigned charuchar SLAVE,status,send_data。 //輸出一個字符串“R0:”到LCDLCD_set_position(0x08)。 //發(fā)送/接收標(biāo)志位LCD_set_position(0x4b)。 //等待發(fā)送結(jié)束while(RI!=1)。RI=0。 //等待從機(jī)發(fā)送數(shù)據(jù)結(jié)束rdata[SLAVE]=SBUF。 //顯示2機(jī)發(fā)送的數(shù)據(jù) } Lable1:。SLAVE++){ SBUF=SLAVE。 //清地址標(biāo)志位,準(zhǔn)備接收數(shù)據(jù)SBUF=0X01。 //若主機(jī)命令非法,發(fā)復(fù)位信號給從機(jī)error()。EX0=1。 //定義一個變量aRI=0。 //等待地址發(fā)送結(jié)束while(RI!=1)。 TI=0。 RI=0。 TI=0。 //開串行中斷} }reback:。應(yīng)用TCP/IP 協(xié)議,Proteus 與Keil 的聯(lián)調(diào)很好地解決了Proteus 自帶的編譯系統(tǒng)無法對C 語言進(jìn)行編譯的問題[4]。*.inc)”添加“”和“”文件。單擊build taget圖標(biāo) ,對目標(biāo)文件進(jìn)行編譯。 在單片機(jī)應(yīng)用產(chǎn)品開發(fā)過程中,有時需要調(diào)試程序、修改電路以滿足產(chǎn)品要求;有時需要觀察程序運(yùn)行情況,如觀察過程中單片機(jī)內(nèi)外RAM的情況、工作寄存器的情況、特殊功能寄存器SFR的情況等;PROTEUS提供了方便的仿真調(diào)試功能。 PCB設(shè)計本文所仿真的串行通信系統(tǒng),所有的上位機(jī)和下位機(jī)電路均放在一個原理圖中,但實際串行通信應(yīng)用中,常常上位機(jī)和下位機(jī)不在同一個地點(diǎn)工作。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激震蕩器。 AT89C51單片機(jī)外圍電路 LCD1602液晶顯示模塊電路LCD1602的接口可以和AT89C5
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1