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

正文內(nèi)容

單片機串口通信設(shè)計方案(留存版)

2025-06-09 13:37上一頁面

下一頁面
  

【正文】 本論文中,設(shè)計的主要內(nèi)容有五個方面:一是串行通信控制系統(tǒng)方案的選擇;二是系統(tǒng)硬件電路的設(shè)計;三是系統(tǒng)軟件設(shè)計;四是系統(tǒng)軟件設(shè)計;五是系統(tǒng)仿真與調(diào)試;六是系統(tǒng)硬件PCB設(shè)計。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象[3][4]。在汽車、通信、智能儀表、家用電器和軍事設(shè)備的智能化以及實時過程控制等方面,單片機都扮演著非常重要的角色[1]。Proteus軟件已有近20年的歷史,在全球已得到相當(dāng)廣泛的使用。51系列單片機自身有全雙工的異步串行通信接口,實現(xiàn)串行通信極為方便。為了很好地在Proteus虛擬實驗平臺上展示51單片機串行通信的結(jié)果,需要自行設(shè)計方案。在實際應(yīng)用中,盡管多數(shù)串行通信接口電路具有全雙工功能,單一般情況下,多工作于半雙工方式下。為了提高采樣的分辨率,準確地測定數(shù)據(jù)位的上升沿或下降沿,時鐘頻率總是高于波特率若干倍,這個倍數(shù)稱為波特率因子。根據(jù)對其寫控制字決定工作方式,從而決定波特率發(fā)生器的時鐘來自系統(tǒng)時鐘還是來自定時器T1或T2。因此,兩邊的波特率必須一致。單片機串行多機通信必須使用串口模式2和模式3。從機的地址定義在00H到FEH之間,即系統(tǒng)中最多允許連接255個從機。方案二:采用點陣式數(shù)碼管顯示,點陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費,且價格也相對較高,所以也不用此種作為顯示。下位機系統(tǒng)始終處于串行中斷狀態(tài),是接收還是發(fā)送數(shù)據(jù)由上位機發(fā)送的控制命令決定。(7)一個UART串行通信口。XTAL2(18):振蕩器放大器的輸出端。比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時,只要將41H存入顯示數(shù)據(jù)存儲器DDRAM即可,液晶自動將地址41H中的中的點陣字符圖形顯示出來,我們就能看到字母“A”。本系統(tǒng)的原理圖繪制過程如下[3][12]: ISIS圖標(biāo) ,進入ISIS窗口,: ISIS 窗口ISIS主要包括:菜單欄、工具欄、對象預(yù)覽窗口、編輯區(qū)、器件選擇按鈕、對象選擇器、仿真按鈕、方位控制按鈕、狀態(tài)欄等。雙擊原理圖中的普通端 。本系統(tǒng)的串行通信工作方式選擇模式3,模式3為11位異步發(fā)送接收方式。其數(shù)據(jù)轉(zhuǎn)化函數(shù)如下:void DispTable( unsigned int t){ unsigned char a[5]。 // sbit LCD_EN=P2^2。 //LCD顯示定位到0x48處LCD_prints(R3:)。 //發(fā)命令幀02H求從機發(fā)送數(shù)據(jù)while(TI!=1)。 //LCD顯示定位到0x0b處 DispTable(rdata[1])。 RI=0。 //等待數(shù)據(jù)發(fā)送結(jié)束} TB8=1。 //取消監(jiān)聽狀態(tài)SBUF=SLAVE。 goto reback。 TI=0。 文件組快捷菜單 工程器件選擇對話框 文件添加項目由于本系統(tǒng)用到了LCD1602,所以要用到LCD1602的驅(qū)動程序和頭文件,(此程序在網(wǎng)上可以查到,不必自己編寫),為了便于在程序中改換接口,創(chuàng)建一個“”文件。點擊“Program File”后面的文件夾按鈕,彈出文件列表,從中選擇目標(biāo)代碼文件“”,點擊“OK”,即將十六進制單片機可執(zhí)行成加載到單片機中,同樣的方法分別將從機的目標(biāo)代碼文件加載到相應(yīng)的單片機中,以備仿真。 AT89C51外圍電路設(shè)計AT89C51的工作電壓為+5V,即單片機最小系統(tǒng)的電源Vcc=5V。RS232接口是一種串行通信標(biāo)準,是由美國EIA(電子工業(yè)協(xié)會)和Bell公司一起開發(fā)的通信協(xié)議,它對信號線的功能、電氣特性、連接器等都作了明確的規(guī)定[7]。 ISP的屬性對話框 元器件選擇框調(diào)整好所有元件的封裝后,到菜單“Tools /Netlist Compiler”,接著打開Netlist Compiler設(shè)置對話框,上面的設(shè)置保持默認就行了,單擊OK 生成網(wǎng)表文件。1. 元器件的封裝在ISIS中添加元件時,大部分元件都已經(jīng)配置了一個封裝(有部分元件要手動添加封裝)。LCD1602的工作電壓為+5V,S1為液晶顯示器的電源開關(guān),亮度通過1K的可變電阻RV1進行硬件調(diào)節(jié)。因此在考慮實際應(yīng)用之后,只需做一個通用的串行通信最小系統(tǒng)的PCB。結(jié)果顯示程序沒有錯誤,有一個警告,可以忽略,并產(chǎn)生一個“”文件。 生成單片機可執(zhí)行文件要進行仿真和調(diào)試,.hex文件時是在Keil集成開發(fā)環(huán)境中生成的,生成過程[7][11]如下:雙擊Keil uViosion3圖標(biāo) ,進入Keil uViosion3集成開發(fā)環(huán)境。 //等待數(shù)據(jù)發(fā)送完成SM2=1。 //等待命令發(fā)送結(jié)束while(RI!=1)。 //接收中斷標(biāo)志清零ES=0。} if((statusamp。 //發(fā)呼叫地址while(TI!=1)。 //主機接收定點從機發(fā)送來的數(shù)據(jù)} TB8=1。 RI=0。 //LCD顯示定位到0x08處LCD_prints(R1:)。a)。 //允許使用外中斷 IT0=1。最后,著重介紹在具智能性、人性化和過程簡明高效的Proteus ISIS編輯環(huán)境中進行本系統(tǒng)電路原理圖的繪制過程。 放置AT89C51 對象選擇器 、地、和輸入輸出終端單擊繪圖工具中的終端按鈕 ,在對象選擇器中單擊終端符號POWER,放置電源,單擊GROUND放置地,單擊DEFAULT放置普通端子。上位機系統(tǒng)接收/。 LCD1602液晶顯示器模塊1602是一款常用的字符型液晶,可顯示2行16個字符。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。(3)21個特殊功能寄存器,離散分布于地址80HFFH中。本系統(tǒng)是由一個上位機系統(tǒng)和三個下位機系統(tǒng)構(gòu)成,上位機系統(tǒng)是由AT89C51單片機串行通信最小系統(tǒng)、LCD1602顯示器、中斷發(fā)送信號按鈕和接收/發(fā)送選擇開關(guān)組成。AT89C51是AT89系列的標(biāo)準型單片機,是低功耗高性能的8位單片機,使用的最高晶振頻率為24MHz。6. 主機繼續(xù)發(fā)送其它地址幀,與其它從機進行通信。這時整個系統(tǒng)分成了多個子系統(tǒng),每個子系統(tǒng)是一個單片機系統(tǒng),用于完成本系統(tǒng)的工作,即從上級主機接收信息,并發(fā)送信息給上級主機。一個字符發(fā)送完畢,串行口控制寄存器中的發(fā)送中斷標(biāo)志位T1置位。不同的工作方式,其波特率不一樣,方式0和方式2的波特率直接由系統(tǒng)時鐘產(chǎn)生,方式1和方式3的波特率由定時器/計數(shù)器T1或T2的溢出頻率決定[7]。例如:每秒鐘傳輸120個字符,每個字符由10個二進制位(其中1個起始位、8個數(shù)據(jù)位和一個停止位),其波特率為120字符/秒10位/字符=1200位/秒。(b)所示,通信方甲機和通信方乙機都可以作為發(fā)送方或接收方,但在任一時刻,不能同時作為發(fā)送方和接收方,通軟件或硬件設(shè)定。 系統(tǒng)硬件PCB設(shè)計 完成串行通信單片機最小系統(tǒng)原理圖設(shè)計與PCB繪制。他們一致認為該軟件在教學(xué)中的應(yīng)用有很大的幫助,其靈活自主的設(shè)計方式使學(xué)生更能體驗到電子設(shè)計的魅力,學(xué)生對單片機以及電子設(shè)計的興趣大大提升,知識的掌握和應(yīng)用當(dāng)然也有了很大的提高。EDA設(shè)計思路是:從元器件的選取到連接、直至電路的調(diào)試、分析和軟件的編譯,都是在計算機中完成,所用的工作都是虛擬的。然而單片機是一門綜合性、實踐性都很強的學(xué)科,其學(xué)習(xí)涉及的實驗環(huán)節(jié)比較多,硬件設(shè)備投入比較大,對于大多數(shù)人而言很難投入大筆資金去購買實驗器件。它集成了文件編譯處理、編譯連接、項目管理,窗口、工具引用和軟件仿真調(diào)試等多種功能,是相當(dāng)強大的的開發(fā)工具[5]。 系統(tǒng)硬件設(shè)計 根據(jù)控制系統(tǒng)方案在Proteus ISIS原理圖編輯環(huán)境中繪制系統(tǒng)硬件電路,主要包括原理圖文件的創(chuàng)建、圖紙大小的設(shè)置、原理圖中元器件的選取、元器件的放置、電源、地、和輸入輸出終端的放置、原理圖連線、器件統(tǒng)一編號、電氣檢測以及元器件屬性設(shè)置等內(nèi)容。在串行通信中,通信雙方在任一時刻,只能單方向的傳送數(shù)據(jù),這樣的傳送方法稱為單工方式。因此本系統(tǒng)采用異步串行通信。51單片機的串口有4種工作方式,分別是方式0、方式方式方式3。串行通信中,甲機CPU向SBUF寫入數(shù)據(jù)(MOV SBUF,A),就啟動發(fā)送過程。無論是單片機之間,還是單片機和PC機之間,串行通信雙方的波特率必須相同,才能完成數(shù)據(jù)的正確傳送[7]。 多機通信線路圖單片機多機通信的過程如下:1. 所有從機復(fù)位,置SM2=1,使其處于準備接收一幀地址數(shù)據(jù)的狀態(tài);2. 主機設(shè)置第9位TB8=1,發(fā)送一幀地址信息,與所需要的從機進行聯(lián)系;3. 各從機接收到地址信息后,分別于自己的地址進行比較,對于地址相符的從機,置SM2=0,以便于接收主機隨后發(fā)送的所有信息;對于地址不相符的從機,仍保持SM2=1,對主機隨后發(fā)送的數(shù)據(jù)不進行處理。但是,MCS51系列單片機在實際應(yīng)用中使用較少。 用C語言來編寫目標(biāo)系統(tǒng)軟件,會大大縮短開發(fā)周期,且明顯地增加軟件的可讀性,便于改進和擴充,從而研制出規(guī)模更大、性能更完備的系統(tǒng)。功能強大AT89C51單片機可提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。當(dāng)保持高電平時,先訪問片內(nèi)ROM,當(dāng)PC的值超過4KB時,自動轉(zhuǎn)向執(zhí)行片外ROM中的程序。具體的電路模塊設(shè)計說明將在本文第六部分AT89C51最小系統(tǒng)的外圍電路中詳細介紹,在此不再累述。同樣的方法把原理圖中的其他器件放入對象選擇器中,以備畫原理圖時調(diào)用。至此完成了仿真原理圖的繪制工作,完整的原理圖見附件一。 //SMOD=1,波特率加倍 TR1=1。 k++) a[k]=a[k]+39。 //LCD初始化 LCD_set_position(0)。 //發(fā)呼叫地址while(TI!=1)。0x02)==0x02) //若命令幀為02H,接收發(fā)送數(shù)據(jù) {while(RI!=1)。 //如果發(fā)送/接收標(biāo)志位為0......//將接收來的數(shù)據(jù)從小到大的順序排列......for(SLAVE=0。 //接收從機返回的命令if((statusamp。 if(a==0x01) //從機接收主機的數(shù)據(jù){SBUF=0X01。 //等待命令發(fā)送完成SBUF=tdata。 Proteus 軟件包括匯編語言編譯系統(tǒng),可以在軟件平臺上對單片機進行可視化調(diào)試?!?,點擊“Output”,在“Create Executable”下面的復(fù)選對話框中,單擊Create HEX File前面的復(fù)選框,進行選中。本章對串行通信系統(tǒng)控制進行了仿真與調(diào)試,以Proteus為平臺的實驗系統(tǒng)取代常規(guī)的單片機實驗平臺,其便捷的設(shè)計方式、靈活的設(shè)計手段都是硬件平臺無法比擬的。另外,由于單片機的P0口的輸出電路時漏極開路電路,若想輸出高電平需要外接上拉電阻,所以在P0口處增加一個阻值為10KΩ的8引腳排阻。這些接口可供不同的串行通信作控制、指示和硬件調(diào)試備用。ARES 。其供電電壓為5V電源,片內(nèi)有升壓電路。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激震蕩器。 在單片機應(yīng)用產(chǎn)品開發(fā)過程中,有時需要調(diào)試程序、修改電路以滿足產(chǎn)品要求;有時需要觀察程序運行情況,如觀察過程中單片機內(nèi)外RAM的情況、工作寄存器的情況、特殊功能寄存器SFR的情況等;PROTEUS提供了方便的仿真調(diào)試功能。*.inc)”添加“”和“”文件。 //開串行中斷} }reback:。 RI=0。 //等待地址發(fā)送結(jié)束while(RI!=1)。EX0=1。 //清地址標(biāo)志位,準備接收數(shù)據(jù)SBUF=0X01。 //顯示2機發(fā)送的數(shù)據(jù) } Lable1:。RI=0。 //發(fā)送/接收標(biāo)志位LCD_set_position(0x4b)。 系統(tǒng)主機主程序流程圖系統(tǒng)主機主程序程序[7][8]如下:include //51單片機寄存器頭文件include //LCD1602頭文件include //硬件定義頭文件 define uchar unsigned charuchar SLAVE,status,send_data。 //取數(shù)據(jù)轉(zhuǎn)化成BCD后的個位到數(shù)組a[0]a[1]=(t/1000)%10。根據(jù)系統(tǒng)設(shè)定的波特率求定時器T1的計數(shù)初值,串行通信工作方式模式3的波特率計算公式[8]如下:波特率=4800bps其中為定時器的計數(shù)初值。采用同樣的方法完成
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1