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

正文內(nèi)容

基于單片機的計算器論文(編輯修改稿)

2024-12-23 21:29 本頁面
 

【文章內(nèi)容簡介】 10)。 ret=1。 _nop_()。 psb=1。 //將 PSB 置 1,通信方式為 8BIT 數(shù)據(jù)并口 // _nop_()。 } //LCD 功能設置 // void lcd_set() { mand=0x30。 //基本指令集 // write_mand(mand)。 mand=0x01。 write_mand(mand)。 mand=0x06。 write_mand(mand)。 mand=0x0c。 write_mand(mand)。 } //清屏程序 // void clear_lcd () { mand=0x01。 write_mand(mand)。 mand=0x34。 write_mand(mand)。 mand=0x30。 write_mand(mand)。 } //寫指令程序 // void write_mand(uchar mand) { delay(5)。 rs=0。 rw=0。 P0=mand。 en=1。 基于單片機的多功能計算器 第 15 頁 共 47 頁 湖南工學院 _nop_()。 _nop_()。 en=0。 } //寫數(shù)據(jù)程序 // void write_data(uchar data0) { delay(5)。 rs=1。 rw=0。 P0=data0。 en=1。 _nop_()。 _nop_()。 en=0。 } 、 鍵盤輸入設計 這里我先用 4*4 矩陣式鍵盤。鍵盤掃描函數(shù)如下: //鍵掃描程序 // uchar keyscan() {uchar scancode,tmpcode。 P1=0xf0。 // 行全為 0 if((P1amp。0xf0)!=0xf0) //有鍵按下 {delay(100)。 //延時去抖動 if((P1amp。0xf0)!=0xf0) //判是否真的有鍵按下 {scancode=0xfe。 //諑行掃描 while((scancodeamp。0x10)!=0) {P1=scancode。 if((P1amp。0xf0)!=0xf0) //本行有鍵按下 {tmpcode=(P1amp。0xf0)|0x0f。 //返回特征字節(jié)碼 ,為 1 的位即對應于行和列 return((~scancode)+(~tmpcode))。 } else scancode=(scancode1)|0x01。 //行掃描碼左移一位 } } } return(0)。 //無鍵按下 ,返回值為 0 } 、 計算器函數(shù)設計 計算器的設計是本次設計的重點。因為考慮到該硬件中只有 16個按鍵 ,所以我采用了基于單片機的多功能計算器 第 16 頁 共 47 頁 湖南工學院 按鍵復用的方式來解決這一難題。這 16 個鍵分別是 0~9 十個數(shù)字鍵。 四個運算符號鍵,一個小數(shù)點鍵,一個多功能鍵。這個多功能鍵單擊時為“ =”,雙擊時為請零鍵,三擊時為運算類型選擇鍵。 在待機時,該計算器顯示萬年歷,如果要進行計算則按任意鍵即可進入計算界面。默認的計算是加減乘除,如果說要進行加減乘除以外的運算,那 么就三鍵等號鍵,就可進入運算類型選擇模式。選擇好相應的類型就可以進行運算啦。 下面我來介紹幾個重要的函數(shù)。 ( 1)、 函數(shù)名 : sin 功 能 : 正弦函數(shù) 用 法 : double sin(double x)。 include int main(void) { double result, x = 。 result = sin(x)。 printf(The sin() of %lf is %lf\n, x, result)。 return 0。 } ( 2)、 函數(shù)名 : cos 功 能 : 余弦函數(shù) 用 法 : double cos(double x)。 include int main(void) { double result。 double x = 。 result = cos(x)。 printf(The cosine of %lf is %lf\n, x, result)。 return 0。 } ( 3)、函數(shù)名 : tan 功 能 : 正切函數(shù) 用 法 : double tan(double x)。 include int main(void) { double result, x。 x = 。 result = tan(x)。 printf(The tan of %lf is %lf\n, x, result)。 return 0。 } ( 4) 函數(shù)名 : asin 功 能 : 反正弦函數(shù) 基于單片機的多功能計算器 第 17 頁 共 47 頁 湖南工學院 用 法 : double asin(double x)。 include include int main(void) { double result。 double x = 。 result = asin(x)。 printf(The arc sin of %lf is %lf\n, x, result)。 return(0)。 } ( 5)、 函數(shù)名 : acos 功 能 : 反余弦函數(shù) 用 法 : double acos(double x)。 include int main(void) { double result。 double x = 。 result = acos(x)。 printf(The arc cosine of %lf is %lf\n, x, result)。 return 0。 } ( 6)、 函數(shù)名 : atan 功 能 : 反正切函數(shù) 用 法 : double atan(double x)。 include int main(void) { double result。 double x = 。 result = atan(x)。 printf(The arc tangent of %lf is %lf\n, x, result)。 return(0)。 } ( 7)、 函數(shù)名 : exp 功 能 : 指數(shù)函數(shù) 用 法 : double exp(double x)。 include int main(void) { double result。 double x = 。 result = exp(x)。 基于單片機的多功能計算器 第 18 頁 共 47 頁 湖南工學院 printf(39。e39。 raised to the power \ of %lf (e ^ %lf) = %lf\n, x, x, result)。 return 0。 } 、 程序流程圖 開 始液 晶 初 始 化 , 鬧 鐘 初 始 化 , 定 時 器 初 始 化1 鍵 按 下 ?否是是否開 定 時 器關 鬧 鐘0 鍵 按 下 ?調(diào) 鬧 鐘 鍵 掃 鍵處 理 程 序否否計 算 器 工 作 模 式初 始 化3 鍵 按 下 ?是“ = ” 連 續(xù) 按 下 四 次 ?調(diào) 計 算 器 鍵 掃鍵 處 理 程 序返 回 主程序流程圖 基于單片機的多功能計算器 第 19 頁 共 47 頁 湖南工學院 顯 示 開 始L C D初 始 化相 應 功 能設 置送 地 址送 數(shù) 據(jù)返 回顯 示 漢 字 或A C S I I 碼相 應 功 能設 置送 行 地 址和 列 地 址送 數(shù) 據(jù)顯 示 圖 形是否是是否否是 否顯 示 完是 否顯 示 完是否 顯示程序流程圖 基于單片機的多功能計算器 第 20 頁 共 47 頁 湖南工學院 鍵掃程序流程圖 、 程序清單 程序清單見附錄 4。 基于單片機的多功能計算器 第 21 頁 共 47 頁 湖南工學院 產(chǎn)品使用說明 該產(chǎn)品 16 個按鍵作為輸入信號, 液晶為顯示器,按鍵功能如 下 圖所示 。 0~9 為數(shù)字鍵, 其中 0~3 有第二功能,一個小數(shù)點鍵,一個等號鍵,該鍵為四功能鍵,四個 運算 符號鍵。 通電后顯示器顯 示萬年歷、星期和腦鐘, 此時按 0鍵可進行校時, 可看到時鐘已停,并且秒在閃爍,此時按 1 鍵可使秒加一,按 2 鍵可使秒減一,把秒設定好后,再按 0 鍵,秒停止閃爍,分開始閃爍,此時按 1鍵和 2 鍵同樣可對分進行修改,然后依次時、日、月、年、以及鬧鐘的秒、分、時進行修改,然后再按 0鍵時鐘恢復走時,萬年歷和鬧鐘的校準就完成啦。 如果要使用計算器功能,則直接按 3鍵即可進入計算器模式,等號鍵單鍵為“ =”,雙鍵為清除,默認計算類型為加減乘除,若要進行其他類型的計算,則可使用等號鍵三鍵,然后選擇運算類型進行運算,此時符號鍵所對應的運算符 號也有相應的變化。該計算器的計算功能可實現(xiàn)加減乘除 、正弦余弦正切余切、反正弦反余弦反正切反余切、平方、立方、 m 的k 次方( m 和 k 均由鍵盤輸入)、 e 為底的 m次方、自然對數(shù)、常用對數(shù)、開平方根??芍^功能齊全,操作簡單,給使用帶來極大方便。 基于單片機的多功能計算器 第 22 頁 共 47 頁 湖南工學院 設計體會 在這次設計中使我對步進機有了更深的了解,對單片機也有了更高成次的了解,單片機的種類多,而型號雜,也是我們學習中的困難,所以就 MCS— 51系列的產(chǎn)品來說,就是一個典型的學習方法。單片機編程是用匯編語言進行編程,也就需要我們對電路的分析,然后總結,查閱相關資料才能變成 好的程序,編程講究的是多動手寫,自己寫,用自己的思路,不怕寫錯,寫錯再改,懂得有新的思想這樣才能提高。 在這次單片機應用系統(tǒng)設計中遇到到很大的困難,主要原因是平時的知識掌握的不夠,通過查閱很多資料和類似的論文,才做成的。以前 也 做過 不少 單片機設計, 但面對這次設計,似乎也有一點束手五冊了。 在這次的設計中 ,讓我們發(fā)自內(nèi)心的明白了以下這幾個道理。其實,這幾個道理以前我們就懂,就知道,甚至每個人都知道,但真正到了關鍵時間,我們還會 不會 遵循 它來 辦事 就是一個問號啦。 書讀百遍,其義自現(xiàn)。 三個臭皮匠 勝過一個諸葛亮。 團 結就是力量。 溫故而知新。 正因為我開始沒有遵循這幾個道理所以 在設計中 走了不少彎路, 表現(xiàn)出來了 我很多的不足之處 , 就因為這樣我們才會在這次設計中有進步、有發(fā)展,同時使自己的能力得到進一步的提升。我將好好地記錄下這次設計的點點滴滴,我想,這不單是我的經(jīng)歷,更是我的一筆財富。 參考文獻 ( 1) 李廣弟 《單片機原理及應用》 北京航天航空大學 出版社 ( 2) 潘新民 《微型計算機控制技術》 電子工業(yè)出版社 ( 3) 梅麗鳳 《單片機原理及接口技術》 清華大學出版社 ( 4) 李陪金 《 C 語言程序設計案例教程》 西安電子科技大學出版社 ( 5) 戴佳 《 51 單片機 C 語言應用程序設計實例精講 》 電子工業(yè)出版社 ( 6) 譚浩強 《 C 程序設計》 清華大學出版社 基于單片機的多功能計算器 第 23 頁 共 47 頁 湖南工學院 附錄 元器件清單 名
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1