版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE多語(yǔ)言網(wǎng)站解決方案多語(yǔ)言網(wǎng)站開(kāi)發(fā),重點(diǎn)的還是在解決語(yǔ)言之間的問(wèn)題。那如何解決這個(gè)問(wèn)題呢?大概就分三步走:1.頁(yè)面多語(yǔ)言2.數(shù)據(jù)庫(kù)多語(yǔ)言3.用戶訪問(wèn)語(yǔ)言統(tǒng)一1.頁(yè)面多語(yǔ)言需要考慮的問(wèn)題:A.用戶登陸時(shí)候,自動(dòng)識(shí)別字符,調(diào)用不同的語(yǔ)言包?B.用戶切換不同語(yǔ)言時(shí)候,調(diào)用不同的語(yǔ)言包?C.增加多語(yǔ)言后的目錄結(jié)構(gòu)?頁(yè)面多語(yǔ)言也就是外觀的多語(yǔ)言化,這里可以采用靜態(tài)的語(yǔ)言包的方式。設(shè)計(jì)時(shí)候就應(yīng)該包括language的目錄,針對(duì)不同語(yǔ)言有獨(dú)立的子目錄。如英文language/en,簡(jiǎn)體中文language/gb,繁體中文language/b5(可以擴(kuò)展其他語(yǔ)言)每個(gè)目錄下就包含了對(duì)每個(gè)頁(yè)面的語(yǔ)言版本。選擇語(yǔ)言版本時(shí)候就可以調(diào)用相應(yīng)版本的語(yǔ)言包。具體做法:0.利用js語(yǔ)言,識(shí)別瀏覽器語(yǔ)言,在調(diào)用不同的語(yǔ)言包.1.language/en/global.ln是針對(duì)英文版的全局語(yǔ)言包。2.global.ln內(nèi)容為:$title="Englishwebstie";$charset="UTF-8";3.index.php調(diào)用:<?phprequire_once()?>;<html>;<head>;<title>;$title<title>;<metahttp-equiv="content-type"content="text/html;charset=$charset">;</head>;<body>;</body>;</html>;這樣通過(guò)擴(kuò)展就可以實(shí)現(xiàn)頁(yè)面的多語(yǔ)言化.2.數(shù)據(jù)庫(kù)多語(yǔ)言這個(gè)考慮的問(wèn)題:A.后臺(tái)錄入數(shù)據(jù)的多語(yǔ)言化?B.用戶在不同版本下,提交的內(nèi)容,如何保存?C.提供三種語(yǔ)言包,還是提供英文和簡(jiǎn)體,簡(jiǎn)體通過(guò)轉(zhuǎn)化提供繁體?數(shù)據(jù)庫(kù)多語(yǔ)言就是達(dá)到多語(yǔ)言在數(shù)據(jù)庫(kù)里面的統(tǒng)一。就需要采用utf-8統(tǒng)一編碼。無(wú)論什么語(yǔ)言的文字,都統(tǒng)一使用utf-8來(lái)存放到數(shù)據(jù)庫(kù)里面。采用表字段來(lái)表識(shí)屬于什么語(yǔ)言版本的文字。具體:A.對(duì)于后臺(tái)添加的問(wèn)題:1.后臺(tái)添加時(shí)候,就需要多語(yǔ)言化的錄入。先建立一個(gè)以u(píng)tf-8編碼的數(shù)據(jù)庫(kù),錄入英文/簡(jiǎn)體,簡(jiǎn)體在通過(guò)轉(zhuǎn)化為繁體,再以u(píng)tf-8編碼方式存于數(shù)據(jù)庫(kù)中。2.建立以u(píng)tf-8為編碼的表結(jié)構(gòu),importlanguage標(biāo)識(shí)屬于什么語(yǔ)言版本但在某個(gè)版本下,就搜索屬于這個(gè)版本的文字來(lái)顯示。其他文字不顯示。DROPTABLEIFEXISTS`zz_importer`;CREATETABLEIFNOTEXISTS`zz_importer`(`importID`int(11)NOTNULLauto_increment,`importTime`dateNOTNULLdefault'0000-00-00',`improtfile`varchar(100)NOTNULLdefault'',`importlanguage`varchar(100)NOTNULLdefault''PRIMARYKEY(`importID`))ENGINE=MyISAMDEFAULTCHARSET=uft-8;3.簡(jiǎn)體轉(zhuǎn)化的繁體。利用php的iconv.此過(guò)程對(duì)于linux/unix有效,對(duì)于windows無(wú)效。iconv("GB2312","BIG5",$text);4.因?yàn)?charset="utf-8",數(shù)據(jù)就都是以u(píng)tf-8編碼方式存在,添加數(shù)據(jù)時(shí)候,要分別用en/gb/big5來(lái)標(biāo)識(shí)語(yǔ)言版本.INSERTINTO`zz_importer`VALUES(,'','','en');INSERTINTO`zz_importer`VALUES(,'','','gb');INSERTINTO`zz_importer`VALUES(,'','','big5');B.對(duì)于用戶添加的問(wèn)題:1.假設(shè)下簡(jiǎn)體中文下.用戶因?yàn)轫?yè)面頭為UTF-8.則用戶瀏覽器會(huì)以u(píng)tf-8編碼方式瀏覽頁(yè)面。2.添加的數(shù)據(jù)庫(kù)本身以u(píng)tf-8方式存在。3.添加數(shù)據(jù)時(shí)候,要分別用gb來(lái)標(biāo)識(shí)語(yǔ)言版本INSERTINTO`zz_importer`VALUES(,'','','gb');C.對(duì)于簡(jiǎn)體和繁體是單獨(dú)提供還是轉(zhuǎn)化問(wèn)題單獨(dú)提供-比較符合多語(yǔ)言的標(biāo)準(zhǔn),靈活性大,對(duì)ISP沒(méi)有特別的要求。轉(zhuǎn)化提供-提交速度會(huì)受影響,同時(shí)要ISP提供iconv的函數(shù)支持。3.用戶訪問(wèn)語(yǔ)言統(tǒng)一A.假設(shè)用戶簡(jiǎn)體中文版時(shí)候:<metahttp-equiv="content-type"content="text/html;charset=UTF-8">;所有語(yǔ)言版本都是這樣。B.調(diào)用language/gb的語(yǔ)言包。C.搜索數(shù)據(jù)庫(kù)有語(yǔ)言字段為gb的數(shù)據(jù),并顯示D.當(dāng)用戶提交信息,參照上面數(shù)據(jù)庫(kù)多語(yǔ)言的B問(wèn)題。多語(yǔ)言網(wǎng)站解決方案數(shù)據(jù)庫(kù)存放可以有幾種方式的:A.不同數(shù)據(jù)庫(kù)來(lái)存放B.同一數(shù)據(jù)庫(kù)不同表存放C.同一數(shù)據(jù)庫(kù)同一表不同字段來(lái)存放A.種方式,每種語(yǔ)言都建立一個(gè)數(shù)據(jù)庫(kù)感覺(jué)就有點(diǎn)浪費(fèi)了。B種方式可能是比較多人采用的?;臼枪灿械木徒⒁粋€(gè)表來(lái)存放。每種語(yǔ)言私有的,就放到各自的表里面。C種方式,感覺(jué)對(duì)于數(shù)據(jù)量不大的,也是好的方式。數(shù)據(jù)量太大,給單表的增大更快。造成負(fù)擔(dān)。湖南工程學(xué)院課程設(shè)計(jì)課程名稱單片機(jī)原理與應(yīng)用課題名稱電子表專業(yè)自動(dòng)化班級(jí)學(xué)號(hào)姓名指導(dǎo)教師20年6月21日
湖南工程學(xué)院課程設(shè)計(jì)任務(wù)書(shū)課程名稱單片機(jī)原理與應(yīng)用課題電子表專業(yè)班級(jí)自動(dòng)化班學(xué)生姓名學(xué)號(hào)指導(dǎo)老師審批任務(wù)書(shū)下達(dá)日期20**年6月11日任務(wù)完成日期20**年6月21日設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求設(shè)計(jì)內(nèi)容:以51系列單片機(jī)為核心,以開(kāi)發(fā)板為平臺(tái);設(shè)計(jì)一個(gè)多功能電子表,具有電子時(shí)鐘、時(shí)鐘設(shè)置和跑表功能。做時(shí)鐘時(shí)在6位LED顯示器上顯示分、秒、時(shí),做跑表時(shí)顯示范圍000.0秒~999.9秒,并具有時(shí)鐘啟動(dòng)、時(shí)鐘停止、跑表啟動(dòng)、跑表復(fù)位、時(shí)鐘調(diào)整功能鍵。設(shè)計(jì)任務(wù)包括控制系統(tǒng)硬件設(shè)計(jì)和應(yīng)用程序設(shè)計(jì)。設(shè)計(jì)要求:1)確定系統(tǒng)設(shè)計(jì)方案; 2)進(jìn)行系統(tǒng)的硬件設(shè)計(jì);3)完成必要元器件選擇;4)開(kāi)發(fā)板焊接及測(cè)試5)系統(tǒng)軟件設(shè)計(jì)及調(diào)試;6)系統(tǒng)聯(lián)調(diào)及操作說(shuō)明7)寫(xiě)說(shuō)明書(shū)主要設(shè)計(jì)條件MCS-51單片機(jī)實(shí)驗(yàn)操作臺(tái)1臺(tái);PC機(jī)及單片機(jī)調(diào)試軟件,仿真軟件proteus;開(kāi)發(fā)板1塊;制作工具1套;5、系統(tǒng)設(shè)計(jì)所需的元器件。說(shuō)明書(shū)格式課程設(shè)計(jì)任務(wù)書(shū)目錄說(shuō)明書(shū)內(nèi)容1)課題的設(shè)計(jì)要求、目的、意義2)系統(tǒng)總體方案選擇與說(shuō)明3)系統(tǒng)結(jié)構(gòu)框圖與工作原理4)各單元硬件設(shè)計(jì)說(shuō)明及計(jì)算方法5)軟件設(shè)計(jì)與說(shuō)明(包括流程圖)6)調(diào)試結(jié)果與必要的調(diào)試說(shuō)明7)使用說(shuō)明8)程序清單9)總結(jié)10)參考文獻(xiàn)附錄A系統(tǒng)原理圖附錄B程序清單評(píng)分表進(jìn)度安排設(shè)計(jì)時(shí)間分為二周第一周星期一、上午:布置課題任務(wù),課題介紹及講課。下午:借閱有關(guān)資料,總體方案討論。星期二、分班級(jí)焊接開(kāi)發(fā)板星期三、確定總體方案,學(xué)習(xí)與設(shè)計(jì)相關(guān)內(nèi)容。星期四、各部分方案設(shè)計(jì),各部分設(shè)計(jì)。星期五、設(shè)計(jì)及上機(jī)調(diào)試。星期六、設(shè)計(jì)并調(diào)試第二周星期一:設(shè)計(jì)及上機(jī)調(diào)試。星期二:調(diào)試,中期檢查。星期三:調(diào)試、寫(xiě)說(shuō)明書(shū)。星期四--星期五上午:寫(xiě)說(shuō)明書(shū)、完成電子版并打印成稿。星期五下午:答辯。參考文獻(xiàn)王迎旭編.《單片機(jī)原理與應(yīng)用》[M].機(jī)械工業(yè)出版社.樓然苗編.《51系列單片機(jī)設(shè)計(jì)實(shí)例》[M].北京航空航天大學(xué)出版社.黃勤編.《計(jì)算機(jī)硬件技術(shù)基礎(chǔ)實(shí)驗(yàn)教程》[M].重慶大學(xué)出版社4、劉樂(lè)善編.《微型計(jì)算機(jī)接口技術(shù)及應(yīng)用》[M].華中科技大學(xué)出版社.5、陳光東編.《單片微型計(jì)算機(jī)原理及接口技術(shù)》[M].華中科技大學(xué)出版社.目錄TOC\o"1-3"\h\u24618第1章概述 291931.1設(shè)計(jì)內(nèi)容及要求 2221531.2本設(shè)計(jì)實(shí)現(xiàn)的功能 2116441.3附加功能 225311第2章系統(tǒng)總體方案設(shè)計(jì) 3163752.1系統(tǒng)方案設(shè)計(jì) 3279302.2系統(tǒng)總體方案框圖 325277第三章硬件設(shè)計(jì) 4254803.1時(shí)間顯示電路的設(shè)計(jì) 4133403.2按鍵電路的設(shè)計(jì) 5164903.3跑表電路的設(shè)計(jì)和按鍵 5279063.4雙鬧鈴電路的設(shè)計(jì) 643233.4內(nèi)部時(shí)鐘電路的設(shè)計(jì) 7281543.5復(fù)位電路的設(shè)計(jì) 780493.6單片機(jī)硬件資源分配 827142第4章開(kāi)發(fā)板焊接及其測(cè)試 84584.1焊接步驟及注意事項(xiàng) 8221864.2調(diào)試及檢測(cè)步驟 915218第5章軟件設(shè)計(jì)與說(shuō)明 10315065.1系統(tǒng)軟件設(shè)計(jì)思路 10270675.2模塊程序的設(shè)計(jì) 10283695.2.1時(shí)鐘模塊 1080155.2.2跑表模塊 11301495.2.3鬧鐘模塊 12195.3顯示和鍵盤(pán)的設(shè)計(jì) 13129075.3.1顯示模塊 1358965.3.2矩陣鍵盤(pán)模塊 14948第6章調(diào)試步驟、結(jié)果、使用說(shuō)明 1414966.1調(diào)試步驟和過(guò)程 1481616.3調(diào)試結(jié)果 16178206.2使用說(shuō)明 1614683第7章設(shè)計(jì)總結(jié) 1611772第八章參考文獻(xiàn) 179320附錄A 1714440附錄B 19第1章概述1.1設(shè)計(jì)內(nèi)容及要求本課主要是以單片機(jī)為核心設(shè)計(jì)一個(gè)多功能電子表,具有電子時(shí)鐘、時(shí)鐘設(shè)置和跑表功能。做時(shí)鐘時(shí)在4位LED顯示器上顯示分、秒,做跑表時(shí)顯示范圍000.0秒~999.9秒,并具有時(shí)鐘啟動(dòng)、時(shí)鐘停止、跑表啟動(dòng)、跑表。1.2本設(shè)計(jì)實(shí)現(xiàn)的功能(1)時(shí)間使用LED顯示,分別為時(shí),分,秒(其中時(shí)分秒之間用橫杠“—”隔開(kāi),一共用到8個(gè)LED數(shù)碼管;(2)時(shí),分,秒都可以分別設(shè)置,通過(guò)加減可以快速定位到需要設(shè)定的時(shí)間,在設(shè)置是可停止時(shí)鐘,也可時(shí)鐘邊走邊設(shè)置;(3)跑表功能,可以清零,啟動(dòng),實(shí)現(xiàn)隨停隨加;(4)時(shí)鐘和跑表之間可實(shí)現(xiàn)自由切換,當(dāng)進(jìn)入跑表模式時(shí)時(shí)鐘繼續(xù)進(jìn)行,當(dāng)進(jìn)入時(shí)鐘模式時(shí),跑表停止;第2章系統(tǒng)總體方案設(shè)計(jì)2.1系統(tǒng)方案設(shè)計(jì)本設(shè)計(jì)用52單片機(jī)為核心,其功能主要有軟件來(lái)實(shí)現(xiàn),以及矩陣鍵盤(pán)加LED數(shù)碼管顯示,所以降低了硬件電路的復(fù)雜性,也相應(yīng)的降低了其成本。根據(jù)設(shè)計(jì)要求,總電路分為鍵盤(pán)接口電路、單片機(jī)時(shí)鐘電路、復(fù)位電路、LED顯示電路、響鈴電路、電源電路六個(gè)部分。其中鍵盤(pán)接口電路采用矩陣鍵盤(pán),分別實(shí)現(xiàn)對(duì)時(shí)鐘,分鐘,秒鐘的加一功能、減一功能,時(shí)鐘電路,在本系統(tǒng)中采用內(nèi)部時(shí)鐘電路,由一個(gè)石英晶體管振蕩器和兩個(gè)微調(diào)電容組成;復(fù)位電路中給給RST引腳連續(xù)輸入2個(gè)機(jī)器周期(即24個(gè)時(shí)鐘振蕩周期)以上高電平,就可完成初始化操作;顯示電路采用8段8位LED顯示管顯示時(shí)間,其中前兩位顯示小時(shí),中間兩位顯示分鐘,后兩位顯示秒鐘,時(shí),分,秒間通過(guò)橫杠“—”顯示;跑表部分通過(guò)4個(gè)LED數(shù)碼管顯示,第二個(gè)通過(guò)帶點(diǎn)數(shù)碼管來(lái)顯示,區(qū)別于秒單位,鬧鈴電路中由P2.4口輸出電平,經(jīng)三極管驅(qū)動(dòng)蜂鳴器鈴?fù)瓿婶[鈴;電源電路,本設(shè)計(jì)由外部電源對(duì)其供電,通過(guò)整流和濾波,再通過(guò)7805穩(wěn)壓。2.2系統(tǒng)總體方案框圖第三章硬件設(shè)計(jì)3.1時(shí)間顯示電路的設(shè)計(jì)LED數(shù)碼管顯示方式有靜態(tài)顯示方式和動(dòng)態(tài)顯示方式兩種。靜態(tài)顯示方式雖然占用CPU較少,接口簡(jiǎn)單,但其硬件電路比較復(fù)雜,成本較高,所以本設(shè)計(jì)中采用動(dòng)態(tài)顯示方式。動(dòng)態(tài)顯示方式是指輪流電量各位LED數(shù)碼管,利用定時(shí)掃描的方式輪流點(diǎn)亮各位數(shù)碼管。LED公用一個(gè)8位的I/O,即P0口,3位LED的位選線通過(guò)74LS138輸出,來(lái)選中對(duì)應(yīng)的LED數(shù)碼管,由于采用的是8位LED數(shù)碼管顯示,所以前兩位LED顯示“時(shí)針”,中間兩位顯示“分針”,后面兩位顯示秒針間隔有橫杠顯示“—”。同時(shí)可通過(guò)按鍵切換到跑表模式,然后還有鬧鐘模塊,通過(guò)按鍵來(lái)切換顯示模式,同時(shí)還可通過(guò)對(duì)應(yīng)的按鍵對(duì)其進(jìn)行時(shí)間設(shè)定。對(duì)于三個(gè)顯示直接的切換,可通過(guò)按鍵自由切換。時(shí)間顯示電路圖:圖3.1時(shí)間顯示電路設(shè)計(jì)圖3.2按鍵電路的設(shè)計(jì)因考慮節(jié)省I/O線數(shù)量,方便操作,本設(shè)計(jì)采用矩陣式鍵盤(pán)。矩陣式鍵盤(pán)由I/O線組成行、列結(jié)構(gòu),行、列線不相通,通過(guò)一個(gè)設(shè)置在行、列交叉點(diǎn)上的按鍵來(lái)連通。本設(shè)計(jì)中采用16個(gè)按鍵,具體功能如下:S1:時(shí)間調(diào)整按鈕:使硬件處于時(shí)鐘調(diào)整模式;S2:小時(shí)加按鍵;S3:小時(shí)減按鍵同時(shí),本設(shè)計(jì)通過(guò)調(diào)用一個(gè)延時(shí)函數(shù),消除鍵盤(pán)的抖動(dòng)問(wèn)題,提高了時(shí)間調(diào)整額精度。圖3.2按鍵電路設(shè)計(jì)圖3.3跑表電路的設(shè)計(jì)和按鍵因?yàn)榕鼙硎腔跁r(shí)鐘的顯示及矩陣鍵盤(pán),所以其電路一樣的,只是有些按鍵用來(lái)實(shí)現(xiàn)跑表的功能。其通過(guò)4個(gè)LED來(lái)顯示跑表時(shí)間,還有按鍵對(duì)其控制停止和啟動(dòng),還有對(duì)顯示清0。其余數(shù)碼管不用,其按鍵用的是下面3個(gè)按鍵:S4:跑表啟動(dòng)暫停清零按鈕S5:對(duì)時(shí)鐘跑表進(jìn)行切換按鈕3.4內(nèi)部時(shí)鐘電路設(shè)計(jì)單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,它的輸入端為XTAL1引腳,輸出端為XTAL2引腳。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,構(gòu)成一個(gè)穩(wěn)定的自己振蕩器,形成內(nèi)部時(shí)鐘方式的電路。其中微調(diào)電容選擇C1=C2=30uF。內(nèi)部時(shí)鐘電路設(shè)計(jì)圖如下:圖3.4內(nèi)部時(shí)鐘電路設(shè)計(jì)圖3.5復(fù)位電路的設(shè)計(jì)可靠的復(fù)位電路是保證單片機(jī)正常運(yùn)行的關(guān)鍵因素。將RST引腳連續(xù)輸入2個(gè)機(jī)器周期(即24個(gè)時(shí)鐘振蕩期間)以上高電平,即可以完成單片機(jī)的初始化操作。本設(shè)計(jì)采用按鈕復(fù)位方式。復(fù)位電路設(shè)計(jì)圖如下:圖3.5復(fù)位電路設(shè)計(jì)圖3.6單片機(jī)硬件資源分配P0口P0.0LED數(shù)碼管A段P1口P1.0矩陣鍵盤(pán)的S1行選端P0.1LED數(shù)碼管B段P1.1矩陣鍵盤(pán)的S2行選端P0.2LED數(shù)碼管C段P1.2矩陣鍵盤(pán)的S3行選端P0.3LED數(shù)碼管D段P1.3矩陣鍵盤(pán)的S4行選端P0.4LED數(shù)碼管E段P1.4矩陣鍵盤(pán)的W1列選端P0.5LED數(shù)碼管F段P1.5矩陣鍵盤(pán)的W2列選端P0.6LED數(shù)碼管G段P16矩陣鍵盤(pán)的W3列選端P0.7LED數(shù)碼管DP段P1.7矩陣鍵盤(pán)的W4列選端P2.074LS138的A地址端P2.174LS138的B地址端P2.274LS138的C地址端P2.4蜂鳴器表3.6I/O口分配表第4章開(kāi)發(fā)板焊接及其測(cè)試4.1焊接步驟及注意事項(xiàng)在焊接板子過(guò)程中,以“由低到高”為原則依次對(duì)其進(jìn)行焊接。電烙鐵是最常用的焊接工具。先整理元器件(電阻、輕觸按鍵、電容、排阻、芯片插座、三極管、蜂鳴器等等)我們使用20W內(nèi)熱式電烙鐵。新烙鐵使用前,應(yīng)用細(xì)砂紙將烙鐵頭打光亮,通電燒熱,蘸上松香后用烙鐵頭刃面接觸焊錫絲,使烙鐵頭上均勻地鍍上一層錫。這樣做,可以便于焊接和防止烙鐵頭表面氧化。舊的烙鐵頭如嚴(yán)重氧化而發(fā)黑,可用鋼挫挫去表層氧化物,使其露出金屬光澤后,重新鍍錫,才能使用。電烙鐵要用220V交流電源,使用時(shí)要特別注意安全。應(yīng)認(rèn)真做到以下幾點(diǎn):
(1)電烙鐵插頭最好使用三極插頭。要使外殼妥善接地;
(2)使用前,應(yīng)認(rèn)真檢查電源插頭、電源線有無(wú)損壞。并檢查烙鐵頭是否松動(dòng);
(3)電烙鐵使用中,不能用力敲擊。要防止跌落。烙鐵頭上焊錫過(guò)多時(shí),可用布擦掉。不可亂甩,以防燙傷他人;
(4)焊接過(guò)程中,烙鐵不能到處亂放。不焊時(shí),應(yīng)放在烙鐵架上。注意電源線不可搭在烙鐵頭上,以防燙壞絕緣層而發(fā)生事故;
(5)使用結(jié)束后,應(yīng)及時(shí)切斷電源,拔下電源插頭,冷卻后,再將電烙鐵收回工具箱;4.2調(diào)試及檢測(cè)步驟首先:我們焊好板子之后,檢查下板子的焊接質(zhì)量,如:(1)焊接時(shí),要保證每個(gè)焊點(diǎn)焊接牢固、接觸良好。要保證焊接質(zhì)量。(2)所示應(yīng)是錫點(diǎn)光亮,圓滑而無(wú)毛刺,錫量適中。錫和被焊物融合牢固。不應(yīng)有虛焊和假焊。(3)虛焊是焊點(diǎn)處只有少量錫焊住,造成接觸不良,時(shí)通時(shí)斷。假焊是指表面上好像焊住了,但實(shí)際上并沒(méi)有焊上,有時(shí)用手一拔,引線就可以從焊點(diǎn)中拔出。這兩種情況將給電子制作的調(diào)試和檢修帶來(lái)極大的困難。只有經(jīng)過(guò)大量的、認(rèn)真的焊接實(shí)踐,才能避免這兩種情況。
焊接電路板時(shí),一定要控制好時(shí)間。太長(zhǎng),電路板將被燒焦,或造成銅箔脫落。從電路板上拆卸元件時(shí),可將電烙鐵頭貼在焊點(diǎn)上,待焊點(diǎn)上的錫熔化后,將元件拔出。然后:檢測(cè)焊接板是有順序的,操作不當(dāng)可能會(huì)燒壞芯片,其步驟:(1):在沒(méi)插芯片之前,先檢測(cè)芯片插槽電源管腳的電壓是否在規(guī)定的范圍內(nèi);(2:):然后插上芯片,再老師的幫助下,將編好程序在KeiluVision4中調(diào)試完成,程序沒(méi)有錯(cuò)誤的時(shí)候,通過(guò)STC_ISP_480下載到單片機(jī)中,然后進(jìn)行調(diào)試,看是否運(yùn)行正常,如程序能正常運(yùn)行,則表明焊接成功了。第5章軟件設(shè)計(jì)與說(shuō)明5.1系統(tǒng)軟件設(shè)計(jì)思路程序?qū)崿F(xiàn)了模塊化,程序結(jié)構(gòu)簡(jiǎn)單,任務(wù)明確,易于編寫(xiě)、調(diào)試和修改;程序可讀性好,對(duì)程序的修改可局部進(jìn)行,其他部分可以保持不變,便于功能的擴(kuò)從和版本的升級(jí);便于多個(gè)模塊調(diào)用;便于分工合作,多個(gè)程序員同時(shí)進(jìn)行程序的編寫(xiě)和修改調(diào)試工作??傑浖绦蚩驁D:矩陣鍵盤(pán)掃描模塊當(dāng)前時(shí)鐘調(diào)整模塊矩陣鍵盤(pán)掃描模塊當(dāng)前時(shí)鐘調(diào)整模塊主程序模塊主程序模塊鬧鐘1、2設(shè)定模塊鬧鐘1、2設(shè)定模塊數(shù)碼管掃描顯示模塊數(shù)碼管掃描顯示模塊 跑表調(diào)整及顯示模塊跑表調(diào)整及顯示模塊圖5.1軟件主程序設(shè)計(jì)圖5.2模塊程序的設(shè)計(jì)5.2.1時(shí)鐘模塊本系軟件設(shè)計(jì)中,首先是時(shí)鐘:主程序的初始化內(nèi)容:所謂初始化,是對(duì)將要用到的51系列單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作設(shè)定。利用單片機(jī)定時(shí)器設(shè)計(jì)時(shí)間計(jì)時(shí)處理,采用單片機(jī)內(nèi)部的T0定時(shí)器溢出中斷來(lái)實(shí)現(xiàn),工作在方式1下,定時(shí)50毫秒,則連續(xù)中斷20次即為一秒,得到了我們所需時(shí)間的最小單位。在主程序循環(huán)中while(1)中掃描是否有鍵按下,如有鍵按下,則做出相應(yīng)的功能處理,同時(shí)掃描顯示時(shí)間、跑表、鬧鐘數(shù)據(jù),并檢查時(shí)候到達(dá)鬧鈴設(shè)置時(shí)間,響鈴。若無(wú)按鍵,則繼續(xù)執(zhí)行主程序。時(shí)鐘設(shè)計(jì)主框圖如下:開(kāi)始開(kāi)始重置初值,啟動(dòng)下一個(gè)50ms重置初值,啟動(dòng)下一個(gè)50ms是50ms計(jì)數(shù)器=20?是50ms計(jì)數(shù)器=20?否秒單元加1,50ms計(jì)數(shù)器清零秒單元加1,50ms計(jì)數(shù)器清零否否秒單元=60?否秒單元=60?否否分單元加1,秒單元清零分單元加1,秒單元清零否分單元=60?否分單元=60?時(shí)單元加1,分單元清零否時(shí)單元加1,分單元清零否時(shí)單元=24?否時(shí)單元=24?時(shí)、分、秒單元清零否時(shí)、分、秒單元清零中斷返回中斷返回圖5-2時(shí)鐘服務(wù)程序流程圖5.2.2跑表模塊其次的跑表:因?yàn)榕鼙碜钚挝皇?.1秒,而且要與時(shí)鐘分開(kāi)計(jì)時(shí),跑表停止時(shí),時(shí)鐘要繼續(xù)按正常時(shí)間走,我利用定時(shí)器T1,實(shí)現(xiàn)分開(kāi)定時(shí),定時(shí)為10ms,連續(xù)中斷10次即為0.1s。兩個(gè)定時(shí)互不干涉,但進(jìn)入時(shí)鐘模式時(shí),為跑表計(jì)時(shí)的定時(shí)器T1的啟動(dòng)為T(mén)R1置0,而停止計(jì)時(shí)。跑表設(shè)計(jì)主框圖如下:圖5-3跑表服務(wù)程序流程圖5.2.3鬧鐘模塊還有就是鬧鐘:其也是利用時(shí)鐘的定時(shí)時(shí)間,也使用T0,有切換鍵使其進(jìn)入鬧鐘模式,然后可對(duì)其進(jìn)行設(shè)置等。鬧鐘設(shè)計(jì)主框圖如下:是蜂鳴器響是否與時(shí)鐘相同?設(shè)定鬧鈴1、2的時(shí)間按下鍵后進(jìn)入鬧鐘模式圖4-3鬧鐘程序流程圖否開(kāi)始結(jié)束是蜂鳴器響是否與時(shí)鐘相同?設(shè)定鬧鈴1、2的時(shí)間按下鍵后進(jìn)入鬧鐘模式圖4-3鬧鐘程序流程圖否開(kāi)始結(jié)束5.3顯示和鍵盤(pán)的設(shè)計(jì)5.3.1顯示模塊LED顯示器的選擇,在我的設(shè)計(jì)中,選擇2個(gè)4位一體的時(shí)鐘型共陽(yáng)LED顯示器。8位8段共陽(yáng)顯示器:六位是同時(shí)顯示六位阿拉伯?dāng)?shù)字,而每一個(gè)數(shù)字又是七段碼顯示的;七段是指一個(gè)數(shù)碼顯示的阿拉伯?dāng)?shù)字是由8位二進(jìn)制數(shù)控制的,共陰是指相應(yīng)的二進(jìn)制為0時(shí)不亮,為1時(shí)亮。其分析流程圖:圖4-3顯示程序流程圖5.3.2矩陣鍵盤(pán)模塊鍵盤(pán)程序是完成對(duì)時(shí)鐘的調(diào)整,跑表的啟動(dòng)、清零,鬧鈴的時(shí)間調(diào)整以及各個(gè)模塊之間的相互切換。軟件實(shí)現(xiàn)是通過(guò)軟件掃描法,鍵盤(pán)掃描函數(shù),使用行列反轉(zhuǎn)掃描法,行列值中間變量、、行線輸出全為0、讀入列線值先檢測(cè)有無(wú)按鍵按、下具體每個(gè)按鍵的功能如上所述。程序通過(guò).h后綴的文件給出。第6章調(diào)試步驟、結(jié)果、使用說(shuō)明6.1調(diào)試步驟和過(guò)程調(diào)試步驟一般一步一步來(lái),先實(shí)現(xiàn)一部分功能,然后將整個(gè)程序在整合起來(lái),在將程序模塊化。(1)我先調(diào)試出顯示模塊,達(dá)到自己想要的顯示結(jié)果,比如動(dòng)態(tài)顯示,得到對(duì)應(yīng)的顯示代碼,LED帶點(diǎn)的數(shù)碼管代碼。(2)調(diào)試時(shí)間,使其達(dá)到精確的時(shí)間,不如我要測(cè)試跑10分鐘,看看他的誤差是多少,然后調(diào)節(jié)其定時(shí)器初值TH0、1和TL0、1。(3)然后是調(diào)節(jié)跑表,使其在時(shí)鐘與跑表之間的切換,并運(yùn)行穩(wěn)定,整理程序。(4)鬧鐘模塊,首先要調(diào)用時(shí)鐘的定時(shí)時(shí)間,然后通過(guò)按鍵去控制。(5)最后將各個(gè)模塊拼接接起來(lái)統(tǒng)一調(diào)試,直達(dá)穩(wěn)定達(dá)到想要的效果。當(dāng)然在調(diào)的過(guò)程中會(huì)遇到很多問(wèn)題比如:如響鈴時(shí)蜂鳴器聲音非常小,經(jīng)過(guò)增大聲音函數(shù)中的延時(shí)時(shí)長(zhǎng),該問(wèn)題得以解決;在設(shè)置減一功能按鍵時(shí),時(shí)鐘自動(dòng)提高其上限,如在24:00時(shí)對(duì)時(shí)針進(jìn)行加一,會(huì)跳轉(zhuǎn)至24:00:01,超出了時(shí)鐘上限,后經(jīng)過(guò)調(diào)整鍵盤(pán)函數(shù)中減一功能只能夠if條件語(yǔ)句中的條件值,如if(minute>60),即將其值有重新賦值為0,其分鐘會(huì)出現(xiàn)60這個(gè)實(shí)際時(shí)間中不應(yīng)該出現(xiàn)的時(shí)間。后面給成if(minute>59)就可以了。圖6.1顯示設(shè)置時(shí)針加減圖6.2鬧鐘顯示設(shè)置圖6.3跑表顯示設(shè)置 6.3調(diào)試結(jié)果(1)實(shí)現(xiàn)了全部要求功能,本來(lái)有4個(gè)LED數(shù)碼管顯示的,我用自己買(mǎi)的開(kāi)發(fā)板有8個(gè)顯示,克服了本來(lái)那開(kāi)發(fā)板只有4個(gè)LED不能顯示全部的時(shí)分秒的缺陷,另外我加了一個(gè)鬧鐘模塊,使其更加接近電子表的功能,并有可設(shè)置兩個(gè)鬧鐘模式,兩個(gè)的定時(shí)時(shí)間可任意設(shè)置。到達(dá)固定設(shè)定時(shí)間就有蜂鳴器發(fā)出鈴聲,設(shè)定時(shí)間為10s。6.2使用說(shuō)明 作品按照要求,在通了電源后,我自己設(shè)定為09:00:00,按下啟動(dòng)鍵(K8)后開(kāi)始記時(shí),可隨時(shí)按下(K15)切換到跑表模式,同時(shí)可對(duì)其進(jìn)行停止啟動(dòng)、和復(fù)位??赏ㄟ^(guò)(K12)切換到鬧鐘模塊,默認(rèn)為6:30響鈴,并通過(guò)對(duì)應(yīng)按鍵對(duì)其定時(shí)。第7章設(shè)計(jì)總結(jié)兩周的課程設(shè)計(jì)已經(jīng)接近尾聲了,終于完成了電子表的設(shè)計(jì)。在這一次課程設(shè)計(jì)當(dāng)中,在這里我要我指導(dǎo)老師——周向紅老師對(duì)我的指導(dǎo),從拿到課題時(shí)不知所措,經(jīng)過(guò)網(wǎng)上查閱相關(guān),查閱教材、課程設(shè)計(jì)指導(dǎo)書(shū)及各類參考文獻(xiàn),向老師請(qǐng)教,與同學(xué)交流,最終確定了我的設(shè)計(jì)方案。雖然我以前學(xué)過(guò)單片機(jī),參加過(guò)一次額電子設(shè)計(jì)競(jìng)賽,跟老師做過(guò)個(gè)一些項(xiàng)目,但是在本次設(shè)計(jì)的過(guò)程中,我任然發(fā)現(xiàn)很多的問(wèn)題,也學(xué)到了很多知識(shí)與技巧。這次設(shè)計(jì)讓我有了長(zhǎng)足的進(jìn)步,真正實(shí)現(xiàn)了對(duì)單片機(jī)硬件與軟件的兼顧與融會(huì)貫通。也對(duì)C51編程有了跟一步的加深和了解。這次課程設(shè)計(jì)給我深刻的印象,還記得星期2的我一個(gè)顯示切換,一直沒(méi)成功,真的和糾結(jié),后面我一直在調(diào)試,最后調(diào)到晚上1點(diǎn)我才調(diào)試成功,當(dāng)顯示成功的那一刻,我突然大喊一聲,我室友還以為我怎么了呢?那成功的喜悅我永遠(yuǎn)會(huì)記得。單片機(jī)課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì),需要有很巧妙的程序算法,雖然以前寫(xiě)過(guò)程序,但我覺(jué)的寫(xiě)好一個(gè)程序并不是一件簡(jiǎn)單的事。如矩陣鍵盤(pán)函數(shù)中,之前通過(guò)以分別行掃描和列掃描,相比我這次采用了同時(shí)行列掃描即(行掃描的值加列掃描值)精簡(jiǎn)了程序,也提高了52單片機(jī)的效率。這個(gè)程序中還有一些可以改進(jìn)與完善的地方。如可通過(guò)24C02鎖存器對(duì)調(diào)整好的鬧鈴時(shí)間進(jìn)行鎖存,實(shí)現(xiàn)斷電保護(hù)功能;并實(shí)現(xiàn)記憶功能;還可以通過(guò)對(duì)所鬧鈴聲進(jìn)行編輯,模擬各種聲音來(lái)達(dá)到鬧鈴的效果,以顯示各種特點(diǎn)。在做軟件設(shè)計(jì)的時(shí)候深刻的體會(huì)到了子程序功能實(shí)現(xiàn)方法的重要性。在顯示和按鍵等子程序的設(shè)計(jì)過(guò)程中往往只是針對(duì)某個(gè)系統(tǒng)功能實(shí)用來(lái)編寫(xiě),很少考慮以后程序的兼容性和可擴(kuò)展性。經(jīng)過(guò)本次設(shè)計(jì)對(duì)自己分析整個(gè)系統(tǒng)結(jié)構(gòu)和設(shè)計(jì)方案有了很大的提高。在這次課程設(shè)計(jì)中,感謝同組同學(xué)的鼓勵(lì)與配合。通過(guò)本次課程設(shè)計(jì),我認(rèn)識(shí)到了自己的許多缺點(diǎn)和不足,體會(huì)到了實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)以及實(shí)踐出真知的道理。在以后的學(xué)習(xí)生活中,我會(huì)努力將學(xué)習(xí)知識(shí)要看做是自己的興趣愛(ài)好,要主動(dòng)學(xué)習(xí)。不僅要學(xué)會(huì)書(shū)本上的知識(shí),更要掌握學(xué)好知識(shí)的方法和技巧,這樣才能使自己在今后的科技道路上越走越遠(yuǎn)!在此,我要再一次感謝周向紅老師和給過(guò)我?guī)椭母魑恢笇?dǎo)老師和所有同學(xué),謝謝你們的的辛勤指導(dǎo)。第八章參考文獻(xiàn)周向紅編《51系列單片機(jī)應(yīng)用與實(shí)踐教程》[M].北航出版社王迎旭編.《單片機(jī)原理與應(yīng)用》[M].機(jī)械工業(yè)出版社.黃勤編.《計(jì)算機(jī)硬件技術(shù)基礎(chǔ)實(shí)驗(yàn)教程》[M].重慶大學(xué)出版社4、劉樂(lè)善編.《微型計(jì)算機(jī)接口技術(shù)及應(yīng)用》[M].華中科技大學(xué)出版社.5、陳光東編.《單片微型計(jì)算機(jī)原理及接口技術(shù)》[M].華中科技大學(xué)出版社.6、樓然苗編.《51系列單片機(jī)設(shè)計(jì)實(shí)例》[M].北京航空航天大學(xué)出版社.附錄A附錄B#include<reg52.h>#defineucharunsignedcharuchartime1,time2;time3;time4=12;/////////////////////////////////////////////////////定義時(shí)鐘變量uchars,m,h; /////////////////////////////////////////////////////定義秒表變量ucharcodexianshi_w[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F};/////////////////////////顯示位碼ucharcodexianshi_d[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};/////////顯示段碼ucharxianshi_sj[8]={0,1,10,0,0,10,0,0};//////////////////////////定義按鍵sbitkey=P1^2;////////時(shí)鐘調(diào)整按鍵sbitkey1=P1^3;/////////時(shí)鐘加按鍵sbitkey2=P1^4;/////////時(shí)鐘減按鍵sbitkey3=P1^5;///////////啟動(dòng)按鍵sbitkey4=P1^6;///////////切換按鍵ucharkey_z,key_x,key_m,key_s; /////////////////定義按鍵變量//////////////////////////軟件延時(shí)voiddelay(){unsignedinti;for(i=0;i<200;i++);}//////////////////////////中斷函數(shù)bitmiao;voidzhongD_T0()interrupt1{TH0=(65535-10000)/256;TL0=(65535-10000)%256;/////////////////////////////////////秒表中斷if(key_s==1&&key_x==1)s++;if(s>99){s=0;m++;miao=~miao;}if(m>99){m=0;h++;}if(h>99){s=0;m=0;h=0;}if(key_x==1&&key_s==0){s=0;m=0;h=0;}/////////////////////////////////////時(shí)鐘中斷if(key_m==1)time1++;if(time1>99){time1=0;time2++;miao=~miao;}if(time2>59){time2=0;time3++;}if(time3>59){time2=0;time4++;}if(time4>24){time1=0;time2=0;time3=0;time4=0;}}////////////////////////////按鍵小時(shí)加一voidxiaoshi_jia(){if(key1==0){delay();if(key1==0){time4++;if(time4>23)time4=0;while(key1==0);}}}/////////////////////////////按鍵小時(shí)減一voidxiaoshi_jian(){if(key2==0){delay();if(key2==0){time4--;if(time4<1)time4=0;while(key2==0);}}}/////////////////////////////按鍵分鐘加一voidfenzhong_jia(){if(key1==0){delay();if(key1==0){time3++;if(time3>59)time3=0;while(key1==0);}}}//////////////////////////////按鍵分鐘減一voidfenzhong_jian(){if(key2==0){delay();if(key2==0){time3--;if(time3<1)time3=0;while(key2==0);}}}/////////////////////////////顯示函數(shù)voidxianshi_hs(){uchari;for(i=0;i<8;i++){P2=xianshi_w[i];P0=xianshi_d[xianshi_sj[i]];if(miao==1&&(i==0||i==1)&&(key_z==1)&&(key_x==0))P0=0xff;if(miao==1&&(i==3||i==4)&&(key_z==2)&&(key_x==0))P0=0xff;delay();}}////////////////////////////////////主函數(shù)voidzh_hs(){if(key_x==1) /////////////////////顯示秒表{xianshi_sj[0]=h/10;xianshi_sj[1]=h%10;xianshi_sj[3]=m/10;xianshi_sj[4]=m%10;xianshi_sj[6]=s/10;xianshi_sj[7]=s%10;}if(key_x==0)//////////////////////顯示時(shí)鐘{xianshi_sj[0]=time4/10;xianshi_sj[1]=time4%10;xianshi_sj[3]=time3/10;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 吸引小學(xué)生的英語(yǔ)課件
- 法制培訓(xùn)課件名稱
- 生產(chǎn)安全宣講課件
- 小學(xué)生美術(shù)課件制作視頻
- 消防教學(xué)培訓(xùn)課件
- 七年級(jí)科學(xué)上冊(cè)9.2家庭用電9.2.4家庭用電的安全措施學(xué)案無(wú)答案牛津上海版
- 三年級(jí)數(shù)學(xué)上冊(cè)第3單元圖形的運(yùn)動(dòng)一3.4有趣的剪紙課時(shí)練冀教版
- 三年級(jí)科學(xué)上冊(cè)第二單元我們?cè)趺粗赖谄哒n它是什么教案青島版
- 道路安全生產(chǎn)課件講義
- 上半年大一學(xué)生會(huì)工作參考計(jì)劃范文
- DB32-T 4750-2024 模塊化裝配式污水處理池技術(shù)要求
- 企業(yè)員工績(jī)效管理與員工工作動(dòng)機(jī)的激發(fā)
- 三年級(jí)下冊(cè)語(yǔ)文必背古詩(shī)詞
- 老年人譫妄中西醫(yī)結(jié)合診療專家共識(shí)
- 妊娠合并肺結(jié)核的診斷與治療
- 網(wǎng)絡(luò)畫(huà)板智慧樹(shù)知到期末考試答案2024年
- (正式版)JBT 14544-2024 水下機(jī)器人用直流電動(dòng)機(jī)技術(shù)規(guī)范
- 2024年杭州市水務(wù)集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 2024年江西人民出版社有限責(zé)任公司招聘筆試參考題庫(kù)附帶答案詳解
- 2024平安保險(xiǎn)測(cè)評(píng)題庫(kù)
- 職高家長(zhǎng)會(huì)課件
評(píng)論
0/150
提交評(píng)論