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

正文內(nèi)容

單片機(jī)串口通信設(shè)計(jì)方案(專業(yè)版)

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

下一頁面
  

【正文】 在元器件庫中找不到ISP器件,通過ISIS編輯器繪制了一個(gè)ISP元器件,為元器件添加封裝信息。點(diǎn)對(duì)點(diǎn)的UART通信,由于采用TTL電平傳輸,一般僅用于板級(jí)通信。 單片機(jī)的最小系統(tǒng)是單片機(jī)能夠工作的最小硬件組合,主要包括:電源、晶振振蕩器、 復(fù)位電路。 本系統(tǒng)的主機(jī)程序和個(gè)下位機(jī)程序均在KEIL集成開發(fā)環(huán)境中進(jìn)行編寫,經(jīng)過編譯生成了四個(gè)單片機(jī)可執(zhí)行文件“”、“”、“”和“”。選擇Atmel公司的AT89C51作為應(yīng)用和實(shí)驗(yàn)對(duì)象,彈出啟動(dòng)代碼添加提示對(duì)話框選擇“否”。 //開串行中斷}else{SBUF=0X80。 //等待數(shù)據(jù)接收完成if(RB8==1) //如果RB8為1,是地址幀{SM2=1。goto reback。 //發(fā)送排列的數(shù)據(jù)while(TI!=1)。 //等待數(shù)據(jù)接收完if(SLAVE=3) goto reback。 //LCD顯示定位到0x03處DispTable(rdata[0])。 //若地址出錯(cuò),從機(jī)復(fù)位else //若地址正確{TB8=0。 //LCD顯示定位到0x40處LCD_prints(R2:)。 //LCD忙信號(hào)位 sbit LCD_RW=P2^0。 //CPU開總中斷 } LCD液晶顯示模塊程序本系統(tǒng)程序中包含“”和“”兩個(gè)文件,具體內(nèi)容見附件二,程序中包括了LCD1602液晶顯示器初始化程序和所有功能編程函數(shù),在需要顯示的時(shí)候,只需根據(jù)顯示要求,調(diào)用相應(yīng)的功能函數(shù),并加以修改相應(yīng)的參數(shù)即可完成數(shù)據(jù)、字符或圖形的顯示。 為了使程序易于編寫和移植以及具有可讀行,結(jié)合本系統(tǒng)的功能特點(diǎn),模塊化子程序包括多機(jī)通信初始化程序、LCD液晶顯示模塊程序、 硬件接口定義模塊等部分組成。 原理圖連線結(jié)果 放置電源、地和端子單擊Toos /Global Anntator,,在范圍框中選擇整體設(shè)計(jì),在模式中選擇Toal,單擊“OK”即可將原理圖中所有器件進(jìn)行編號(hào)。表 5 元器件列表序號(hào)名稱標(biāo)稱數(shù)量代號(hào)1電阻470Ω7RRRRRRR72電阻10KΩ4RRRR313電容22pF8CCCCCCCC114電容100uF4CCCC125單片機(jī)AT89C514UUUU46液晶顯示器LM061L4LCDLCDLCDLCD478引腳排阻RESPACK84RPRPRPRP48晶振12M4XXXX4 基于Proteus ISIS系統(tǒng)原理圖設(shè)計(jì)Proteus ISIS 原理圖設(shè)計(jì)是具智能性和人性化的設(shè)計(jì),過程簡(jiǎn)明高效。這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等。作輸入端時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。(5)4KB Flash內(nèi)部程序存儲(chǔ)器(片內(nèi)ROM),用來存儲(chǔ)程序、原始數(shù)據(jù)、表格等。單片機(jī)最小系統(tǒng)是控制系統(tǒng)的核心,LCD1602液晶顯示器作為串行通信接收/發(fā)送數(shù)據(jù)以及單片機(jī)狀態(tài)的顯示。因此,采用該單片機(jī)作為主控制系統(tǒng)的芯片。本系統(tǒng)的通信協(xié)議作如下規(guī)定:主機(jī)的控制命令:01H表示主機(jī)請(qǐng)求從機(jī)接收數(shù)據(jù);02H表示主機(jī)請(qǐng)求從機(jī)發(fā)送數(shù)據(jù)。通過51單片機(jī)串口能夠?qū)崿F(xiàn)一臺(tái)主機(jī)與多臺(tái)從機(jī)進(jìn)行通信,主機(jī)和從機(jī)之間能夠相互發(fā)送和接收信息。乙機(jī)按設(shè)定的波特率,每來一個(gè)移位時(shí)鐘及移入一位,由低位到高位一位一位移入到SBUF。當(dāng)CPU向SBUF寫數(shù)據(jù)時(shí)對(duì)應(yīng)的是發(fā)送數(shù)據(jù)寄存器;當(dāng)CPU讀SBUF時(shí),對(duì)應(yīng)的是接收數(shù)據(jù)寄存器。在串行傳輸中,二進(jìn)制數(shù)據(jù)序列是以數(shù)字波形表示的,發(fā)送時(shí),在發(fā)送時(shí)鐘的作用下將移位寄存器的數(shù)據(jù)串行移位輸出;接收時(shí),在接收時(shí)鐘的作用下將通信線上傳來的數(shù)據(jù)串行移入移位寄存器。(c)所示,通信方甲機(jī)和通信方乙機(jī)同時(shí)可以作為發(fā)送方和接收方。 本文的題目是“基于Proteus的51單片機(jī)應(yīng)用——單片機(jī)串行通信設(shè)計(jì)”,主要是通過單片機(jī)串行通信控制系統(tǒng)的設(shè)計(jì),來闡述和實(shí)踐51單片機(jī)的應(yīng)用在Proteus虛擬實(shí)驗(yàn)平臺(tái)的仿真和調(diào)試過程。因此,通過Proteus仿真平臺(tái)學(xué)習(xí)51系列單片機(jī)之間的串口通信,是對(duì)EDA軟件Proteus的使用過程的學(xué)習(xí),也為以后利用該軟件進(jìn)行電子設(shè)計(jì)與開發(fā)打下一定的基礎(chǔ),以跟上現(xiàn)代科技的快車去適應(yīng)激烈競(jìng)爭(zhēng)的環(huán)境。新款的EDA軟件Proteus解決了上述軟件的不足,成為目前最好的一款單片機(jī)學(xué)習(xí)仿真軟件。所以,對(duì)于電氣類學(xué)生而言,學(xué)習(xí)一種單片機(jī)的開發(fā)是十分必要的。Keil是Keil Software公司開發(fā)的,是目前世界上最好的51單片機(jī)開發(fā)工具之一。 系統(tǒng)方案設(shè)計(jì) 主要論述通信的基本知識(shí)和系統(tǒng)的方案選擇。傳輸線少,通信線路簡(jiǎn)單,通信速度慢,成本低,適合于多數(shù)位、長(zhǎng)距離通信的場(chǎng)合。同步串行通信方式不再以字節(jié)為單位,而是以數(shù)據(jù)塊為單位,每個(gè)數(shù)據(jù)塊可以有多個(gè)字節(jié)構(gòu)成,只在每個(gè)數(shù)據(jù)塊的前后加上起始位和停止位,這樣減少了需要額外傳輸?shù)目刂茢?shù)據(jù)的長(zhǎng)度,自然也就提高了傳輸?shù)男?。其幀格式為?個(gè)起始位,8或9個(gè)數(shù)據(jù)位和1個(gè)停止位。 51系列單片機(jī)串口工作原理設(shè)有兩個(gè)單片機(jī)串行通信,甲機(jī)發(fā)送,乙機(jī)接收。當(dāng)一幀數(shù)據(jù)到齊(接收緩沖器滿)后(接收的前8位數(shù)據(jù)依次移入輸入移位寄存器,接收是第9位數(shù)據(jù)置入串口控制寄存器的RB8位中),硬件自動(dòng)置位接收中斷標(biāo)志RI(),通知CPU來取數(shù)據(jù)。多級(jí)通信時(shí),主機(jī)每一次都向從機(jī)傳送至少兩字節(jié)信息,先傳送從機(jī)的地址信息,再傳送數(shù)據(jù)信息。方案一:采用MCS51芯片,MCS51是Intel公司單片機(jī)的典型代表,內(nèi)部有4KB ROM空間。方案二:采用C語言編寫,C語言是一種結(jié)構(gòu)化的高級(jí)語言。 本系統(tǒng)的兩大核心器件位AT89C51單片機(jī)和LCD液晶顯示器,AT89C51單片機(jī)完成系統(tǒng)的功能控制部分,液晶顯示器完成通信過程中數(shù)據(jù)的實(shí)時(shí)顯示。作為輸出口用時(shí),每位能以吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口寫“1”可作為高阻抗輸入端用。/VPP(31):內(nèi)、外ROM選擇/編程電源。表 4 控制指令表指令名稱指令功能D7D6D5D4D3D2D1D0模式設(shè)置設(shè)置為162,57點(diǎn)陣,8位數(shù)據(jù)接口00111000開/關(guān)及光標(biāo)設(shè)置D=1開顯示;D=0關(guān)顯示00001DCBC=1顯示光標(biāo);C=0不顯示光標(biāo)00001DCBB=1光標(biāo)閃爍;B=0光標(biāo)不顯示00001DCB輸入模式設(shè)置N=1光標(biāo)右移;N=0光標(biāo)左移000001NSS=1文字移動(dòng)有效;S=0文字移動(dòng)無效000001NS 電路原理圖設(shè)計(jì)是在實(shí)現(xiàn)系統(tǒng)功能基礎(chǔ)之上,進(jìn)行器件選型、器件值計(jì)算以及整合模塊功能電路。在“Keyword”欄中輸入元器件“AT89C51”,則可元器件列表。設(shè)置電容的值為22Pf,PCB封裝信息為CAP10。 //計(jì)數(shù)初值243 TH1=0xf3。 //取數(shù)據(jù)轉(zhuǎn)化成BCD后的萬位到數(shù)組a[4] for(k=0。 TI=0。SLAVE3。 //TB8賦值1,發(fā)復(fù)位信號(hào)給從機(jī)error()。 //保護(hù)現(xiàn)場(chǎng)TB8=1。RI=0。系統(tǒng)從機(jī)主程序與主機(jī)主程序相關(guān)部分基本相同,在此不再敘述。goto reback。 //回發(fā)命令幀0X02,從機(jī)準(zhǔn)備好發(fā)送數(shù)據(jù)while(TI!=1)。 //如果數(shù)據(jù)大于8,清零} 外部中斷服務(wù)程序流程圖本章主要完成系統(tǒng)的軟件設(shè)計(jì),通過對(duì)功能的分析,軟件流程圖的繪制,編寫了系統(tǒng)的模塊化子程序,多機(jī)串行通信的主機(jī)和從機(jī)程序。在左側(cè)“Projece Workspace”欄中右擊“Taget1”,選擇“Optitions for Target 39。該界面是主機(jī)調(diào)試環(huán)境,圖中Keil環(huán)境和Proteus環(huán)境調(diào)試窗口中顯示“r0r8”的值依次為“0B、000、00、00、0030”,從機(jī)0、1和2機(jī)發(fā)送來的數(shù)據(jù)“0008”依次在數(shù)組rdata中,在數(shù)據(jù)存儲(chǔ)器中還顯示了主機(jī)處理后的數(shù)據(jù)排列“0002”。對(duì)于復(fù)位電路,選用了電容與電阻串聯(lián)的形式,另將一按鍵與電容并聯(lián)可實(shí)現(xiàn)手動(dòng)復(fù)位,電容為電解電容C=100uF,電阻為R=10KΩ。 RS232模塊電路圖 系統(tǒng)硬件PCB總原理圖根據(jù)AT89C51單片機(jī)串行通信最小系統(tǒng)模塊化電路設(shè)計(jì),以及通用單片機(jī)實(shí)驗(yàn)板設(shè)計(jì)思想,本系統(tǒng)設(shè)計(jì)所需要的器件如表6。我們用2D G。通過RS232使用MODEM還可以通過電話線遠(yuǎn)距離傳送。外接電容CC2沒有十分嚴(yán)格的要求,單電容值的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度及溫度穩(wěn)定性,如果使用石英晶振,推薦電容使用,如果使用陶瓷諧振器建議選擇[13][15]。單擊菜單欄“Debug”“8051CPU/RegistersU1”打開單片機(jī)寄存器窗口,可以看到R0RSFR、SP、PC、PSW等寄存器中的值,以及將要執(zhí)行的指令等[16][17]。Targer 39。系統(tǒng)從機(jī)外部中斷INT0中斷服務(wù)程序: void ISR0(void) interrupt 0{ tdata++。 ES=1。 //等待從機(jī)回發(fā)地址if(RB8==1) //如果RB8為1,是地址幀{SM2=1。 //地址賦值0,準(zhǔn)備下一次循環(huán)}系統(tǒng)從機(jī)有3個(gè),其編程基本完全相同,只是地址定義不同。TI=0。} } 。 //接收從機(jī)返回的命令if((statusamp。 //輸出send_data到LCDif(send_data==1) goto Lable1。 //定義兩個(gè)4維數(shù)組用于存放接收的數(shù)據(jù)void DispTable( unsigned int t);//聲明顯示數(shù)據(jù)的函數(shù)void error(void) //錯(cuò)誤標(biāo)志函數(shù){ SBUF=0xff。 //取數(shù)據(jù)轉(zhuǎn)化成BCD后的百位到數(shù)組a[2] a[3]=(t/10)%10。 void init_serial() { TMOD=0x20。 電氣檢測(cè)結(jié)果對(duì)于串行通信原理圖中的每一個(gè)元器件,都有對(duì)應(yīng)的編號(hào)。單擊“System/Set Sheet Size”,,選擇“User(自定義)”復(fù)選框,定義長(zhǎng)為16in,寬位8in,點(diǎn)擊“OK”。 1602引腳圖 表3 1602引腳使用說明編號(hào)符號(hào)引腳說明使用方法1VSS電源地2VDD電源3V0對(duì)比度信號(hào)調(diào)整端外接分壓電阻,調(diào)節(jié)屏幕亮度4RS數(shù)據(jù)/命令選擇端RS=1時(shí)選擇數(shù)據(jù)寄存器,RS=0時(shí)選擇指令寄存器5RW讀/寫選擇端RW=1時(shí)執(zhí)行讀操作,RW=0時(shí)執(zhí)行寫操作6E使能信號(hào)端高電平使能714D0D7數(shù)據(jù)I/O雙向數(shù)據(jù)輸入與輸出15BLA背景光源正極接到或通過10Ω左右電阻接到VDD16BLK背景光源負(fù)極接到VSS對(duì)1602顯示字符控制,通過訪問1602內(nèi)部RAM地址實(shí)現(xiàn),1602內(nèi)部控制具有80 字節(jié)RAM。(29):外部ROM讀選通信號(hào)。GND(20):接地端。根據(jù)總體設(shè)計(jì)方案框圖,總系統(tǒng)由4個(gè)分系統(tǒng)組成,1個(gè)上位機(jī)系統(tǒng),3個(gè)下位機(jī)系統(tǒng)。但是匯編語言可讀性差,而且不同的CPU,其匯編語言可能有所差異,也不易移植。為了能夠?qū)崿F(xiàn)多單片機(jī)之間的數(shù)據(jù)傳送,本系統(tǒng)采用多機(jī)通信模式[8][9][10]。當(dāng)從機(jī)的SM2=1時(shí),該從機(jī)只接受地址幀,對(duì)數(shù)據(jù)幀不進(jìn)行處理,即只有接收的RB8位等于1數(shù)據(jù)時(shí),接收才有效,RI才置1,對(duì)接收的RB8位等于0的數(shù)據(jù)不進(jìn)行處理。如果接收是起始位的值不是“0”,則起始位無效,復(fù)位接收電路;如果起始位為“0”,則開始接受其它數(shù)據(jù)。對(duì)于發(fā)送器,因?yàn)榘l(fā)送時(shí)CPU是主動(dòng)的,不會(huì)產(chǎn)生寫重疊的問題,一般不需要雙緩沖器結(jié)構(gòu),為了保持最大的傳送速率,僅用了SBUF一個(gè)緩沖器。 51系列單片機(jī)串行口的功能51單片機(jī)的串口是一個(gè)可編程的全雙工串行通信接口,通過軟件編程,它可以作為通用異步接收和發(fā)送UART使用,可以同時(shí)發(fā)送、接收數(shù)據(jù)。這樣組合而成的一組數(shù)據(jù)被稱為一幀。通信速度快,但傳輸?shù)臄?shù)據(jù)有多少位,就相應(yīng)地有多少根傳輸線,傳輸信號(hào)線多,傳輸距離較遠(yuǎn)時(shí)線路復(fù)雜,成本高,較適合于短距離的數(shù)據(jù)通信。 在
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1