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

正文內(nèi)容

紅外線遙控邏輯分析儀的設(shè)計(jì)-在線瀏覽

2024-09-16 22:58本頁(yè)面
  

【正文】 圖 STC89C52 芯片引腳圖 南通職業(yè)大學(xué)電子工程系畢業(yè)論文 4 主要性能 與 MCS51 單片機(jī)產(chǎn)品兼容 、 8K 字節(jié)在系統(tǒng)可編程 Flash 存儲(chǔ)器、 1000 次擦寫周期、全靜態(tài)操作: 0Hz~ 33Hz 、三級(jí)加密程序存儲(chǔ)器 、 32 個(gè)可編程 I/O 口線、三個(gè)16 位定時(shí)器 /計(jì)數(shù)器八個(gè)中斷源、全雙工 UART 串行通道、 低功耗空閑和掉電模式 、掉電后中斷可喚醒 、看門狗定時(shí)器 、雙數(shù)據(jù)指針、掉電標(biāo)識(shí)符 。 SM0038 與單片機(jī)接口電路 圖 SM0038 與單片機(jī)接口電路 與單片機(jī)接口非常方便,如圖四 所示。 GND 接系統(tǒng)的地線( 0V);脈沖信號(hào)輸出接 CPU 的中斷輸入引腳(例如 8051的 13 腳 INT1)。 MAX232 芯片 MAX232 芯片 引腳 Max232 產(chǎn)品是由德州儀器公司( TI)推出的一款兼容 RS232 標(biāo)準(zhǔn)的芯片。 該器件符合 TIA/EIA232F 標(biāo)準(zhǔn),每一個(gè)接收器將 TIA/EIA232F 電平轉(zhuǎn)換成 5V TTL/CMOS 電平。 南通職業(yè)大學(xué)電子工程系畢業(yè)論文 6 圖 MAX232 MAX232 芯片功能 為了能使單片機(jī)與 PC 進(jìn)行通信,必須使其遵循相同的通信協(xié)議。而計(jì)算機(jī)內(nèi)部的 RS232C串行口用177。但是,為了解決這種電平不一致的矛盾,必須采用一個(gè) RS232C 電平轉(zhuǎn)換器,文中采用的 MAX232 自身帶有電源電壓變換器,可把 +5V 電壓變換成 RS232 輸出電平所需的177。如果通信距 離較遠(yuǎn),還可以通過(guò)增加 MAX485 轉(zhuǎn)換器來(lái)連接 MAX232 以滿足要求。 南通職業(yè)大學(xué)電子工程系畢業(yè)論文 7 總原理圖及其說(shuō)明 圖 系統(tǒng)電路 原理圖 先 通過(guò) SM0038 的紅外接收頭接收 38KHZ 的紅外線 信號(hào),然后將信號(hào)通過(guò) STC89C52 單片機(jī)的 口 送單片機(jī) 進(jìn)行處理,單片機(jī)再發(fā)出接收到的信號(hào)給 PC 機(jī)顯示該信號(hào)的波形, 由于 STC89C52 的串行口輸入 /輸出為 TTL 邏輯電平,高電平為 左右,低電平為 左右,因而這種以 TTL 電平傳送數(shù)據(jù)的方式的抗干擾性較差。 12V 和 12V 電平方式,所以就需要 MAX232 電平轉(zhuǎn)換器來(lái)將可把 +5V 電壓變換成 RS232 輸出電平所需的177。 4 軟件設(shè)計(jì) 紅外編碼格式 現(xiàn)有的紅外遙控包括兩種方式: PWM(脈沖寬度調(diào)制)和 PPM(脈沖位置調(diào) 制)。 PWM(脈沖寬度調(diào)制):以發(fā)射紅外載波的占空比代表“ 0”和“ 1”。例如常用的電視遙控器,使用 NEC upd6121,其“ 0”為載波發(fā)射 ,不發(fā)射 s;其“ 1”為載波發(fā)射 ,不發(fā)射 ;此外,為了解碼的方便,還有引導(dǎo)碼,upd6121 的引導(dǎo)碼為載波發(fā)射 9ms,不發(fā)射 。 但并不是所有的編碼器都是如此,比如 TOSHIBA 的 TC9012,其引導(dǎo)碼為載波發(fā)射 4.5ms,不發(fā)射 ,其“ 0”為載波發(fā)射 ,不發(fā)射 ,其“ 1”為載波發(fā)射 0.52ms,不發(fā)射 。從發(fā)射載波到不發(fā)射載波為“ 0”,從不發(fā)射載波到發(fā)射載波為“ 1”。 通過(guò)以上對(duì)編碼的分析,可以得出以某種固定格式的“ 0”和“ 1”去 學(xué)習(xí)紅外,是很有可能不成功的。 另外,由于空調(diào)的狀態(tài)遠(yuǎn)多于電視、音像,并且沒(méi)有一個(gè)標(biāo)準(zhǔn),所以各廠家都按自己的格式去做一個(gè),造成差異更大。如此大的差異,如果按“位”的概念來(lái)講,應(yīng)該是多少位呢? 64 位還是 128 位 顯然都不可能包含如此長(zhǎng)短不一的編碼。等到紅外信號(hào)下降沿到來(lái)時(shí),進(jìn)入 外部中斷 0 中斷子函數(shù),打開 T0 定時(shí)器開關(guān) TR0,使得 T0 工作,在主函數(shù)中判斷外部中斷 0 接線端為 1 時(shí),進(jìn)入 T0 中斷子函數(shù),在 T0 中斷子函數(shù)中主要是把 TH0,TL0 所記的數(shù)值送單片機(jī)處理。 sbit P11=P1^7。 sbit P33=P3^3。 void TimeSet() //定時(shí)器設(shè)置 串口設(shè)置 { TMOD=0x21。 南通職業(yè)大學(xué)電子工程系畢業(yè)論文 9 // SM0=0。 // SM2=1。 TH1=0xff。 EA=1。 EX0=1。 PCON=0x80。 TL0=0x00。 ET0=1。 for(b=61。b) for(a=3。a)。 tmp=0。 } 南通職業(yè)大學(xué)電子工程系畢業(yè)論文 10 void Time0() interrupt 1 { dat[0]=TH0。 tmp=1。 delay()。 SBUF=dat[1]。 TI=0。 // TF0=0。 TL0=0。 } void Time1() interrupt 3 { RI=0。 } void main() { TimeSet()。 // P2+=1。amp。 // P2+=1。與 DOS 環(huán)境下用匯編或C 語(yǔ)言等編制的串行通信程序及 Windows 環(huán)境下用 Visual C 編制的串行通信程序相比,在使用 Visual Basic 的 MSComm 控件實(shí)現(xiàn)串行通信時(shí),程序員只需關(guān)心 MSComm 控件對(duì)Windows 通信驅(qū)動(dòng)程序的 API 函數(shù)的接口即可,換句話說(shuō),只需要設(shè)置和監(jiān)視 MSComm控件的屬性和事件即可 。H80000 Public Const GWL_EXSTYLE = (20) Public Const LWA_ALPHA = amp。H1 Public Declare Function GetWindowLong Lib user32 Alias GetWindowLongA (ByVal hwnd As Long, ByVal nIndex As Long) As Long 南通職業(yè)大學(xué)電子工程系畢業(yè)論文 12 Public Declare Function SetWindowLong Lib user32 Alias SetWindowLongA (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Form1 Dim Buffer1(63488) As Byte Dim Buffer2(63488) As Byte Dim Buffer3(63488) As Byte Dim Data_point As Long Dim Wave_width As Integer Dim Width_per_BIT As Single Dim n As Integer Dim Time As Integer Dim Data_rate As Long Dim temp_long As Long Dim Click_flag As Boolean Dim Old_X, Old_Y As Single Dim Flag_about As Boolean Function Draw_Square_Wave(ByVal Start As Long, ByVal x, Y, Width_per_20us As Integer, ByVal Channel As Integer) Dim Time_long As Integer Dim HEiGHT, LINE_COLOR, START_Y As Integer Dim Temp_buffer, Dp, Dp_old As Integer START_Y = Y HEiGHT = 200 LINE_COLOR = RGB(0, 0, 255) (0, START_Y)(1, START_Y), LINE_COLOR Time_long = / Width_per_20us For i = 0 To Int(Time_long / 8) Select Case Channel Case 1 Temp_buffer = Buffer1(Start + i) Case 2 Temp_buffer = Buffer2(Start + i) Case 3 南通職業(yè)大學(xué)電子工程系畢業(yè)論文 13 Temp_buffer = Buffer3(Start + i) End Select k = 0 For j = 7 To 0 Step 1 k = k + 1 Dp = Int(Temp_buffer / 2 ^ j) If Dp = 0 Then If Dp_old = 0 Then ((i * 8 + k) * Width_per_20us, START_Y), LINE_COLOR If Dp_old = 1 Then ((i * 8 + k 1) * Width_per_20us, START_Y), LINE_COLOR ((i * 8 + k) * Width_per_20us, START_Y), LINE_COLOR End If End If If Dp = 1 Then Temp_buffer = Temp_buffer 2 ^ j If Dp_old = 1 Then ((i * 8 + k) * Width_per_20us, START_Y HEiGHT), LINE_COLOR If Dp_old = 0 Then ((i * 8 + k 1) * Width_per_20us, START_Y HEiGHT), LINE_COLOR ((i * 8 + k) * Width_per_20us, START_Y HEiGHT), LINE_COLOR End If End If Dp_old = Dp Next Next (0, Y + 200)(, START_Y + 200), RGB(200, 200, 255) PrintWord 0, Y + 20, Str(Round(Start * Width_per_BIT * 8 / 1000, 3)) amp。 39。 39。 temp Else hex2 = temp End If End Function Function Init_() With MSComm1 .CommPort = val() .RThreshold = 1024 39。清空緩存 .OutBufferCount = 0 .InputMode = InputModeBinary .InputLen = 1024 End With End Function Private Sub Frame1_DragDrop(Source As Control, x As Single, Y As Single) End Sub Private Sub Form_Unload(Cancel As Integer) End End Sub 南通職業(yè)大學(xué)電子工程系畢業(yè)論文 19 Private Sub HScroll1_Change() temp_long = Draw_Square_Wave temp_long * 2, 0, 900, Wave_width, 1 Draw_Square_Wave temp_long * 2, 0, 2200, Wave_width, 2 Draw_Square_Wave temp_long * 2, 0, 3500, Wave_width, 3 End Sub Priva
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1