freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的單詞記憶測試器畢業(yè)論文-預(yù)覽頁

2025-07-13 12:52 上一頁面

下一頁面
 

【正文】 ned char kbscan() //鍵盤掃描 { uchar hang,lie,key。圖11 單片機(jī)單詞記憶測試器電路原理圖電路設(shè)計(jì)參數(shù):(1) C1 C2 為2030PF瓷片電容,與12M晶振組成時(shí)鐘振蕩電路;(2) 復(fù)位電路使用R1為10K電阻、C3為10uF電解電容;(3) 12864液晶模塊與單片機(jī)P0口連接,因P0口為真正的三態(tài)門結(jié)構(gòu),因些作數(shù)據(jù)總線使用時(shí)要外接上拉電阻,可使用10K的排阻;(4) 按鍵如圖的行相連,列相連的矩陣接法連入單片機(jī)IO口;(5) 電路的供電為5V直流電源;(6) D1為輸入錯(cuò)誤的狀態(tài)指示燈,加220歐限流電阻連到VCC,因?yàn)镾TC89C51單片機(jī)IO的電流灌入能力要強(qiáng)于電流輸出能力,因此一般使IO為低電平時(shí)點(diǎn)亮LED燈。行線輸出是低電平,一旦有鍵按下,則輸入線就會(huì)被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。最大程度地提高了單片機(jī)IO口的利用率,設(shè)計(jì)共30個(gè)接鍵,包括了26個(gè)英文字母以及四個(gè)功能鍵:“確定”、“不認(rèn)識(shí)”、“上一個(gè)”、“下一個(gè)”。從上圖中可以看出,MzL0212864 液晶顯示模組的行地址實(shí)際上就是Page 的信息,每一個(gè)Page 應(yīng)有8 行;而列地址則表示該點(diǎn)的橫坐標(biāo),在屏上為從左到右排列,Page 中的一個(gè)Byte 對應(yīng)的是一列(8行,即8 個(gè)點(diǎn)),達(dá)128 列。而顯示器的顯示點(diǎn)陣大小為64X128 點(diǎn),所以實(shí)際上在液晶顯示模塊中有用的顯示RAM 區(qū)為64 X 128 個(gè)位;按byte 為單位劃分,共分為8 個(gè)Page,每個(gè)Page 為8 行,而每一行為128 個(gè)位(即128 列)。12864 模塊與各種MCU 均可進(jìn)行方便簡單的接口操作。圖5 STC89C52的引腳排列圖 圖6 時(shí)鐘電路圖 圖7復(fù)位電路圖 顯示模塊的硬件部分介紹顯示模塊采用單色點(diǎn)陣液晶屏12864模塊,該模塊在點(diǎn)陣液晶屏基礎(chǔ)上集成了控制器kS0108,用戶只需設(shè)計(jì)好接口程序,就可讓模塊顯示出各種字符和圖像。復(fù)位電路采用電解電容與電阻串聯(lián),當(dāng)系統(tǒng)上電時(shí),由于電容充電,在RST端會(huì)產(chǎn)生一個(gè)高電平,高電平持續(xù)的時(shí)間由電容和電阻的值決定,當(dāng)RESET信號(hào)為低電平時(shí),系統(tǒng)為工作狀態(tài)。 本設(shè)計(jì)以STC89C52單片機(jī)為處理器,以12854點(diǎn)陣液晶屏為顯示器件,并使用56距陣鍵盤為輸入設(shè)備,實(shí)現(xiàn)了功能全面的人機(jī)界面和高速的數(shù)據(jù)處理功能,利用單片機(jī)片上FLASH ROM,可儲(chǔ)存1020個(gè)英文單詞和漢字,作為記憶測試用。該單片機(jī)單詞記憶測試器為在現(xiàn)實(shí)生活中有著廣泛的應(yīng)用,特別是對學(xué)習(xí)英語方面有很大的作用。STC89C52單片機(jī)需在復(fù)位電路和時(shí)鐘振蕩電路組成的最小系統(tǒng)下工作,單片機(jī)引腳圖如圖5,外圍電路如圖6和圖7所示,時(shí)鐘電路采用頻率采用為12MHZ的晶振,CC2與晶振構(gòu)成了外部振蕩電路。用戶可以通過切斷電源進(jìn)行手動(dòng)復(fù)位,或者通過重新下載新的程序進(jìn)行復(fù)位。12864 為一塊128X64 點(diǎn)陣的LCD 顯示模塊,模塊上的 LCM 采用COG 技術(shù)將控制(包括顯存)、驅(qū)動(dòng)器集成在LCM 的玻璃上,接口簡單、操作方便;為方便用戶的使用,在LCM 的基礎(chǔ)上設(shè)計(jì)了12864 模塊,將模塊所必需的外圍電容電阻集成到模塊上,并引出多種形式的引線接口方便用戶使用。12864 液晶顯示模塊的顯示器(玻璃)上的顯示點(diǎn)與驅(qū)動(dòng)控制芯片中的顯示緩存RAM是一一對應(yīng)的;驅(qū)動(dòng)控制芯片當(dāng)中共有65(8 Page x 8 bit+1)X 132 個(gè)位的顯示RAM 區(qū)。圖9 為顯示RAM區(qū)與顯示屏的點(diǎn)映射圖:圖9 顯示RAM區(qū)與顯示屏的點(diǎn)映射圖行、列地址:用戶如要點(diǎn)亮 LCD 屏上的某一個(gè)點(diǎn)時(shí),實(shí)際上就是對該點(diǎn)所對應(yīng)的顯示RAM 區(qū)中的某一個(gè)位進(jìn)行置1 操作;所以就要確定該點(diǎn)所處的行地址、列地址。 矩陣鍵盤 要測試記憶的單詞,就要有字母的輸入接口,本接口設(shè)計(jì)為56矩陣鍵盤輸入,接入單片機(jī)的P1口和P3口進(jìn)行鍵盤掃描。這樣,當(dāng)按鍵沒有按下時(shí),所有的輸出端都是高電平,代表無鍵按下。以該軟件設(shè)計(jì)的電路原理圖圖11。這里還要考慮按鍵的機(jī)械抖動(dòng)問題,因?yàn)榘存I的機(jī)械特性,可能在按下瞬間會(huì)有一組抖動(dòng)的脈沖,一般程序中采用延時(shí)方法來去抖動(dòng)。0xFF) //P1 掃行 { case 0xFE:hang=5。 // case 0xFB:hang=3。 // case 0xEF:hang=1。 // } P1=0。break。break。break。 //按鍵松開后才返回值 key=tab1[hang][lie]。 } LCD12864顯示模塊的驅(qū)動(dòng)程序 LCD12864顯示模塊的程序作為顯示部分的底層程序,用戶可直接調(diào)用其函數(shù)來達(dá)到驅(qū)動(dòng)和顯示功能。 //在第7行,第1列開始顯示correct;LCD12864顯示一個(gè)漢字的示例代碼如下:hz_disp(0,48,1,hz1+hz_Num*32,1)。 系統(tǒng)軟件主程序結(jié)構(gòu)及其函數(shù)系統(tǒng)主程序完成主循環(huán)和對各模塊函數(shù)的調(diào)用,調(diào)用的文件包括:、 , 8051內(nèi)核單片機(jī)的標(biāo)準(zhǔn)頭文件,定義了單片機(jī)內(nèi)部各寄存器的地址,使用戶編程更方便;,供顯示函數(shù)調(diào)用,包括了屏顯示的指令函數(shù)和顯示中英文的函數(shù)。 //輸入的最終結(jié)果對錯(cuò)的標(biāo)志位,為0是正確bit verify。 //存儲(chǔ)各測試單詞的長度,如果輸入的單詞長度與存儲(chǔ)的不同,也為錯(cuò)誤為能動(dòng)態(tài)地顯示測試的單詞,先將要測試的單詞存在一個(gè)二維數(shù)組中,顯示了該數(shù)組中的字符時(shí), 相應(yīng)字符的字模碼(); /*****************************************/** 存儲(chǔ)要測試的單詞,放在ROM中/****************************************/uchar code S[10][5]={ tree , //樹 rain , //雨 water, //水 fly , //飛 go , //去 fish , //魚 snow , //雪 eat , //吃 rice , //米 ice , //冰 } 。,39。,39。}, {39。,39。,39。,39。,39。 }, {39。,39。,39。,39。,39。}, {39。 鍵盤掃描函數(shù)返回的是鍵值。 //LCD12864初始化 ClearLCD()。 //在第7行,第1列開始顯示correct: en_disp(6,80,5,Asc,00/10,1)。 //進(jìn)行矩陣按鍵掃描,得到掃描鍵盤的輸入值 hz_disp(0,48,1,hz1+hz_Num*32,1)。 //在第1行 第21列顯示: en_disp(0,4,2,Asc,temp,1)。_39。 if(correctNUM10) { correctNUM=10。 //最多設(shè)10個(gè)單詞 temp[0]=(correctNUM)/10+0x30。 Nword=0。 hz_Num++。 en_disp(4,16,8,Asc, ,1)。 //最多設(shè)10個(gè)單詞 hz_Num。 //在第5行,第17列開始顯示 } else if(S[hz_Num][iword]==KeyNum[iword])//輸入的字符與測試的標(biāo)準(zhǔn)字符比較 { temp[0]=KeyNum[iword]。 if(iword==8) iword=0。 ERROR=1。 Nword=iword*8。因仿真軟件中沒有STC89C52元件 ,故可使用完全兼容的AT89C52單片機(jī)仿真。我一直認(rèn)為畢業(yè)設(shè)計(jì)重在過程。這些收獲給我?guī)淼南矏傔h(yuǎn)遠(yuǎn)超過了完成畢業(yè)設(shè)計(jì)時(shí)給我?guī)淼南矏偂? //輸入字符錯(cuò)誤標(biāo)志位bit result=0。 //統(tǒng)計(jì)測試正確的單詞數(shù),即得分/*****************************************/** 存儲(chǔ)要測試的單詞,放在ROM中/****************************************/uchar code S[10][5]={ tree , //樹 rain , //雨 water, //水 fly , //飛 go , //去 fish , //魚 snow , //雪 eat , //吃 rice , //米 ice , //冰 } 。a39。c39。e39。g39。i39。k39。m39。o39。q39。s39。u39。w39。y39。 //最后的 1234 鍵盤值為功能鍵, 1表示確定鍵,2表示不認(rèn)識(shí),3表示上一個(gè),4表示下一個(gè) /*************************************************** 鍵盤掃描程序*************************************************/unsigned char kbscan() //鍵盤掃描 { uchar hang,lie,key。// case 0xFD:hang=4。// case 0xF7:hang=2。// case 0xDF:hang=0。//P3全高電平 switch(P3amp。break。break。 //P1全高電平 P3=0。_39。 //用于送液晶屏顯示的臨時(shí)變量 uchar iword=0,Nword=0。 //在第2行 第1列 en_disp(4,1,1,Asc,1)。 //P1全高電平 P3=0。 //將十進(jìn)制數(shù)轉(zhuǎn)換為ASCII字符 temp[1]=(hz_Num+1)%10+0x30。_39。 if(correctNUM10) { correctNUM=10。 //最多設(shè)10個(gè)單詞 temp[0]=(correctNUM)/10+0x30。 Nword=0。 hz_Num++。 en_disp(4,16,8,Asc, ,1)。 //最多設(shè)10個(gè)單詞 hz_Num。 //在第4行,第16列開始顯示 } else if(S[hz_Num][iword]==KeyNum[iword]) //輸入的字符與測試的標(biāo)準(zhǔn)字符比較 { temp[0]=KeyNum[iword]。 if(iword==8) iword=0。 ERROR=1。 Nword=iword*8。 0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00, 0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,0x00, // 39。 此字體下對應(yīng)的點(diǎn)陣為:寬x高=16x16 */0x10,0x10,0xD0,0xFF,0x50,0x90,0x68,0x88,0x68,0x18,0x90,0x10,0x10,0xFF,0x10,0x00,0x04,0x03,0x00,0xFF,0x10,0x09,0x04,0x03,0x01,0x06,0x00,0x41,0x80,0x7F,0x00,0x00,/* 文字: 雨 */ //+32/* 宋體12。 此字體下對應(yīng)的點(diǎn)陣為:寬x高=16x16 */0x00,0x00,0x08,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x01,0x21,0x71,0x29,0x25,0x27,0x21,0x21,0x21,0x29,0x71,0x21,0x01,0x01,0x00,/* 文字: 魚 */ ///* 宋體12。 此字體下對應(yīng)的點(diǎn)陣為:寬x高=16x16 */0x20,0x20,0x22,0x24,0x38,0xE0,0x20,0xFF,0x60,0xA0,0x30,0x28,0x26,0x20,0x20,0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0xFF,0x00,0x01,0x06,0x08,0x18,0x30,0x10,0x00,/* 文字: 冰 */ ///* 宋體
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1