首先,你要用軟件允許中斷,
即C語言中EA = 1; 允許總中斷ES = 1;
//允許串口中斷匯編中可用
SETB EA ;允許總中斷
SETB ES ;允許串口中斷
當單片機接收到一幀數據后,RI會置1,向CPU申請中斷,若之前有中斷允許,則產生了中斷,進入中斷服務程序。
當然,單片機發送完一幀數據,TI也會置1,同樣會產生中斷!
一般我們在發送數據時要關中斷,因為一般你不用在發送時不用處理數據;
接收數據時要開中斷,以便你在中斷服務程序中將接收到的數據進行存儲并處理。
補充:其實,不管你有沒有允許中斷,上位機(此時即給單片機發送信息的機器)只要給單片機發送數據,單片機就會自動接收數據,并把它放在數據緩沖器SBUF中,如果你之前有允許串行口中斷,RI就會置1,向單片機CPU申請中斷,并進入中斷服務程序,做完中斷函數后就會自動返回斷點。如果你沒有允許中斷,便不會產生串行中斷。其實,別的中斷都是某個I/O口電平變化產生。這只是外部中斷產生條件,不過,你之前也需要用軟件允許外部中斷。
另外,常見的51系列單片機有5個中斷源三種中斷5:
1、外部中斷0和1;
3、串行口中斷。
另外,STC51系列還有定時器/計數器T2中斷,A/D轉換中斷,PWM中斷,串行中斷2等等。你還有什么不懂的可以自己多翻一翻書,學到后面去了你就明白了。
中斷服務程序中,那條 RI=0;是不可少的,這是用軟件清零RI,準備再次接受一幀數據產生中斷,如果你沒有這條語句,就會進入死循環,出不來了。
void serial() interrupt 4
{ P1=SBUF;
RI=0;
}
上一篇:單片機硬件電路設計的七個原則分享
下一篇:基于狀態機的按鍵長按,短按,雙擊 單片機源程序
推薦閱讀
史海拾趣
在20世紀90年代初,Frequency Sources公司(或類似名稱的公司)憑借其在頻率源技術領域的深厚積累,成功研發出了一種新型高精度晶體振蕩器。這種振蕩器在穩定性、相位噪聲和溫度特性等方面均達到了當時業界的頂尖水平,為無線通信、衛星導航等領域提供了關鍵的技術支持。這一技術創新不僅鞏固了公司在頻率源技術領域的領先地位,還為公司贏得了廣泛的市場認可和大量訂單。
Frequency Sources公司深知質量是企業生存和發展的基石。因此,公司始終將質量控制放在首位,建立了完善的質量管理體系和檢測機制。從原材料采購到生產加工、成品檢驗等各個環節都嚴格把關,確保產品質量符合客戶要求和行業標準。同時,公司還注重品牌建設和客戶服務體驗的提升,通過提供優質的售前咨詢、售中支持和售后服務贏得了客戶的信賴和好評。這些努力使得公司的品牌形象深入人心,成為了行業內的佼佼者。
在XXXX年,Exel Microsystems Inc公司成功進入國際市場。公司憑借優質的產品和服務,贏得了國外客戶的認可和信任。為了更好地服務國際市場,Exel還在多個國家和地區設立了分支機構和研發中心。這一市場拓展的成功不僅為公司帶來了更多的商業機會,也提升了公司的國際知名度和影響力。
在XXXX年,CYANLITE公司迎來了一次重要的技術突破。他們成功研發出了一種新型的LED芯片,這種芯片具有更高的發光效率和更長的使用壽命。這一技術的突破使得CYANLITE公司的產品在市場上更具競爭力,公司也借此機會進一步擴大了市場份額。隨著品牌知名度的提升,CYANLITE公司開始拓展國際市場,其產品逐漸出口到歐洲、北美等地區,公司的業績也實現了快速增長。
面對電子行業快速發展的挑戰,長園維安積極應對,進行轉型升級。公司加大研發投入,開發更加智能化、集成化的產品,滿足市場需求。同時,長園維安還注重人才培養和引進,建立了一支高素質的技術和管理團隊。這些努力使長園維安在激烈的市場競爭中保持領先地位。
為了滿足全球客戶的需求,E-tec開始在全球范圍內進行布局。他們在亞洲、歐洲和北美等地設立了生產基地和研發中心,實現了全球范圍內的生產和銷售。同時,E-tec還注重供應鏈的整合和優化,與多家原材料供應商建立了長期穩定的合作關系,確保原材料的穩定供應和成本控制。
目前嵌入式計算機系統應用呈現多樣化、小型化、多層次的趨勢,在工業現場和軍事用途中扮演著越來 越重要的角色。隨著各種應用對操作系統和軟件要求的日益提高,使得具有廣泛適應性的PC構架的嵌入 式計算機系統倍受青睞。尤其是Compact PCI總 ...… 查看全部問答∨ |
|
代碼名稱串口助手適用平臺LabVIEW8.2.x 代碼作者zidaozhou版權所有zidaozhou原創/轉載原創代碼代碼版本控制LV 8.2以上功能說明lv 串口助手程序基于事件狀態及的串口助手程序,功能和大家經常用的delphi,vc等編寫的串口助手程序差不多。 程序供學 ...… 查看全部問答∨ |
參賽作者:r051463438 先上幾個圖,這是我這次做的作品,主要用了12864液晶的繪圖功能,才做得出那個時鐘界面,還有菜單里的反白處理。這次我還做了一個上位機,是用VC60做的,界面應該來說是非常好看,截了張圖,在下面上位機那幾個貼 ...… 查看全部問答∨ |
24bits轉16bits后,畫面不丟色,請教!!!答對馬上給分 我在把24位bmp數據的rgb的低位丟掉后,改成rgb16位565格式后,出來的圖象嚴重失真,而ps處理16位就沒有這個問題. 想請教下如何通過(誤差平分或抖動算法)的方式,從24位轉16位圖象基本不失真!!(起碼沒有嚴重的色塊斷層) 謝謝了!!!… 查看全部問答∨ |
最近要做無線收發裝置,需要工作頻率在470-510MHz之間的射頻芯片,哪位大俠能給推薦幾款,有資料最好,謝謝了!… 查看全部問答∨ |