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

正文內(nèi)容

單片機原理及應(yīng)用課程設(shè)計--信號發(fā)生器-預(yù)覽頁

2025-02-11 14:29 上一頁面

下一頁面
 

【正文】 產(chǎn)生方波,三角波,正弦波且頻率可變的信號發(fā)生器。89C52單片機本身就是一個完整的微型計算機,具有組成微型計算機的各部分部件:中央處理器CPU、隨機存取存儲器RAM、只讀存儲器ROM、I/O接口電路、定時器/計數(shù)器以及串行通訊接口等,只要將89C51再配置鍵盤及、數(shù)模轉(zhuǎn)換及波形輸出、放大電路等部分,即可構(gòu)成所需的波形發(fā)生器,其信號發(fā)生器構(gòu)成系統(tǒng)框圖如下圖所示。 具有以下標準功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個16 位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。最高運作頻率35MHz,6T/12T可選。當P1口的管腳第一次寫1時,被定義為高阻輸入。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。這是由于內(nèi)部上拉的緣故。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。因此它可用作對外部輸出的脈沖或用于定時目的。另外,該引腳被略微拉高。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。這個DA芯片以其價格低廉、接口簡單、轉(zhuǎn)換控制容易等優(yōu)點,在單片機應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當LE1為高電平時,數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負跳變時將輸入數(shù)據(jù)鎖存;XFER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效,負脈沖(脈寬應(yīng)大于500ns)有效;WR2:DAC寄存器選通輸入線,負脈沖(脈寬應(yīng)大于500ns)有效。 圖4 DAC0832與單片機連接圖3 LCD1602介紹工業(yè)字符型液晶,能夠同時顯示16x02即32個字符。市面上字符液晶大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。共模輸入范圍包括負電源,因而消除了在許多應(yīng)用場合中采用外部偏置元件的必要性。圖7 程序流程圖 發(fā)送數(shù)據(jù)子程序:DAC0832單緩沖方式是控制輸入寄存器和DAC寄存器同時接收資料,或者只用輸入寄存器而把DAC寄存器接成直通方式。由此可以調(diào)節(jié)兩個電壓維持的時間,產(chǎn)生占空比不同的方波,相比于模擬電驢,這樣的方式輸出的方波占空比更加精確,且電壓更加穩(wěn)定。3)正弦波產(chǎn)生過程正弦波的實現(xiàn)實際上是一個查表過程,所查的每一個值都對應(yīng)著一個電壓,并且對應(yīng)著的電壓匯成圖形即為正弦波,波形光滑且頻率可調(diào)。圖15 修改后的實際三角波圖16 修改后的實際方波圖17 修改后的實際正弦波5 實驗中遇到的問題51 錯誤1) 最初LCD1602顯示錯誤,總是一排黑方塊;后來通過搜索,終于知道是因為初始化程序有問題,改正之后正常顯示。2)由于運放的參數(shù)是理想值,實際有差距,因此幅度誤差比較大。在Protues仿真中,只要將線路連接好后,所得的仿真結(jié)果便是理想中的波形,而現(xiàn)實中還必須考慮到電路中的噪聲,電磁干擾等。《單片機原理與應(yīng)用》,孫亟芳,北京航空航天大學出版社,2004年。 /*************************************************************************************************/uchar code triangle_tab[]={ //每隔數(shù)字8,采取一次 0x00,0x08,0x10,0x18,0x20,0x28,0x30,0x38,0x40,0x48,0x50,0x58,0x60,0x68,0x70,0x78, 0x80,0x88,0x90,0x98,0xa0,0xa8,0xb0,0xb8,0xc0,0xc8,0xd0,0xd8,0xe0,0xe8,0xf0,0xf8,0xff, 0xf8,0xf0,0xe8,0xe0,0xd8,0xd0,0xc8,0xc0,0xb8,0xb0,0xa8,0xa0,0x98,0x90,0x88,0x80, 0x78,0x70,0x68,0x60,0x58,0x50,0x48,0x40,0x38,0x30,0x28,0x20,0x18,0x10,0x08,0x00}。sbit key=P3^2。 TR0=0。0xf8。 case 0xe8: //頻率按規(guī)定單位依次增加 wavefreq[waveform]++。 if(wavefreq[waveform]1) wavefreq[waveform]=10。 total_freq= wavefreq[waveform] * freq_unit[waveform]。 lcd_hang2[4]=total_freq%10+0x30。lcd_hang3[3]=total_freq%10+0x30。//在液晶中顯示時千位 disp_lcd(0x80,amp。 //39。 TR0=1。計數(shù)uchar THtemp,TLtemp。 //三種波的頻率單位uchar idata wavefreq[3]={1,1,1}。 DA_S1=0。 //打開8位輸入寄存器 DA_S1=1。 DA_S1=0。uchar idata lcd_hang3[16]={F= Hz . V}。sbit lcdbf=P0^7。unsigned char i,j。lcden=0。 //仿真才需要此語句,實際硬件中不需要 } delay(10)。 rw=0。 delay(10)。 rw=0。 delay(10)。 //延時一會兒??? for(num=0。 delay(1)。 //初始化一定要設(shè)置為零,表示寫數(shù)據(jù) write_(0x38)。 //初始設(shè)置 write_(0x01)。lcd_hang1[3*16])。 for(x=z。y)。i) 。 else if(waveform==1) triangle_out()。 //關(guān)閉8位輸入寄存器 init_lcd()。 //開定時器中斷 E
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1