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

正文內(nèi)容

計算器單片機技術(shù)課程設(shè)計-預(yù)覽頁

2025-07-09 05:16 上一頁面

下一頁面
 

【正文】 用的一種計算工具叫籌策,又被叫做算籌。 17 世紀(jì)初,西方國家的計算工具有了較大的發(fā)展,英國數(shù)學(xué)家納皮爾發(fā)明的 “納皮爾算籌 ”,英國牧師奧卻德發(fā)明了圓柱型對數(shù)計算尺,這種計算尺不僅能做加減乘除、乘方、開方運算,甚至可以計算三角函數(shù),指數(shù)函數(shù)和對數(shù)函數(shù),這些計算工具不僅帶動了計算器的發(fā)展,也為現(xiàn)代計算器發(fā) 展奠定了良好的基礎(chǔ),成為現(xiàn)代社會應(yīng)用廣泛的計算工具。近年來國內(nèi)的計算器呈現(xiàn)出新的特點,不僅設(shè)計精巧、緊湊,功能實用、簡練。真正來說國內(nèi)計算器的設(shè)計是以實用為前提的。本課題主要要求掌握計算器相應(yīng)的軟硬件實現(xiàn)方法。 ( 3) 實現(xiàn)三角函數(shù)運算 ??傮w原理為:利用 STC89C54RD+ 單片機構(gòu)造多功能 處理 ,可 進行計時以及監(jiān)控外部中斷系統(tǒng) ,通過 C 語言對單片機的編程即可 進行運算傳送信號 ,并可以通過鍵盤進行各種功能的轉(zhuǎn)換,當(dāng)輸出的信號通過顯示器顯示輸出的信息 。顯示 模塊 ,輸入 模塊 ,復(fù)位 模塊 等。 STC89C54RD+單片機 的基本特點是 低功耗 、 高性能 , 片內(nèi) 由 4KB 可編程 /擦除只讀存儲器的 8 位 COMS 微控制器 組成 , 通過結(jié)合 高密度 、 非易失存儲技術(shù) 來保證單片機引腳與相應(yīng)指令系統(tǒng)的高兼容度 。 STC89C54RD+引腳圖 如圖 2 所示。 圖 3 電源 電路 復(fù)位 模塊 復(fù)位電路的作用是按下復(fù)位鍵可以使顯示界面回到最開始的地方。當(dāng)按鍵松開的, VCC 給電容充電, RST 仍為高電平,而當(dāng)電容充電完成后,相當(dāng)于短路,則為低電平,正常工作。設(shè)計中用第一方法,有石英晶體和微調(diào)電容(一般取值 30pF 左右)組成,石英晶體產(chǎn)生震蕩,單片機振蕩電路產(chǎn)生的脈沖信號稱振蕩信號,它的頻率等于石英晶體的振蕩頻率( fosc) ,簡稱晶振頻率,振蕩脈沖信號還不是單片機工作所需的時鐘信號,時鐘信號必須由振蕩脈沖信號經(jīng)單片機片內(nèi)時鐘電路的處理后才能產(chǎn)生。振蕩電路由單片機芯片的 XTAL1 端輸入, XTAL2 端輸出。如圖 5 所示。 主要 是 由 P P31 兩個引腳下載,實現(xiàn)計算機與單片機的通信。 液晶 LCD1602 顯示器用于輸入信號以及運算結(jié)果的顯示。 表 1 LCD1602 基本操作程序 操作 輸入 輸出 讀狀態(tài) RS=L, R/W=H, E=H D0—D7=狀態(tài)字 寫指令 RS=L, R/W=L, D0—D7=指令碼, E=高脈沖 無 讀數(shù)據(jù) RS=H, R/W=H, E=H D0—D7=數(shù)據(jù) 寫數(shù)據(jù) RS=H, R/W=L, D0—D7=數(shù)據(jù), E=高脈沖 無 電路主要由電位器、可變換串行及并行通信方式的短接電路、供電電路構(gòu)成,具體電路如圖 6 所示。行線連接的接口為輸入口,用于輸入按鍵的行位置信息,列線連接的接口為輸出口,用于輸出掃描電平,當(dāng)按鍵按下鍵時由高電平變?yōu)榈碗娖?,如圖 7 所示。 圖 7 4*4 矩陣式鍵盤 7 圖 8 6 個獨立式鍵盤 電路原理圖 電路原理圖見附錄 A。 具體程序見附錄 D。 簡單來 9 說,就是 用作 LCD1602液晶屏顯示,將顯示的數(shù)據(jù)傳送至 LCD1602模塊化函數(shù)中,將需要顯示的內(nèi)容顯示在 LCD1602液晶屏上。 圖 11 按鍵程序流程圖 延時模塊 10 延時模塊用于延時,等待等需要的調(diào)用。 采用 4*4 矩陣鍵盤 和 6 個獨立按鍵 作為輸入端,實現(xiàn)數(shù)據(jù)輸入功能。 這時 輸入數(shù)字, 液晶屏?xí)@示輸入的數(shù)據(jù),輸入完數(shù)據(jù)后按下功能鍵,再按“ =”鍵,屏幕上顯示出計算的結(jié)果。 12 圖 12 上電顯示界面 ( 2) 當(dāng)輸入 12 加 27 后,得出計算結(jié)果 39。如圖 15 所示。 誤差分析: ( 1) 硬件電路中 焊接時 , 不能做到所有器件的線路都很合理,在操作是會有相互影響。我大體總結(jié)了以下幾點: ( 1)基本功要過硬,不能馬虎經(jīng)常犯小錯誤。有了明確的目的,就可以發(fā)揮自己的頭腦來完成它了。期待今后有更多類似的鍛煉機會??傊@次課程設(shè)計學(xué)到了很多,通過實踐真正的做到了學(xué)有所用。對于 51 單片機,我一直是 用 匯編的,但對于此次設(shè)計我完全用 C 語言 ,因為 C 語言 的可讀性很好,層次分明,而不像匯編都是在寄存器器間操作,很煩瑣,對于寫太長的程序很不好寫,而且用 C 語言我們可以用到 C 語言函數(shù)庫,這是個很好的東西,也可以用到變量,而不像匯編只能用到寄存器,這樣有助于運用。只有明確的任務(wù)才能寫的更好。北京:電子工業(yè)出版社, 2021. [3] 戴佳,戴衛(wèi)恒 .51 單片機 C 語言應(yīng)用程序設(shè)計實例精講 .北京:電子工業(yè)出版社, 2021. [4] 劉文濤 .單片機語言 C51 單片機典型應(yīng)用設(shè)計 .北京:人民郵電出版社, 2021. [5] 邊春元 .C51 單片機典型模塊設(shè)計與應(yīng)用 .北京:機械工業(yè)出版社, 2021. 18 致 謝 本次 課程 設(shè)計得到 班導(dǎo)凌 老師的熱心指導(dǎo),在這里對 凌 老師表示最衷心的感謝。待人平和、工作認(rèn)真、治學(xué)嚴(yán)謹(jǐn) , 給我留下很深刻的印象。 說 明: LCD SCLK(E)連至 P27, SID(RW)連至 P26, CS(RS)連至 P25 型 號: STC89C54RD+ 使用晶振為 12MHz *******************************************************************/ include include include define uint unsigned int define uchar unsigned char define K sbit RS=P2^5。 sbit SQUARE=P2^0。 sbit HEX=P3^6。 uchar result[16]= 。 int count=0。139。339。539。739。939。B39。D39。F39。 void write_mand(uchar )。 int keyscan()。 char* decToHex(char* d,int count,int* s)。 void clear() { write_mand(0x01)。//讀操作選擇 EN=1。 return temp。 double temp。 init()。 if(KeyValue!=0)//如果有鍵按下 { count++。 KeyValue16)//如果按鍵號在 1到 16之間就顯示在第一行 { key[count1]=getkey(KeyValue)。amp。amp。 opr_flag=0。 KeyValue23)//如果按下的是第 16 到 22號鍵 { count。Q39。(39。S39。R39。break。i39。(39。c39。s39。break。a39。(39。H39。X39。break。E39。(39。 } if(KeyValue0 amp。 opr_flag=4) { clear()。amp。 result_size=0。amp。 show_word(2,result_size+4,result)。size)。 //show_word(2,5,ok)。 int rem。 27 temp+=d[i]39。 temp/=16。isizei1。 } return result。 for(i=0。039。 if(n0) temp=n。 }while(temp0)。 double decimal。 if(num=0) { for(i=0。 result[i]=a+39。 29 temp=temp。 temp%=(int)pow(10,iSizei)。.39。jdSize。039。 39。 39。 double temp。 if(flag=4 amp。=39。 } switch(flag) { case 4: temp=value*value。 case 6: temp=sin(value*K)。 case 8: temp=tan(value*K)。 } return temp。break。 case 3:temp=39。339。break。 case 7:temp=39。739。break。 case 11:temp=39。39。break。 case 15:temp=39。 } return temp。 int right_Val=0。 for(i=0。+39。*39。 operator=temp[i]。amp。amp。 } else if(temp[i]=39。 temp[i]=39。 opr_flag==2) { right_Val*=10。039。939。 left_Val+=temp[i]39。 } } switch (operator) { case 39。break。opr_flag=2。:val=left_Val*right_Val。/39。 case 39。 default:break。 i++。iresult_size。 } for(i=0。 } return result。c) for(b=142。a)。 RW=0。//經(jīng)過一個高脈沖,把指令讀走 EN=1。 0x80)==0x80)。 P0=date。 EN=0。//開顯示,不開光標(biāo) delay(1)。//清屏 delay(1)。 TL0=(6553650000)%256。//打開定時器 } void show_word(int row,int size,char* str) { uchar i。isize。 if(row==1) write_mand(0x84)。i++) { write_data(str[i])。 TR0=0。 if(GPIO_KEY!=0x0f)//讀取按鍵是否按下 { delay(10)。 case(0X0b): KeyValue=8。 case(0X0e): KeyValue=0。break。break。 //檢測按鍵松手檢測 } } if(SQUARE==0) { delay(15)。 if(COS==0) { KeyValue=18。 while(!SIN)。 } } if(HEX==0) { delay(15)。 if(DEC==0) { KeyValue=
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1