/*************************************************************************用定時(shí)器 T0 或 T1 模擬串行口程序。 最高波特率(12 clock): 本程序收、發(fā)波特率相同。 11.059MHz -- 最高波特率 收: 9600, 最低波特
/**************************文件所用資源1.外部中斷02.端口:P3.3、P3.4**************************/sbit BT_REC =P3^3;//接收 P3.0sbit BT_SND =P3^4;//發(fā)送 P3.1#define MODE_QUICK#define F_TM F0#define TIMER0
這兩天一直在調(diào)試用普通IO口來(lái)承擔(dān)串口的角色,再次做個(gè)筆記。當(dāng)然廣泛參考廣大網(wǎng)友的代碼在此感謝網(wǎng)友首先串口的最最最基本的數(shù)據(jù)格式是由10位數(shù)據(jù)組成,注意是最最最基本的當(dāng)然要有些帶各種校驗(yàn)的那些暫時(shí)不考慮畢
傳統(tǒng)的8051系列單片機(jī)一般都配備一個(gè)串口,而STC89C52RC增強(qiáng)型單片機(jī)也不例外,只有一個(gè)串口可供使用,這樣就出問(wèn)題了,假如當(dāng)前單片機(jī)系統(tǒng)要求二個(gè)串口或多個(gè)串口進(jìn)行同時(shí)通信,8051系列單片機(jī)只有一個(gè)串口可供通信
收端是不會(huì)判斷所謂某個(gè)字節(jié)的起始位的,接收機(jī)如果是在接收的狀態(tài),那么只要它的接收引腳檢測(cè)到有低電平(這個(gè)低電平不是檢測(cè)一次,而是檢測(cè)3次,判斷有2次均是低電平則最終判斷為低電平,即起始位),那么接收端就開始以設(shè)定的波特率接收數(shù)據(jù),判斷數(shù)據(jù)時(shí)也是判斷3次2次有效,也就是說(shuō),只要檢測(cè)到低電平它就接收。
隨著單片機(jī)的使用日益頻繁,用其作前置機(jī)進(jìn)行采集和通信也常見于各種應(yīng)用,一般是利用前置機(jī)采集各種終端數(shù)據(jù)后進(jìn)行處理、存儲(chǔ),再主動(dòng)或被動(dòng)上報(bào)給管理站。這種情況下下,采集會(huì)需要一個(gè)串口,上報(bào)又需要另一個(gè)串口
三種單片機(jī)模擬串口方法介紹模擬串口就是利用51的兩個(gè)輸入輸出引腳如P1.0和P1.1,置1或0分別代表高低電平,也就是串口通信中所說(shuō)的位,如起始位用低電平,則將其置0,停止位為高電平,則將其置1,各種數(shù)據(jù)位和校驗(yàn)位則根據(jù)情
//****************************************************************** //@FileName: UART51.C //@Controller AT89S52 //@Compiler Keil //@Hardware: 一個(gè)普通的I/O,一個(gè)定時(shí)器T0;和TXD //
本程序是模擬串口硬件機(jī)制寫的,使用時(shí)可設(shè)一定時(shí)中斷,時(shí)間間隔為1/4波特率,每中斷一次調(diào)用一次接收函數(shù), 每中斷4次調(diào)用一次發(fā)送函數(shù),不過(guò).對(duì)單片機(jī)來(lái)說(shuō)時(shí)鐘并須要快.要知道9600的波特率的每個(gè)BIT的時(shí)間間隔是10
三種單片機(jī)模擬串口方法介紹模擬串口就是利用51的兩個(gè)輸入輸出引腳如P1.0和P1.1,置1或0分別代表高低電平,也就是串口通信中所說(shuō)的位,如起始位用低電平,則將其置0,停止位為高電平,則將其置1,各種數(shù)據(jù)位和校驗(yàn)位則根據(jù)情
本程序是模擬串口硬件機(jī)制寫的,使用時(shí)可設(shè)一定時(shí)中斷,時(shí)間間隔為1/4波特率,每中斷一次調(diào)用一次接收函數(shù), 每中斷4次調(diào)用一次發(fā)送函數(shù),不過(guò).對(duì)單片機(jī)來(lái)說(shuō)時(shí)鐘并須要快.要知道9600的波特率的每個(gè)BIT的時(shí)間間隔是104
三種單片機(jī)模擬串口方法介紹模擬串口就是利用51的兩個(gè)輸入輸出引腳如P1.0和P1.1,置1或0分別代表高低電平,也就是串口通信中所說(shuō)的位,如起始位用低電平,則將其置0,停止位為高電平,則將其置1,各種數(shù)據(jù)位和校驗(yàn)位則根據(jù)情