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

正文內(nèi)容

簡(jiǎn)易數(shù)字示波器設(shè)計(jì)方案-在線瀏覽

2025-06-23 01:20本頁(yè)面
  

【正文】 1T)的單片機(jī),是高速、低功耗、超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快812倍。字符顯示RAM在液晶模塊中的地址80H~9FH。根據(jù)寫入內(nèi)容的不同,可分別在液晶屏上顯示CGROM(中文字庫(kù))、HCGROM(ASCII碼字庫(kù))及CGRAM(自定義字形)的內(nèi)容。帶中文字庫(kù)的128X640402B內(nèi)部提供1282字節(jié)的字符顯示RAM緩沖區(qū)(DDRAM)。簡(jiǎn)易數(shù)字示波器設(shè)計(jì)方案1課題任務(wù)利用單片機(jī)和12864液晶顯示器,制作簡(jiǎn)易數(shù)字示波器。要求如下:(1) 顯示器顯示頻率范圍0-50HZ(2)示波器的輸入阻抗為100K(3)示波器的輸入信號(hào)范圍:5~5V(4)測(cè)量顯示被測(cè)信號(hào)的頻率(周期)、峰值(有效值)參考方案如下:圖 Error! No text of specified style in 總體設(shè)計(jì)結(jié)構(gòu)2 設(shè)計(jì)方案選擇 顯示器選擇方案帶中文字庫(kù)的12864每屏可顯示4行8列共32個(gè)1616點(diǎn)陣的漢字,每個(gè)顯示RAM可顯示1個(gè)中 文字符或2個(gè)168點(diǎn)陣全高ASCII碼字符,即每屏最多可實(shí)現(xiàn)32個(gè)中文字符或64個(gè)ASCII碼字符的顯示。字符顯示是通過(guò)將字符顯示編碼寫入該字符顯示RAM實(shí)現(xiàn)的。三種不同字符/字型的選擇編碼范圍為:0000~0006H(其代碼分別是0000、0000000006共4個(gè))顯示自定義字型,02H~7FH顯示半寬ASCII碼字符,A1A0H~F7FFH顯示8192種GB2312中文字庫(kù)字形。字符顯示的RAM的地址與32個(gè)字符顯示區(qū)域有著一一對(duì)應(yīng)的關(guān)系,其對(duì)應(yīng)關(guān)系如下表所示。內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換,針對(duì)電機(jī)控制,強(qiáng)干擾場(chǎng)合。3 硬件設(shè)計(jì) 系統(tǒng)連接圖總體電路設(shè)計(jì)結(jié)構(gòu)如圖31所示 總設(shè)計(jì)圖31 鍵盤掃描電路的設(shè)計(jì)總體電路結(jié)構(gòu)如下 圖32 按鍵 圖32由于設(shè)計(jì)的是示波器,在示波器顯示波形的時(shí)候需要對(duì)波形的幅度頻率進(jìn)行調(diào)整,所以設(shè)計(jì)鍵盤對(duì)波形進(jìn)行調(diào)整。 振蕩復(fù)位電路總體電路結(jié)構(gòu)如圖33所示 振蕩復(fù)位電路圖33時(shí)鐘振蕩電路用于產(chǎn)生單片機(jī)正常工作時(shí)所需要的時(shí)鐘信號(hào),電路由兩個(gè)30pF的瓷片電容和一個(gè)12MHz的晶振組成,并接入到單片機(jī)的XTAL1和XTAL2引腳處,使單片機(jī)工作于內(nèi)部振蕩模式。電路中兩個(gè)電容CC2的作用使電路快速起振,提高電路的運(yùn)行速度。為可靠起見(jiàn),電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào),以防電源開(kāi)關(guān)或電源插頭分合過(guò)程中引起的抖動(dòng)而影響復(fù)位. 最小系統(tǒng) 圖34 STC內(nèi)部AD采集STC12C5A60S2單片機(jī)有8路10位高速AD轉(zhuǎn)換器,P1^0P1^7涉及寄存器:P1ASF(模擬功能控制寄存器)、ADC_CONTR(ADC控制寄存器) 、ADC_RES、ADC_RESL(轉(zhuǎn)換結(jié)果寄存器)。A/D轉(zhuǎn)換模塊使用的時(shí)鐘為內(nèi)部R/C振蕩器所產(chǎn)生的系統(tǒng)時(shí)鐘由于使用兩套時(shí)鐘,設(shè)置好ADC_CONTR后要加4個(gè)空延時(shí)操作才可以正確讀到ADC_CONTR寄存器的值 雙運(yùn)放電路總體電路結(jié)構(gòu)如圖35所示運(yùn)放電路 圖354 軟件設(shè)計(jì) 程序設(shè)計(jì)流程如下圖41所示 設(shè)計(jì)流程 圖41 STC12C5A60S2內(nèi)部AD程式include include include define ADC_POWER 0x80 //AD電源控制define ADC_START 0x08 //AD轉(zhuǎn)換控制define ADC_FLAG 0x10 //AD轉(zhuǎn)換完成define Speed_0 0x00 //540 clkdefine Speed_1 0x20 //360 clkdefine Speed_2 0x40 //180 clkdefine Speed_3 0x60 //90 clkdefine ADC0 0x00 //define ADC1 0x01 //define ADC2 0x02 //define ADC3 0x03 //define ADC4 0x04 //define ADC5 0x05 //define ADC6 0x06 //define ADC7 0x07 //void AD_init(void)。void SendData( uchar byte )。 //轉(zhuǎn)換結(jié)果高2位放在ADC_RES的低2位中,低8位放在ADC_RESL中 P1ASF = 0x01。 //結(jié)果清零 ADC_RESL = 0x00。 //打開(kāi)電源,180CLK周期轉(zhuǎn)換, _nop_()。 _nop_()。 _nop_()。 _nop_()。 EADC = 1。 //開(kāi)總中斷}//****************************************//// 串口初始化 // //****************************************//void UART_init(void){ SM0 = 0。 //8位數(shù)據(jù)波特率可變 REN = 1。 AUXR = 0x15。 double result。 result = temp * / 1024。 }//******************************************//// 串口發(fā)送數(shù)據(jù) ////******************************************//void SendData( uchar byte ){ SBUF = byte。 TI = 0。 AD_init()。 while(1)。= !ADC_FLAG。 ADC_RES = 0x00。 ADC_CONTR = ADC_POWER|Speed_2|ADC_START。 _nop_()。 _nop_()。 //串/并行接口選擇 1并行 0串行sbit RS = P0^7。 //并行讀寫選擇 0寫 1讀 串行數(shù)據(jù)口sbit E = P0^5。 //延時(shí)uchar Busy(void)。//讀狀態(tài)uchar Read_Date(void)。 //寫命令void Write_Date( uchar date )。//初始化LCDvoid Location( uchar x, uchar y )。//清屏void Write_str( uchar *p )。 include extern void SendData( uchar byte )。 sbit rw=P3^6。sbit en=P3^5。uint pdata a[128]。 uint ad_pp,freq。void delay1ms(uint t) //延遲1/12MS{ uint i,j。 for(i=0。i++) for(j=0。j++)。 rs=0。 en=1。 en=0。}void lcd_wcmd(uchar wcmd) //寫命令{ lcd_busy()。 rw=0。 en=1。 en=0。 rs=1。 P0=dat。 。 }uchar lcd_rdat(void)//讀數(shù)據(jù){ uchar rdat。 P0=0xff。 rw=1。 en=1。 en=0。 }void showgroup(uchar x,uchar y,uchar *p) //寫字符串{ switch(y) { case 1:lcd_wcmd(0x80+x1)。 case 2:lcd_wcmd(0x90+x1)。 case 3:lcd_wcmd(0x88+x1)。 case 4:lcd_wcmd(0x98+x1)。 default:break。 }}void lcd_init(void) // LCd初始化{lcd_wcmd(0x30)。lcd_wcmd(0x01)。delay(1000)。 lcd_wcmd(0x34)。 for(j = 0。j++) { lcd_wcmd(i++)。 for(k = 0。k++)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1