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

正文內(nèi)容

微機(jī)原理項(xiàng)目報(bào)告-雙機(jī)串行通信(完整版)

2025-07-24 08:10上一頁面

下一頁面
  

【正文】 LCD_Write_Com(0xC0 + x)。 EN_SET。 RW_CLR。 RW_SET。 void delay(uchar z) { uchar x,y。temp=0。 sbit KeyPort3=P3^5。 上位機(jī)外加 拓展: 增加了初始時(shí) PC 機(jī)狀態(tài)、單片機(jī)輸入密碼提示,更加人性化, 符合工程規(guī)范, 便于操作; 輸入密碼正確與否的判斷與顯示。 發(fā)送‘ 0’,單片機(jī)顯示‘ 0’,并返回給 PC 機(jī)顯示‘ 0’; 發(fā)送‘ 1203’時(shí),單片機(jī)顯示‘ 1203’,并返回 PC 機(jī)‘ 1203’。表示不能通話。在單片機(jī)測試時(shí)是由豐碩和崔向陽測試并發(fā)現(xiàn)問題的,最后是由 范特 解決了問題。但我們覺得這個(gè)功能太弱太小兒科了。到后來,我們發(fā)現(xiàn)下位機(jī)程序中,按鍵掃描程序是一直在運(yùn)行的,我們看開發(fā)板的組成原理圖,發(fā)現(xiàn)矩陣鍵盤四條 行線和四條列線是與單片機(jī) P3 口相接的,這就說明作為串口通信的 、 口被用作普通 I/O 口了,這就造成了不能準(zhǔn)確通信。后來項(xiàng)目答疑的時(shí)候問王老師,王老師說不是這個(gè)問題。由于匯編語言是與 CPU 緊密相關(guān)的,要想學(xué)習(xí)后達(dá)到能編一個(gè)程序的水平,就必須要求對 CPU 的內(nèi)部結(jié)構(gòu)有一定深度的了解,和與 CPU 對應(yīng)的指令系統(tǒng)有 很深的 了解。然而我們檢查相關(guān)的設(shè)置,波特率、數(shù)據(jù)位和停止位都設(shè)置無誤。 指標(biāo)實(shí)現(xiàn)預(yù)期: 基本指標(biāo):滿足全雙工通信要求,能在 PC 機(jī)屏幕和實(shí)驗(yàn)板 LCD 上顯示接收到的內(nèi)容。 ( 1) 設(shè)計(jì)上位機(jī)(匯編語言設(shè)計(jì))、下位機(jī)通信程序( C 語言、匯編不限) ,通信波特率 9600bps, 8 位數(shù)據(jù)、 1 個(gè)停止位、無校驗(yàn)。由于 STC89C52RC 單片機(jī)有一個(gè)全雙工 UART 串行通信接口,通過實(shí)驗(yàn)板上的 MAX232電平轉(zhuǎn)換芯片和RS232C 非標(biāo)準(zhǔn)(即 DB9)串口與 PC 機(jī)連接,從而可實(shí)現(xiàn)單片機(jī)與 PC 機(jī)之間的全雙工串行通信,即同時(shí)接收和發(fā)送數(shù)據(jù)。 小組成員學(xué)習(xí)任務(wù)都很重,而且組員各自都有自己額外的奮斗目標(biāo) ,比如電子競賽,考托福 ,所以開始的時(shí)候我們的項(xiàng)目進(jìn)展緩慢。 然而,這僅僅是用現(xiàn)有的配 套程序進(jìn)行功能測試。 當(dāng)我們參照 C 語言樣例程序編寫了一個(gè)能液晶顯示、能接收數(shù)據(jù)的簡單通信程序時(shí),這時(shí)我們還只是停留在用串口助手進(jìn)行下位機(jī)程 序的調(diào)試,因?yàn)槲覀冞€不清楚編寫好的上位機(jī)通信程序是怎樣通過串口線與單片機(jī)進(jìn)行通信。 當(dāng)我們把矩陣 鍵盤程序 嵌 入之前的程序里面后,每個(gè)按鍵都有用,按鍵代表的字符都能在液晶上顯示,但唯獨(dú)接收程序不能接收來自串口助手發(fā)來的字符,而且不能顯示。但是我們有組員覺得兩個(gè)按鍵太少了太單調(diào)了,所以 我們后來又?jǐn)U展到了 8 個(gè)按鍵,這 8 個(gè)按鍵不與 、 連接,所以不會(huì)產(chǎn)生沖突,增加了可發(fā)送字符的 個(gè)數(shù) ,并且我們設(shè)置 了 發(fā)送鍵 即 PC 機(jī)上面的回車鍵( ASCII 碼為 0DH),可以發(fā)送一連串的多個(gè)字符 ,因?yàn)榘褜⒁l(fā)送的字符先存到數(shù)組里面,按回車鍵啟動(dòng)發(fā)送 。所以我們就加了些提示,提示單片機(jī)先發(fā)送請求連接字符,這樣不會(huì)出現(xiàn)上面的問題。得到各按鍵對應(yīng)含義如下表: 7 6 5 4 3 2 1 ENTER C.建立單片機(jī)與 PC 機(jī)的握手測試結(jié)果(開機(jī)的第一次操作) 首先 單片機(jī)發(fā)送‘ 7’, PC 機(jī) dos 窗口顯示‘ OK!’,并返回‘ OK!’給單片機(jī),單片機(jī)屏幕顯示‘ OK!’,表示可以進(jìn)行通話。 發(fā)送‘ 7654321’, PC 機(jī)顯示‘ 7654321’; 發(fā)送‘ ENTER’, PC 機(jī)顯示換行; 發(fā)送‘ 7’, PC 機(jī)顯示‘ 7’。 PC 機(jī)顯示并返回單片機(jī)顯示‘ OK!’。 sbit KeyPort0=P3^2。 uchar send_str[32]。 void yjxs(uchar Data)。y)。 0x80)。 } /* 寫入數(shù)據(jù)函數(shù) */ void LCD_Write_Data(unsigned char Data) { while(LCD_Check_Busy())。 } /* 清屏函數(shù) */ void LCD_Clear(void) { LCD_Write_Com(0x01)。 delay(5)。 delay(5)。 LCD_Clear()。 //串行工作方式 SM1=1。 } /* 串行中斷函數(shù) */ void ser() interrupt 4 { if(RI==1) { P1=0XF0。 for(k=0。 //進(jìn)入發(fā)送函數(shù) 燈指示 send(send_str)。 } LCD_Write_Char(i,j,0x20)。 LCD_Write_Com(0x01)。 } } /* 鍵盤掃描函數(shù),使用行列逐級掃描法 */ unsigned char KeyScan(void) { unsigned char Val。amp。(KeyPort1==0)amp。(KeyPort5==1))) { //表示有按鍵按下 KeyPort0=0。(KeyPort3==1)amp。} if(KeyPort4==0){Val=39。amp。amp。amp。amp。739。amp。amp。amp。 } 上位機(jī)程序:我們有三個(gè)程序。 MOV BX,0 MOV AH,14 INT 10H JMP FOREVER BEGIN ENDP CODE ENDS END START 。?39。amp。 delay(10)。amp。639。amp。 return Val。amp。amp。} if(KeyPort5==0){Val=0x0d。(KeyPort4==1)amp。 //檢測第一行 if(!((KeyPort0==0)amp。(KeyPort2==1)amp。amp。 KeyPort2=KeyPort3=KeyPort4=KeyPort5=1。 LCD_Write_Char(i,j,Data)。 SendByte(0x0d)。//顯示空格表示一次通話結(jié)束 n=1。k++) //顯示提示輸入連接信號 { LCD_Write_Char(i,j,table[k])。} rec_str[m]=SBUF。 //允許串行接受位 EA=1。 //關(guān) LED 燈 TMOD=0x20。 /*顯示開及光標(biāo)設(shè)置 */ } /* 發(fā)送一個(gè)字節(jié) */ void SendByte(unsigned char dat) { SBUF = dat。 delay(5)。 } /* 寫入字符函數(shù) */ void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) { if (y == 0) { LCD_Write_Com(0x80 + x)。 RW_CLR。 //忙則等待 RS_CLR。 RS_CLR。 void send(uchar *r)。 uchar k=0。 sbit KeyPort2=P3^4。 單片機(jī)有發(fā)送 標(biāo)志 ‘ ENTER’; 單片機(jī)向 PC 機(jī)發(fā)送字符, PC 機(jī)不會(huì)返回給單片機(jī); PC 機(jī)向單片機(jī)發(fā)送字符,單片機(jī)返回給 PC 機(jī)并顯示,便于檢錯(cuò); PC 機(jī)發(fā)送除空格、‘ ENTER’字符,單片機(jī)顯示時(shí)主動(dòng)在后面加空格,便于觀察 區(qū)分發(fā) 送和接收的 ; PC 機(jī)直接發(fā)送‘ ENTER’,單片機(jī)不予反應(yīng)。按‘ ENTER’鍵發(fā)送。 單片機(jī)發(fā)送除‘ 7’外的字符, PC 機(jī)顯示‘ NO! ’,并且不返回給單片機(jī)。 項(xiàng)目分工情況 : 剛剛開始的時(shí)候我們是一起查找資 料,并聚在一起討論可以從哪幾個(gè)方面入手這個(gè)項(xiàng)目,基本確定了設(shè)計(jì)思想和項(xiàng)目實(shí)現(xiàn)的框架。首先下位機(jī)程序中能加入也能容易控制的就屬 LED了,我們就讓單片機(jī)的串口每次有數(shù)據(jù)流時(shí) LED就閃爍。這個(gè)問題一直困擾著我們,我們覺得是接收和發(fā)送中斷不能等條件的進(jìn)入中斷,導(dǎo)致不能實(shí)現(xiàn)既可以發(fā)也可以收數(shù)據(jù)。我們 剛開始 認(rèn)為是單片機(jī)接收數(shù)據(jù)時(shí)由于 字符的 ASCII 碼是 7 位二進(jìn)制,而我們設(shè)定數(shù)據(jù)格式為 8 位數(shù)據(jù)位,這樣發(fā)送多個(gè)字符時(shí),后面的會(huì)和前面排列 緊密導(dǎo)致亂序。 隨著微機(jī)原理課程的學(xué)習(xí)和項(xiàng)目的進(jìn)行,我們小組主要遇到了以下的幾個(gè)問題: 1)用 C 語言編寫還是用匯編語言編寫? 雖然題目未要求 下位機(jī)程序用什么 語言編程,但根據(jù)老師 的 說法,建議使用匯編語言。而進(jìn)行串口通信 功能測試時(shí),我們用串口調(diào)試助手向單片機(jī)發(fā)送字符,在接收區(qū)看到的字符與發(fā)送的字符不一樣,不是多一個(gè)字符就是亂碼。我們采用 Keil uVision2軟件工具來進(jìn)行通信程序的編寫、編譯與調(diào)試,采用 STC 單片機(jī) PC 端 ISP 下載控制軟件。 《微機(jī)原理》課程項(xiàng)目 實(shí)施報(bào)告 題 目 (三 ): 雙機(jī)串行通信 組 號: 第 19 組 任課教師: 方 針 組 長: 11123128 吳慧澤 21% 成 員: 11123227 豐 碩 19% 成 員: 11123201 溫英杰 19% 成 員: 11123168 范 特 21% 成 員: 11123260 崔向陽 20% 聯(lián)系方式: 18817393058 二零一三
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1