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

正文內(nèi)容

多功能計(jì)算器的設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)-wenkub

2022-09-07 14:17:59 本頁面
 

【正文】 圖 21 AT89Cxx系列單片機(jī)引腳排列圖 計(jì)算器的組成包括運(yùn)算器、控制器、存儲(chǔ)器、鍵盤、顯示器、電源和一些可選外圍設(shè)備及電子配件通過人 工或機(jī)器設(shè)備。和愛特梅爾公司一樣,飛利浦,達(dá)拉斯和其他領(lǐng)先的半導(dǎo)體公司已經(jīng)推出與 MCS51 單片機(jī)產(chǎn)品兼容。在將軟件程序放入硬件之后,對整體電路進(jìn)行調(diào)試與測試, 看是否存在問題。在此基礎(chǔ)上還加入了 DS1302實(shí)時(shí)時(shí)鐘電路的設(shè)計(jì),使其本省還具有了電子表的功能。 單片機(jī)是計(jì)算機(jī)、自動(dòng)控制和大規(guī)模集成電路技術(shù)相結(jié)合的產(chǎn)物,融計(jì)算機(jī)結(jié)構(gòu)和控制功能 于一體,因此除單片機(jī)外它還有其他名稱,例如“嵌入式微處理器”、“微控制器”、“嵌入式微控制器”等。在計(jì)算器基本功能順利完成的基礎(chǔ)上,對系統(tǒng)進(jìn)行了簡單的擴(kuò)展,增加了電子表功能,達(dá)到預(yù)期的要求,系統(tǒng)功能也更加完善。 本計(jì)算器系統(tǒng)簡單 ,實(shí)用性強(qiáng),成本低,使用維護(hù)方便,軟件功能強(qiáng),運(yùn)行穩(wěn)定可靠等優(yōu)點(diǎn)。如今, 單片機(jī)憑借其微小的體積和低廉的成本在各個(gè)領(lǐng)域被廣泛使用,例如用于家用電器、工業(yè)控制等,所以 許多大學(xué)里都開設(shè)了單片機(jī)原理與應(yīng)用這方面的課程。 這次設(shè)計(jì)主要是通過單片機(jī)的原理和應(yīng)用,在電子技術(shù)基礎(chǔ)的基本理論的指導(dǎo)下,我采用 Protues 仿真軟件和K eil 編程軟件來進(jìn)行設(shè)計(jì)計(jì)算器,然后制作實(shí)物。 第一章 緒論 2 . 論文結(jié)構(gòu) 本文共由六章組成,第二章為基礎(chǔ)理論部分,介紹 單片機(jī)的發(fā)展現(xiàn)狀 、AT89Cxx 系列單片機(jī)的簡介 ,計(jì)算器系統(tǒng)簡介 計(jì)算器的總體功能描述 ,;第三章為計(jì)算器的硬件系統(tǒng)設(shè)計(jì) ,從結(jié)構(gòu)上分析 計(jì)算器的硬件系統(tǒng)框架,最小系統(tǒng)的設(shè)計(jì) ,鍵盤接口電路的設(shè)計(jì),顯示電路的設(shè)計(jì)及 DS1302 實(shí)時(shí)時(shí)鐘電路的設(shè)計(jì) ;第四章介紹 計(jì)算器的軟件系統(tǒng)設(shè)計(jì),主要介紹主模塊程序的設(shè)計(jì),鍵盤掃描模塊程序的設(shè)計(jì),運(yùn)算模塊程序的設(shè)計(jì),顯示模塊程序的設(shè)計(jì)以及 DS1302 實(shí)時(shí)時(shí)鐘模塊程序的設(shè)計(jì) ;第五章為 計(jì)算器系統(tǒng) 的組裝與調(diào)試 ,對系統(tǒng)的軟硬件分別進(jìn)行了調(diào)試;第六章為論文總結(jié),對本次畢業(yè)設(shè)計(jì)做了相關(guān)小結(jié)并提出了下一步要做的工作。這些知名廠商加入 51 系列獲得了突飛猛進(jìn)的發(fā)展,進(jìn)一步豐富和發(fā)展的 51 系列,產(chǎn)品性能有了很大的提高。 低級(jí)計(jì)算器運(yùn)算器,控制器由數(shù)字邏輯電路簡單的串行操作,隨機(jī)存取存儲(chǔ)器是只有一個(gè)或兩個(gè)細(xì)胞,用于累加存儲(chǔ)。計(jì)算機(jī)顯示輸出部件,發(fā)光二極管顯示器,液晶顯示器等。計(jì)算器可選外設(shè),微型打印機(jī),盒式磁帶驅(qū)動(dòng)器和磁機(jī)。其引腳圖如圖 32 所示。 圖 33 晶振電路 復(fù)位電路的設(shè)計(jì) 本次設(shè)計(jì)對復(fù)位電路部分的考慮還是蠻周 到的,因?yàn)閺?fù)位電路對這次設(shè)計(jì)來說是很重要的。 圖 34 按鍵電平復(fù)位電路 這次設(shè)計(jì)是基于單片機(jī)的計(jì)算器的設(shè)計(jì),并沒有要求進(jìn)行復(fù)雜的運(yùn)算,因此,采用 4 4 矩陣式鍵盤 16 個(gè)鍵來實(shí)現(xiàn)基本的 “ 加 ” 、 “ 減 ” 、 “ 乘 ” 、 “ 除 ” 運(yùn)算即可。液晶顯示器和 LED 數(shù)碼管顯示器對比來說雖然價(jià)格貴點(diǎn),但是它的顯示功能強(qiáng)大,體積小、功耗低、界面清晰,便于觀察。高電平時(shí)進(jìn)行讀操作,低電平時(shí)選擇指令寄存器 第 5 腳 RW 讀寫信號(hào)線 第 6 腳 E 使能端,當(dāng) E 端由高電平跳變成低電平時(shí),可以寫入數(shù)據(jù) 第三章 計(jì)算器的硬件系統(tǒng)設(shè)計(jì) 10 第 7~ 14 腳 8 位雙向數(shù)據(jù)線 D0~ D7 第 15 腳 BLA 背 光電源正極輸入端 第 16 腳 BLK 背光電源負(fù)極輸入端。我設(shè)計(jì)的計(jì)算器和電子表兩種模式可以用一個(gè)獨(dú)立按鍵來進(jìn)行切換,而且是在同一塊液晶屏上顯示。其引腳功能如表 33所示: 南京工業(yè)大學(xué)本科生畢業(yè)設(shè)計(jì) (論文) 11 表 33 DS1602引腳功能 第 1腳 Vcc2 第 1腳 Vcc2 第 2腳 X1和 第 3腳 X2 振蕩源,外接 的晶振 第 4腳 GND 地線 第 5腳 RST 復(fù)位 /片選線 第 6腳 I/O 串行數(shù)據(jù)輸入 /輸出端(雙向) 第 7腳 SCLK 串行時(shí)鐘輸入 第 8腳 Vcc1 后背電源 DS1302引腳電路圖如圖 37所示: 圖 37 DS1302電路圖 在對該模塊進(jìn)行設(shè)計(jì)時(shí),我選用了 4 個(gè)獨(dú)立式按鍵,它們的功能分別是:“設(shè)置” 、“確認(rèn)” 、“ +” 、“ ” ,用來準(zhǔn)確的設(shè)置時(shí)間。 匯編語言和 C 語言的特點(diǎn)及選擇 這次設(shè)計(jì)我用的是硬件電路和軟件編程相結(jié)合的設(shè)計(jì)方案,所以選擇合適的編程語言是很重要。我覺得這次設(shè)計(jì)用 C 語言來控制單片機(jī)是一個(gè)不錯(cuò)的選擇。 uchar alldata[12]={0}。 uchar keyscan(void)。 void datapc(void)。 南京工業(yè)大學(xué)本科生畢業(yè)設(shè)計(jì) (論文) 13 while(1) { key=keyscan()。在進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì)時(shí)經(jīng)常會(huì)用到“從上到下”和“從下到上”兩種方式,而“從上到下”法的核心便于主框架的構(gòu)建。鍵盤掃描模塊程序的流程圖如圖 所示 。在按鍵操作過程中,按鍵受到彈性的影響會(huì)導(dǎo)致按鍵的機(jī) 械觸電在閉合及斷開的瞬間發(fā)生抖動(dòng)的現(xiàn)象,導(dǎo)致按鍵不能馬上實(shí)現(xiàn)完全閉合或斷開,并使輸入電壓信號(hào)也會(huì)出現(xiàn)抖動(dòng)現(xiàn)象,抖動(dòng)時(shí)間的長短根據(jù)按鍵的機(jī)械特性決定。如果按鍵釋放就等待;如果鍵已經(jīng)釋放,那么就再延時(shí)消抖。這次設(shè)計(jì)還要 求可以根據(jù)需要進(jìn)行連 續(xù)多次的運(yùn)算,即把c的值賦給 x,輸入運(yùn)算符,再輸入 y,按下“ =”號(hào),再得到 z,再賦給 x,以此反復(fù)執(zhí)行。運(yùn)算模塊程序流程圖如圖 43 所示。寫指令:輸入: RS=L, RW=L, D0~ D7=指令碼, E=高脈沖;輸出:無。 表 41 時(shí)、分、秒、控制寄存器介紹 讀寄存器 寫寄存器 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 范圍 81H 80H CH 10 秒 秒 00~59 83H 82H 10 分 分 00~59 85H 84H 0 0 20時(shí) 10時(shí) 時(shí) 0~23 8FH 8EH WP 0 0 0 0 0 0 0 ——— 從表中,可以很明了的知道以上寄存器的功能和使用方法,需要說明的是控制寄存器的位 7( WP)是寫保護(hù)位,其他七位都為 0,在對任何時(shí)鐘和 RAM 進(jìn)行寫操作前, WP必須為 0。 write_ds1302(0x8e,0x00)。 //寫秒鐘, 05 秒 write_ds1302(0x8e,0x80)。 ( 3)事先未被定義的被調(diào)函數(shù)放在了主調(diào)函數(shù)的后面,導(dǎo)致錯(cuò)誤。 在 Keil 和 Protues 的聯(lián)合調(diào)試下,經(jīng)過了多次認(rèn)真的分析與修改,程序終于能實(shí)現(xiàn)我預(yù)期的要求。 ( 2)液晶雖然可以顯示了,但在進(jìn)行計(jì)算時(shí)并不能正確顯示,經(jīng)過多次檢查,發(fā)現(xiàn)硬件并無錯(cuò)誤,斷定為軟件的錯(cuò)誤,最后發(fā)現(xiàn)軟件中液晶初始化不完整,可是在仿真時(shí)是正確的,這充分說明了仿真與實(shí)際硬件的區(qū)別。 ( a)加 (b) 減 (c)乘 (d) 除 第五章 計(jì)算器系統(tǒng)的組裝與調(diào)試 24 (e) 除數(shù)為 0 ( f)溢出錯(cuò)誤 ( g)時(shí)間顯示 圖 53 運(yùn)算器各種運(yùn)算截圖 從上圖可以看出,我做的計(jì)算器在運(yùn)算部分和時(shí)鐘部分都能成功地運(yùn)行了,它可以做到基本的四則運(yùn)算,還可以正確的顯示時(shí)間,同時(shí),在計(jì)算結(jié)果超出它本身的運(yùn)算范圍的時(shí)候它會(huì)用英文提示錯(cuò)誤。不僅加深鞏固了以前學(xué)過的知識(shí),而且學(xué)到了許多書本上沒有提到過的知識(shí),學(xué)會(huì)了一種系統(tǒng)的研究方法,可以進(jìn)行一些簡單的編程。 在這次設(shè)計(jì)中剛開始我遇到了很多問題,最終還是被我成功的解決了,基本實(shí)現(xiàn)了我最初的設(shè)想,也成功的實(shí)現(xiàn)了時(shí)鐘功能。如果以后還有時(shí)間對其進(jìn)行的完善的話,我會(huì)添加一些平方,開方等實(shí)用的功能,但這些功能的實(shí)現(xiàn)我還要進(jìn)行更加系統(tǒng)的學(xué)習(xí)。 sbit busy=P0^7。 sbit pluskey=P3^6。 sbit ds1302_rst=P2^2。 long int a,b,c,d,e。 uchar code table[]={ 0,1,2,3, 4,5,6,7, 8,9,0,0, 0,0,0,0}。z0。 } void delay1(uint t) //遲延函數(shù) 50us 南京工業(yè)大學(xué)本科生畢業(yè)設(shè)計(jì) (論文) 29 { uchar j。j0。t0。 } void write_ds1302byte(unsigned char temp1) //ds1302 寫字節(jié)函數(shù) { unsigned char i。0x01。 } } void write_ds1302( unsigned char address,unsigned char dat ) //ds1302 寫數(shù)據(jù)函數(shù) { ds1302_rst=0。 write_ds1302byte(address)。 for(i=8。 ds1302_clk=0。 ds1302_rst=0。 temp1=read_byte()。 } void ds1302_init() //ds1302 初始化 { write_ds1302(0x8e,0x00)。 write_ds1302(0x82,0x30)。 write_ds1302(0x8e,0x80)。 //讀 rs rw 的值為 01 lcden=0。 //判斷是否為空閑, 1 為忙, 0 為空閑 } void write_(uchar ) //LCD 寫指令函數(shù) { P0=。 check()。 rw=0。 } void lcdinit() //LCD 初始化 { delay2(2)。 //(硬件中必須有,否則初始化不完整;軟件仿真時(shí)可以沒有 ) delay1(4)。 //增量方式不移位 delay1(4)。 //清屏 delay1(10)。 j=0。 //a 與 b 的運(yùn)算結(jié)果 flag=0。 } } void display_hour(void) //顯示時(shí) { hour=read_ds1302(0x85)。 } void display_min(void) //顯示分 { min=read_ds1302(0x83)。 LCDTestWord(1,min%16+0x30)。 LCDTestWord(1,(sec/16)+0x30)。 write_date(0x5f)。 display_sec()。 if(count==3) { write_date(0x73)。} if(count==2) {write_date(0x6d)。} if(count==1) {write_date(0x68)。} item=read_ds1302(address)。 //數(shù)減 1 if(itemmax) item=mini。 write_ds1302(address1,item)。amp。amp。 //調(diào)整 附錄 34 } while(setkey==0)。w==1) { w=0。 } while(surekey==0)。w==1) { SetTime(next)。amp。 for(k=0。b=0。 //掃描第 0 行 if(P1!=0xfe) { delay(20)。 break。 break。 if(num==0||num==1||num==2||num==3)//如果按下的是 39。,39。 { if(j!=0) { write_(0x01)。 } } i=table1[num]。 if(P1!=0xfd) { temp=P1amp。 case 0xd0:num=5。 case 0x70:num=7。439。639。
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1