版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于單片機原理的波形發(fā)生器摘要:本系統(tǒng)采用單片機C8051為控制核心,輸出數(shù)字量,然后由DAC0832把數(shù)字量轉(zhuǎn)換成模擬量;但是輸出的是電流,需要用運放(OP07),把電流轉(zhuǎn)換成電壓量。顯示利用的是LCD1602的液晶,顯示其波形,幅值。按鍵應(yīng)用的是獨立按鍵,用來波形的切換,幅值,頻率的調(diào)解。其運算核心,我們通過MATLAB對正弦波,三角板,正弦波進行采樣,得到一組組數(shù)據(jù),然后同過數(shù)組存儲;利用中斷對數(shù)組進行掃描。其頻率的調(diào)解就是調(diào)節(jié)其中斷間隔的時間,幅值就是調(diào)節(jié)其數(shù)字的大小(同時乘以某個小于1的數(shù))。為了波形的合成,我們采用的點的個數(shù)都是20個。關(guān)鍵詞:AT-89C51 DAC0832 獨立
2、按鍵 OP07The Design of Waveform Generator Based on 51Abstract:This system adopts single-chip C8051 as the control core, digital output, and then by DAC0832 convert digital to analog; But the output is current, the need to use operational amplifier (OP07), the amount of current into a voltage. Display
3、using the LCD1602 LCD, display the waveform amplitude. Key applications is independent, switch to waveform, amplitude, frequency of mediation. Its core operation, we use MATLAB to sine wave, triangle, the sine wave samples, groups of data, and then with an array of storage; Using the interrupt for s
4、canning array. The frequency of mediation is to adjust one interval time, amplitude is adjusting the size of its digital (multiplied by a certain number of less than 1) at the same time. For the waveform synthesis, we adopt the number of points is 20.Keywords:AT-89C51 DAC0832 Separate button OP07一、題
5、目要求及分析設(shè)計任務(wù):設(shè)計制作一個波形發(fā)生器,該波形發(fā)生器能產(chǎn)生正弦波、方波、三角波和由用戶編輯的特定形狀波形。示意圖如下:圖1 設(shè)計要求圖設(shè)計要求:1.具有產(chǎn)生正弦波、方波、三角波三種周期性波形的功能;2.用鍵盤輸入編輯生成上述三種波形(同周期)的線性組合波形,以及由基波及其諧波(5次以下)線性組合的波形。3.具有波形存儲功能。4.輸出波形的頻率范圍為100Hz20kHz(非正弦波頻率按10次諧波計算);重復(fù)頻率可調(diào),頻率步進間隔100Hz。5.輸出波形幅度范圍O5V(峰峰值),可按步進0.1V(峰峰值)調(diào)整。6.具有顯示輸出波形的類型、重復(fù)頻率(周期)和幅度的功能。7.增加紅外配置功能(串
6、口配置程序或其他方式)二、總體系統(tǒng)方案設(shè)計題目要求實現(xiàn)的任務(wù)是設(shè)計并制作一個函數(shù)信號發(fā)生器,能夠產(chǎn)生正弦波、方波、三角波,要求不用DDS和專用的波形產(chǎn)生芯片,頻率范圍在1Hz1MHZ可調(diào),在頻率范圍為1HZ10KHz時,步進不大于10Hz在頻率范圍為10KHz1MHz時,步進不大于100Hz,并且電壓范圍在05V可調(diào),步進為0.1V,能夠?qū)崟r的顯示波形的類型及其頻率和幅值?,F(xiàn)在對以下方案進論證和驗證。2.1總體設(shè)計思路根據(jù)題目的要求,經(jīng)過仔細的考慮各種要素,制定了整體方案:以AT89C51單片機為控制核心,P0口接DAC0832信號輸入并進行數(shù)模轉(zhuǎn)換,P1口接矩陣鍵盤,P2口接液晶顯示器LCD
7、1602,由程序控制P0口產(chǎn)生波形(分別是正弦波、方波、三角波),再由按鍵及按鍵次數(shù)控制產(chǎn)生波形的種類及頻率和幅值在一定范圍內(nèi)可調(diào),并且能夠按任意鍵實現(xiàn)波形頻率和幅值的設(shè)定(不通過步進按鍵設(shè)定來控制)。由運放OP07實現(xiàn)DAC0832輸出電流到電壓的轉(zhuǎn)換,即實現(xiàn)數(shù)字信號到模擬信號的轉(zhuǎn)換。在LCD上實時的顯示波形的頻率和幅值,波形在示波器上產(chǎn)生。其波形的存儲方式,我們通過按鍵確定,一旦按鍵按下后,就把當時的波形對應(yīng)的參數(shù)存儲起來,例如幅度值,頻率值等參數(shù)。波形的合成:為了波形的合成,我們在采樣的時候,對正弦波,三角波,方波都只取樂20個點;因為點越少,其頻率達到的值就會越大;合成時就是對幅值點進
8、行一個疊加后賦給DAC0832輸出一組波形。紅外,通過外部中斷高低電平的延時的時間來進行解碼。2.2總體框圖本系統(tǒng)總體框圖如圖2所示:圖2系統(tǒng)總體框圖2.3信號發(fā)生部分方案一:采用模擬分立元件或單片壓控函數(shù)發(fā)生器,可以產(chǎn)生正弦波、方波、三角波,通過調(diào)整外部元件可以改變輸出頻率,但采用模擬元器件由于元件分散性太大,因而產(chǎn)生頻率穩(wěn)定性較差,精度低,地抗干擾能力低,成本高,而且靈活心性較差,不能實現(xiàn)任意波形以及波形運算輸出等智能化的功能。方案二:采用鎖相式頻率合成方案,鎖相式頻率合成一個高穩(wěn)定度和精確度的大量離散技術(shù),他在一定程度上解決了既要頻率穩(wěn)定精確又要頻率在較大的范圍內(nèi)可調(diào)的矛盾,但是頻率受V
9、CO可便頻率范圍的影響,高低頻率比不可能做的很高,而且只能產(chǎn)生正弦波或方波,不能滿足任意波形的要求。方案三:采用單片機和數(shù)模轉(zhuǎn)換DAC0832實現(xiàn)波形的產(chǎn)生。波形的產(chǎn)生是通過AT89C51執(zhí)行方波波形程序,向D/A轉(zhuǎn)換器的輸入端按一定的規(guī)律發(fā)生數(shù)據(jù),從而在DA轉(zhuǎn)換電路輸出端得到相應(yīng)的電壓波形。在AT89C51的P1口接矩陣按鍵,通過軟件編程來選擇波形、幅值、頻率,每種波形對應(yīng)一個按鍵,此方案原理簡單,實現(xiàn)起來比較容易。經(jīng)比較,方案三能夠更好的實現(xiàn)題目的要求,三種波形的產(chǎn)生可有程序控制,并通過按鍵選擇波形的輸出,在示波器上顯示波形。波形的周期與頻率步進也可以用程序控制,具有線路簡單、結(jié)構(gòu)緊湊等優(yōu)
10、點。在本設(shè)計的基礎(chǔ)上,加上LCD顯示器,則可以通過按鍵設(shè)定波形頻率,并在LCD顯示頻率、幅值電壓。輸出的波形穩(wěn)定,精度高,濾波好,抗干擾效果好,連接簡單,性價比高。綜上所述,我們選擇第三種方案。2.4顯示部分方案一:數(shù)碼管顯示,由于本題要求實時的顯示輸出信號的幅度、頻率,而數(shù)字不能顯示字符。方案二:LED點陣顯示,LED點陣顯示雖然能夠顯示數(shù)字和字符,但是顯示的效果不好,而且不易編程。方案三:LCD液晶顯示,LCD液晶顯示不但能顯示字符和數(shù)字,而且效果較好,且容易實現(xiàn)。2.5按鍵部分方案一:采用獨立按鍵,他的按鍵的數(shù)目比少,但是它的結(jié)構(gòu)簡單,方便操作,執(zhí)行效率高等優(yōu)勢。方案二:采用矩陣鍵盤,它
11、以較少得IO口實現(xiàn)了按鍵的功能,隨之其操作比較復(fù)雜。經(jīng)對比,由于我們需求的按鍵比較少,但是對執(zhí)行的效率比較高,所以采用獨立按鍵。三、硬件電路本系統(tǒng)由單片機、波形轉(zhuǎn)換(D/A)電路、顯示接口電路、鍵盤電路、電源電路、串口電路等六部分組成。電路圖如圖3.1所示:圖3硬件電路原理圖3.1功能與基本原理功能:形成掃描碼、鍵值識別、案件處理、參數(shù)設(shè)置、字符設(shè)置等形成液晶顯示波形的類型及頻率和幅值;通過定時器0產(chǎn)生定時中斷,形成波形的數(shù)字編碼,并輸出到D/A接口電路和顯示驅(qū)動電路。AT89C51外接12M晶振作為時鐘頻率,并采用電源復(fù)位設(shè)計。復(fù)位電路采用上電復(fù)位,其工作原理是,當通電時,電容兩端相當于短路
12、,于是TST引腳為高電平,然后對電容充電。RST端電壓慢慢下降,降到一定程度,即為低電平,單片機開始工作。產(chǎn)生方波程序思路:對于小于100Hz的頻率,根據(jù)定時器溢出時間1us,將頻率值換算為定時器溢出次數(shù),當達到規(guī)定的次數(shù)時,將輸出管腳的狀態(tài)取反達到方波的產(chǎn)生;對于大于100HZ的頻率,直接根據(jù)頻率值設(shè)置其定時溢出的時間,當溢出時間達到時,將輸出管腳取反達到方波的產(chǎn)生。產(chǎn)生三角波程序思路:要產(chǎn)生峰值電壓為5V的三角波,一個周期需要定時510次,由此便可以計算出每次定時溢出的時間,再將每次定時的電壓加權(quán)便可以達到三角波的波形;產(chǎn)生正弦波程序思路:給正弦波的一個周期設(shè)定table表,由20個數(shù)據(jù),
13、相當于每個周期定時255次,則每次定時溢出的時間便可計算出,每個點的電壓加權(quán)便可得到正弦波的電壓,即,形成正弦波。3.2資源分配軟、硬件設(shè)計是比不可少的,為了滿足功能和指標的要求,資源分配為:單片機用12MHz晶振,P0口與DAC0832相連;P1口接矩陣按鍵,實現(xiàn)頻率、幅值以及波形的選擇;P2口接LCD1602液晶顯示器,實時顯示波形的頻率、幅值、類型。3.2.1顯示接口電路功能:驅(qū)動LCD液晶顯示、掃描按鈕。由LCD1602液晶顯示器和矩陣按鍵組成。當某一按鍵按下時,掃描程序掃描到之后,通過P2口將數(shù)字信號發(fā)送到LCD1602,LCD1602液晶專門用于顯示字母、數(shù)字、符號等點陣式LCD,
14、其外接電壓時5V。掃描利用軟件程序?qū)崿F(xiàn),當某一按鍵按下時,掃描立即檢測到,隨即調(diào)用子程序,執(zhí)行相應(yīng)的功能。其與單片機連接如圖4所示:圖4顯示部分電路圖3.3波形轉(zhuǎn)換(D/A)電路功能:將波形樣值得編碼轉(zhuǎn)換成模擬值,完成波形的輸出。由一片DAC0832和LF356運放組成。DAC0832是一個具有兩個輸入數(shù)據(jù)寄存器的8位DAC。目前生產(chǎn)的DAC芯片分為兩類,一類芯片內(nèi)部設(shè)置有數(shù)據(jù)寄存器,不需要外加電路就可以直接與微型計算機接口。另一類芯片內(nèi)沒有數(shù)據(jù)寄存器,輸出信號隨數(shù)據(jù)輸入線的狀態(tài)的變化而變化,因此不能直接與微型計算機接口,必須通過并行口與微型計算機接口。DAC0832是具有20條引線的雙列直插
15、式CMOS器件,它內(nèi)部具有兩級數(shù)據(jù)寄存器,完成8位電流D/A轉(zhuǎn)換,股不需要外加電路。DAC0832是電流輸出型,示波器上顯示波形,通常需要電壓信號,電流信號到電壓信號的轉(zhuǎn)換可以用運算放大器LF356實現(xiàn)。單片機想DAC0832發(fā)送數(shù)字編碼,產(chǎn)生不同的輸出。先利用采樣定理對各種波形進行抽樣,然后把各種采樣值進行編碼,收到的數(shù)字量存入各個波形表,執(zhí)行程序時通過查表的方法依次取出,經(jīng)過D/A轉(zhuǎn)換后輸出就可以得到波形。假如N個點構(gòu)成波形的一個周期,則DAC0832輸出N個樣點值后,樣值點形成運動軌跡,即,一個周期。重復(fù)輸出N個點后,成為第二個周期。利用單片機的晶振控制輸出周期的速度,也就是控制輸出的波
16、形的頻率。這樣就控制了輸出波形的及其幅值和頻率,例如:正弦波,取20個樣值點。具體連接的電路圖如圖5所示:圖5D/A轉(zhuǎn)換的電路連接圖3.4紅外電路圖6紅外電路紅外的工作原理:51單片機對遙控的解碼和我們前面所講的串口并口通信不同,他不是單純的用高電平代表1,低電平代表0。這一點大家要從思想上面轉(zhuǎn)變過來。他是發(fā)送一連串的數(shù)據(jù)幀,這個數(shù)據(jù)幀就是一連串的二進制代碼,單片機通過區(qū)分高電平的持續(xù)時間來區(qū)別紅外編碼的。我們就以HC6800單片機上的紅外接頭為例來說明,當高電平的脈沖寬度為1.12ms的時候單片機認為它為0,當高電平的脈沖寬度為2.25的時候單片機認為它為1。單片機是通過判斷脈沖的寬度來得到
17、信息位為0還是為1的。當我們按下遙控器的按鍵時,遙控器將發(fā)出如圖2的一串二進制代碼,我們稱它為一幀數(shù)據(jù)。根據(jù)各部分的功能??蓪⑺鼈兎譃?部分,分別為引導(dǎo)碼、地址碼、地址碼、數(shù)據(jù)碼、數(shù)據(jù)反碼。遙控器發(fā)射代碼時均是低位在前。高位在后。由圖2分析可以得到引導(dǎo)碼高電平為45ms,低電平為45ms。當接收到此碼時表示一幀數(shù)據(jù)的開始。單片機可以準備接收下面的數(shù)據(jù)。地址碼由8位二進制組成,共256種圖中地址碼重發(fā)了一次。主要是加強遙控器的可靠性如果兩次地址碼不相同則說明本幀數(shù)據(jù)有錯應(yīng)丟棄。不同的設(shè)備可以擁有不同的地址碼因此。同種編碼的遙控器只要設(shè)置地址碼不同,也不會相互干擾。在同一個遙控器中所有按鍵發(fā)出的地
18、址碼都是相同的。數(shù)據(jù)碼為8位,可編碼256種狀態(tài),代表實際所按下的鍵。數(shù)據(jù)反碼是數(shù)據(jù)碼的各位求反,通過比較數(shù)據(jù)碼與數(shù)據(jù)反碼可判斷接收到的數(shù)據(jù)是否正確。如果數(shù)據(jù)碼與數(shù)據(jù)反碼之間的關(guān)系不滿足相反的關(guān)系則本次遙控接收有誤數(shù)據(jù)應(yīng)丟棄。在同一個遙控器上所有按鍵的數(shù)據(jù)碼均不相同。在圖2中,數(shù)據(jù)碼為十六進制的0CH,數(shù)據(jù)反碼為十六進制的0F3H(注意低位在前)兩者之和應(yīng)為0FFH。3.5復(fù)位電路這種復(fù)位電路的工作原理是:單片機的復(fù)位電路在剛接通電時,剛開始電容是沒有電的,電容內(nèi)的電阻很低,通電后,5V的電通過電阻給電容進行充電,電容兩端的電會由0V慢慢的升到4V左右(此時間很短一般小于0.3秒),RC構(gòu)成的
19、微分電路在上電瞬間產(chǎn)生一個微分脈沖,其寬度大于兩個機器周期,89C51將復(fù)位。正因為這樣,復(fù)位腳的電由低電位升到高電位,引起了內(nèi)部電路的復(fù)位工作,RST端電壓慢慢下降,降到一定電壓值以后,即為低電平,單片機開始正常工作(這是單片機的上電復(fù)位,也叫初始化復(fù)位);當按下復(fù)位鍵時,電容兩端放電,電容又回到0V了,于是又進行了一次復(fù)位工作(這是手動復(fù)位原理)。圖7復(fù)位電路3.6外部時鐘電路圖3采用11.0592MHz的晶振和兩個22pf的電容組成時鐘電路部分圖8外部時鐘電路3.7 LCD顯示部分電路為了節(jié)約成本,采用1602來作為顯示器,用獨立按鍵來控制不同的顯示,能完成基本的顯示功能。圖9LCD液晶
20、顯示電路3.8電源部分本電源設(shè)計了兩個接口,方便不同接口的電源接入,并且在電源部分加上濾波電容,起過濾接入電源的雜波的作用,為了電路中得到+12V、-12V和+5V的直流工作電壓,用變壓器變壓后再通過芯片和電容設(shè)計出所需要的電路。圖10電源電路3.9獨立按鍵部分圖八為用獨立按鍵來控制不同的輸出波形圖11獨立按鍵3.10串口通信模塊圖中通過MAX232進行TTL電平和232電平轉(zhuǎn)換,從而單片機和上位機之間通信提供通道。圖12串口通信電路通信電路的目的就是讓通信雙發(fā)的電平匹配,單片機用的是TTL電平,上位機的串口用的是232電平。TTL電平的邏輯1的電壓范圍是+3.3V到+5V,邏輯0的電壓范圍是
21、0到+3.3V;232電平的邏輯1的電壓范圍是-15V到-5V,邏輯0的電壓范圍是+5V到+15V。因此設(shè)計串口通信電路就是讓這兩種電平統(tǒng)一。四、軟件設(shè)計主程序和子程序都存放在AT89C51單片機中。主程序的功能是:開機以后負責查鍵,即做出鍵盤掃描及顯示工作,然后根據(jù)用戶所按的鍵轉(zhuǎn)到相應(yīng)的子程序進行處理。子程序的功能有:延時子程序、中斷程序、顯示子程序、按鍵子程序,按鍵子程序中有任意頻率的設(shè)置的數(shù)字鍵(09)及確定鍵、幅值和頻率的加和減鍵、幅值頻率的轉(zhuǎn)換鍵、波形的轉(zhuǎn)換鍵等共15個鍵。主程序的流程圖如圖4.1所示:完成全部硬件和軟件過后,將程序下載到單片機中進行測試,通過反復(fù)測試,反復(fù)的修改函數(shù)
22、的功能,同時完善硬件的功能,使系統(tǒng)達到最優(yōu)控制。4.1程序流程圖圖13程序流程圖4.2 LCD顯示流程圖圖14 LCD顯示框圖五、系統(tǒng)仿真5.1仿真電路圖通過Proteus軟件和電路原理圖繪制出如下仿真電路圖,對程序和電路功能進行測試圖15 proteus仿真電路圖5.2輸出波形圖將編寫好的程序下載到單片機中進行仿真,通過反復(fù)測試,反復(fù)的修改函數(shù)的功能,使系統(tǒng)輸出如下波形:圖16正弦波圖17方波圖18三角波圖19正弦波、方波、三角波三種波形疊加后的波形六、硬件和軟件測試6.1硬件調(diào)試整個硬件調(diào)試過程基本順利,由于采用了分單元模塊制作,各個單元電路工作穩(wěn)定,給調(diào)試工作帶來很大的方便。放大模塊部分
23、在實物模擬時,出現(xiàn)發(fā)送信號不穩(wěn)定、跳變的問題,經(jīng)過仔細的檢查,電路連線路勁和線路連接問題,最終發(fā)現(xiàn)電路連接是出現(xiàn)連接未牢固的問題,從而得以解決。6.2軟件調(diào)試雖然對于單片機的變成較熟悉,但是還存在一些問題,主要有以下問題:(1)在寫調(diào)幅值的程序時,按照自己的想法寫好,下載帶單片機中,發(fā)現(xiàn),每按一次鍵,幅值一次性增大到5V或者一次性減為0V,經(jīng)過對程序的分析得知,當按下鍵時,程序循環(huán)很多次,為次添加一條鍵按下時死循環(huán)的語句使每次按下鍵幅值加一次后的只保持住,從而解決了問題。(2)當幅值和顯示調(diào)試成功后,寫調(diào)頻程序時,在硬件電路中調(diào)試時發(fā)現(xiàn),三種波形融合到一起出現(xiàn),在經(jīng)過添加定時器中斷的方法,結(jié)果
24、使P0口不能夠輸出模擬信號,經(jīng)過努力,最后終于解決了這個問題。(3)由于AT89C51本身性能的問題,而且硬件方面又沒有用倍頻電路,產(chǎn)生的三角波和方波的頻率沒有達到1MHz,只達到2KHz,但是方波達到了1MHz。七、設(shè)計心得本次課程設(shè)計,我系統(tǒng)電路的主要設(shè)計,在做課程設(shè)計的時間了我學到了很多東西,總的來說有如下收獲:(1)通過對電路的設(shè)計,對51系列單片機的原理和功能有了進一步的了解,學到了更多的電路知識,如復(fù)位電路的原理,晶振電路的作用,旁路電容的作用,上拉電阻的功能,串口通信電路,熟悉了ULN2003芯片的原理和功能,認識了溫濕度傳感器DHT21,并且能對其進行應(yīng)用。(2)通過原理圖和P
25、CB圖的繪制,學會了AltumDesigner軟件的使用,并且能用它完成一些簡單的電路設(shè)計,并且對元器件的封裝有了一定的了解和認識。(3)通過元器件的購買和電路板的焊接,增強了自身的實踐動手能力,對電路原理的應(yīng)用有了更深刻的認識。(4)在測試階段,尤其是在硬件電路的檢查階段,有很深的體會,有時候一個簡單的錯誤就有可能造成電路無法正常工作,通過找錯排錯,更加熟悉了電路的原理和51單片機的工作原理。(5)通過本次課程設(shè)計,我更加深刻的認識到團隊合作的重要性,小組成員分工合作,是設(shè)計成功的關(guān)鍵,只有大家團結(jié)一致,才能更快更好的完成任務(wù),但是從本課程設(shè)計中,我也看到了自身還存在許多不足,在實踐動手能力
26、方面比較弱,對一些電路知識掌握得不是很好。八、參考文獻1童詩白,華成英.模擬電子技術(shù)基礎(chǔ)M.北京:高等教育出版社,2003.345-3622潘永雄,沙河,劉向陽.電子線路CAD實用教程M.西安:西安電子科技大學出版社,2001.13-118.3張毅剛,彭喜源,譚曉昀,曲春波.MCS-51單片機應(yīng)用設(shè)計M.哈爾濱:哈爾濱工業(yè)大學出版社,1997.53-61九、致 謝 本次畢業(yè)設(shè)計共歷時兩個多月的時間,在各位老師和同學們的關(guān)心幫助下才得以順利完成。在這段時間里,不僅大大提高了我的實踐經(jīng)驗,也使我學到了許多書本上不曾接觸的只是,開拓了視野,增廣了知識面,醉重要的是學會了如何利用信息資源幫助自己尋早資
27、料,提高了自己的徐學能力。我對本課題的內(nèi)容本來知道的很少,經(jīng)過了這次的學習和知道老師的悉心教導(dǎo),現(xiàn)在已經(jīng)對它有了深刻的認識,雖然無法達到專業(yè)水平,但也是有了巨大的收獲,感覺自己受益匪淺。在論文完成之際,我首先謹向在我做畢業(yè)設(shè)計期間給予我無微不至的關(guān)懷、誨人不倦的老師致以崇高的敬意和真誠的謝意;起床對朝夕相處的同學和在畢業(yè)設(shè)計期間給予我支持和幫助的朋友送上我深深的謝意!十、附件 源代碼JUCHIEQU50HSANJIEQU51HFANGBEQU52HTIXINEQU53HKUEQU55HORG0000H;程序入口AJMPMAIN;指向主程序ORG0003H;主程序入口地址AJMPINTT0;指向
28、按鍵中斷程序ORG0030H;中斷程序入口地址MAIN:;主程序MOVP2,#00H;將P2口初始化為0SETBEA;開總中斷SETBEX0;開啟外部中斷0SETBIT0;將外部中斷0設(shè)置為下降沿有效MOVDPTR,#00FFH;設(shè)置輸入寄存器地址MOVJUCHI,#00H;初始化MOVSANJI,#00HMOVFANGB,#00HMOVTIXIN,#00H;*START:MOVA,KU;將鍵碼送累加器ACJNEA,#00H,W1;將累加器A和00H比較,如果相等,則00鍵按下 順序執(zhí)行,否則跳到W1再判斷01鍵是否按下 MOVSANJI,#00H;屏蔽其他波形MOVFANGB,#00HMOV
29、TIXIN,#00HAJMPJCB;跳轉(zhuǎn)到鋸齒波形W1:CJNEA,#01H,W2;判斷01鍵是否按下MOVJUCHI,#00H;屏蔽其他波形MOVFANGB,#00HMOVTIXIN,#00HAJMPSJB;跳轉(zhuǎn)到三角波形W2:CJNEA,#02H,W3;判斷02鍵是否按下MOVTIXIN,#00HMOVJUCHI,#00H;屏蔽其他波形MOVSANJI,#00HAJMPFB;跳轉(zhuǎn)到方波W3:CJNEA,#03H,W4;判斷03鍵是否按下,沒有按下,跳轉(zhuǎn)回去繼續(xù)循環(huán)掃描MOVJUCHI,#00H;屏蔽其他波形MOVSANJI,#00HMOVFANGB,#00HAJMPTXB;跳轉(zhuǎn)到梯形波W4
30、:AJMPSTART;*INTT0:;中斷程序;*鍵盤掃描子程序KEY*KEY:ACALLKS;調(diào)按鍵查詢子程序,判斷是否有鍵按下JNZK1;有鍵按下,轉(zhuǎn)移 WEI1跳轉(zhuǎn)ACALLDELAY;無鍵按下,調(diào)延時程序去抖AJMPK4;繼續(xù)查詢按鍵;*鍵盤逐列掃描程序*K1:ACALLDELAYACALLKS;再次判別是否有鍵按下JNZK2;有鍵按下,轉(zhuǎn)移AJMPK4K2:MOVR3,#0FEH;首列掃描字送R3MOVR4,#00H;首列號送R4K3MOVA,R3MOVP2,A;列掃描字送P2口MOVP1,#0FFH;初始化P1口MOVA,P1;讀取行掃描值JBACC.0,L1;第零行無鍵按下轉(zhuǎn)查第一行為1跳轉(zhuǎn)MOVA,#00H;第零行有鍵按下,行首鍵號送AAJMPLK;轉(zhuǎn)求鍵號L1:JBACC.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度石油化工設(shè)備采購合同規(guī)范2篇
- 二零二五年集裝箱碼頭運營與管理合同
- 2025年度設(shè)備借用與環(huán)保監(jiān)測服務(wù)合同范本3篇
- 2025年度保安人員交通疏導(dǎo)勞務(wù)合同3篇
- 2025年度物流服務(wù)合同運輸保險補充協(xié)議3篇
- 2025年新科版九年級地理下冊階段測試試卷
- 新蘇教版一年級數(shù)學下冊第二單元第2課時《認識長方形、正方形、三角形和圓(2)》教案
- 2025年牛津上海版七年級歷史下冊月考試卷含答案
- 2025年度新型節(jié)能門窗分包安裝合同
- 2025-2030年中國中壓變頻器行業(yè)市場競爭格局及前景趨勢預(yù)測報告
- 2024-2025高考英語全國卷分類匯編之完型填空(含答案及解析)
- 2024年露天煤礦地質(zhì)勘查服務(wù)協(xié)議版
- 兩人退股協(xié)議書范文合伙人簽字
- 2024年資格考試-WSET二級認證考試近5年真題附答案
- 2024年重慶南開(融僑)中學中考三模英語試題含答案
- 2024屆新高考數(shù)學大題訓練:數(shù)列(30題)(解析版)
- 四年級數(shù)學下冊計算題(每日一練13份)
- 虛擬現(xiàn)實技術(shù)應(yīng)用
- 項目風險記錄及跟蹤表
- 50以內(nèi)加減法口算題卡(1000道打印版)每日100道
- 《生物發(fā)酵行業(yè)智能制造第2部分:生物反應(yīng)器》
評論
0/150
提交評論