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

正文內(nèi)容

基于stm32的簡易計算器設計畢業(yè)設計論文-wenkub.com

2024-11-19 07:17 本頁面
   

【正文】 }}/***************************************************************************** 名 稱float2str(float num,song_s8 *str) * 功 能:float型數(shù)字 轉(zhuǎn) 字符串* 入口參數(shù):float型數(shù)字 str字符串地址* 出口參數(shù):* 說 明:****************************************************************************/void float2stre(float num,u8 *str/*,song_u8 N*/) { // song_u8 i=1,strlen=0。039。.39。 /*if(N=8) sprintf(str,%o,num)。} //指針為空,或者 有多余的39。}/***************************************************************************** 名 稱:calculate(song_s8 *str,song_u8 N)* 功 能:計算字符串,判斷計算是否正確* 入口參數(shù):str 字符串* 出口參數(shù):num_point結(jié)構(gòu)體,里面包含運算結(jié)果,及下一個指針* 說 明:內(nèi)部函數(shù)****************************************************************************/struct num_point calculate(u8 *str,u8 N) //Continuous add{ struct num_point tmp。) //保證括號相對應 { ++。(39。 // free(ADDS)。 for(i=0。 *(adds1) = 。939。039。) *(adds1)= *(adds1) * 。=NULL。) //乘除號之后只能是數(shù)字或者括號 { if(*(str+1)==39。 } else if(*str==39。39。*/CDEBUG。*(str+1)=39。 //遞歸 } else if(*(str+1)=39。) //加減號之后只能是數(shù)字或者括號 { if(*(str+1)==39。了 { if( *str==39。 || *str==39。 || *str==39。 //插入數(shù)據(jù) str = 。 *str=39。 //保存剩余字符串 } if(*str=39。) //開頭括號,則調(diào)用遞歸函數(shù)求出括號內(nèi)部的值 { tmp = cal_bk(str,N)。iADDN。 //返回結(jié)果 float ADDS[ADDN]。/039。 } return tmp。 CDEBUG。/39。 //獲取字符串的數(shù)值及結(jié)束的下一個指針 if(*str == 39。 //小數(shù)部分 } } =str。) //*str 是數(shù)字 { tmpnum/=N。 amp。.39。039。039。 }}/***************************************************************************** 名 稱:num_point str2num(song_s8 *str)* 功 能:讀取字符串數(shù)字并轉(zhuǎn)為數(shù)值,返回結(jié)構(gòu)體num_point* 入口參數(shù):str 字符串* 出口參數(shù):num_point結(jié)構(gòu)體,里面包含運算結(jié)果,及下一個指針* 說 明:內(nèi)部函數(shù) 調(diào)試階段:暫時為全局函數(shù)****************************************************************************/ struct num_point str2num(u8 *str,u8 N) //N為N進制{ struct num_point tmp。 Lcd_Set_Boundary(0,480,0,57)。 show_flag=1。pen)。 //計算字符串結(jié)果 sprintf(result_buffer,%lf,)。 a=0。 } Lcd_Display_Ochar(0+v*16,10,table[i*4+j],amp。(by1+j*58+50)) { if(table[i*4+j]==39。(ax1+i*58+50)amp。i++) { for(j=0。amp。amp。 while(touch_flag) { x1=11,y1=78。 char result_buffer[40]={0}。 //循環(huán)變量 int x1,y1。pen)。pen)。 =16。 Lcd_Display_Ochar(360,262,39。 Lcd_Draw_Rectangle_Hollow2(0,310,480,310, amp。 } y=78。j4。 //同時橫坐標偏移 } x=11,y=78。 k++。i++) //畫鍵盤 { for(j=0。 } Lcd_Clear_All(WHITE)。pen)。pen)。pen)。pen)。pen)。 //鍵盤的坐標初值 Lcd_Display_String(108,45,wele !!! ,amp。i(480*57)。 //筆的屬性static LCD_PEN pen = { RED, WHITE, P_S32, P_SET_NOBRUSH, P_DIR_HOR }。39。/39。339。939。239。839。139。739。}cal。//清屏 break。//清屏 Lcd_Display_String(100, 120, (char*)Adjust timeout., amp。//清屏 return 0。//清屏 Lcd_Display_String(100,120, (char*)Adjust OK!, amp。 }else //X,Y方向與屏幕相同 { = 0xD0。Adjust_pen)。Adjust_pen)。 //得到y(tǒng)off printf(%d\r\n,)。 //得到xoff printf(%d\r\n,)。 //畫點1 continue。 //一定注意要清0,重新開始調(diào)試 Tp_Draw_Adjustpoint(460,300,amp。 tem2*=tem2。 d1=sqrt(tem1+tem2)。 //直接跳出本次while循環(huán),重新開始調(diào)試 }//正確了 //對角線相等 tem1=abs(pos_temp[1][0]pos_temp[2][0])。Clear_adjust_pen)。 d2=sqrt(tem1+tem2)。 //得到1,3的距離 tem1=abs(pos_temp[1][0]pos_temp[3][0])。//x1x3 tem2=abs(pos_temp[0][1]pos_temp[2][1])。 //清除點4 Tp_Draw_Adjustpoint(20,20,amp。 //得到3,4的距離 fac=(float)d1/d2。//x3x4 tem2=abs(pos_temp[2][1]pos_temp[3][1])。//y1y2 tem1*=tem1。Adjust_pen)。 //畫點3 break。 case 2: //得到了第2個測試點 Tp_Draw_Adjustpoint(460,20,amp。Clear_adjust_pen)。 //測試標志位清0 pos_temp[t][0]=。 //消除觸發(fā)信號 // = 0。Adjust_pen)。 u16 outtime=0。 //存放4個調(diào)試點的坐標值X和Y的數(shù)組 u8 t=0。 Calculator_Init()。 Led_Init()。另外,自己還總結(jié)了一個結(jié)論:理論知識必須通過應用實踐才能實現(xiàn)其真正的價值。自己需要學習的知識還很多,以前總感覺自己會的東西很多,什么道理都懂,過于自信。在沒有做畢業(yè)設計之前,總覺得畢業(yè)設計只是對自己大學四年來所學知識的總結(jié),但是當自己真的面對畢業(yè)設計時,發(fā)現(xiàn)自己的想法基本是錯誤的。畢業(yè)設計是我在校期間向?qū)W校所交的最后一份作業(yè)。而單片機只是這方面的一小部分,還有更多的東西需要我們?nèi)W習。為了讓自己的大學生活完美落幕,我認真對待自己的畢業(yè)設計,終于經(jīng)過了一個多月的努力,我完成了從理論設計到硬件實踐的突破。 系統(tǒng)的觸摸屏接口圖4 系統(tǒng)軟件設計 系統(tǒng)各個模塊初始化系統(tǒng)在復位或上位之后,最先進行的就是系統(tǒng)各個模塊的初始化,:開始系統(tǒng)時鐘初始化延時初始化LCD初始化觸摸屏初始化顯示計算器的輸入界面計算結(jié)果 各個模塊的初始化流程圖 顯示模塊程序設計: 開始設置IO口向LCD寫初始化指令開啟背光源 LCD初始化流程圖 觸摸模塊程序設計首先要由單片機進行檢測觸摸屏是否已經(jīng)校準,如果沒有校準,那么將進入校準模式進行校準。T_CS:觸摸屏片選端。LCD_BL:觸摸屏背光源的控制引腳。各引腳定義如下:LCD_CS:TFTLCD片選信號。 整體系統(tǒng)硬件設計 單片機設計,是STM32F103ZET6的最小系統(tǒng)原理圖,10K電阻接一個復位引腳NRST到VCC,再接一個104的電容到地,這樣即可構(gòu)成上電復位的電路。FSMC的2個控制器管理的映射地址空間是不相同的。10. 擁有16個字節(jié),每個字節(jié)32位寬的寫入FIFO,可以在寫入較慢存儲器時釋放AHB進行其具體操作。6. 每個存儲器塊都能夠獨立配置。2. 16位的PC卡兼容設備。在FSMC的映射地址空間中,不同的BANK是相互獨立的,可以用來擴展不同類型的存儲器。通過把FSMC的時間參數(shù)重新設置,從而擴大系統(tǒng)中可用存儲器的速度范圍,為用戶提供靈活的存儲芯片選擇空間。支持多種靜態(tài)存儲器類型。內(nèi)核把外部存儲器的訪問信號發(fā)送給AHB總線后,會通過FSMC轉(zhuǎn)換成為符合外部存儲器通信規(guī)則的信號,再發(fā)送給外部存儲器的對應引腳,從而實現(xiàn)內(nèi)核與外部存儲器之間的數(shù)據(jù)交換。 FSMC簡介FSMC(Flexible Static Memory Controller,可變靜態(tài)存儲控制器))是STM32系列中內(nèi)部集成256 KB以上Flash,后綴為xC、xD和xE的高存儲密度微控制器特有的存儲控制機制。XPT2046的片內(nèi)集成還有一個溫度傳感器。XPT2046是一個有4導線制的觸摸屏控制器,內(nèi)含12位分辨率125KHz轉(zhuǎn)換速率非常接近A/D轉(zhuǎn)換器。,在X+電極要施加驅(qū)動電壓Vdrive,X電極需要接地,用Y+當作引出端測量得到接觸點的電壓值,因為ITO層均勻?qū)щ姡杂|點電壓與Vdrive電壓之比即觸點X坐標與屏寬度之比。其中下層的ITO附著在玻璃基板上,上層的ITO與PET薄膜附著。3. 電阻觸摸屏的精確度只由A/D轉(zhuǎn)換
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1