畢業(yè)設(shè)計(jì)課題——數(shù)字集成電路測(cè)試儀_第1頁(yè)
畢業(yè)設(shè)計(jì)課題——數(shù)字集成電路測(cè)試儀_第2頁(yè)
畢業(yè)設(shè)計(jì)課題——數(shù)字集成電路測(cè)試儀_第3頁(yè)
畢業(yè)設(shè)計(jì)課題——數(shù)字集成電路測(cè)試儀_第4頁(yè)
畢業(yè)設(shè)計(jì)課題——數(shù)字集成電路測(cè)試儀_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、參賽組別小組成員2011年6月5日目錄一、任務(wù)2二、方案設(shè)計(jì)與論證比較2顯示模塊2輸入模塊3電源模塊3繼電器模塊3三、芯片檢測(cè)的基本原理3四、系統(tǒng)的整體設(shè)計(jì)3五、系統(tǒng)功能測(cè)試及結(jié)果4測(cè)試方法4測(cè)試結(jié)果4六、設(shè)計(jì)過(guò)程總結(jié)與體會(huì)4參考文獻(xiàn)5附件一系統(tǒng)電路圖:5附件二實(shí)物照片:6附件三:7摘要:在當(dāng)今社會(huì)中,電子技術(shù)發(fā)展迅速,數(shù)字集成電路的應(yīng)用廣泛,而74系列邏輯芯片在數(shù)字電路中又有著非常廣泛的應(yīng)用,因而數(shù)字電路設(shè)計(jì)中必須要求所用的數(shù)字電路芯片邏輯功能完整,但在數(shù)字電路芯片測(cè)試中又有很多不便,實(shí)際測(cè)試較繁瑣。針對(duì)上述需要,我們針對(duì)常用的74系列邏輯芯片設(shè)計(jì)了一種數(shù)字電路芯片測(cè)試儀,用來(lái)檢測(cè)常用74系

2、列芯片的型號(hào)和邏輯功能的好壞,從而給數(shù)字電路的設(shè)計(jì)、制作帶來(lái)方便。關(guān)鍵詞:74系列邏輯芯片 AT89C52 自動(dòng)識(shí)別型號(hào)一、任務(wù)設(shè)計(jì)一套數(shù)字集成電路測(cè)試裝置,能夠?qū)崿F(xiàn)對(duì)指定幾種14腳常見的74系列數(shù)字電路測(cè)試。芯片有74LS00、74LS04、74LS20、74LS74、74LS86、74LS92?;疽螅?.設(shè)計(jì)數(shù)字集成電路測(cè)試儀器硬件:包含自制電源、MCU控制電路、鍵盤、顯示器等。2.能夠?qū)χ付ǖ?4系列門電路芯片進(jìn)行功能測(cè)試(完好/損壞)。74LS00、74LS04、74LS20、74LS86。發(fā)揮部分:1.能夠自動(dòng)識(shí)別指定的幾種74系列門電路的型號(hào):74LS00、74LS04、74L

3、S20、74LS86。2.能夠自動(dòng)識(shí)別指定的74系列觸發(fā)器、計(jì)數(shù)器電路的型號(hào)。74LS86、74LS92。二、方案設(shè)計(jì)與論證比較顯示模塊顯示模塊主要實(shí)現(xiàn)對(duì)芯片檢測(cè)結(jié)果的顯示,包括芯片型號(hào)及芯片功能是否完好,同時(shí)也要給用戶提供必要的提示信息,提高系統(tǒng)界面的友好性。 方案一采用數(shù)碼管顯示由于所有芯片均為74系列,因而只顯示最后兩位編號(hào)即可實(shí)現(xiàn)對(duì)芯片型號(hào)的顯示,但由于數(shù)碼管顯示效果較差并且動(dòng)態(tài)掃描時(shí)會(huì)占用很多CPU時(shí)間,因而舍棄該方案。 方案二采用點(diǎn)陣顯示采用有二極管構(gòu)成的16×16點(diǎn)陣,通過(guò)主控單元的控制可以實(shí)現(xiàn)漢字及英文字符的顯示,可以顯示芯片型號(hào)以及芯片功能完整性,采用點(diǎn)陣顯示的優(yōu)點(diǎn)

4、是顯示內(nèi)容可以隨意控制,顯示內(nèi)容豐富。但點(diǎn)陣顯示也存在占用I/O口較多并且會(huì)占用大量CPU時(shí)間的缺點(diǎn),另外,在使用點(diǎn)陣顯示是還要存儲(chǔ)大量的字模信息,而由于本系統(tǒng)需要掃描大量的邏輯芯片,為節(jié)約成本又未擴(kuò)展程序存儲(chǔ)區(qū),因而考慮到所用主控單元I/O口資源有限和對(duì)程序存儲(chǔ)區(qū)容量的限制,舍棄該方案。 方案三采用1602模塊顯示1602液晶為字符型液晶,可以顯示16×2共32個(gè)字符,不僅可以顯示芯片型號(hào)及判斷結(jié)果,并且還可以在程序運(yùn)行過(guò)程中為用戶提供必要的提示信息,提高了系統(tǒng)的交互性,并且1602液晶占用CPU時(shí)間較少,雖然顯示能力較弱,僅能顯示英文字符,但基本能滿足設(shè)計(jì)的要求,因而本設(shè)計(jì)采用1

5、602液晶作為顯示輸出設(shè)備。輸入模塊采用獨(dú)立按鍵的優(yōu)點(diǎn)是控制程序和硬件電路都很簡(jiǎn)單,缺點(diǎn)是如果每個(gè)按鍵都要占用一個(gè)I/O口,當(dāng)按鍵較多時(shí)占用I/O口較多。但考慮到本次設(shè)計(jì)只需要三個(gè)按鍵:完好/損壞鍵、確認(rèn)鍵、自動(dòng)識(shí)別鍵。因此在實(shí)際的測(cè)試中分別對(duì)應(yīng)P3.0P3.1P3.2通過(guò)按鍵查詢就可以簡(jiǎn)單的起到控制輸入的目的。電源模塊本設(shè)計(jì)電路模擬部分較少,電源主要用于驅(qū)動(dòng)單片機(jī)、液晶以及待檢測(cè)的74邏輯芯片,由于都是數(shù)字電路,對(duì)于電源的要求較低,故采用比較簡(jiǎn)單的基于LM7805芯片的電源,電源的輸出為5V剛好滿足電路各部分的供電要求。繼電器模塊由于74LS92芯片的引腳中5腳為電源,10腳為地,而74LS

6、00、74LS04、74LS20、74LS74、74LS86芯片的引腳都是14腳為電源,7腳為地。因此在實(shí)際的測(cè)試過(guò)程中,我們需要對(duì)電源實(shí)現(xiàn)正確的切換,設(shè)計(jì)思路是:默認(rèn)芯片測(cè)試引腳中是14腳為電源,7腳為地,用戶按下自動(dòng)識(shí)別的按鍵后,程序依次掃描前五個(gè),掃到一個(gè)后就退出掃描程序后返回掃描結(jié)果,如果沒掃到單片機(jī)通過(guò)P3.6腳控制繼電器實(shí)現(xiàn)換擋后,使芯片測(cè)試引腳中5腳為電源,10腳為地。再繼續(xù)執(zhí)行掃描任務(wù)確定這特殊的74LS86。由于是實(shí)現(xiàn)5V控制,我們選擇ATQ209雙刀開關(guān)。三、芯片檢測(cè)的基本原理對(duì)于邏輯芯片的檢測(cè),我們主要實(shí)現(xiàn)檢測(cè)芯片邏輯功能好壞亦或是確定芯片的型號(hào),由于主控單元采用STC8

7、9c52單片機(jī),其I/O與TTL電平完全兼容,因而直接由單片機(jī)對(duì)芯片插座的引腳進(jìn)行掃描,由于是固定的14腳芯片,為了編程方便,使芯片測(cè)試引腳17分別為P1.0P1.6,引腳148分別為P2.0P2.6。實(shí)現(xiàn)了通過(guò)單片機(jī)輸出端口模擬芯片的各種輸入狀態(tài),并通過(guò)單片機(jī)讀回芯片的輸出結(jié)果,通過(guò)與芯片真值表的比較即可判斷芯片邏輯功能的好壞的目的。在進(jìn)行芯片掃描時(shí),必須先將芯片的輸出引腳I/O置為高電平,然后對(duì)芯片的輸入引腳進(jìn)行各種狀態(tài)的掃描,通過(guò)單片機(jī)讀回芯片的輸出,再依據(jù)芯片的真值表對(duì)其輸出進(jìn)相比較,不一致則說(shuō)明芯片的邏輯功能發(fā)生錯(cuò)誤,斷定芯片為壞的,若芯片的輸出與真值表完全相符,則說(shuō)明芯片的邏輯功能

8、正確,可以判斷為好芯片。 然后再依據(jù)所檢測(cè)的結(jié)果,通過(guò)單片機(jī)對(duì)芯片的邏輯功能加以詳細(xì)測(cè)試,并對(duì)結(jié)果加以顯示。在自動(dòng)識(shí)別的時(shí)候,為了提高準(zhǔn)確度,我們編寫了程序,采用對(duì)同一端口兩次輸入再兩次讀回其狀態(tài)的比較方法,來(lái)對(duì)芯片好壞進(jìn)行準(zhǔn)確測(cè)試,繼而返回正確的芯片型號(hào)。四、系統(tǒng)的整體設(shè)計(jì)系統(tǒng)流程圖五、系統(tǒng)功能測(cè)試及結(jié)果對(duì)每一種芯片我們?cè)O(shè)計(jì)了唯一的輸入狀態(tài)并讀回P1P2口的數(shù)據(jù)與真值表比較,如果有查到一個(gè)表符合要求就記錄返回值后顯示。在測(cè)試的整個(gè)過(guò)程中,實(shí)現(xiàn)了對(duì)芯片完好/損壞功能的測(cè)試,用戶按完好/損壞鍵并按確認(rèn)鍵后可以看到測(cè)試顯示結(jié)果為“OK,GOOD CHIP!”或者“SORRY,BAD CHIP!”。

9、當(dāng)然如果用戶不知道芯片是何種型號(hào),就可以按自動(dòng)識(shí)別鍵自動(dòng)識(shí)別上述74系列門電路的型號(hào),T返回結(jié)果為“This is:74××.”。用戶操作的過(guò)程和顯示的結(jié)果實(shí)時(shí)動(dòng)態(tài)顯示在液晶顯示器中,以告知用戶測(cè)試結(jié)果。對(duì)于74LS00/04/20/86芯片進(jìn)行實(shí)物測(cè)試,可以自動(dòng)識(shí)別芯片型號(hào)及其好壞情況,測(cè)試結(jié)果滿足要求。對(duì)74LS74/92芯片進(jìn)行實(shí)物測(cè)試,可以自動(dòng)識(shí)別其芯片型號(hào)。通過(guò)模擬芯片錯(cuò)誤,均可完成正確測(cè)試。六、設(shè)計(jì)過(guò)程總結(jié)與體會(huì)通過(guò)這次電子設(shè)計(jì)競(jìng)賽,我們小組成員齊心協(xié)力,自己動(dòng)手設(shè)計(jì)制作完成了一個(gè)數(shù)字集成電路測(cè)試儀。這期間我們雖然也遇到了不少的困惑,但通過(guò)老師的指導(dǎo)和自己的思考

10、,這些問(wèn)題一一得到解決,這次競(jìng)賽中學(xué)到了很多解決實(shí)際問(wèn)題的方法,而且動(dòng)手能力又得到了很大的提升。對(duì)于這個(gè)設(shè)計(jì)來(lái)說(shuō),我們總結(jié)了以下幾點(diǎn)經(jīng)驗(yàn)和教訓(xùn)。第一,電路板的總體布局十分重要。一個(gè)好的線路布局不僅會(huì)使電路板外觀整齊,而且在之后的電路調(diào)試和線路錯(cuò)誤檢查中亦能有一個(gè)清晰的思路,可以提高工作效率;第二,C程序的調(diào)試工作在本次設(shè)計(jì)作品中非常重要。因?yàn)楸敬蜟代碼較長(zhǎng),所以整個(gè)程序的前后統(tǒng)籌調(diào)試中要很細(xì)心,乃至一個(gè)很小的標(biāo)量也要重視。在完成了該電子設(shè)計(jì)后,我們覺得這個(gè)設(shè)計(jì)還有可以改進(jìn)和完善之處。比如,可以通過(guò)修改代碼,使得在按下某按鍵后可以自動(dòng)檢測(cè)所有芯片的型號(hào)以及其好壞情況。而且,可以加入LED指示燈或

11、者蜂鳴器,來(lái)更加直觀地顯示或提醒電路工作狀況和芯片檢測(cè)結(jié)果。參考文獻(xiàn)1康華光.電子技術(shù)基礎(chǔ)模擬部分(第五版).北京:高等教育出版社,20062閻石.數(shù)字電子技術(shù)基礎(chǔ)(第三版). 北京:高等教育出版社,19893 寧武,唐曉宇,閆曉金.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽基本技能指導(dǎo),2009附件一 系統(tǒng)電路圖:附件二 實(shí)物照片:附件三:/*-數(shù)字集成電路芯片測(cè)試儀C程序-清單-*/程序組:陳辰燦 王海 賀星辰-#include<reg52.h>#include <intrins.h>#include <stdio.h>/這是頭文件必須包含/*=宏定義=*/#define

12、LCD_data P0/數(shù)據(jù)口#define M 4/要測(cè)試的芯片好壞的個(gè)數(shù)#define N 8#define input1 P1/用于檢測(cè)的引腳#define input2 P2/*=液晶宏定義、初始化引腳=*/void delay(unsigned int z);*延時(shí)函數(shù)*/void charfill(unsigned char c); /整屏顯示A代表的ASCII字符子程序void putstrxy(unsigned char cx,unsigned char cy,unsigned char code *s);/在(cx,cy)字符位置寫字符串子程序void putstr(unsi

13、gned char code *s); /定位寫字符串子程序void putchars(unsigned char c); /在(CXPOS,CYPOS)字符位置寫字符子程序unsigned char getchars(void); /CXPOS,CYPOS)字符位置讀字符子程序void charlcdpos(void); /設(shè)置(CXPOS,CYPOS)字符位置的DDRAM地址void charcursornext(void); /置字符位置為下一個(gè)有效位置子程序void lcdreset(void); /SMC1602系列液晶顯示控制器初始化子程序void delay3ms(void);

14、/延時(shí)3MS子程序void lcdwc(unsigned char c); /送控制字到液晶顯示控制器子程序void lcdwd(unsigned char d); /送控制字到液晶顯示控制器子程序unsigned char lcdrd(void); /讀數(shù)據(jù)子程序void lcdwaitidle(void); /忙檢測(cè)子程序unsigned char data CXPOS; /列方向地址指針(用于CHARLCDPOS子程序)unsigned char data CYPOS; /行方向地址指針(用于CHARLCDPOS子程序)sbit RSPIN = P35; /RS對(duì)應(yīng)單片機(jī)引腳sbit R

15、WPIN = P34; /RW對(duì)應(yīng)單片機(jī)引腳sbit EPIN = P33; /E對(duì)應(yīng)單片機(jī)引腳/*=宏定義=*/unsigned char detect(); /自動(dòng)檢測(cè)引腳/*=定義按鍵=*/sbit key1=P30; / 選擇檢測(cè)芯片sbit key2=P31; / 確定選擇的芯片sbit key3=P32; / 自動(dòng)檢測(cè)sbit key4=P36; / 繼電器的切換unsigned char *name="7400","7404","7420","7486","7474","

16、7492","ERROR"/*=按鍵的標(biāo)志位=*/unsigned char flag=0;/要選擇的芯片型號(hào)在已定義字符數(shù)組中的序號(hào)unsigned char flag1=0;unsigned char flag2=0;/用來(lái)標(biāo)示某芯片各通道檢測(cè)均完好的標(biāo)志位unsigned char k=0; /返回自動(dòng)檢測(cè)后芯片序號(hào)在已定義的數(shù)組中的序號(hào)unsigned char code LS0044= 0x3f,0x3f,0x1b,0x1b,/74ls000x24,0x24,0x24,0x24, 0x36,0x36,0x36,0x36,0x2d,0x2d,0x2d,0x

17、2d, ;unsigned char code LS0424=0x2a,0x2a,0x2a,0x2a,/74ls04 0x3f,0x3f,0x15,0x15,;unsigned char code LS20164= 0x24,0x24,0x24,0x24,/74ls20 0x25,0x25,0x25,0x25, 0x26,0x26,0x26,0x26, 0x27,0x27,0x27,0x27, 0x2c,0x2c,0x2c,0x2c, 0x2d,0x2d,0x2d,0x2d, 0x2e,0x2e,0x2e,0x2e, 0x2f,0x2f,0x2f,0x2f,0x34,0x34,0x34,0x3

18、4,0x35,0x35,0x35,0x35,0x36,0x36,0x36,0x36,0x37,0x37,0x37,0x37, 0x3c,0x3c,0x3c,0x3c,0x3d,0x3d,0x3d,0x3d, 0x3e,0x3e,0x3e,0x3e, 0x3f,0x3f,0x1f,0x1f,;unsigned char code LS8644= 0x24,0x24,0x00,0x00,/74ls86 0x36,0x36,0x36,0x36,0x2d,0x2d,0x2d,0x2d,0x3f,0x3f,0x1b,0x1b,;unsigned char code ICMN= 0x24,0x24,0x2

19、4,0x24,0x3f,0x3f,0x1b,0x1b,/74000x3f,0x3f,0x15,0x15,0x3f,0x3f,0x15,0x15,/7404 0x3f,0x3f,0x1f,0x1f,0x3f,0x3f,0x1f,0x1f,/7420 0x3f,0x3f,0x1b,0x1b,0x3f,0x3f,0x1b,0x1b,/7486;void main() unsigned char i,output1,output2; lcdreset(); /液晶顯示控制器初始化 putstrxy(0,0,"PLEASE CHOOSE 74LS CHIP"); /顯示歡迎界面 wh

20、ile(1) if(key1=0) delay(100);if(key1=0) if(flag=4) flag=0; flag+; switch(flag) case 1:charfill(' '); putstrxy(0,0,"NOW '7400'");break;case 2:charfill(' '); putstrxy(0,0,"NOW '7404'");break; case 3:charfill(' '); putstrxy(0,0,"NOW '

21、7420'");break; case 4:charfill(' '); putstrxy(0,0,"NOW '7486'"); if(flag=1&&key2=0) for(i=0;i<4;i+) input1=LS00i0; input2=LS00i1; delay(5); output1=input1&0x3f; output2=input2&0x3f; if(output1!=LS00i2|output2!=LS00i3) putstrxy(0,1,"SORRY,BAD

22、 CHIP!"); flag2=0; break; if(output1=LS00i2&&output2=LS00i3) flag2+; if(flag2=4) putstrxy(0,1,"OK,GOOD CHIP!"); flag2=0; if(flag=2&&key2=0) for(i=0;i<2;i+) input1=LS04i0; input2=LS04i1; delay(5); output1=input1&0x3f; output2=input2&0x3f; if(output1!=LS04i2|o

23、utput2!=LS04i3) putstrxy(0,1,"SORRY,BAD CHIP!"); flag2=0; break; if(output1=LS04i2&&output2=LS04i3) flag2+; if(flag2=2) putstrxy(0,1,"OK,GOOD CHIP!"); flag2=0; if(flag=3&&key2=0) for(i=0;i<16;i+) input1=LS20i0; input2=LS20i1; delay(5); output1=input1&0x3f;

24、output2=input2&0x3f; if(output1!=LS20i2|output2!=LS20i3) putstrxy(0,1,"SORRY,BAD CHIP!"); flag2=0; break; if(output1=LS20i2&&output2=LS20i3) flag2+; if(flag2=16) putstrxy(0,1,"OK,GOOD CHIP!"); flag2=0; if(flag=4&&key2=0) for(i=0;i<4;i+) input1=LS86i0; input

25、2=LS86i1; delay(5); output1=input1&0x3f; output2=input2&0x3f; if(output1!=LS86i2|output2!=LS86i3) putstrxy(0,1,"SORRY,BAD CHIP!"); flag2=0; break; if(output1=LS86i2&&output2=LS86i3) flag2+; if(flag2=4) putstrxy(0,1,"OK,GOOD CHIP!"); flag2=0; if(key3=0) k=detect();

26、 charfill(' '); putstrxy(0,0,"This is:"); putstrxy(2,5,namek); /延時(shí)函數(shù)void delay(unsigned int z)unsigned int x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);/*=14腳芯片識(shí)別函數(shù)=*/unsigned char detect() /14腳芯片識(shí)別函數(shù) unsigned char i,output1,output2;/7474的檢測(cè) P1=0xff; /初始化測(cè)試端口 P2=0xff; input1=0x3b; in

27、put2=0x39; delay(5); input1=0x3f; /上升沿 input2=0x3d; delay(5); output1=input1&0x3f; output2=input2&0x3f; if(output1=0x1f&&output2=0x2d) return (4); /7400/04/20/86的自動(dòng)檢測(cè) P1=0xff; /初始化測(cè)試端口 P2=0xff; for(i=0;i<M;i+) input1=ICi0; input2=ICi1; delay(5); output1=input1&0x3f; /將芯片邏輯結(jié)果in

28、put1通過(guò)&0x3f取出 output2=input2&0x3f; if(output1=ICi2&&output2=ICi3) input1=ICi4; input2=ICi5; delay(5); output1=input1&0x3f; output2=input2&0x3f; if(output1=ICi6&&output2=ICi7) return i; key4=0;/檢測(cè)7492時(shí),先用繼電器江電源供電引腳切換 P1=0xff; /初始化測(cè)試端口 P2=0xff; input1=0x3f; /7492的檢測(cè) inp

29、ut2=0x3f; delay(5); output1=input1&0x3f; output2=input2&0x3f; if(output1=0x3f&&output2=0x01) delay(100);key4=1;return (5); delay(100); key4=1;/測(cè)試結(jié)束,將電源供電引腳切換回原狀態(tài) return (6);/-void charfill(unsigned char c) /整屏顯示A代表的ASCII字符子程序 for(CXPOS=CYPOS=0;1;) putchars(c); /定位寫字符 charcursornext()

30、; /置字符位置為下一個(gè)有效位置 if(CXPOS=0) && (CYPOS=0) break; /子程序名稱:void putstrxy(unsigned char cx,unsigned char cy,unsigned char *s)./功能:在(cx,cy)字符位置寫字符串./-void putstrxy(unsigned char cx,unsigned char cy,unsigned char code *s) /在(cx,cy)字符位置寫字符串子程序 CXPOS=cx; /置當(dāng)前X位置為cx CYPOS=cy; /置當(dāng)前Y位置為cy for(;*s!=0;s+

31、) /為零表示字符串結(jié)束,退出 putchars(*s); /寫1個(gè)字符 charcursornext(); /字符位置移到下一個(gè) /-/子程序名稱:void putstr(unsigned char *s)./功能:在(CXPOS,CYPOS)字符位置寫字符串./-void putstr(unsigned char code *s) /定位寫字符串子程序 for(;*s!=0;s+) /為零表示字符串結(jié)束,退出 putchars(*s); /寫1個(gè)字符 charcursornext(); /字符位置移到下一個(gè) /-/子程序名稱:void putchar(unsigned char c)./功

32、能:在(CXPOS,CYPOS)字符位置寫字符./-void putchars(unsigned char c) /在(CXPOS,CYPOS)字符位置寫字符子程序 charlcdpos(); /設(shè)置(CXPOS,CYPOS)字符位置的DDRAM地址 lcdwd(c); /寫字符/-/子程序名稱:unsigned char getchar(void)./功能:在(CXPOS,CYPOS)字符位置讀字符./-unsigned char getchars(void) /在(CXPOS,CYPOS)字符位置讀字符子程序 charlcdpos(); /設(shè)置(CXPOS,CYPOS)字符位置的DDRAM

33、地址return lcdrd(); /讀字符/-/以下charlcdpos,charcursornext,lcdreset為HD44780兼容芯片的液晶顯示控制器的/16字符X2行的SMC1602系列標(biāo)準(zhǔn)字符點(diǎn)陣型液晶顯示模塊的接口程序./-/子程序名稱:void charlcdpos(void)./功能:設(shè)置(CXPOS,CYPOS)字符位置的DDRAM地址./-void charlcdpos(void) /設(shè)置(CXPOS,CYPOS)字符位置的DDRAM地址 CXPOS&=0X0f; /X位置范圍(0到15) CYPOS&=0X01; /Y位置范圍(0到1) if(CYP

34、OS=0) /(第一行)X: 第0-15個(gè)字符 lcdwc(CXPOS|0x80); / DDRAM: 0-0FH else /(第二行)X: 第0-15個(gè)字符 lcdwc(CXPOS|0xC0); / DDRAM: 40-4FH/-/子程序名稱:void charcursornext(void)./功能:置字符位置為下一個(gè)有效位置./-void charcursornext(void) /置字符位置為下一個(gè)有效位置子程序 CXPOS+; /字符位置加1 if(CXPOS>15) /字符位置CXPOS>15表示要換行 CXPOS=0; /置列位置為最左邊 CYPOS+; /行位置加1 CYPOS&=0X1; /字符位置CYPOS的有效范圍為(0到1) /-/子程序名稱:void lcdreset(void)./功能:液晶顯示控制器初始化./-void lcdreset(void) /SMC1602系列液晶顯示控制器初始化子程序 /1602的顯示模式字為0x38 lcdwc(0x38); /顯示模式設(shè)置第一次 delay3ms(); /延時(shí)3MS lcdwc(0x38); /顯示模式設(shè)置第二次 delay3ms(); /延時(shí)3MS lcdwc(0x38); /顯示模式設(shè)置第三次 delay3ms(); /延時(shí)3MS lc

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論