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

正文內(nèi)容

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

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

下一頁面
  

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