wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6966|回復(fù): 1
收起左側(cè)

簡易數(shù)控直流電源設(shè)計論文

[復(fù)制鏈接]
ID:212598 發(fā)表于 2017-6-19 15:07 | 顯示全部樓層 |閱讀模式
簡易數(shù)控直流電源設(shè)計
1 設(shè)計任務(wù)
設(shè)計出有一定輸出電壓范圍和功能的數(shù)控電源。
2 設(shè)計要求
(1)輸出電壓:范圍0~+9.9V,步進(jìn)0.1V,紋波不大于10mV;
(2)輸出電壓值由LCD顯示;
(3)由“+”、“-”兩鍵分別控制輸出電壓步進(jìn)增減;
(4)輸出電壓可預(yù)置在0~9.9V之間的任意一個值;
5)自制鍵盤設(shè)置電壓值。
3 設(shè)計原理與總體方案
3.1  總體設(shè)計方案
鑒于目前數(shù)控直流源一般采取運(yùn)放構(gòu)成的電流-電壓轉(zhuǎn)換電路與單片機(jī)結(jié)合,設(shè)計方案大多為開環(huán)系統(tǒng),主控制器僅用于數(shù)字給定及顯示,沒有對輸出電流進(jìn)行檢測和控制。本文在傳統(tǒng)電路設(shè)計的基礎(chǔ)上,利用控制系統(tǒng)中反饋與控制原理,引入電流負(fù)反饋,在采樣電阻上獲取和電流成正比的采樣電壓,并接人運(yùn)算放大器的反向輸入端,實現(xiàn)負(fù)反饋,形成恒流輸出的閉環(huán)控制系統(tǒng);
軟件方面,將具有全局尋優(yōu)能力但收斂速度慢的遺傳算法和具有收斂速度快且局部尋優(yōu)能力強(qiáng)的直接搜索法結(jié)合在一起,設(shè)計基于遺傳算法和直接搜索策略的混合優(yōu)化算法,充分利用了遺傳算法的全局搜索能力并以此作為優(yōu)化過程的“粗調(diào)”,同時利用直接搜索法良好的局部搜索能力作為優(yōu)化過程的“微調(diào)”,集中了兩者的優(yōu)點,而克服了兩者的弱點,得到的目標(biāo)函數(shù)值較遺傳退火策略更優(yōu),而且一致性更好,用于PID參數(shù)整定是具有整定速度快,調(diào)節(jié)時間短,穩(wěn)態(tài)誤差小等優(yōu)點。同時結(jié)合PID算法,形成軟件閉環(huán),實現(xiàn)對輸出電流的精確控制。
系統(tǒng)工作原理如下:由鍵盤預(yù)置電壓值,輸入到單片機(jī);采樣電阻采集的電壓信號經(jīng)D/A轉(zhuǎn)換器送入單片機(jī),當(dāng)兩值之差絕對值為零或不大于設(shè)定值時,不作任何調(diào)整;當(dāng)兩值之差大于設(shè)定值時,運(yùn)用PID算法進(jìn)行調(diào)整,送人D/A轉(zhuǎn)換,調(diào)整輸出電壓,直到差值在允許的范圍內(nèi)。單片機(jī)控制液晶顯示電流的設(shè)定值、實際輸出值和電壓步進(jìn)值。
3.2  顯示模塊選擇
LCDLiquid Crystal Display)顯示器是利用液晶顯示技術(shù)來進(jìn)行圖像表現(xiàn)的顯示裝置,從液晶顯示器的結(jié)構(gòu)來看,無論是筆記本電腦還是桌面系統(tǒng),采用的LCD顯示屏都是由不同部分組成的分層結(jié)構(gòu)。LCD顯示器按照控制方式不同可分為被動矩陣式LCD及主動矩陣式LCD兩種。
LCD由兩塊玻璃板構(gòu)成,厚約1mm,其間由包含有液晶材料的5μm均勻間隔隔開。因為液晶材料本身并不發(fā)光,所以在顯示屏兩邊都設(shè)有作為光源的燈管,而在液晶顯示屏背面有一塊背光板(或稱勻光板)和反光膜,背光板是由熒光物質(zhì)組成的可以發(fā)射光線,其作用主要是提供均勻的背景光源。
背光板發(fā)出的光線在穿過第一層偏振過濾層之后進(jìn)入包含成千上萬液晶液滴的液晶層。液晶層中的液滴都被包含在細(xì)小的單元格結(jié)構(gòu)中,一個或多個單元格構(gòu)成屏幕上的一個像素。在玻璃板與液晶材料之間是透明的電極,電極分為行和列,在行與列的交叉點上,通過改變電壓而改變液晶的旋光狀態(tài),液晶材料的作用類似于一個個小的光閥。在液晶材料周邊是控制電路部分和驅(qū)動電路部分。當(dāng)LCD中的電極產(chǎn)生電場時,液晶分子就會產(chǎn)生扭曲,從而將穿越其中的光線進(jìn)行有規(guī)則的折射,然后經(jīng)過第二層過濾層的過濾在屏幕上顯示出來。
3.3鍵盤選擇
鍵盤實際上是一組開關(guān)的集合:當(dāng)開關(guān)按下時,兩根導(dǎo)線接通;當(dāng)開關(guān)釋放時,兩根導(dǎo)線斷開。我們通過鍵盤的輸入設(shè)置預(yù)置值。
3.3.1高低電平翻轉(zhuǎn)矩陣鍵盤
矩陣鍵盤又稱行列鍵盤,它是用四條I/O線作為行線,四條I/O線作為列線組成的鍵盤。在行線和列線的每個交叉點上設(shè)置一個按鍵。這樣鍵盤上按鍵的個數(shù)就為4*4個。這種行列式鍵盤結(jié)構(gòu)能有效地提高單片機(jī)系統(tǒng)中I/O口
最常見的鍵盤一般由16個按鍵組成,在單片機(jī)中正好可以用一個P口實現(xiàn)16個按鍵功能。當(dāng)無按鍵閉合時,P3.0~P3.3與P3.4~P3.7之間開路。當(dāng)有鍵閉合時,與閉合鍵相連的兩條I/O口線之間短路。判斷有無按鍵按下的方法是:第一步,置列線P3.4~P3.7為輸入狀態(tài),從行線P3.0~P3.3輸出低電平,讀入列線數(shù)據(jù),若某一列線為低電平,則該列線上有鍵閉合。第二步,行線輪流輸出低電平,從列線P3.4~P3.7讀入數(shù)據(jù),若有某一列為低電平,則對應(yīng)行線上有鍵按下。綜合一二兩步的結(jié)果,可確定按鍵編號。但是鍵閉合一次只能進(jìn)行一次鍵功能操作,因此須等到按鍵釋放后,再進(jìn)行鍵功能操作,否則按一次鍵,有可能會連續(xù)多次進(jìn)行同樣的鍵操作。
識別按鍵的方法很多其中,最常見的方法是掃描法
按鍵按下時,與此鍵相連的行線與列線導(dǎo)通,行線在無按鍵按下時處在高電平。如果所有的列線都處在高電平,則按鍵按下與否不會引起行線電平的變化,因此必須使所有列線處在電平。這樣,當(dāng)有按鍵按下時,改鍵所在的行電平才回由高變低。才能判斷相應(yīng)的行有鍵按下。
3.3.2獨(dú)立按鍵式鍵盤
獨(dú)立按鍵式直接用I/O口線構(gòu)成的單個按鍵電路,其特點式每個按鍵單獨(dú)占用一根I/O口線,每個按鍵的工作不會影響其他I/O口線的狀態(tài)。獨(dú)立按鍵的典型應(yīng)用如圖所示。獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一個I/O口線,因此,在按鍵較多時,I/O口線浪費(fèi)較大,不宜采用。
獨(dú)立按鍵的軟件常采用查詢式結(jié)構(gòu)。先逐位查詢沒跟I/O口線的輸入狀態(tài),如某一根I/O口線輸入為低電平,則可確認(rèn)該I/O口線所對應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序。
獨(dú)立按鍵數(shù)量少,可根據(jù)實際需要靈活編碼。矩陣鍵盤,按鍵的位置由行號和列號唯一確定,因此可以分別對行號和列號進(jìn)行二進(jìn)制編碼,然后兩值合成一個字節(jié),高4位是行號,低4位是列號。相比較而言高低電平反轉(zhuǎn)矩陣鍵盤占用的I/O接口少,實現(xiàn)的鍵數(shù)較多,比較符合我們的設(shè)計需求。
3.4主控芯片選擇
51系列是基本型,包括8051、8751、8031、8951.這四個機(jī)種區(qū)別,僅在于片內(nèi)程序儲存器。8051為4KBROM,8751為4KBEPROM,8031片內(nèi)無程序儲存器,8951為4KBEEPROM。其他性能結(jié)構(gòu)一樣,有片內(nèi)128B RAM,2個16位定時器/計數(shù)器,5個中斷源。其中,8031性價比較高,又易于開發(fā),目前應(yīng)用面廣泛。
51系列單片機(jī)的特點8位cpu片內(nèi)帶振蕩器,頻率范圍為1.2MHz~12MHz片內(nèi)帶128B的數(shù)據(jù)存儲器片內(nèi)帶4KB的程序存儲器程序存儲器的尋址空間為64KB片外數(shù)據(jù)存儲器的尋址空間為64KB128個用戶位尋址空間21個字節(jié)特殊功能寄存器4個8位的I/O并行接口P0、P1、P2、P3兩個16位定時、計數(shù)器兩個優(yōu)先級別的五個中斷源一個全雙工的串行I/O接口,可多機(jī)通信111條指令,包含乘法指令和除法指令片內(nèi)采用單總線結(jié)構(gòu)有較強(qiáng)的位處理能力采用單一+5V電源

file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3001.tmp.png
1  MCS-51基本結(jié)構(gòu)圖
4 硬件電路設(shè)計
總體設(shè)計圖:

file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3002.tmp.jpg
2  電路設(shè)計圖
4.1 DAC電路
一個8位D/A轉(zhuǎn)換器有8個輸入端(其中每個輸入端是8位二進(jìn)制數(shù)的一位),有一個模擬輸出端。輸入可有2^8=256個不同的二進(jìn)制組態(tài),輸出為256個電壓之一,即輸出電壓不是整個電壓范圍內(nèi)任意值,而只能是256個可能值。下圖DAC0832的邏輯框圖和引腳排列。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3012.tmp.jpg
3  DAC0832的邏輯框圖和引腳排列
D0~D7:數(shù)字信號輸入端。
ILE:輸入寄存器允許,高電平有效。
CS:片選信號,低電平有效。
XFER:傳送控制信號,低電平有效。
WR1:寫信號1,低電平有效。
WR2:寫信號2,低電平有效。
IOUT1、IOUT2:DAC電流輸出端。
Rfb:是集成在片內(nèi)的外接運(yùn)放的反饋電阻。
Vref:基準(zhǔn)電壓(-10~10V)。
Vcc:是源電壓(+5~+15V)。
DAC0832輸出的是電流,所以須經(jīng)過一個外接的運(yùn)算放大器轉(zhuǎn)換成電壓。
AGND:模擬地 NGND:數(shù)字地,可與AGND接在一起使用。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3013.tmp.jpg
4  DAC電路
4.2矩陣鍵盤模塊
在鍵盤中按鍵數(shù)量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式,如圖4所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如P1口)就可以構(gòu)成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3024.tmp.jpg
5  矩陣式鍵盤


file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3035.tmp.jpg
6  鍵盤電路設(shè)計
4.3 顯示部分
1602液晶也叫1602字符型液晶,它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。
1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1引腳:GND為電源地;第2引腳:VCC接5V電源正極;第3引腳:V0為液晶顯示器對比度調(diào)整端;第4引腳:RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器;第5引腳:RW為讀寫信號線,高電平(1)時進(jìn)行讀操作,低電平(0)時進(jìn)行寫操作;第6引腳:E(或EN)端為使能端,高電平(1)時讀取信息,負(fù)跳變時執(zhí)行指令;第7~14引腳:D0~D7為8位雙向數(shù)據(jù)端。第15~16腳:空腳或背燈電源。第15引腳背光正極,第16引腳背光負(fù)極。
編號
符號
引腳說明
編號
符號
引腳說明
[size=12.0000pt]1
VSS
電源地
[size=12.0000pt]9
D2
數(shù)據(jù)
[size=12.0000pt]2
VDD
電源正極
10
D3
數(shù)據(jù)
[size=12.0000pt]3
VL
液晶顯示偏壓
11
D4
數(shù)據(jù)
[size=12.0000pt]4
RS
數(shù)據(jù)/命令選擇
12
D5
數(shù)據(jù)
[size=12.0000pt]5
R/W
讀/寫選擇
13
D6
數(shù)據(jù)
[size=12.0000pt]6
[size=12.0000pt]E
使能信號
14
D7
數(shù)據(jù)
[size=12.0000pt]7
D0
數(shù)據(jù)
15
BLA
背光源正極
[size=12.0000pt]8
D1
數(shù)據(jù)
16
BLK
背光源負(fù)極
1  液晶1602A各個管腳的介紹
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3045.tmp.jpg
7  LCD電路設(shè)計
4.4 自制電源模塊
自制電源輸出+12V、-12V及+5V的電壓
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3046.tmp.jpg
8 自制電源
4.5 主控芯片
AT89C51 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)Flash 閃速存儲器128字節(jié)內(nèi)部RAM,32 個I/O 口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3057.tmp.jpg
9 主控芯片電路
4.6 放大電路
放大電路是增加電信號幅度或功率的電子電路。應(yīng)用放大電路實現(xiàn)放大的裝置稱為放大器。它的核心是電子有源器件,如電子管、晶體管等。為了實現(xiàn)放大,必須給放大器提供能量。常用的能源是直流電源,但有的放大器也利用高頻電源作為泵浦源。放大作用的實質(zhì)是把電源的能量轉(zhuǎn)移給輸出信號。
放大電路本身的特點:
一、有靜態(tài)和動態(tài)兩種工作狀態(tài),所以有時往往要畫出它的直流通路和交流通路才能進(jìn)行分析;
二、電路往往加有負(fù)反饋,這種反饋有時在本級內(nèi),有時是從后級反饋到前級,所以在分析這一級時還要能"瞻前顧后"。在弄通每一級的原理之后就可以把整個電路串通起來進(jìn)行全面綜合。

file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3058.tmp.jpg
10  放大電路





5 軟件設(shè)計流程
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3068.tmp.jpg
11  軟件設(shè)計流程圖
注:在穩(wěn)壓輸出端用萬用表的電壓檔測輸出電壓,將會基本等于從鍵盤的輸入電壓。

6 仿真
6.1 仿真問題及解決
(1)D/A轉(zhuǎn)換電路沒有正常工作;
問題原因:D0-D7接口出現(xiàn)錯誤。
(2)步進(jìn)0.1的程序出現(xiàn)問題;
問題原因:沒有寫入浮點型函數(shù)。

6.2 仿真結(jié)果及分析
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps3069.tmp.jpgfile:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps307A.tmp.jpg
12  輸入3.2V電壓時的仿真輸出值
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps307B.tmp.jpgfile:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps308C.tmp.jpg
13  輸入5.9V電壓時的仿真輸出值
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps308D.tmp.jpgfile:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps309D.tmp.jpg
14  輸入6.3V電壓時的仿真輸出值
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps309E.tmp.jpgfile:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps309F.tmp.jpg
15  輸入8.3V電壓時的仿真輸出值
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps30B0.tmp.jpgfile:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps30B1.tmp.jpg
16  輸入9.1V電壓時的仿真輸出值

穩(wěn)壓輸出端所測電壓(V)
從鍵盤輸入的電壓(V)
誤差
0
0
0
1.22
1.2
0.02
2.39
2.4
0.01
3.61
3.6
0.01
4.51
4.5
0.01
5.32
5.3
0.02
6.73
6.7
0.03
7.91
7.9
0.01
8.81
8.8
0.1
9.12
9.1
0.02
2  測得的數(shù)據(jù)和從鍵盤輸入的數(shù)據(jù)
數(shù)據(jù)分析:
誤差不超過0.03
誤差分析:
(1)電路中元器件的影響
(2)外界對輸出電壓的干擾,導(dǎo)致輸出有誤差


參考文獻(xiàn)
1]唐俊瞿,許雷,張群瞻.單片機(jī)原理與應(yīng)用[M].北京:冶金工業(yè)出版社,2003
2]李廣弟,朱月秀,冷祖祁.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2007
3]李光飛.單片機(jī)課程設(shè)計實例指導(dǎo)[M].北京:北京航空航天大學(xué)出版社,2004.9
4]張洪潤,蘭清華.單片機(jī)應(yīng)用技術(shù)教程[M].北京:清華大學(xué)出版社,1997.11
5]李華.MCS51系列單片機(jī)實用接口技術(shù)[M]..北京:北京航空航天大學(xué)出版社,1993
6]李朝青.單片機(jī)原理及接口技術(shù)[M]..北京:北京航空航天大學(xué)出版社,1998



附錄
仿真圖
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps30C2.tmp.jpg

源程序
#include<reg51.h>   /*頭文件以及變量定義*/
#include<math.h>
#define uchar unsigned char
#define uint unsigned int
sbit rs=P2^4;
sbit rw=P2^5;
sbit ea=P2^6;
uchar num,i,key,j=0;
float a2;
uchar keyscan(void);
uchar code table[6]="Please";
uchar code table1[16]=" enter letter...";
uchar code table2[16]="0123456789abcde.";
float  table3[6];
uchar code table4[8]="volt(v):";
uchar code table5[6]="error!";
uchar  table6[6];
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}

void write_com(uchar com)
{
rs=0;           
rw=0;         
P0=com;
delay(5);
ea=1;               
delay(5);
ea=0;
}
void write_date(uchar date)
{
rs=1;               
rw=0;
P0=date;
delay(5);
ea=1;
delay(5);
ea=0;
}
void disvol()
{
                write_com(0x80+0x40);                 //寫電壓
                for(num=0;num<8;num++)         
                   {
                    write_date(table4[num]);
                    delay(10);
                   }               
}

void init()
{
delay(5);
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
write_com(0x80);
for(num=0;num<6;num++)
  {
   write_date(table[num]);         
   delay(20);
  }
write_com(0x80+0x40);   
for(num=0;num<0x10;num++)         
  {
    write_date(table1[num]);   
    delay(20);
   }
}
void diserr()
{
           write_com(0x80+0x40);        
           for(num=0;num<6;num++)
           {
            write_date(table5[num]);        
                delay(20);
           }
           delay(2000);        
}

void he_zhi()
{
uint a1,a3,c11,c12;
float b1,b2,b3,b4,c1,c2,h;
if(table3[0]!='.')           //整數(shù)加點
{
         if(!table3[1])
         {
                 if(j==1)
                {
                         table3[1]='.';
                }
         }

         if(!table3[2])
         {
                 if(j==2)
                {
                        table3[2]='.';
                }
         }

if(table3[1]=='.')
         {         
                 b1=table3[0];
                 b2=table3[2]/10;
                 b3=table3[3]/100;
                 h=b1+b2+b3;
                 a2=h*256/10;
                 a3=a2;
                 a1=a3+1;
                 c1=a2-a3;
                 c2=a1-a2;
                 c11=1000*c1;
                 c12=1000*c2;
                 if(c11>c12)
                 {
                 P1=a1;
                 }
                 else
                 {
                  P1=a3;
                 }
                 //光標(biāo)顯示位
                 if(j==1)
                 {
                         write_com(0x80+0x49);        
                 }                                          
                 if(j==3)
                 {
                         write_com(0x80+0x4b);
                 }
                 if(j==4)
                 {
                         write_com(0x80+0x4c);
                 }

         }

else if(table3[2]=='.')
         {         
                  b1=table3[0]*10;
                  b2=table3[1];
                  b3=table3[3]/10;
                  b4=table3[4]/100;
                  h=b1+b2+b3+b4;
                  if(h<=10)
          {
                                 a2=h*256/10;
                                 a3=a2;
                                 a1=a3+1;
                                 c1=a2-a3;
                                 c2=a1-a2;
                                 c11=1000*c1;
                                 c12=1000*c2;
                                 if(c11>c12)
                                 {
                                         P1=a1;
                                 }
                                 else                 
                                 {
                                         if(a3==256)  
                                         {
                                             P1=255;
                                         }
                                         else                  
                                         {
                                                    P1=a3;
                                         }
                                 }                                 
                 if(j==2)
                 {
                         write_com(0x80+0x4a);        
                 }

        }



                         else
                          {
                                          write_com(0x01);
                                        diserr();               
                          }        
        }
        else
                {
                        write_com(0x01);
                        diserr();        
                }
}

        if(table3[0]=='.')
        {
           write_com(0x01);
           diserr();               
        }

}




void qingchu(uchar p)
{        
        uchar z;
        for(z=0;z<=5;z++)
        {
        table3[z]=p;
        }
}
void jia(uchar dat)    //步進(jìn)函數(shù)
{
         switch(dat)
        {
                case 0:        write_date(table2[1]);
                                break;
                case 1:        write_date(table2[2]);
                                break;
                case 2:        write_date(table2[3]);
                                break;
                case 3:        write_date(table2[4]);
                                break;
                case 4:        write_date(table2[5]);
                                break;
                case 5:        write_date(table2[6]);
                                break;
                case 6:        write_date(table2[7]);
                                break;
                case 7:        write_date(table2[8]);
                                break;
                case 8:        write_date(table2[9]);
                                break;
                case 9:        write_date(table2[0]);
                                break;
        }
        table3[2]++;
        if(table3[2]==10)
        table3[2]=0;
}
void jian(uchar dat)
{
         switch(dat)
        {
                case 0:        write_date(table2[9]);
                                break;
                case 1:        write_date(table2[0]);
                                break;
                case 2:        write_date(table2[1]);
                                break;
                case 3:        write_date(table2[2]);
                                break;
                case 4:        write_date(table2[3]);
                                break;
                case 5:        write_date(table2[4]);
                                break;
                case 6:        write_date(table2[5]);
                                break;
                case 7:        write_date(table2[6]);
                                break;
                case 8:        write_date(table2[7]);
                                break;
                case 9:        write_date(table2[8]);
                                break;
        }
        table3[2]--;
        if(table3[2]==-1)
        table3[2]=9;
}

void main()
{
init();

delay(4500);
write_com(0x01);
write_com(0x80+0x40);
write_com(0x0f);
disvol();
i=0x80+0x48;

while(1)
{
key=keyscan();                          
delay(100);
switch(key)
{         
  case 0xee:write_com(i);
           write_date(table2[0]);table3[j]=0;j++;         //  table2[16]="0123456789abcde."
                        i++;
                        break;//0
  case 0xde:write_com(i);
            write_date(table2[1]);table3[j]=1;j++;
                        i++;
                        break;//1
  case 0xbe:write_com(i);
            write_date(table2[2]);table3[j]=2;j++;
                        i++;break;//2
  case 0x7e:write_com(i);
            write_date(table2[3]);table3[j]=3;j++;
                        i++;break;//3
  case 0xed:write_com(i);
            write_date(table2[4]);table3[j]=4;j++;
                        i++;break;//4
  case 0xdd:write_com(i);
            write_date(table2[5]);table3[j]=5;j++;
                        i++;break;//5
  case 0xbd:write_com(i);
            write_date(table2[6]);table3[j]=6;j++;
                        i++;break;//6
  case 0x7d:write_com(i);
            write_date(table2[7]);table3[j]=7;j++;
                        i++;break;//7
  case 0xeb:write_com(i);
            write_date(table2[8]);table3[j]=8;j++;
                        i++;break;//8
  case 0xdb:write_com(i);
            write_date(table2[9]);table3[j]=9;j++;
                        i++;break;//9
  case 0xe7:write_com(i);
            write_date(table2[15]);table3[j]='.';j++;
                        i++;break;
case 0xbb:write_com(0x80+0x48+2);
                        jia(table3[2]);
                        break;//
  case 0x7b:write_com(0x80+0x48+2);
                        jian(table3[2]);                        
                        break;//        
  case 0xd7:he_zhi();
                         i=0x80+0x48;  
                        j=0;         
                        break;
  case 0xb7:write_com(0x01);
                        qingchu(0);
                        j=0;
                        disvol();
                        write_com(0x80+0x48);
                        i=0x80+0x48;
                        break;

}
}
}
uchar keyscan(void)
{
uchar cord_h,cord_l;
P3=0x0f;            
cord_h=P3&0x0f;     
if(cord_h!=0x0f)   
{
  delay(100);        
  if(cord_h!=0x0f)
  {
    cord_h=P3&0x0f;  
    P3=cord_h|0xf0;
    cord_l=P3&0xf0;  
    return(cord_h+cord_l);
   }
  }return(0xff);   
}


回復(fù)

使用道具 舉報

ID:298092 發(fā)表于 2018-6-30 16:11 | 顯示全部樓層
圖全掛了
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
97超碰人人爱| 原创国产精品91| 成人午夜精品久久久久久久蜜臀| 污污网站免费在线观看| 91免费精品国偷自产在线在线| 午夜精品123| 小泽玛利亚av在线| 国产成在线观看免费视频| 日韩精品欧美| 国产一区二区三区欧美| 在线免费观看黄色小视频| 毛片网站在线观看| 91片黄在线观看| 俄罗斯精品一区二区三区| 国产又粗又猛又爽又黄的| av在线成人| 欧美精品久久99| 亚洲最大综合网| 交视频在线观看国产| 老色鬼精品视频在线观看播放| 日韩av电影在线网| 亚洲黄色激情视频| 日本黄色一区| 欧美日韩在线电影| 成人日韩在线视频| 亚洲超碰在线| 99久久久久久| 玛丽玛丽电影原版免费观看1977 | 伊人网在线观看| 成人国产电影网| 国产免费高清一区| 亚洲天堂视频在线观看免费| 青青草综合网| 久久亚洲国产精品| 久久久久久久九九九九| 日韩欧美一区二区三区免费观看| 色狠狠桃花综合| 日本激情视频在线播放| 最新亚洲人成网站在线观看| 99国产精品久| 日韩亚洲一区在线播放| 国产精品自产拍在线观看2019| 日韩欧美一区二区三区免费观看| 欧美日韩国产精品一区二区三区四区| 欧美日本视频在线观看| 成视频在线观看免费观看| 国产美女在线观看一区| 九色一区二区| 欧美一区二区三区播放| 国产亚洲毛片在线| 国产日韩欧美影视| 开心激情综合网| 亚洲在线久久| 4k岛国日韩精品**专区| 中文字幕日本视频| 天堂在线精品| 久久精品一偷一偷国产| 国产无套内射又大又猛又粗又爽| 78精品国产综合久久香蕉| 日韩免费视频一区| 国产精品久久久久无码av色戒| 久久亚洲导航| 在线精品视频免费观看| 香蕉视频免费网站| www在线视频| 色伊人久久综合中文字幕| 中文字幕剧情在线观看| 毛片免费不卡| 色8久久人人97超碰香蕉987| 三级黄色片播放| 国产在线激情视频| 色噜噜狠狠一区二区三区果冻| 韩国一区二区在线播放| 黄色国产网站在线播放| 欧美日韩性生活视频| 手机av在线网站| 视频一区二区三区不卡| 欧美性色视频在线| 成人在线电影网站| av资源中文在线| 欧美一区二区在线免费播放| 中文字幕免费视频| 亚洲国产尤物| 亚洲女人被黑人巨大进入| 色在线观看视频| 爱高潮www亚洲精品| 久久夜色精品国产欧美乱| 国产免费一级视频| 日韩综合精品| 国产精品久久久亚洲| 亚洲人午夜射精精品日韩| 国产欧美一区二区三区国产幕精品| 亚洲成人av中文字幕| 国产精品酒店视频| 国产一区 二区| 中文字幕日韩欧美| 日本欧美www| 日韩欧美视频专区| 国产精品专区h在线观看| 2018中文字幕在线观看| 日本伊人精品一区二区三区观看方式 | 成人免费黄色av| a篇片在线观看网站| 欧美日韩一区二区三区免费看| 国产成人福利在线| 97久久中文字幕| www.欧美精品一二三区| 中文字幕日产av| 伊人情人综合网| 91在线网站视频| 一个人看的www视频免费观看| 处破女av一区二区| 欧美国产综合在线| 国产在线你懂得| 欧美亚洲综合网| 内射毛片内射国产夫妻| 视频一区日韩| 欧美精品国产精品日韩精品| 亚洲福利在线观看视频| 先锋亚洲精品| 日韩欧美一区二区视频在线播放| 69日小视频在线观看| 樱桃国产成人精品视频| 欧美图片自拍偷拍| 精品久久久网| 久久综合久中文字幕青草| 国产免费无遮挡| 欧美亚洲一区二区三区| 欧美综合激情| 国产69精品久久久久孕妇| 亚洲电影第三页| 97超碰在线资源| 哺乳挤奶一区二区三区免费看| 国外成人在线视频| 在线播放一区二区精品产| 国产成人三级在线观看| 人妻熟妇乱又伦精品视频| 国产在线更新| 亚洲黄色av网站| 特级西西444www高清大视频| 18成人免费观看视频| 麻豆精品蜜桃一区二区三区| fc2人成共享视频在线观看| 欧美色播在线播放| 成人在线国产视频| 黄色国产在线| 欧美一级在线免费| 国产精品黄色大片| 精品动漫3d一区二区三区免费版 | 中日韩在线视频| a黄色在线观看| 精品人伦一区二区色婷婷| 国产成人精品777777| 99视频在线精品国自产拍免费观看| 欧美成人免费在线| 三级做a全过程在线观看| 欧美精品日韩一区| 91video| 国产精品毛片在线| japanese在线播放| 污片在线免费观看| 少妇激情综合网| 亚洲色图另类小说| 99这里都是精品| 国产亚洲色婷婷久久| 4438五月综合| 国产精品女人久久久久久| 黄色三级小视频| 午夜国产精品影院在线观看| 顶级黑人搡bbw搡bbbb搡| 国产精品久久久久久久免费观看| 精品久久sese| 极品美乳网红视频免费在线观看| 精品久久久久久久久久久院品网 | 亚洲午夜日本在线观看| 好吊日在线视频| 狠狠爱www人成狠狠爱综合网| 婷婷久久伊人| 国产精品va在线观看视色| 中文字幕亚洲欧美一区二区三区| 亚洲人成绝费网站色ww| 国产日产精品1区| 人人妻人人藻人人爽欧美一区| 天堂资源在线亚洲| 免费观看国产成人| 欧美三级电影一区二区三区| 国产一区二区三区视频在线观看 | 中文字幕视频三区| 日本高清久久| 99re资源| 国产在线小视频| 伊人伊成久久人综合网站| 最近更新在线中文字幕一页| 中文字幕精品一区二区三区精品| www.黄色在线| 欧美91大片| 久久这里只有精品18| 在线观看的黄色| 日本一区二区三区在线播放| 天天撸夜夜操| 91精品国产综合久久香蕉麻豆| 亚洲天堂手机在线| 成人高清免费观看| 三级电影在线看| 999久久久91| 精品一区二区成人免费视频| 精精国产xxxx视频在线野外| 欧美亚洲视频一区二区| 亚洲综合网av| 丰满白嫩尤物一区二区| 国产高潮失禁喷水爽到抽搐| 国产91一区| 亚洲一区二区三区免费看| 182在线视频观看| 日韩免费在线观看视频| 好男人看片在线观看免费观看国语| 日韩一区二区在线观看视频 | 四虎免费播放| 亚洲综合激情小说| 黄色片免费观看视频| 狠狠网亚洲精品| 大尺度做爰床戏呻吟舒畅| 日韩成人三级| 成人在线国产视频| 精品国产亚洲日本| 国产欧美一区二区在线播放| 中文字幕在线观看日本| 欧美精品一区二区三区国产精品 | 久草免费在线播放| 亚洲成人av在线播放| 欧美黑人ⅹxxx另类猛交| 午夜精品福利一区二区三区av| 中日韩在线观看视频| 久久日一线二线三线suv| 欧美日韩色视频| 男人的天堂久久精品| 香蕉视频在线观看黄| 伊人久久大香线| 91av俱乐部| 国内成人精品| 99在线精品免费视频| 亚洲高清999| 亚洲草草视频| 久久久久毛片| 久久日韩精品| 三上悠亚一区二区| 国产aⅴ精品一区二区三区黄| dy888亚洲精品一区二区三区| 欧美最猛黑人xxxx黑人猛叫黄| 中文字幕在线视频网| 久久精品国产69国产精品亚洲| 天天干夜夜艹| 亚洲图片欧美午夜| 88av看到爽| 亚洲欧美一区二区精品久久久| 私人玩物在线观看| 日韩欧美高清一区| 国产剧情av片巨作醉酒女邻居 | 国产精品9191| 大桥未久av一区二区三区中文| 韩国一级黄色录像| 国产精品影音先锋| 99久久久无码国产精品不卡| 另类小说一区二区三区| 国产激情在线免费观看| 日韩在线卡一卡二| 国产精品久久不卡| 三级影片在线观看欧美日韩一区二区| 69xxx免费视频| 国产精品一二| 免费无码一区二区三区| 啪啪av大全导航福利综合导航| 国产美女精品在线观看| 久久青青视频| 欧美最大成人综合网| 曰本一区二区| 好色先生视频污| 欧美美女在线直播| 少妇人妻在线视频| 日韩久久视频| 日韩欧美国产片| 激情丁香综合| 成熟妇人a片免费看网站| 麻豆精品网站| 小早川怜子久久精品中文字幕| 麻豆成人综合网| 在线观看天堂av| 丁香六月综合激情| 91精品国产乱码久久久张津瑜| 国产女人水真多18毛片18精品视频 | 欧美成年网站| 日韩一区二区高清视频| 婷婷精品在线观看| 性生交免费视频| 尹人成人综合网| 国产激情视频网站| 极品销魂美女一区二区三区| 内射一区二区三区| 久久久久久99久久久精品网站| 无码人妻丰满熟妇区五十路| 亚洲理论在线观看| 亚洲国产精彩视频| 欧美日韩中字一区| free极度另类性欧美| 亚洲精品在线91| 女生裸体视频网站免费观看| 欧美黑人国产人伦爽爽爽| 成人午夜影视| 97av自拍| www欧美在线观看| 韩日视频在线观看| 99久久.com| 亚洲男女在线观看| 国产成人午夜精品影院观看视频| 国产精品suv一区二区三区| 亚洲人精品一区| 9.1人成人免费视频网站| 日韩欧美黄色影院| 黄网站免费入口| 97超级碰碰人国产在线观看| 秋霞在线午夜| 五月天婷亚洲天综合网鲁鲁鲁| 国产伦理久久久久久妇女 | 伊人影院在线观看视频| 男女激情视频一区| 精品一区免费观看| 一区二区三区免费在线观看| 区二区三区在线| 日韩成人中文电影| 成人频在线观看| 国产精品久久久久影院日本| 性欧美1819sex性高清| 2022中文字幕| 欧美黄在线观看| 日本免费www| 亚洲国产成人一区二区三区| 免费观看黄一级视频| 精品免费一区二区三区| 秋霞在线观看av| 国产精品免费久久久久影院| 日韩欧美一区二区三区免费观看 | 国产精品裸体瑜伽视频| 国产精品av久久久久久麻豆网| 成都免费高清电影| 国产色产综合色产在线视频| 亚洲免费一级片| 亚洲韩国欧洲国产日产av| 日本人妖在线| 韩国成人动漫在线观看| 日韩欧美影院| 亚洲午夜久久久久久久久| 不卡大黄网站免费看| 91成品人影院| 91精品国产91综合久久蜜臀| 国产在线黄色片| 国产精品一区二区在线| 电影91久久久| 国产一伦一伦一伦| 国产福利精品一区| 国产片在线播放| 精品国产91久久久久久久妲己| 亚洲精华国产精华| 国产综合动作在线观看| 国产精品一区高清| 久久久久久久毛片| 亚洲少妇最新在线视频| 国产欧美日韩精品综合| 欧美激情久久久| 欧美性suv| 日本888xxxx| 国产自产视频一区二区三区| 91麻豆国产视频| 精品国产123| 在线激情免费视频| 一区二区三区四区欧美日韩| 欧美日韩国产欧| 日本网站在线免费观看| 91传媒视频在线播放| 免费国产视频| 国模一区二区三区私拍视频| 操欧美老女人| 尤物在线免费视频| 色综合一个色综合亚洲| av激情网站| 国产精品一区二区不卡视频| 成人羞羞动漫| 国模无码国产精品视频| 色嗨嗨av一区二区三区| 男人本色网站| 明星裸体视频一区二区| 欧美fxxxxxx另类| 日韩精品一区二区三| 91精品国产麻豆国产自产在线| 欧美高清电影在线| 亚洲一二区在线 | 天天躁日日躁狠狠躁av麻豆男男 | 女同一区二区| 欧美日本三区| 日韩 国产 欧美| 亚洲国模精品一区|