



全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
/*本程序設(shè)計為主程序內(nèi)循環(huán)檢測中斷標(biāo)示位TI,如果有接收中斷就進入計數(shù)式接收,每接收到一位,接收儲存在數(shù)據(jù)shujui里的0到3并將接收到的字節(jié)反回發(fā)送給電腦,菜母鱟紙?,i就計數(shù)加一,并且每次都判斷一次夠了四位,就再次判斷第一位是否為0X05,如果是置P0口為0x00,并發(fā)送0x00這個字符到電腦,電腦通過串口助手接收后顯示,如果接收的第一位不是0x05,就只發(fā)送每次接收的字節(jié),P0口不改變,不發(fā)送識別用電腦的串口助手發(fā)送任意四個16進制數(shù)字字符,單片機就可以接收并識別,如果只發(fā)送3個以下,單片機接收并發(fā)回接收到的3個字符,但不作處理,按K1、K2 健,單片機會發(fā)送4個預(yù)定的字符,但第一位強行改成了0x01 /0x02,第二、三位是預(yù)定的數(shù)字加自己的第幾個位數(shù)的數(shù)字,第四位是第2+3位的和,K1只取了和,沒有求模,但它如果大于256應(yīng)該會自己益出,就是自己減去256從新開始顯示,K2是直接加入了第2+3位數(shù)據(jù)的和的求模就是直接除以256只要于數(shù),這個作用相當(dāng)于數(shù)據(jù)校驗讓接收方可以根據(jù)同樣的方法校驗一下接收過來的數(shù)據(jù)是否正確,*/#include #include unsigned char j,k;unsigned char shuju4=0,0,0,0; /待發(fā)送的數(shù)據(jù)unsigned char daifa4=0,0,0,0; /待發(fā)送的數(shù)據(jù)unsigned char m,i,tmp; /m、i 為收發(fā)數(shù)據(jù)的位數(shù),tmp為接收數(shù)據(jù)的時間限制等待時間數(shù)sbit K1=P10;/定義按鍵1sbit K2=P11;/定義按鍵2sbit K3=P33;/定義按鍵2void delay(unsigned int a)/延時,省略了一個定時器,定時器用tmp來代替了while(-a);void send_char(unsigned char txd)/ 傳送一個字符的調(diào)用子程序SBUF = txd;/ 傳送一個字符while(!TI);/ 等特數(shù)據(jù)傳送TI = 0;/ 清除數(shù)據(jù)傳送標(biāo)志main()/ 傳送一個字符主程序REN=1;/ 定時器1工作于8位自動重載模式, 用于產(chǎn)生波特率 SM0=0;/ 波特率9600SM1=1;TMOD=0x20;/ 設(shè)定串行口工作方式TH1=0xFD;/ 波特率不倍增TL1=0xFD;/ 啟動定時器1 TR1=1; EA=1; ES=1;P0=0xff;while(1)if(RI)/ 是否有中斷,有就開始準(zhǔn)備好收數(shù)據(jù)了 RI = 0;/先把串口接收中斷標(biāo)志清0復(fù)位,好讓它接收下一個字節(jié) m+;/要接收的個數(shù),接收 一位,就加一 tmp=0;/ 等待接收時間清0 shujum=SBUF;/ 暫存接收到的數(shù)據(jù) send_char(shujum);/ 回傳接收到的數(shù)據(jù)i if(m=4)/判斷是否接收夠了四個字節(jié),如果夠了四個字節(jié),進入 m=0;/如果夠了四個字節(jié) ,m的任務(wù)完成,就可以清0if(shuju1=0x05)/然后判斷第一個字節(jié)是否為0X05 m=0;/ 所以就把m清0 P0=0x00;/如果是0X05,Po口顯示0x00,點亮8個LED send_char(P0);/同時,通過串口把Po狀態(tài)0x00發(fā)送到電腦,這個相當(dāng)于 /給電腦發(fā)了一個反饋信號,告訴電腦收到了正常的數(shù)據(jù)包 else /判斷如果第一個字節(jié)不是0X05就執(zhí)行 P0=0xff;/Po口關(guān)閉led,不給電腦上傳數(shù)據(jù) if(m)/m說明前面只要有一次發(fā)生接收中斷,就開始進入tmp 計數(shù),沒有就不進入可以節(jié)省/cpu的負擔(dān),不用時刻都在讓tmp計數(shù), tmp+;/執(zhí)行完上面的循環(huán)接收時,不管接收到幾個,tmp都做為計數(shù)器功能,加一if(tmp=10)/經(jīng)測試正常接收四個字節(jié),tmp會加到4, m=0;/所以不管接收了幾個,等tmp加到了10,不管接收幾位,就把m和tpm強行tmp=0;/給清0.目的是防止接收3個以下數(shù)量的字節(jié),少于4個都是錯包強行丟棄 /下次再有數(shù)據(jù)中斷時,重新開始接收四個字節(jié)/發(fā)送方也必需從新發(fā)送四個完整字節(jié),否則一律丟棄/if(K1=0)/如果有健按下delay(5000);/延時一下 if(K1=0)/確實有按鍵按下while(!K1);/等待忪手 j=2;/設(shè)定一個將要發(fā)送的第一個起始數(shù)據(jù)為2for(i=0;i4;i+)/循環(huán)發(fā)送四個字節(jié),i 自動加一, daifai=j;/待發(fā)的數(shù)據(jù)等于數(shù)據(jù)位數(shù)i 默認(rèn)從0開始if(i=0)/確認(rèn)如果是第一個將要發(fā)送的字節(jié) daifai=0x01;/把第一個字節(jié)強行改成0x01,用第一位當(dāng)作數(shù)據(jù)包識別位if(i=3)/確認(rèn)如果是第四個字節(jié),強行把它用第二個和第三個字節(jié)的相加daifa3=daifa1+daifa2;/之和的值附給將要發(fā)送的第四個/字節(jié) daifa3send_char(daifai);j+; / 正常先發(fā)第一個字節(jié) ,這是第二、三個字節(jié),最后發(fā)第四個字節(jié)delay(1000);/ 等特數(shù)據(jù)傳送 / 清除數(shù)據(jù)傳送標(biāo)志 / 代表發(fā)送位數(shù)的j自動加一位,/ 延時一會,等待接收方有足夠的時間來處理/if(K2=0)/這個上面的定法基本上是相同的,按k1發(fā)送的第一個字節(jié) 是0x01/k2 按下發(fā)送的第一個字節(jié)是0x02, 兩個第四個字節(jié)的delay(5000); if(K2=0)/校驗位,一個求模了,一個沒有,但結(jié)果是一樣的,while(!K2);/本人也是在觀察之中,中是給大家演示一下, j=128;/設(shè)定一個將要發(fā)送的第一個起始數(shù)據(jù)為128 for(i=0;i4;i+) daifai=j;if(i=0)daifai=0x02;if(i=3)/確認(rèn)如果是第四個字節(jié),強行把它用第二個和第三個字節(jié)的相加/之和然后再除以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年襄陽市智投匯文綜合高中教師招聘筆試真題
- 2024年可克達拉職業(yè)技術(shù)學(xué)院招聘教師筆試真題
- 醫(yī)院出納培訓(xùn)課件
- 河北省糧食和物資儲備局事業(yè)單位真題2024
- 2024年新疆草湖項目區(qū)高校畢業(yè)生“三支一扶”計劃招募考試真題
- 2024年衢州市衢江區(qū)衛(wèi)生健康系統(tǒng)事業(yè)單位招聘考試真題
- 第8課+良師相伴+亦師亦友教案【中職專用】中職思想政治《心理健康與職業(yè)生涯》(高教版2023基礎(chǔ)模塊)
- 調(diào)酒師工作流程SOP-企業(yè)管理
- 記賬實操-銷售期初股票的會計分錄實例
- 2025屆湖北省咸寧市名校八下英語期中統(tǒng)考試題含答案
- FFU龍骨吊頂防墜研究及應(yīng)用-2023.12.11王國棟修
- 河南省洛陽市2023-2024學(xué)年高一下學(xué)期期末考試物理試卷
- 烘焙專業(yè)職業(yè)生涯規(guī)劃書
- (高清版)JTST 273-2024 水運工程測量定額
- 生物信息學(xué)智慧樹知到期末考試答案章節(jié)答案2024年華東理工大學(xué)
- 智能護理數(shù)字化驅(qū)動醫(yī)護智能管理
- 青少年毒品預(yù)防教育課件
- 【華萊士品牌SWOT探析及營銷策略探究(含問卷)8700字(論文)】
- 鋼管混凝土柱計算
- 應(yīng)急演練評估表模板
- 垃圾滲濾液處理站運維及滲濾液處理投標(biāo)方案(技術(shù)標(biāo))
評論
0/150
提交評論