單片機(jī)課程實(shí)訓(xùn)_第1頁
單片機(jī)課程實(shí)訓(xùn)_第2頁
單片機(jī)課程實(shí)訓(xùn)_第3頁
單片機(jī)課程實(shí)訓(xùn)_第4頁
單片機(jī)課程實(shí)訓(xùn)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)課程實(shí)訓(xùn)小組成員:自控1204班楊傅嘉2012014108屈秋蓓2012014120袁樹立2012014122韓維明2012014125王 松2012014100第一步:字模生成目標(biāo):輸入一段文字,經(jīng)過電腦端口處理,將對應(yīng)輸入的文字逐一變?yōu)樽帜5男问奖4嫫饋怼_^程:首先對輸入的文字逐一獲取機(jī)內(nèi)碼然后獲取區(qū)位碼計算相應(yīng)文字的區(qū)碼計算相應(yīng)文字的位碼計算相應(yīng)文字的獲取起始位置打開相應(yīng)的文字字模文件找到對應(yīng)的起始位置進(jìn)行讀取并保存以下是部分計算過程的vb程序代碼:Jnm = Hex(Asc(text1。Text) Qwm = Hex(Asc(text1。Text) - &HA0A0) I

2、f Len(Qwm) = 3 ThenQm = Mid(Qwm, 1, 1) Wm = Mid(Qwm, 2, 2) ElseIf Len(Qwm) = 4 ThenQm = Mid(Qwm, 1, 2) Wm = Mid(Qwm, 3, 2)ElseExit SubEnd IfJqWz = 32 * (CLng("&H" & Qm) - 1) * 94 + (CLng("&H" & Wm) - 1)字模庫文件夾(包含各種文字大小)字模文件夾(包含各種字體)第二步:串口通訊由于vb編輯串口通訊時需要用到一個特定的串口通訊按

3、鈕,并且需要將串口通訊與字模的獲取結(jié)合起來,時間安排上比較忙亂,沒有及時得將任務(wù)綜合起來并分配下去,團(tuán)隊(duì)協(xié)作的缺失。導(dǎo)致程序沒有編輯出來,所以我們在網(wǎng)上找到了一款既能夠生成所需的字模,又能進(jìn)行串口通訊的軟件。以下為使用介紹:軟件界面:選中上圖32×64按鈕紅框內(nèi)輸入需要顯示的文字點(diǎn)擊確定按鈕后,按回車鍵開始分析文字(此步驟獲得的代碼僅是能顯示出來的文字的代碼)點(diǎn)擊下圖條形點(diǎn)陣按鈕(此步驟將所有輸入的文字信息轉(zhuǎn)化為字模代碼保存起來)點(diǎn)擊使用串口發(fā)送數(shù)據(jù)按鈕連接好單片機(jī)后,選擇好串口號,波特率。點(diǎn)擊寫入新數(shù)據(jù)。(此步驟,單片機(jī)將會收到字模的信息)第三步:點(diǎn)陣原理ABCD是行掃描信號OE是

4、屏的使能端,低電平有效 R1上半屏紅色G1是上半屏綠色R2上半屏紅色G2是下半屏綠色STCP是鎖存信號SHCP是時鐘信號74HC245138譯碼器595芯片8*8點(diǎn)陣屏集連第四步:程序編寫#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsfr P1M1=0X93;sfr P1M0=0x94;sbit R1=P00;sbit R2=P01;sbit LAT=P04;sbit CLK=P05;sbit EN=P06;uchar r1_data8

5、=0;unsigned char kong=0x00;/定義空字符unsigned char code banji32=0x01,0x02,0x04,0x1f,0x10,0x10,0x10,0x1f,0x10,0x10,0x1f,0x10,0x10,0x10,0x1f,0x10,0x00,0x00,0x00,0xf0,0x10,0x10,0x10,0xf0,0x10,0x10,0xf0,0x10,0x10,0x10,0xf0,0x10,/自0x10,0x10,0x10,0x13,0xfa,0x14,0x11,0x1a,0x30,0xd1,0x10,0x10,0x10,0x10,0x57,0x2

6、0,0x40,0x20,0x20,0xfe,0x02,0x94,0x08,0x04,0x00,0xfc,0x20,0x20,0x20,0x20,0xfe,0x00,/控0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7c,0x00,0x00,0x00,0x00,0x00,0x3c,0x42,0x42,0x42,0x04,0x04,0x08,0x10,0x20,0x42,0x7e,0x00,0x00,/120x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x4

7、2,0x42,0x24,0x18,0x00,0x00,0x00,0x00,0x00,0x04,0x0c,0x14,0x24,0x24,0x44,0x44,0x7e,0x04,0x04,0x1e,0x00,0x00,/040x00,0x00,0xf8,0x22,0x22,0x22,0x22,0xfa,0x22,0x24,0x20,0x39,0xe1,0x42,0x04,0x08,0x80,0x80,0xbe,0x88,0x88,0x88,0x88,0xbe,0x88,0x88,0x88,0x08,0x08,0x3e,0x00,0x00,/班0x00,0x00,0x00,0x00,0x00,0x0

8、0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00/空;unsigned char code zixing32=0x10,0x11,0x10,0x10,0xfc,0x10,0x31,0x38,0x54,0x54,0x91,0x11,0x12,0x14,0x10,0x11,0x00,0xf8,0x10,0x20,0x40,0x80,0xfe,0x92,0x92,0x92,0x12,0x2

9、2,0x22,0x42,0x94,0x08,/楊0x08,0x08,0x0f,0x10,0x17,0x34,0x37,0x54,0x97,0x14,0x10,0x1f,0x12,0x11,0x11,0x10,0x50,0x48,0xfe,0x40,0xfc,0x44,0xfc,0x44,0xfc,0x44,0x08,0xfe,0x08,0x08,0x28,0x10,/傅0x01,0xff,0x01,0x3f,0x00,0x1f,0x10,0x1f,0x08,0xff,0x10,0x7f,0x11,0x21,0x45,0x82,0x00,0xfe,0x00,0xf8,0x00,0xf0,0x10

10、,0xf0,0x20,0xfe,0x00,0x7c,0x44,0x44,0x7c,0x44,/嘉0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x18,0x0c,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/、0x00,0x3f,0x20,0x20,0x3f,0x20,0x28,0x28,0x28,0x2f,0x20,0x30,0x50,0x50,0x9f,0x00,0x00,0xf8,

11、0x08,0x08,0xf8,0x80,0x88,0x88,0x88,0xf8,0x80,0x84,0x84,0x84,0xfc,0x04,/屈0x08,0x1c,0xf0,0x10,0x11,0xfd,0x11,0x32,0x38,0x54,0x54,0x90,0x11,0x11,0x12,0x14,0x40,0x40,0x40,0x40,0x44,0x44,0x48,0x50,0x40,0xa0,0xa0,0x90,0x10,0x08,0x04,0x02,/秋0x08,0x08,0xff,0x08,0x10,0x17,0x20,0x62,0xa1,0x2f,0x20,0x23,0x22,0

12、x22,0x23,0x22,0x20,0x20,0xfe,0xa0,0x40,0xfc,0x00,0x08,0x10,0xfe,0x00,0xf8,0x08,0x08,0xf8,0x08,/蓓0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x18,0x0c,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/、0x01,0x01,0x3f,0x01,0xff,0x00,0x1f,0x10,0x

13、10,0x1f,0x05,0x08,0x38,0xca,0x0c,0x08,0x00,0x00,0xf8,0x00,0xfe,0x00,0xf0,0x10,0x10,0xf0,0x04,0x88,0x50,0x20,0x18,0x06,/袁0x20,0x20,0x27,0x20,0xf8,0x24,0x22,0x72,0x69,0xa1,0xa2,0x22,0x24,0x28,0x20,0x20,0x04,0x04,0x84,0x84,0xbe,0x84,0x84,0xa4,0x14,0x14,0x84,0x84,0x84,0x04,0x14,0x08,/樹0x02,0x01,0x01,0x0

14、0,0x7f,0x00,0x00,0x10,0x08,0x08,0x04,0x04,0x04,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x00,0xfe,0x00,/立0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x18,0x0c,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0

15、x00,/、0x00,0x7f,0x01,0x01,0x01,0x01,0x01,0x3f,0x01,0x01,0x01,0x01,0x01,0x01,0xff,0x00,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,/王0x10,0x10,0x10,0x10,0xfc,0x11,0x31,0x3a,0x54,0x54,0x90,0x10,0x11,0x13,0x11,0x10,0x10,0x90,0x90,0x88,0x88,0x24,0x24,0x22,0x40,0x40,0x

16、88,0x84,0x04,0xfe,0x02,0x00,/松0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x18,0x0c,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/、0x10,0x10,0x10,0xfe,0x10,0x7c,0x44,0x7c,0x44,0x7d,0x10,0xfe,0x10,0x10,0x10,0x10,0x20,0x20,0x20,0xfe,0x20,0x2

17、0,0xfc,0x20,0x20,0xfe,0x22,0x22,0x2a,0x24,0x20,0x20,/韓0x10,0x10,0x20,0x25,0x45,0xfb,0x15,0x21,0x41,0xfd,0x41,0x01,0x1d,0xe1,0x41,0x01,0xa0,0x90,0x80,0xfe,0x10,0x10,0xfc,0x10,0x10,0xfc,0x10,0x10,0x10,0xfe,0x00,0x00,/維0x00,0x00,0x7c,0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0x7c,0x44,0x01,0x01,0x02,0x04,0x00

18、,0xfc,0x84,0x84,0x84,0xfc,0x84,0x84,0x84,0xfc,0x84,0x84,0x04,0x04,0x14,0x08/明;void delay()/延時函數(shù)uchar t;for(t=0;t<0x0f;t+);void send595()/顯示uchar dat1,i,t;R1=1;R2=1;CLK=0;for(i=0;i<8;i+)dat1=r1_datai;for(t=0;t<8;t+)R1=dat1&0x80;R2=dat1&0x80;CLK=1;CLK=0;dat1<<=1;LAT=1;LAT=0;dela

19、y();void load_data(uchar dat132,uchar hang,uint k)/讀取數(shù)據(jù)(移位)uchar i;for(i=0;i<8;i+)if(i+k)/2>28)/最后以空結(jié)尾r1_datai=kong0;else if(i+k)/2>10)/班級讀取完后,讀取組員信息r1_datai=dat1(i+k)/2-11hang+(i+k)%2*16;else if(i+k)/2>4)/空讀取完后,讀取班級r1_datai=banji(i+k)/2-5hang+(i+k)%2*16;else/開始讀取4個空字r1_datai=kong0;void

20、main()uint z;uchar i,k;P1M1=0x00;P1M0=0xff; /推挽輸出,否則不穩(wěn)定EN=0;while(1) for(z=0;z<480;z+)for(i=0;i<16;i+)k=z/8;/記錄移位塊數(shù)load_data(zixing,i,k); /載入數(shù)據(jù)EN=1; /消除改變595數(shù)據(jù)時產(chǎn)生的陰影send595(); P1=i; /行選時CLK為0,不影響595寄存器數(shù)據(jù)。 EN=0; delay();實(shí)習(xí)心得這次小學(xué)期的生產(chǎn)實(shí)習(xí)選擇了夏濤老師的項(xiàng)目,與其他兩組實(shí)習(xí)不同的是,夏濤老師給我們自由發(fā)揮的空間。初次上課時,夏濤老師還是采用慣用的講課風(fēng)格,讓

21、我們不要覺得山不高就不屑于去攀登。聽著以前聽過的故事,還別有一番風(fēng)格呢。當(dāng)老師布置出需要完成的題目時,聽著單片機(jī)這個陌生又熟悉的名詞,感覺還是心里還是犯嘀咕。后來又布置了自選題目,可以自由根據(jù)單片機(jī)知識發(fā)揮。小組內(nèi)有一名自己做過藍(lán)牙控制臺燈的組員感覺可以值得一試,可細(xì)細(xì)反思后,還是覺得做一個不熟悉的領(lǐng)域更能夠增長知識。所以帶著些許疑慮地選擇了這個32*64點(diǎn)陣屏的制作。老師給出了一定的標(biāo)準(zhǔn),讓文字在點(diǎn)陣屏上運(yùn)動,文字運(yùn)動的花樣豐富將會提升作品質(zhì)量。看著這么塊二極管集成的顯示屏,功能應(yīng)該不只是可以顯示文字這么簡單吧。仔細(xì)想想,音樂的頻譜振動圖形顯示,俄羅斯方塊游戲的制作,日歷的顯示,文字滾動顯示

22、等,都可以在這么不起眼的點(diǎn)陣板子上實(shí)現(xiàn)。想得越多,興致越高,越想去完成它。第一天,所有工具都沒有,手里拿著臺筆記本電腦搜羅著各種信息。卻不知道如何下手,對目標(biāo)十分不明確。接著就是很多人早已經(jīng)簽訂了暑期實(shí)習(xí)工作,并沒有特別充裕的時間靜下心來做這個看似簡單卻又不簡單的任務(wù)。明確好總的流程步驟字模的生成串口通訊點(diǎn)陣原理相關(guān)程序的編寫。團(tuán)隊(duì)剛開始磨合也不知道如何分配各自的任務(wù),沒有一個明確的目標(biāo)。在上網(wǎng)查找了很多資料后,終于得知字模的生成方法。自己編輯的時候也只能利用vb這種簡單而容易上手的編程語言了。由于C語言并沒有好好學(xué)習(xí)可視化編程的部分,所以就放棄了這條路。Vb編輯的過程也是漏洞百出,需要做很多

23、轉(zhuǎn)換工作,借助了一定的網(wǎng)上資源,我們也做出了一個能夠轉(zhuǎn)換出文字字模的vb小程序了。緊接著就應(yīng)該進(jìn)行串口通訊的解決了。在一開始的時候也遇上了不小的問題,因?yàn)関b編輯串口通訊時需要用到一個特定的串口通訊按鈕,并且需要將串口通訊與字模的獲取結(jié)合起來,對于之前基礎(chǔ)薄弱的整個團(tuán)隊(duì)來說沒有足夠的時間去解決,在上網(wǎng)查閱了資料后,也放棄了進(jìn)一步使用vb6.0。我們需要做的不是重頭開始,而是在前人的基礎(chǔ)上進(jìn)行更深入的學(xué)習(xí),所以我們在網(wǎng)上找到了一款既能夠生成所需的字模,又能進(jìn)行串口通訊的第三方軟件。既然已經(jīng)有了既能滿足字模獲取又能滿足串口通訊的軟件,那就不必要再花費(fèi)更多的時間在這上面了。畢竟已經(jīng)浪費(fèi)了很多時間了。

24、由于對整個大方向的把握不準(zhǔn),前期的時間浪費(fèi)很多,想迫不及待地拿到板子進(jìn)行進(jìn)一步的制作,卻幾次都與老師時間沖突。加上實(shí)習(xí)時間的緊迫,工作任務(wù)的突然加重,導(dǎo)致課程設(shè)計這邊的任務(wù)嚴(yán)重滯后。到了最后一周的周一下午才拿到板子。拿到板子后,我們認(rèn)真地查閱過板子的原理圖。板子由32塊8*8點(diǎn)陣屏集連到一起的,并且利用了4塊74HC138譯碼器進(jìn)行行控制。用了很多塊595進(jìn)行列控制。輸入端口為標(biāo)準(zhǔn)的08接口,一個使能端口,一個時鐘信號,一個寄存器管腳,四個行控制信號。就在編程的時候出大問題了,對單片機(jī)知識的嚴(yán)重缺乏,很多單片機(jī)自己內(nèi)部的指令完全不知道,不知道如何引用單片機(jī)內(nèi)部的結(jié)構(gòu)程序。研究參考大量的類編程后,并不能短時間完全地對這語言類知識掌握透徹,所以感覺像半壺水一樣,自己都知道沒那個分量。在網(wǎng)上拿到的程序經(jīng)過管腳的改變,卻不知從何對板子的電路進(jìn)行連接。不斷地測試后,感覺到了程序深深的惡意。規(guī)定好的引腳接到對應(yīng)的輸入口引腳上,點(diǎn)陣屏竟然沒有一點(diǎn)反應(yīng),點(diǎn)陣屏電源是優(yōu)先就接好的啊,沒有一顆燈是亮的,我們心里也是拔涼拔涼的。經(jīng)過最后幾天的努力,將接口不斷地實(shí)驗(yàn),會出現(xiàn)整個屏幕全部耀眼的亮光,感覺好像漆黑的夜里看見了一戶人家似的,有了一線光明。但,這些連接方法完全已經(jīng)不是代碼上所說的了。這使我反過來考慮代碼的問題,自己對代碼沒有完全地梳理透徹,不能完全明白

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論