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

正文內(nèi)容

電子設(shè)計(jì)-基于stc89c52rc單片機(jī)的簡易計(jì)算器設(shè)計(jì)(編輯修改稿)

2024-11-24 17:21 本頁面
 

【文章內(nèi)容簡介】 XTAL2引腳連接一個(gè)晶體振蕩器或者陶瓷振蕩器,并接兩個(gè)電容后接地即可,在使用時(shí)對于電容的選擇有一定的 要求: 當(dāng)外接晶體振蕩器的時(shí)候,電容值一般選擇 C1=C2=30+10pF或 3010pF; 當(dāng)外接陶瓷振蕩器的時(shí)候,電容值一般選擇 C1=C2=40+10pF或 4010pF; STC89C52介紹: STC89C52是一種低功耗、高性能 CMOS8位微控制器, 具有 8K 在系統(tǒng)可編程 Flash 存儲(chǔ)器。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程Flash,使得 STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié) Flash, 512字節(jié) RAM, 32 位 I/O 口線, 看門狗電路 , 內(nèi)置 4KB EEPROM, MAX810復(fù)位電路, 三個(gè) 16 位 定時(shí)器 /計(jì)數(shù)器, 一個(gè) 6向量 2級中斷結(jié)構(gòu), 全雙工串行口。 另外 STC89X52 可降至 0Hz 靜態(tài)邏輯操作,支持 2種 軟件 可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許 RAM、定時(shí)器 /計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下, RAM 17 內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率 35Mhz, 6T/12T可選。 和 atmel的對比 STC89C52RC單片機(jī) : 8K字節(jié)程序存儲(chǔ)空間; 512字節(jié)數(shù)據(jù)存儲(chǔ)空間; 內(nèi)帶 4K字節(jié) EEPROM存儲(chǔ)空間 。 可直接使用串口下載; AT89S52單片機(jī) : 8K字節(jié)程序存儲(chǔ)空間; 256字節(jié)數(shù)據(jù)存儲(chǔ)空間; 沒有內(nèi)帶 EEPROM存儲(chǔ)空間 。 LCD1602介紹: 18 1602采用標(biāo)準(zhǔn)的 16腳接口,其中: 第 1腳: VSS 為電源地 第 2腳: VDD 接 5V 電源正極 第 3腳: V0為液晶顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地電源時(shí)對比度最高(對比度過高時(shí)會(huì) 產(chǎn)生 “鬼影 ”,使用時(shí)可以通過一個(gè) 10K 的電位器調(diào)整 對比度)。 第 4腳: RS 為寄存器選擇,高電平 1時(shí)選擇數(shù)據(jù)寄存器、低電平 0時(shí)選擇指令寄存器。 第 5腳: RW 為讀寫信號線,高電平 (1)時(shí)進(jìn)行讀操作,低電平 (0)時(shí)進(jìn)行寫操作。 第 6腳: E(或 EN)端為使能 (enable)端。 第 7~ 14腳: D0~ D7為 8位雙向數(shù)據(jù)端。 第 15~ 16腳:空腳或背燈電源。 15腳背光正極, 16腳背光負(fù)極 602LCD 的特性 n+5V 電壓,對比度可調(diào) n 內(nèi)含復(fù)位電路 n 提供各種控制命令 ,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能 n 有 80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器 DDRAM n 內(nèi)建有 192個(gè) 5X7點(diǎn)陣的字型的字符發(fā)生器 CGROM n8個(gè)可由用戶自定義的 5X7的字符發(fā)生器 CGRAM 讀的時(shí)候,先讀左邊那列,再讀上面那行,如:感嘆號!的 ASCII 為 0x21,字母 B 的 ASCII 為 0x42(前面加 0x表示十六進(jìn)制) 1602通過 D0~D7的 8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。 顯示模式設(shè)置: (初始化 ) 0011 0000 [0x38] 設(shè)置 162顯示, 57點(diǎn)陣, 8位數(shù)據(jù)接口; 顯示開關(guān)及光標(biāo)設(shè)置: (初始化 ) 0000 1DCB D 顯示 (1有效 )、 C 光標(biāo)顯示 (1有效 )、 B 光標(biāo)閃爍 (1有效 ) 0000 01NS N=1(讀或?qū)懸粋€(gè)字符后地址指針加 1 amp。光標(biāo)加 1), N=0(讀或?qū)懸粋€(gè)字符后地址指針減 1 amp。光標(biāo)減 1), S=1 且 N=1 (當(dāng)寫一個(gè)字符后,整屏顯示左移 ) s=0 當(dāng)寫一個(gè)字符后,整屏顯示不移動(dòng) 數(shù)據(jù)指針設(shè)置: 數(shù)據(jù)首地址為 80H,所以數(shù)據(jù)地址為 80H+地址碼 (027H, 4067H) 其他設(shè)置: 01H(顯示清屏,數(shù)據(jù)指針 =0,所有顯示 =0); 02H(顯示回車,數(shù)據(jù)指針 =0)。 19 (三)、鍵盤接口電路: 計(jì)算器輸入數(shù)字和其他功能按鍵要 用到很多按鍵,如果采用獨(dú)立按鍵的方式,在這種情況下,編程會(huì)很簡單,但是會(huì)占用大量的 I/O 口資源,因此在很多情況下都不采用這種方式,而是采用矩陣鍵盤的方案。矩陣鍵盤采用四條 I/O 線作為行線,四條 I/O 線作為列線組成鍵盤,在行線和列線的每個(gè)交叉點(diǎn)上設(shè)置一個(gè)按鍵。這樣鍵盤上按鍵的個(gè)數(shù)就為 4 4個(gè)。這種行列式鍵盤結(jié)構(gòu)能有效地提高單片機(jī)系統(tǒng)中 I/O 口的利用率。 矩陣鍵盤的工作原理: 計(jì)算器的鍵盤布局如圖 1所示:一般有 16個(gè)鍵組成,在單片機(jī)中正好可以用一個(gè) P口實(shí)現(xiàn) 16個(gè)按鍵功能,這種形式在單片機(jī)系統(tǒng)中也最常用。 圖 1 矩陣鍵盤布局圖 矩陣鍵盤內(nèi)部電路圖如圖 2所示: 20 (四)、 LCD 顯示模塊: 本設(shè)計(jì)采用 LCD 液晶顯示器來顯示輸出數(shù)據(jù)。通過 D0D7 引腳向 LCD 寫指令字或?qū)憯?shù)據(jù)以使 LCD 實(shí)現(xiàn)不同的功能或顯示相應(yīng)數(shù)據(jù)。 圖 5 LCD 模塊 (五)運(yùn)算模塊(單片機(jī)控制): MCS51 單片機(jī)是在一塊芯片中集成了 CPU、 RAM、 ROM、定時(shí)器 /計(jì)數(shù)器和多功能 I/O等一臺計(jì)算機(jī)所需要的基本功能部件。如果按功能劃分,它由如下功能部件組成,即微處理器( CPU)、數(shù)據(jù)存儲(chǔ)器( RAM)、程序存儲(chǔ)器( ROM/EPROM)、并行 I/O 口、串行口、定時(shí)器 /計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存器( SFR)。 單片機(jī)是靠程序運(yùn)行的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨(dú)特的一些功能,通過使用單片機(jī)編寫的程序可以實(shí)現(xiàn)高智能,高 21 效率,以及高可靠性!因此我們采用單片機(jī)作為計(jì)算器的主要功能部件,可以很快地實(shí)現(xiàn)運(yùn)算功能。 PCB設(shè)計(jì): 實(shí)驗(yàn)現(xiàn)象、數(shù)據(jù)記錄 數(shù)碼顯示及運(yùn)算 22 最多九位顯示及運(yùn)算 當(dāng)超出時(shí)溢出顯示 23 五、總結(jié) 在實(shí)驗(yàn)中遇到了這樣那樣的問題,軟件的編輯中使得 c語言的應(yīng)用更加熟練; 在硬件的實(shí)現(xiàn)中又出現(xiàn)了軟件和硬件不統(tǒng)一的問題,本實(shí)驗(yàn)我做了兩次,第一次的時(shí)候 STC89C52 單片機(jī)的 P2 口的 ~~ 分別對應(yīng)連接到 LCD1602的 D7~~D0 口,這就使得在寫程序的時(shí)候需要把所有讀寫的數(shù)據(jù)以及地址都按位取反,改寫程序比較復(fù)雜,最終調(diào)試失敗,又改變了硬件電路。最終成功; 本次設(shè)計(jì)不管在軟件,或是在硬件方面都讓我受益匪淺,讓我所學(xué)的知識得以應(yīng)用到實(shí)踐,經(jīng)過這次創(chuàng)新性實(shí)驗(yàn),也令我看到了很多的不足,在實(shí)驗(yàn)中的一些 程序不能夠及時(shí)編輯正確,需要很長時(shí)間的設(shè)計(jì)。硬件中我對單片機(jī)實(shí)驗(yàn)板上的很多硬件不是很清楚,使得在下載程序后,又進(jìn)行了很長時(shí)間的調(diào)整。 六、主要程序代碼 include define uchar unsigned char define uint unsigned int define KEYDATA P1 uchar key。 uchar dis_buff。 void Delay1(uint x) { uint i,j。 for(i=0。ix。i++) for(j=0。j112。j++) 。 } uchar KeyScan(void) { uchar temp=0。 key=0。 KEYDATA=0xf0。 Delay1(1)。 temp=KEYDATA。 temp=tempamp。0xf0。 temp=~((temp4)|0xf0)。 if(temp==1)key=0。 24 else if(temp==2)key=1。 else if(temp==4)key=2。 else if(temp==8)key=3。 else key=16。 KEYDATA=0x0f。 Delay1(1)。 temp=KEYDATA。 temp=tempamp。0x0f。 temp=~(temp|0xf0)。 if(temp==1)key+=12。 else if(temp==2)key+=8。 else if(temp==4)key+=4。 else if(temp==8)key+=0。 else key=16。 if(key16) dis_buff=key。 return dis_buff。 } uchar KeyDown(void) { uchar keyFlag。 uchar temp。 KEYDATA=0xf0。 if(KEYDATA!=0xf0) { temp=KEYDATA。 Delay1(200)。 if(temp==KEYDATA) keyFlag=1。 else keyFlag=0。 } else keyFlag=0。 25 return key
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1