




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
附頁一 電子借閱系統設計任設計一個電子借閱系統,實現借閱登記、電子等功能。 讀者使用,同時也可以在主系統上直接閱讀;主系統可以通過紅外射頻設備識別子設備ID號(通過讀者借書卡),以方便登記;子設備上能顯示的電子文檔以供讀者進行閱讀主系統上可以查看到各個子設備使用記錄(如子設備ID時間、 1個主系統、1基本要求(1)要求SD卡使用文件系統,存入txt時在PC機上通過讀
電子借閱系統設計任電子借閱系統是一個可以閱讀預先存放在SD卡里的txt格式文件的電子設備。主系統里的來閱讀,而且也可以在主系統中直接閱讀。該系統采用全觸摸:SD卡無線傳輸觸摸人機界面:一、方案論證與選 二、系統設計與理論分 三、軟件設 四、硬件設 TFT液晶接口電 nRF24L01無線收發電 SD卡接口電 五、感 六、附 主要元件 代 目前市場上流行的仍然是8位單片機,8位單片機不僅成本低,而且處理速度也32ARM7STM32F103ZET672MHZ,FLASH本系統要求采用無線傳輸方式,而無線傳輸有很多,而且性能各異,由于系統沒100FAT16FAT32。由它們的數字可知,FAT1665536FAT324GBFAT32主系統的SD卡里先通過PC機存放若干本txt格式的,主系統開機后可以顯示全部的書名和編號,用戶可以直接在主系統上閱讀所有的。統上主系統識別出子系統后子系統界面就可以顯示主系統里所的編號和書名,用戶點擊相應的書名就可以主系統里的到子系統上并閱讀。本系統除了可以閱讀txt文件外還可以MP3文件和BMPTFTTFT1665K320x240
由于我們采用的是STM32處理器的板所以需要將它IO口引出來才能控制nRF24L01nRF24L01是一款工作在2.4~2.5GHz世界通用ISM頻段的單片無線收發器無線收發器包括:頻率發生器、增強型SchockBurstTM真正的GFSK單收發;自動應答及自動重發功能;地址及CRC檢驗功能;數據傳輸率:12Mbps;SPI0~8Mbps;1255V1.9~3.6V。其內部電路如下圖所示:SDSDSPI件并正確顯示,沒一點的成功都了我們技術上的進步和經驗的積累。我們都知道電子借閱系統這道題目對我們來說是一次,因為需要用的知識太多了,其中包括SD原理,FAT323.2TFT22SD2211288《SD《STM32F10x#include"main.h"NRF0的測試//ucharexternu8Rx_Address1[];//1的地址externu8Tx_Address11[];1的地址externvoidtouch_init(void);externu16X,Y;volatileu8flag=1;u8State=0;指明當前狀態,用狀態機方法u8File_Num_TXT=0;u8File_Num_MP3=0;u8volatileu16u8tran_mode=0; volatileu8 constu8//0:1:void{ //水平時x,y // // //使能觸摸 //}//void{LCD_ShowString(70,230,"StartSystem!",WHITE,BLUE,0); }voidShow_{LCD_ShowString(0,0,"TXTReader",BLACK,WHITE,0);}//在指定dir_clusterfile_numfile_type//返回:u8*get_file_name(u8file_num,u32dir_cluster,u16{u8DWORDtempclust=dir_cluster;DWORDsector;u8cnt;u16offset;Short_DIR*item=0;FileInfoStructFileInfo;{ { t,fat_buffer))return0;{item=(Short_DIRif((item->deName[0]!=0x00)&&(item->deName[0]!={if(item->deAttributesAM_LFN{CopyDirentruyItem(&FileInfo,item);//項,提取詳細信{{}}}}}}}return}u8get_file_num(u32dir_cluster,u16{u16FileInfoStruct //指針所指的數清0 //獲取TXT文件個數return}//顯示 ,暫時最多顯示10voidShow_TXT_ //目前只用于{u8u8*file_name;LCD_ShowString(70,0,"TXTReader",BLACK,WHITE,0);{file_name=get_file_name(i,File_DIR[1],T_TXT);}}voidShow_MP3_ //目前只用于{u8u8*file_name; {file_name=get_file_name(i,File_DIR[2],T_MP3);}}voidShow_Transmit_{ {LCD_ShowString(70,300,"SEND } {LCD_ShowString(70,300,"RECEIVE}}voidShow_BMP_{u8u8*file_name;{file_name=get_file_name(i,File_DIR[5],T_BMP);}}int{volatileu16FileInfoStruct // // { //{} //TXTReader{ // //選中SD卡 // LCD_ShowString(70,0,"TXT{ // //SD //}}} { // //選中SD卡 // { // //選中SD卡 }} //Transmit{{}} //{
// //選中SD卡 File_Num_TXT=get_file_num(File_DIR[1],T_TXT);//得到TXT的數目 //先把所有書名發{ }
先把所有書名發送{ }} { // //選中SD卡 //{{ // //選中SD卡 }}}}}#include"stm32f10x_lib.h"#include"sys.h"#include"Lcdhx8347.h"#include"touch.h"#include"mmc_sd.h"#include"fat.h"#include"txt.h"#include"delay.h"#defineFONTSIZE161616*16#defineFONTSIZE121212*12u8next_page=0;u8last_page=0;u8 FSIZEFONTSIZE16;//漢字大小,16*16//unsignedcharjpg_buffer[1024]={0};//externu16sector_size;//每扇區字節數externu8cluster_size; void{}//Cluster//unsignedlongGetSysFileSector(u8uoh,unsignedint{unsignedlongfoffset=0;unsignedinti;elseif(uoh==12)foffset=FONT12CLUSTER;{}//printf("finalreturn(root_address+(foffset-2)*8);}//code//code字符串的開始地址,ascii FSIZE*2bytesvoidGet_HzMat(unsignedchar*code,unsignedchar{unsignedcharqh,wh;unsignedchari;unsignedint unsignedlongfoffset;if(*code<0xa1)if(*code++<0xa1)//{return;結束} //8 //8int
foffset=((unsignedlong)94*qh+wh)*(FSIZE*2);// //得到總的完整的扇區數(不要寫成secoff=(unsignedint)foffset%sector_size;//扇區內的字節數偏移wh=(unsignedchar)sector%cluster_size; cluster=(unsignedint)sector/cluster_size;//得到總的簇數//{}{
//(FSIZE*2)字i=sector_size-secoff;//的數據已跨扇區{}SD_Read_Bytes(foffset+wh,mat+i,0,(FSIZE*2)-i);//剩余的數}}//x,y//font:ASCII//mode:0,全填充寫入.1,有效部分寫入(適合在上疊加漢字)voidshow_font(u8x,u16y,u8*font,u16color,u8mode){u8u8temp=0;if(!mode){for(t1=0;t1<FSIZE;t1++)//FSIZE個字節,{{else{Lcd_WR_Start();LCD_Write_Data(WHITE);}}for(t2=0;t2<(FSIZE-8);t2++)//16*16{else{Lcd_WR_Start();LCD_Write_Data(WHITE);}//填充背景色}}}else//{for(t1=0;t1<FSIZE;t1++)//FSIZE個字節,{{}for(t2=0;t2<(FSIZE-8);t2++)//16*16{}}}} ://mode模式//bit0:1,疊加模式;0,//bit1:1,自動換行;0,不自動換行voidShow_Str(u8x,u16y,u8*str,u16color,u8{u8bHz=0; unsignedchar*mat;保存字符的點陣內容{if(!bHz{if(*str>0x80){} //{{{}else}{}}}
x+=FSIZE/2;字符,{{{}else}Get_HzMat(str,mat);//得到點陣數據(無字庫不起動系統) //中文字符是普通字符的2倍x+=FSIZE;}}}//txt文件并顯示在液晶屏//txtvoidmy_readbook(u32 {volatileu8*pos[10];volatileu32sector[10];volatileu8k=0;volatileu32i=0;volatileu32secStart;volatileu16pointpos=0; volatileu16x=0,y=0;volatileu8 //txtvolatileu8 //volatileu8bHz=0; volatileunsignedchar*mat={0};//保存點陣內容secStartfatClustToSect(staClu);簇號轉換為扇區號 {mat=jpg_buffer+512;jpg_buffer的后半部分,存放字模數據.前半部分用來存放p=jpg_buffer;//txt{{ //ASCII字符{ //一頁已{{
// 等待觸摸屏按{ //{ //選中SD卡 return_page=0; //TXT} //{ 暫不能連續兩次上} //{}} // //SD屏已滿,
next_page=0;y=0;x=0;Lcd_Clear(WHITE);select_point();//{}}}{}}}{
p++;pointpos++;//指針偏移x+=FSIZE/2字符,{{////等待觸摸屏按下一頁{{//////SD return_page=0; //TXT} //{ } //{}}滿,
// //選中SD卡 next_page=0;y=0;x=0;Lcd_Clear(WHITE);select_point();//一屏已{}}}{temp[0]=*p; }{不起動系統
Get_HzMat((u8*)temp,(u8*)mat);//顯示上一次的最后一個字(無字庫 //}
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄭州電力職業技術學院《世界音樂文化》2023-2024學年第一學期期末試卷
- 山東體育學院《高等天然藥物化學》2023-2024學年第一學期期末試卷
- 山東司法警官職業學院《高級阿拉伯語》2023-2024學年第二學期期末試卷
- 四川省眉山市外國語學校2024-2025學年高三下學期單元檢測試題英語試題含解析
- 武漢航海職業技術學院《英語綜合技能訓練》2023-2024學年第二學期期末試卷
- 外交學院《智慧城市工程》2023-2024學年第一學期期末試卷
- 四川省西昌市禮州中學2024-2025學年初三8月月考物理試題含解析
- 金屬活動順序的比較
- 2025建筑材料產品購銷合同
- 2025建筑外墻保溫施工合同協議書
- 超聲波類hc sr04p使用說明
- 北京市朝陽區2022-2023學年高三上學期期中語文試卷各個模塊講評 課件
- 桂林市臨桂區中小學教師招聘筆試試題2023年
- 方證歌訣【執業中醫師中醫內科】
- 學習浙江《千萬工程》經驗全文PPT
- 數控等離子切割機操作規程教育課件
- 2022年浙江省杭州市中考化學試卷【含答案】
- 機電工程技術標投標方案
- DB31 SW-Z 017-2021 上海市排水檢測井圖集
- 江蘇省期無錫市天一實驗校2023屆初三英語試題2月聯考試題含解析
- 汽車維修工(高級)技能理論考試核心題庫(職校考試600題)
評論
0/150
提交評論