系列單片機(jī)設(shè)計(jì)核心部分_第1頁(yè)
系列單片機(jī)設(shè)計(jì)核心部分_第2頁(yè)
系列單片機(jī)設(shè)計(jì)核心部分_第3頁(yè)
系列單片機(jī)設(shè)計(jì)核心部分_第4頁(yè)
系列單片機(jī)設(shè)計(jì)核心部分_第5頁(yè)
已閱讀5頁(yè),還剩110頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

系列單片機(jī)設(shè)計(jì)核心部分第一頁(yè),共一百一十五頁(yè),2022年,8月28日1.1單片機(jī)的類型及應(yīng)用第二頁(yè),共一百一十五頁(yè),2022年,8月28日

單片機(jī)分為通用型和專用型兩大類,通常所說(shuō)的單片機(jī)主要指的是通用型單片機(jī)。通用型單片機(jī)是把可開(kāi)發(fā)資源(如ROM、RAM、I/O口等)全部提供給使用者,例如各種系列型單片機(jī)。專用型單片機(jī)也叫專用微控器,例如頻率合成調(diào)諧器、錄音機(jī)機(jī)芯控制器、打印機(jī)控制器等。第三頁(yè),共一百一十五頁(yè),2022年,8月28日51系列產(chǎn)品類型及特點(diǎn)一覽表

單片機(jī)生產(chǎn)廠商芯片型號(hào)內(nèi)部資源ROM/KBRAM/Byte16位定時(shí)器個(gè)數(shù)中斷源個(gè)數(shù)最高晶振頻率/MHZDIP封裝引腳個(gè)數(shù)INTEL805141282512408052825636124080C514128251240第四頁(yè),共一百一十五頁(yè),2022年,8月28日ATMELAT89C514128252440AT89C528

256382440AT89C20512

128252420WINBONDW78E051C4KBFLASHROM128384040W78E052C8KBFLASHROM256384040第五頁(yè),共一百一十五頁(yè),2022年,8月28日1.251系列單片機(jī)的內(nèi)部結(jié)構(gòu)

第六頁(yè),共一百一十五頁(yè),2022年,8月28日8051的引腳圖第七頁(yè),共一百一十五頁(yè),2022年,8月28日GND:接地引腳;VCC:電源引腳;ALE:系統(tǒng)總線地址鎖存信號(hào);PSEN:外部程序存儲(chǔ)器的使能信號(hào);EA/VPP:EA/Vpp程序存儲(chǔ)器的內(nèi)外部選通線;RST:復(fù)位按鈕;P0口(引腳32—39):P0口是一個(gè)漏極開(kāi)路的8位雙向I/O口;P1口(引腳1—8):P1口是一個(gè)帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O口;P2口(引腳21—28):P2口也是一個(gè)帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O口,作為通用I/O口,功能同P1;作為地址口,在訪問(wèn)外部存儲(chǔ)器時(shí),輸出高8位地址;P3口(引腳10—17):P3口的P3.0到P3.7有兩個(gè)功能通常使用第二功能;251系列單片機(jī)各引腳的功能第八頁(yè),共一百一十五頁(yè),2022年,8月28日P3口線的第二功能口線第二功能信號(hào)名稱P3.0RXD串行數(shù)據(jù)接收P3.1TXD串行數(shù)據(jù)發(fā)送P3.2INT0外部中斷0申請(qǐng)P3.3INT1外部中斷1申請(qǐng)P3.4T0定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)輸入P3.5T1定時(shí)器/計(jì)數(shù)器1計(jì)數(shù)輸入P3.6WR外部RAM寫選通P3.7RD外部RAM讀選通第九頁(yè),共一百一十五頁(yè),2022年,8月28日

單片機(jī)的時(shí)鐘信號(hào)用來(lái)提供單片機(jī)片內(nèi)各種微操作的時(shí)間基準(zhǔn)。8051單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。在引腳18(XTAL2)、19(XTAL1)外接晶體振蕩器就構(gòu)成了內(nèi)部振蕩方式,單片機(jī)晶振的振蕩周期為最小的時(shí)序單位,片內(nèi)的各種微操作都以此周期為時(shí)序基準(zhǔn),其中一個(gè)機(jī)器周期包含12個(gè)振蕩周期,單片機(jī)指令系統(tǒng)中,各條指令的執(zhí)行周期都在1~4個(gè)機(jī)器周期之間;外部時(shí)鐘方式就是將外部振蕩信號(hào)源直接由XTAL1或XTAL2引腳接入。本系統(tǒng)中采用內(nèi)部振蕩方式。第十頁(yè),共一百一十五頁(yè),2022年,8月28日51系列單片機(jī)外部時(shí)鐘電路第十一頁(yè),共一百一十五頁(yè),2022年,8月28日3核心板主要器件介紹

3.1引言隨著單片機(jī)在各行各業(yè)的廣泛應(yīng)用,社會(huì)對(duì)單片機(jī)越來(lái)越重視,越來(lái)越多的人開(kāi)始學(xué)習(xí)并使用單片機(jī),進(jìn)行實(shí)驗(yàn)性開(kāi)發(fā)與應(yīng)用,高校也紛紛開(kāi)設(shè)單片機(jī)課程。學(xué)好單片機(jī)可以在電子行業(yè)內(nèi)找到一個(gè)比較好的工作,也可以增加對(duì)電子產(chǎn)品的了解,擴(kuò)展產(chǎn)品開(kāi)發(fā)的思路,提高社會(huì)競(jìng)爭(zhēng)力。第十二頁(yè),共一百一十五頁(yè),2022年,8月28日

3.2核心板的意義與作用單片機(jī)的使用并非易事,特別是起步很難。在實(shí)際應(yīng)用中,單片機(jī)因管腳多而容易被損壞,而且常用的單片機(jī)系統(tǒng)的基本部分具有相似性。因此,設(shè)計(jì)一款單片機(jī)核心板,可以給單片機(jī)的后續(xù)學(xué)習(xí)帶來(lái)很大的推動(dòng)作用。不僅節(jié)約了成本和開(kāi)發(fā)時(shí)間,而且能夠給單片機(jī)系統(tǒng)的擴(kuò)展與開(kāi)發(fā)帶來(lái)極大的方便。單片機(jī)相比其他如PC控制器等比較廉價(jià)、靈活,以單片機(jī)位核心,再加上外圍的A/D裝換、LED顯示或LCD顯示和串行口輸入輸出等外圍設(shè)備構(gòu)成一個(gè)小型微機(jī),作為大學(xué)校園里實(shí)驗(yàn)用的開(kāi)發(fā)板,節(jié)約成本的同時(shí)又能使初學(xué)者快速上手,且可以簡(jiǎn)單的用于工業(yè)生產(chǎn)中,使用范圍很廣。第十三頁(yè),共一百一十五頁(yè),2022年,8月28日核心板的結(jié)構(gòu)組織圖第十四頁(yè),共一百一十五頁(yè),2022年,8月28日說(shuō)明:電源:+5V;GND:接地;JLCD:接顯示器,其1號(hào)腳對(duì)應(yīng)于顯示器的1號(hào)引腳;JAIN:模擬量輸入DC0-5V;JDIN:開(kāi)關(guān)量輸入DC5V(繼電器型);JDOUT:開(kāi)關(guān)量輸出DC5V(繼電器型);JKEY:鍵盤輸入(若鍵盤接反時(shí),顯示的是錯(cuò)誤信息,但不會(huì)對(duì)電路有影響)。第十五頁(yè),共一百一十五頁(yè),2022年,8月28日核心板的實(shí)物圖鍵盤JDOUTJLCD串口JDIN6N136JSJAINDPOWERJKEY825574HC573AT89C52TLC2543繼電器813232第十六頁(yè),共一百一十五頁(yè),2022年,8月28日89C52引腳圖第十七頁(yè),共一百一十五頁(yè),2022年,8月28日89C52新增功能:8KB的程序存儲(chǔ)器;266字節(jié)的RAM;3個(gè)定時(shí)器;P1.0,P1.1口增加了替代功能;8個(gè)中斷源,6個(gè)中斷矢量。AT89C52芯片DIP封裝實(shí)物圖如下:第十八頁(yè),共一百一十五頁(yè),2022年,8月28日MAX813引腳圖MAX813是單片機(jī)復(fù)位芯片,它不僅能對(duì)電源電壓實(shí)現(xiàn)監(jiān)測(cè),而且內(nèi)部還具有看門狗定時(shí)電路,它具有四個(gè)功能:①看門狗計(jì)時(shí)器功能,如果看門狗輸入在1.6s內(nèi)無(wú)變化,就會(huì)產(chǎn)生看門狗輸出;②電壓監(jiān)測(cè)功能,掉電或電源監(jiān)測(cè)電壓低于1.25V時(shí),產(chǎn)生掉電輸出;③上電復(fù)位功能,系統(tǒng)上電時(shí)自動(dòng)產(chǎn)生脈寬200ms的復(fù)位脈沖;④人工復(fù)位功能,當(dāng)人工復(fù)位端輸入低電平時(shí),產(chǎn)生復(fù)位信號(hào)輸出。第十九頁(yè),共一百一十五頁(yè),2022年,8月28日A/D轉(zhuǎn)換芯片

A/D轉(zhuǎn)換是把模擬信號(hào)轉(zhuǎn)化成與其大小成正比的數(shù)字量信號(hào)。根據(jù)A/D轉(zhuǎn)換原理,目前常用的A/D轉(zhuǎn)換電路的轉(zhuǎn)換方式主要有逐次逼近式和雙積分式。ADC是A/D轉(zhuǎn)換器的簡(jiǎn)稱,ADC的性能指標(biāo)是正確選用ADC芯片的基本依據(jù),其主要性能指標(biāo)有轉(zhuǎn)換速度和轉(zhuǎn)換精度等。

第二十頁(yè),共一百一十五頁(yè),2022年,8月28日

本系統(tǒng)采用的是TLC2543是TI公司的12位串行模數(shù)轉(zhuǎn)換器,使用開(kāi)關(guān)電容逐次逼近技術(shù)完成A/D轉(zhuǎn)換過(guò)程。由于是串行輸入結(jié)構(gòu),能夠節(jié)省51系列單片機(jī)I/O資源。其引腳圖如下:第二十一頁(yè),共一百一十五頁(yè),2022年,8月28日

8255

8255是INTEL公司提供的可編程并行接口芯片,其引腳圖如下:第二十二頁(yè),共一百一十五頁(yè),2022年,8月28日

CS:片選信號(hào);

RD、WR:讀、寫控制信號(hào);

RESET:復(fù)位信號(hào);

A1和A0:端口選擇信號(hào);

PA0—PA7:端口A8位引腳;

PB0—PB7:端口B8位引腳;

PC0—PC7:端口C8位引腳。

引腳定義:第二十三頁(yè),共一百一十五頁(yè),2022年,8月28日各端口有3種工作方式:方式0—基本輸入/輸出方式;方式1—選通輸入/輸出方式;方式2—雙向傳送方式。其中端口A可處于3種工作方式,端口B只能很處于方式0和1,端口C常常被分為高4位和低4位兩部分,可分別用來(lái)傳送數(shù)據(jù)可控制信息。第二十四頁(yè),共一百一十五頁(yè),2022年,8月28日光電耦合器

光耦是用來(lái)隔離輸入輸出的,主要是隔離輸入的信號(hào)。在各種應(yīng)用中,往往有一些遠(yuǎn)距離的開(kāi)關(guān)量信號(hào)需要傳送到控制器,如果直接將這些信號(hào)接到單片機(jī)的I/O上,有以下的問(wèn)題:(1)信號(hào)不匹配,輸入的信號(hào)可能是交流信號(hào)、高壓信號(hào)、按鍵等干接點(diǎn)信號(hào);

(2)比較長(zhǎng)的連接線路容易引進(jìn)干擾、雷擊、感應(yīng)電等,不經(jīng)過(guò)隔離不可靠所以,需要光耦進(jìn)行隔離,接入單片機(jī)系統(tǒng)。光耦除了隔離數(shù)字量外,還可以用來(lái)隔離模擬量。第二十五頁(yè),共一百一十五頁(yè),2022年,8月28日光耦常用于:(1)輸入干接點(diǎn)隔離;(2)輸入TTL電平隔離;(3)輸入交流信號(hào)隔離;(4)輸出RS232信號(hào)隔離;(5)輸出RS422信號(hào)隔離。第二十六頁(yè),共一百一十五頁(yè),2022年,8月28日常見(jiàn)光耦有:(1)TLP521-1/TLP521-2/TLP521-4,分別是1個(gè)光耦、2個(gè)光耦和4個(gè)光耦,HP公司和日本的東芝公司生產(chǎn)。下載地:.tw/pdf_file/TLP521-1-2,4.PDF發(fā)光管的工作電流要在10mA時(shí),具有較高的轉(zhuǎn)換速率;在5V工作時(shí),上拉電阻不小于5K,一般是10K;太小容易損壞光耦;(2)4N25/4N35,motorola公司生產(chǎn),下載地址:.tw/pdf_file/4N25-8,35-7,H11A1-5.PDF

隔離電壓高達(dá)5000V;第二十七頁(yè),共一百一十五頁(yè),2022年,8月28日(3)6N136,HP公司生產(chǎn)下載地址:.tw/pdf_file/6N135-6.PDF

要想打開(kāi)6N136,需要比較大的電流,大概在15-20mA左右,才能發(fā)揮高速傳輸數(shù)據(jù)的作用。

第二十八頁(yè),共一百一十五頁(yè),2022年,8月28日6N136本系統(tǒng)采用的是6N136.6N136是日本東芝公司生產(chǎn)的具有優(yōu)良特性的光電耦合器件,內(nèi)封裝一個(gè)高度紅外發(fā)光管和光敏三極管,具有體積小,壽命長(zhǎng),抗干擾強(qiáng),隔離電壓高,高速度,與TTL邏輯電平兼容等優(yōu)點(diǎn),可用于隔離線路、開(kāi)關(guān)電路、數(shù)模轉(zhuǎn)換、長(zhǎng)線傳輸、過(guò)流保護(hù)、電平匹配、線性放大等優(yōu)點(diǎn)。第二十九頁(yè),共一百一十五頁(yè),2022年,8月28日內(nèi)部引腳圖:其引腳圖:第三十頁(yè),共一百一十五頁(yè),2022年,8月28日

繼電器繼電器是一種電子控制器件,它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路),通常應(yīng)用于自動(dòng)控制系統(tǒng)中,它實(shí)際上是用較小的電流去控制較大電流的一種“自動(dòng)開(kāi)關(guān)”。因此在電路中起著自動(dòng)調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用。在大多數(shù)情況下,繼電器就是一個(gè)電磁鐵,這個(gè)電磁鐵的銜鐵可以閉合或斷開(kāi)一個(gè)或數(shù)個(gè)接觸點(diǎn)。當(dāng)電磁鐵的繞組中有電流通過(guò)時(shí),銜鐵被電磁鐵吸元,因而就改變了觸點(diǎn)的狀態(tài)。繼電器一般可以分為電磁式繼電器、熱敏干簧繼電器、固態(tài)繼電器等。第三十一頁(yè),共一百一十五頁(yè),2022年,8月28日繼電器屬于感性器件,所以不能用單片機(jī)的I/O口直接來(lái)控制,且要在三極管等控制器件上加上反相保護(hù)電路。一般實(shí)驗(yàn)中都是單片機(jī)通過(guò)一個(gè)PNP型三極管,把三極管作為電子開(kāi)關(guān)來(lái)驅(qū)動(dòng)繼電器,繼電器的開(kāi)和關(guān)完全由三極管的基極電平進(jìn)行控制。當(dāng)三極管為高電平,PNP型三極管截止,這時(shí)繼電器不工作;反之為低電平的話,PNP型三極管導(dǎo)通,繼電器得電戲合。第三十二頁(yè),共一百一十五頁(yè),2022年,8月28日單片機(jī)是一個(gè)弱電器件,一般情況下它們大都工作在5V甚至更低.驅(qū)動(dòng)電流在MA級(jí)以下。而要把它用于一些大功率場(chǎng)合,比如控制電動(dòng)機(jī),顯然是不行的。所以,就要有一個(gè)環(huán)節(jié)來(lái)銜接,這個(gè)環(huán)節(jié)就是所謂的"功率驅(qū)動(dòng)"。繼電器驅(qū)動(dòng)就是一個(gè)典型的、簡(jiǎn)單的功率驅(qū)動(dòng)環(huán)節(jié).在這里,繼電器驅(qū)動(dòng)含有兩個(gè)意思:一是對(duì)繼電器進(jìn)行驅(qū)動(dòng),因?yàn)槔^電器本身對(duì)于單片機(jī)來(lái)說(shuō)就是一個(gè)功率器件;還有就是繼電器去驅(qū)動(dòng)其他負(fù)載,比如繼電器可以驅(qū)動(dòng)中間繼電器,可以直接驅(qū)動(dòng)接觸器。所以,繼電器驅(qū)動(dòng)就是單片機(jī)與其他大功率負(fù)載接口。第三十三頁(yè),共一百一十五頁(yè),2022年,8月28日

RELAY-SPST:?jiǎn)蔚秵螖S(一組,常開(kāi))繼電器,其圖如下:第三十四頁(yè),共一百一十五頁(yè),2022年,8月28日單片機(jī)串口通信電路在實(shí)際使用時(shí),單片機(jī)系統(tǒng)使用的是TTL電平,單片機(jī)中的串口輸出的信號(hào)也是如此。但是串行通信中一般使用的是RS-232C通信協(xié)議,二者的電平并不相同,因此需要外接接口電路來(lái)進(jìn)行電平的匹配。通常PC有兩個(gè)串行口COM1和COM2,其中COM1使用的是9針D形連接器,而COM2有的使用的是老式的DB25針連接器。以下僅介紹常用的DB9針連接器。第三十五頁(yè),共一百一十五頁(yè),2022年,8月28日DB9的各信號(hào)線(管腳)的定義如下表:管腳號(hào)管腳的定義1保護(hù)地2接收信號(hào)數(shù)據(jù)SIN3發(fā)送數(shù)據(jù)SOUT4數(shù)據(jù)終端準(zhǔn)備DTR5信號(hào)地6數(shù)據(jù)裝置準(zhǔn)備DSR7請(qǐng)求發(fā)送RTS8清除發(fā)送CTS9響鈴指示RI第三十六頁(yè),共一百一十五頁(yè),2022年,8月28日USB模塊可以通過(guò)DB9接口與核心板相連,從而將其轉(zhuǎn)化為USB接口。USB作為一種新的PC機(jī)互連協(xié)議,使外設(shè)到計(jì)算機(jī)的連接更加高效、便利。這種接口適合于多種設(shè)備,不僅具有快速、即插即用、支持熱插拔的特點(diǎn),還能同時(shí)連接多達(dá)127個(gè)設(shè)備。USB規(guī)范描述了總線特性、協(xié)議定義、編程接口以及其它設(shè)計(jì)和構(gòu)建系統(tǒng)時(shí)所要求的特性。USB是一種主從總線,工作時(shí)USB主機(jī)處于主模式,設(shè)備處于從模式。第三十七頁(yè),共一百一十五頁(yè),2022年,8月28日USB系統(tǒng)所需要的唯一的系統(tǒng)資源是,USB系統(tǒng)軟件所使用的內(nèi)存空間、USB主控制器所使用的內(nèi)存地址空間(I/O地址空間)和中斷請(qǐng)求(IRQ)線。USB設(shè)備可以是功能性的,如顯示器、鼠標(biāo)或者集線器之類。它們可以作低速或者高速設(shè)備實(shí)現(xiàn)。低速設(shè)備最大速率限制在1.5Mb/s,每一個(gè)設(shè)備有一些專有寄存器,也就是端點(diǎn)(endpoint)。在進(jìn)行數(shù)據(jù)交換時(shí),可以通過(guò)設(shè)備驅(qū)動(dòng)間接訪問(wèn)它。每一個(gè)端點(diǎn)支持幾種特殊的傳輸類型,并且有一個(gè)唯一的地址和傳輸方向。不同的是端點(diǎn)0僅用作控制傳輸,并且其傳輸可以是雙向的。第三十八頁(yè),共一百一十五頁(yè),2022年,8月28日系統(tǒng)上電后,USB主機(jī)負(fù)責(zé)檢測(cè)設(shè)備的連接與拆除、初始化設(shè)備的列舉過(guò)程,并根據(jù)設(shè)備描述表安裝設(shè)備驅(qū)動(dòng)后自動(dòng)重新配置系統(tǒng),收集每個(gè)設(shè)備的狀態(tài)信息。設(shè)備描述表標(biāo)識(shí)了設(shè)備的屬性、特征并描述了設(shè)備的通信要求。USB主機(jī)根據(jù)這些信息配置設(shè)備、查找驅(qū)動(dòng),并且與設(shè)備通信。第三十九頁(yè),共一百一十五頁(yè),2022年,8月28日典型的USB數(shù)據(jù)傳輸是由設(shè)備驅(qū)動(dòng)開(kāi)始的,當(dāng)它需要與設(shè)備通信時(shí),設(shè)備驅(qū)動(dòng)提供內(nèi)存緩沖區(qū),用來(lái)存放設(shè)備收到或者即將發(fā)送的數(shù)據(jù)。USB驅(qū)動(dòng)提供USB設(shè)備驅(qū)動(dòng)和USB主控制器之間的接口,并將傳輸請(qǐng)求轉(zhuǎn)化為USB事務(wù),轉(zhuǎn)化時(shí)需要與帶寬要求及協(xié)議結(jié)構(gòu)保持一致。某些傳輸是由大塊數(shù)據(jù)構(gòu)成的,這時(shí)需要先將它劃分為幾個(gè)事物再進(jìn)行傳輸。第四十頁(yè),共一百一十五頁(yè),2022年,8月28日3、本系統(tǒng)所使用的串口版的U盤文件讀寫模塊的連接說(shuō)明:(1)外觀下面是串口版U盤文件讀寫模塊的正反面外觀,尺寸約長(zhǎng)70mmX寬30mmX高15mm。第四十一頁(yè),共一百一十五頁(yè),2022年,8月28日(2)接口電路圖圖中的RXD和TXD連接到模塊的單片機(jī)的串口。第四十二頁(yè),共一百一十五頁(yè),2022年,8月28日(3)接口定義串口版模塊具有三個(gè)外部接口:P1是USB插座,可以直接插入U(xiǎn)盤或者通過(guò)USB延長(zhǎng)線連接U盤,當(dāng)進(jìn)行程序升級(jí)或者重新配置時(shí)應(yīng)該通過(guò)USB對(duì)連線連接計(jì)算機(jī)的USB端口。P2是DB9插針(可以改為插孔,但是引腳號(hào)將發(fā)生變化),用于連接單片機(jī)系統(tǒng)。P3是電源輸入選擇跳線或者電源輸入端口。第四十三頁(yè),共一百一十五頁(yè),2022年,8月28日(4)接口協(xié)議串口版模塊使用標(biāo)準(zhǔn)版模塊的三線制串口通訊協(xié)議。單片機(jī)系統(tǒng)與模塊之間需要連接SIN和SOUT兩根信號(hào)線及公共地線,單片機(jī)系統(tǒng)通過(guò)串口發(fā)送兩個(gè)同步碼字節(jié)(57H、ABH)作為執(zhí)行命令包的啟動(dòng)信號(hào),實(shí)現(xiàn)與模塊的命令同步。在通過(guò)串口輸入兩個(gè)同步碼字節(jié)時(shí),模塊會(huì)檢查串口數(shù)據(jù)輸入超時(shí),如果連續(xù)兩個(gè)數(shù)據(jù)字節(jié)之間的間隔大于串口輸入超時(shí)時(shí)間,則模塊將放棄該同步碼及命令包。第四十四頁(yè),共一百一十五頁(yè),2022年,8月28日(5)接口時(shí)序測(cè)試條件:TA=25℃,VCC=5V

名稱參數(shù)說(shuō)明最小值典型值最大值單位TT0串口輸入數(shù)據(jù)的間隔超時(shí)時(shí)間2540100mS第四十五頁(yè),共一百一十五頁(yè),2022年,8月28日MAX232是一種常用的電平轉(zhuǎn)換芯片,能完成TTL和RS-232C電平的雙向轉(zhuǎn)換,其引腳圖如下:對(duì)于RS-232C的信號(hào)而言,當(dāng)傳輸電平絕對(duì)值大于3V時(shí),電平可以被檢測(cè)出來(lái),介于-3V~+3V之間的電壓信號(hào)無(wú)意義,低于-15V或高于+15V的電壓也視為無(wú)意義。第四十六頁(yè),共一百一十五頁(yè),2022年,8月28日引腳定義:C1+/C1-:電容倍增充電泵電容正負(fù)端;C2+/C2-:反向電泵電容正負(fù)端:V+/V-:充電產(chǎn)生的+/-5V;R1IN/R2IN:RS-232發(fā)送器輸入1/2;T1OUT/T2OUT:RS-232發(fā)送器輸出1/2;T1IN/T2IN:TTL發(fā)送器輸入1/2;R1OUT/R2OUT:TTL接收器輸出1/2;VCC/GND:電源/地。PFI:當(dāng)管腳上的電平效益1.25V時(shí),PFO輸出低電平;第四十七頁(yè),共一百一十五頁(yè),2022年,8月28日在液晶顯示器(LiquidCrystalDisplay,LCD)方面,從選型角度,我們將常見(jiàn)液晶分為以下幾類:段式,字符型,圖形點(diǎn)陣式液晶。本核心板所用的是深圳市勤正達(dá)電子有限公司的FM12864F-12型號(hào)的液顯示模塊,F(xiàn)M12864F-12是128×64點(diǎn)陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8192個(gè)中文漢字(16X16點(diǎn)陣)、128個(gè)字符(8X16點(diǎn)陣)及64X256點(diǎn)陣顯示RAM(GDRAM)。可與CPU直接接口,提供兩種界面來(lái)連接微處理機(jī):8-位并行及串行兩種連接方式。具有多種功能:光標(biāo)顯示、畫面移位、睡眠模式等。液晶顯示器LCD和鍵盤

第四十八頁(yè),共一百一十五頁(yè),2022年,8月28日LCD實(shí)物圖

第四十九頁(yè),共一百一十五頁(yè),2022年,8月28日其引腳圖如下:第五十頁(yè),共一百一十五頁(yè),2022年,8月28日引腳定義:引腳名稱方向說(shuō)明引腳名稱方向說(shuō)明1VSS-GND(0V)11DB4I數(shù)據(jù)42VDD-SupplyVoltageForLogic(+5v)12DB5I數(shù)據(jù)53VO-SupplyVoltageForLCD(懸空)13DB6I數(shù)據(jù)64RS(CS)OH:DataL:InstructionCode14DB7I數(shù)據(jù)75R/W(SID)OH:ReadL:Write15PSBOH:ParallelModeL:SerialMode6E(SCLK)OEnableSignal16NC-空腳7DB0I數(shù)據(jù)017/RSTOResetSignal低電平有效8DB1I數(shù)據(jù)118NC-空腳9DB2I數(shù)據(jù)219LEDA-背光源正極(LED+5V)10DB3I數(shù)據(jù)320LEDK-背光源負(fù)極(LED-OV)第五十一頁(yè),共一百一十五頁(yè),2022年,8月28日(1)RS,R/W的配合選擇決定控制界面的4種模式:RSR/W功能說(shuō)明LLMPU寫指令到指令暫存器(IR)LH讀出忙標(biāo)志(BF)及地址記數(shù)器(AC)的狀態(tài)HLMPU寫入數(shù)據(jù)到數(shù)據(jù)暫存器(DR)HHMPU從數(shù)據(jù)暫存器(DR)中讀出數(shù)據(jù)第五十二頁(yè),共一百一十五頁(yè),2022年,8月28日(2)E信號(hào)E狀態(tài)執(zhí)行動(dòng)作結(jié)果高——>低I/O緩沖——>DR配合/W進(jìn)行寫數(shù)據(jù)或指令高DR——>I/O緩沖配合R進(jìn)行讀數(shù)據(jù)或指令低/低——>高無(wú)動(dòng)作

第五十三頁(yè),共一百一十五頁(yè),2022年,8月28日單片機(jī)通過(guò)該模塊特有的指令來(lái)完成各種相應(yīng)的顯示功能,其指令由10位二進(jìn)制數(shù)組成。這些指令包括清除顯示、位地址歸位、顯示狀態(tài)開(kāi)關(guān)、游標(biāo)或顯示移位控制、功能設(shè)定設(shè)定、CGRAM位址設(shè)定、DDRAM位址、讀取忙碌狀態(tài)(BF)和位址、寫資料到RAM、讀出RAM的值、擴(kuò)充功能設(shè)定等。單片機(jī)通過(guò)設(shè)定不同的的指令來(lái)完成對(duì)LCD模塊的數(shù)據(jù)傳輸和顯示。第五十四頁(yè),共一百一十五頁(yè),2022年,8月28日(1)清除顯示CODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB0功能:清除顯示屏幕,把DDRAM位址計(jì)數(shù)器調(diào)整為“00H”(2)位址歸位CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0功能:把DDRAM位址計(jì)數(shù)器調(diào)整為“00H”,游標(biāo)回原點(diǎn),該功能不影響顯示DDRAM(3)位址歸位CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHXLLLLLLLLLHLLLLLLLLI/DS第五十五頁(yè),共一百一十五頁(yè),2022年,8月28日功能:把DDRAM位址計(jì)數(shù)器調(diào)整為“00H”,游標(biāo)回原點(diǎn),該功能不影響顯示DDRAM功能:執(zhí)行該命令后,所設(shè)置的行將顯示在屏幕的第一行。顯示起始行是由Z地址計(jì)數(shù)器控制的,該命令自動(dòng)將A0-A5位地址送入Z地址計(jì)數(shù)器,起始地址可以是0-63范圍內(nèi)任意一行。Z地址計(jì)數(shù)器具有循環(huán)計(jì)數(shù)功能,用于顯示行掃描同步,當(dāng)掃描完一行后自動(dòng)加一。(4)顯示狀態(tài)開(kāi)/關(guān)CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0

功能:D=1;整體顯示ONC=1;游標(biāo)ONB=1;游標(biāo)位置ON(5)游標(biāo)或顯示移位控制CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0

功能:設(shè)定游標(biāo)的移動(dòng)與顯示的移位控制位:這個(gè)指令并不改變DDRAM的內(nèi)容

LLLLLLHDCBLLLLLHS/CR/LXX第五十六頁(yè),共一百一十五頁(yè),2022年,8月28日(6)功能設(shè)定CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0

功能:DL=1(必須設(shè)為1)RE=1;擴(kuò)充指令集動(dòng)作RE=0:基本指令集動(dòng)作(7)設(shè)定CGRAM位址CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0功能:設(shè)定CGRAM位址到位址計(jì)數(shù)器(AC)(8)設(shè)定DDRAM位址CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0

功能:設(shè)定DDRAM位址到位址計(jì)數(shù)器(AC)LLLLHDLX0REXXLLLHAC5AC4AC3AC2AC1AC0LHBFAC6AC5AC4AC3AC2AC1AC0第五十七頁(yè),共一百一十五頁(yè),2022年,8月28日(9)讀取忙碌狀態(tài)(BF)和位址CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0

功能:讀取忙碌狀態(tài)(BF)可以確認(rèn)內(nèi)部動(dòng)作是否完成,同時(shí)可以讀出位址計(jì)數(shù)器(AC)的值(10)寫資料到RAMCODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0

功能:寫入資料到內(nèi)部的RAM(DDRAM/CGRAM/TRAM/GDRAM)(11)讀出RAM的值CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0

功能:從內(nèi)部RAM讀取資料(DDRAM/CGRAM/TRAM/GDRAM)單片機(jī)就是通過(guò)設(shè)定不同的的指令來(lái)完成對(duì)LCD模塊的數(shù)據(jù)傳輸和顯示。LLBFAC6AC5AC4AC3AC2AC1AC0HLD7D6D5D4D3D2D1D0HHD7D6D5D4D3D2D1D0第五十八頁(yè),共一百一十五頁(yè),2022年,8月28日該LCD可與CPU直接接口,提供兩種界面來(lái)連接微處理機(jī):8-位并行及串行兩種連接方式。具有多種功能:光標(biāo)顯示、畫面移位、睡眠模式等。在本系統(tǒng)中,該LCD液晶模塊采用的是并行的連接方式,其連接方式示意圖如下所示:LCM與MPU的并行連接

第五十九頁(yè),共一百一十五頁(yè),2022年,8月28日由于鍵盤掃描和向LCD寫數(shù)據(jù)均采用P0口,所以之后在LCD沒(méi)置使能,即P1_6=0的情況下,才能進(jìn)行鍵盤掃描。LCD控制程序參見(jiàn)LCDLEARN.C函數(shù)。鍵盤掃描相關(guān)函數(shù)為:externunsignedcharscankb(void),循環(huán)掃描,可以返回16個(gè)不同的值。在LCD上寫漢字的時(shí)候,不能寫“數(shù)字”兩個(gè)漢字,會(huì)出現(xiàn)亂碼;此外,不能寫入字符中夾雜著半角和全角字符。第六十頁(yè),共一百一十五頁(yè),2022年,8月28日與單片機(jī)的電路圖連接如下所示:第六十一頁(yè),共一百一十五頁(yè),2022年,8月28日鍵盤采用4×4鍵盤,能返回16個(gè)不同的值,各個(gè)按鍵代表不同的功能,按下不同的按鍵,在執(zhí)行相應(yīng)程序后,會(huì)在LCD上顯示對(duì)應(yīng)的結(jié)果,其引腳圖如下所示,1—8引腳分別接在AT89C51的P0.0—P0.7上。鍵盤芯片的引腳圖:第六十二頁(yè),共一百一十五頁(yè),2022年,8月28日為了減少鍵盤與單片機(jī)進(jìn)行接口時(shí)占用過(guò)多的I/O口線的數(shù)目,在按鍵較多時(shí),通常將鍵盤排成行列矩陣的形式。這種矩陣式鍵盤的每一行線與列線的交叉處互不連通,而是通過(guò)一個(gè)按鍵來(lái)連接的。單片機(jī)通過(guò)程序控制掃描方式,利用軟件連續(xù)的對(duì)鍵盤進(jìn)行掃描,通過(guò)一定的算法來(lái)判斷是哪個(gè)鍵被按下,從而實(shí)現(xiàn)該鍵的功能。編程掃描方式是利用CPU完成其它工作的空余調(diào)用鍵盤掃描子程序來(lái)響應(yīng)鍵盤輸入的要求。在執(zhí)行鍵功能程序時(shí),CPU不再響應(yīng)鍵輸入要求,直到CPU重新掃描鍵盤為止。第六十三頁(yè),共一百一十五頁(yè),2022年,8月28日程序掃描法的工作過(guò)程是:

1、判別有無(wú)鍵按下:?jiǎn)纹瑱C(jī)首先向行掃描口輸出全為0掃描碼F0H,然后從列檢測(cè)口輸入列檢測(cè)信號(hào),只要有一列信號(hào)不為1,即P0口不為F0H,則表示有鍵被按下。

2、鍵盤掃描取得閉合鍵的行、列值:?jiǎn)纹瑱C(jī)將得到的信號(hào)取反,中為1的位便是該鍵所在的列。接下來(lái)要確定按鍵所在的行,需要進(jìn)行逐行掃描。單片機(jī)首先向P0口發(fā)送掃描碼FEH,即使P0.0為0,為1。然后輸入列檢測(cè)信號(hào),若各列全為1,則表示不在第一行。接著使P0.1為0,其余為1,再輸入檢測(cè)列信號(hào)。依次檢測(cè)下去,直到找到按鍵所在行。

第六十四頁(yè),共一百一十五頁(yè),2022年,8月28日

3、用計(jì)算法或查表法得到鍵值;

4、判斷閉合鍵是否釋放,如沒(méi)釋放則繼續(xù)等待;

5、將閉合鍵鍵號(hào)保存,同時(shí)轉(zhuǎn)去執(zhí)行該閉合鍵的功能。第六十五頁(yè),共一百一十五頁(yè),2022年,8月28日74HC573芯片介紹引腳圖如下所示:第六十六頁(yè),共一百一十五頁(yè),2022年,8月28日引腳說(shuō)明:2至9腳是數(shù)據(jù)的輸入角,從D0到D7;12至19腳這幾個(gè)腳是數(shù)據(jù)的輸出腳;10是接地;20是電源;1引腳為573的輸出使能,低電平有效,11引腳為573的鎖存使能,高電平有效,即573只有在1引腳為低是才有可能輸出,若為高,輸出為高阻,11引腳在1引腳為低的前提下若為高,則不鎖存,輸出恒等于輸入,若為低,則鎖存,保持前一時(shí)刻狀態(tài)。第六十七頁(yè),共一百一十五頁(yè),2022年,8月28日外圍接口電路外圍接口電路包括模擬信號(hào)輸入、開(kāi)關(guān)量輸入輸出、串口通信接口、電源供應(yīng)接口和濾波電容網(wǎng)絡(luò)。

對(duì)應(yīng)圖如下:第六十八頁(yè),共一百一十五頁(yè),2022年,8月28日數(shù)字量輸入部分是采用光耦6N136判斷外部輸入是高電平還是低電平。單片機(jī)上用P20-P24判斷外部數(shù)字量。程序中相關(guān)程序是:externunsignedchariojudge(unsignedchar)-函數(shù)參數(shù)為數(shù)字量輸入通道號(hào),返回通道狀態(tài)1表示高電平、0表示低電平。數(shù)字量輸出部分是通過(guò)繼電器控制端口是否和VCC(+5V)連接上。繼電器由P24-P27引腳控制狀態(tài)變化。程序中相關(guān)程序?yàn)椋簐oidrelay(unsignedchara)-參數(shù)為繼電器所在通道號(hào)。執(zhí)行此函數(shù),繼電器狀態(tài)改變。第六十九頁(yè),共一百一十五頁(yè),2022年,8月28日電路設(shè)計(jì)的工作人員都是要通過(guò)分析電路原理圖,了解電路的功能和工作原理,才能得心應(yīng)手開(kāi)展工作。以下就電路總體功能、劃分的功能模塊、信號(hào)流向和各原件的作用進(jìn)行分析。4原理圖分析第七十頁(yè),共一百一十五頁(yè),2022年,8月28日核心板整體Protel圖第七十一頁(yè),共一百一十五頁(yè),2022年,8月28日4.1外部模擬信號(hào)采集接口和電源電路

8針腳接口JAINCON8是外部模擬信號(hào)輸入接口,JDINCON8是外部數(shù)字量信號(hào)輸入接口,JDOUTCON8是數(shù)字量輸出接口。從JAINCON8來(lái)的模擬量輸入信號(hào)進(jìn)入TLC2543的11路模擬量輸入端口,進(jìn)行A/D轉(zhuǎn)換;從JDINCON8來(lái)的數(shù)字量輸入信號(hào)進(jìn)入光電耦合器6N136的處理后引入8051的P2_0—P2_3引腳,8051就可以判斷外部數(shù)字量輸入是高還是低電平。8051單片機(jī)P2_7—P2_4信號(hào)通過(guò)輸出處理電路后控制繼電器的輸出狀態(tài),DO1—DO4表征繼電器的狀態(tài),通過(guò)JDOUTCON8來(lái)實(shí)現(xiàn)數(shù)字量的輸出。外接+5V電源通過(guò)CON3接口接入電路板,然后經(jīng)過(guò)CU1、CU2、CU74、CU82、CU4電容濾波處理后對(duì)整個(gè)單片機(jī)核心板供電。第七十二頁(yè),共一百一十五頁(yè),2022年,8月28日外部模擬信號(hào)采集接口和電源電路第七十三頁(yè),共一百一十五頁(yè),2022年,8月28日

采用TLC2543芯片的方法進(jìn)行A/D轉(zhuǎn)換用TLC2543芯片進(jìn)行A/D轉(zhuǎn)換十分簡(jiǎn)單,不需要復(fù)雜的外圍輔助電路,可直接與單片機(jī)I/O連接,并直接通過(guò)單片機(jī)控制A/D轉(zhuǎn)換的啟動(dòng)與結(jié)束。4.2A/D轉(zhuǎn)換電路第七十四頁(yè),共一百一十五頁(yè),2022年,8月28日采用TLC2543芯片的方法進(jìn)行A/D轉(zhuǎn)換第七十五頁(yè),共一百一十五頁(yè),2022年,8月28日4.38051信號(hào)控制與處理電路此功能模塊是單片機(jī)系統(tǒng)的核心部分,為了增加I/O口數(shù)目,采用了8255A可編程外圍接口芯片,使用了一個(gè)8位鎖存器74HC573來(lái)鎖存8051單片機(jī)P0口輸出的地址信息。8051通過(guò)軟件編程進(jìn)行輸入信號(hào)的處理與控制,通過(guò)P0口將處理結(jié)果送往LCD顯示,通過(guò)P2口進(jìn)行數(shù)字量的輸入和輸出,同時(shí)單片機(jī)采用譯碼法將P0口送出的地址信息譯碼后確定了8255A的地址,可以擴(kuò)展連接更多的外圍設(shè)備。8051通過(guò)引腳RXD和引腳TXD和MAX232與串口或USB進(jìn)行通信。MAX813是看門狗芯片,使單片機(jī)死機(jī)后復(fù)位運(yùn)行。第七十六頁(yè),共一百一十五頁(yè),2022年,8月28日8051信號(hào)控制與處理電路第七十七頁(yè),共一百一十五頁(yè),2022年,8月28日4.4LCD顯示部分本單片機(jī)系統(tǒng)采用的是勤正達(dá)12864F液晶顯示模塊,由圖可知:此單片機(jī)控制數(shù)碼管顯示的過(guò)程采用的是并行方式,P0口的輸出作為L(zhǎng)CD的數(shù)據(jù)輸入DB0—DB7,P1_4的輸出作為了LCD的模組片選段,P1_5的輸出作為L(zhǎng)CD的讀寫控制信號(hào),P1_6的輸出作為L(zhǎng)CD的使能信號(hào),由RS、R/W、D7、D6、D5、D4、D3、D2、D1、D0的狀態(tài)構(gòu)成模塊控制芯片的控制命令,最終完成字符的LCD顯示。

第七十八頁(yè),共一百一十五頁(yè),2022年,8月28日LCD實(shí)物圖第七十九頁(yè),共一百一十五頁(yè),2022年,8月28日LCD與單片機(jī)的連接圖第八十頁(yè),共一百一十五頁(yè),2022年,8月28日要實(shí)現(xiàn)串行通信,則單片機(jī)、MAX232與串口的引腳必須嚴(yán)格對(duì)應(yīng)。8051單片機(jī)的發(fā)送端TXD接到MAX232的T1IN端,接收端RXD接到MAX232的R1OUT端,RS232C串口DB9的接收端RXD通過(guò)CON3接口對(duì)應(yīng)R1IN引腳,發(fā)送端TXD對(duì)應(yīng)R1IN引腳,引腳對(duì)應(yīng)正確后,串行通信電路圖的硬件設(shè)置就完成了,可以順利完成USB的讀寫。4.5串口通信和USB讀寫第八十一頁(yè),共一百一十五頁(yè),2022年,8月28日串口版U盤文件讀寫模塊的正反面外觀第八十二頁(yè),共一百一十五頁(yè),2022年,8月28日串口通信和USB讀寫電路連接圖第八十三頁(yè),共一百一十五頁(yè),2022年,8月28日5源程序分析開(kāi)始初始化采集TLC2543模擬信號(hào)定時(shí)中設(shè)定斷LCD界面初始化是否有鍵按下循環(huán)是否結(jié)束讀出按鍵值,并在LCD上顯示相應(yīng)結(jié)果結(jié)束YNYN第八十四頁(yè),共一百一十五頁(yè),2022年,8月28日5.2輸入程序

#include<core.h>

externunsignedchariojudge(unsignedchar);

unsignedchariojudge(a)

{

switch(a)

{

case1:if(P2_3==1)return1;elsereturn0;break;

case2:if(P2_2==1)return1;elsereturn0;break;

case3:if(P2_1==1)return1;elsereturn0;break;

case4:if(P2_0==1)return1;elsereturn0;break;

}

}第八十五頁(yè),共一百一十五頁(yè),2022年,8月28日5.3輸出程序

#include<core.h>

externvoidrelay(unsignedchar);

voidrelay(unsignedchara)

{

unsignedchari;

switch(a)

{

case1:P2_7=1;for(i=0;i<100;i++);P2_7=0;

//for(i=0;i<100;i++);P2_7=1;

case2:P2_6=1;for(i=0;i<100;i++);P2_6=0;

//for(i=0;i<100;i++);P2_6=1;

第八十六頁(yè),共一百一十五頁(yè),2022年,8月28日case3:P2_5=1;for(i=0;i<100;i++);P2_5=0;

//for(i=0;i<100;i++);P2_5=1;

case4:P2_4=1;for(i=0;i<100;i++);P2_4=0;

//for(i=0;i<100;i++);P2_4=1;

}

}第八十七頁(yè),共一百一十五頁(yè),2022年,8月28日5.4LCD顯示程序

#include<core.h>

#include<at89x52.h>

#definebfP0_7//位定義

#definersP1_4

#definerwP1_5

#defineeP1_6

#definelcd_rstP1_7

#definepsbP1_4

externvoidrbf(void);

externvoidwcd(unsignedchar,unsignedchar);

externvoidinilcd();

externvoidbegin(unsignedchar*);第八十八頁(yè),共一百一十五頁(yè),2022年,8月28日externvoiddelay(unsignedint);

externvoidwi(unsignedchar);

externvoidwd(unsignedchar);

externvoidbeginkey(unsignedchar);

externvoidbeginnum(unsignedchar*);

externvoidjiemian(void);

externvoidrelaylcd(unsignedchar);

//延遲函數(shù)

voiddelay(unsignedinti)//當(dāng)i為時(shí)約延時(shí)毫秒

{

unsignedcharj;//當(dāng)i為時(shí)約延時(shí)秒

while(i)

{

i--;第八十九頁(yè),共一百一十五頁(yè),2022年,8月28日

for(j=0;j<100;j++)

{

;//空語(yǔ)句

}

}

}

//讀忙標(biāo)志函數(shù)

voidrbf(void)

{

do

{

rs=0;//設(shè)置讀忙時(shí)的狀態(tài)

rw=1;

第九十頁(yè),共一百一十五頁(yè),2022年,8月28日

//P0=0xff;

delay(1);//延遲一會(huì)兒

e=1;//開(kāi)使能端

}while(bf);//不忙則跳出

e=0;//關(guān)使能

}

//寫指令函數(shù)與寫數(shù)據(jù)函數(shù)wcd(i,n)

//當(dāng)i為的時(shí)候?yàn)閷懼噶頽,i為時(shí)候?yàn)閷憯?shù)據(jù)n

voidwcd(unsignedchari,unsignedcharn)

{

rbf();//讀忙第九十一頁(yè),共一百一十五頁(yè),2022年,8月28日

switch(i)

{

case0:rs=0;rw=0;P0=n;break;

//設(shè)置寫指令時(shí)的狀態(tài)

case1:rs=1;rw=0;P0=n;break;

//設(shè)置寫數(shù)據(jù)時(shí)的狀態(tài)

}

e=1;

delay(10);//將要寫入的值設(shè)置為P0的狀態(tài)

e=0;//關(guān)使能

}

//初始化液晶界面函數(shù),作用是清屏第九十二頁(yè),共一百一十五頁(yè),2022年,8月28日voidinilcd()

{

unsignedchari;

unsignedcharcodea[4]={0x30,0x01,0x02,0x0e};//DDRAM初始化的指令格式

psb=0;

delay(75);

psb=1;

lcd_rst=0;delay(2);lcd_rst=1;

for(i=0;i<4;i++)

{

wcd(0,a[i]);

}

}

//初始界面函數(shù),作用是開(kāi)機(jī)時(shí)顯示的數(shù)據(jù)第九十三頁(yè),共一百一十五頁(yè),2022年,8月28日voidbegin(unsignedchar*pm)

{

wcd(0,0x80);//寫入首地址

do{

wcd(1,*pm);//依次寫入數(shù)據(jù)

delay(10);//字與字之間延遲一會(huì)兒

pm++;//數(shù)據(jù)地址自增一

}while(*pm!='\0');

}

voidbeginnum(unsignedchar*pm)

{

unsignedcharj;

wcd(0,0x90);//寫入首地址第九十四頁(yè),共一百一十五頁(yè),2022年,8月28日

for(j=0;j<5;j++){

wcd(1,*pm);//依次寫入數(shù)據(jù)

delay(10);//字與字之間延遲一會(huì)兒

pm++;//數(shù)據(jù)地址自增一

};

}

voidbeginkey(unsignedchara)

{

unsignedcharcodeb[4][20]={{"VoltageSample"},

{"CheckD_Channal"},{"ControlRealy"},{"InputtoUSB"}};

switch(a)

{

case1:begin(b[0]);break;第九十五頁(yè),共一百一十五頁(yè),2022年,8月28日case2:begin(b[1]);break;

case3:begin(b[2]);break;

}

}

voidbeginDprocess(unsignedchara,unsignedcharb)

{

unsignedcharcodec[4][15]={{"DChannal1L"},

{"DChannal2L"},

{"DChannal3L"},

{"DChannal4L"}};

unsignedcharcoded[4][15]={{"DChannal1H"},

{"DChannal2H"},{"DChannal3H"},{"DChannal4H"}};

if(a==1)第九十六頁(yè),共一百一十五頁(yè),2022年,8月28日

{switch(b)

{

case1:begin(c[0]);break;

case2:begin(c[1]);break;

case3:begin(c[2]);break;

case4:begin(c[3]);break;

}

}

elseswitch(b)

{

case1:begin(d[0]);break;

case2:begin(d[1]);break;

case3:begin(d[2]);break;

case4:begin(d[3]);break;

}第九十七頁(yè),共一百一十五頁(yè),2022年,8月28日

}

}

voidjiemian()

{

unsignedcharcodeb[4][20]={{"VoltageSample1"},

{"DigitalInput2"},{"DigitalOutput3"},{"WriteUSB4"}};

unsignedchar*pm;

pm=b[0];

wcd(0,0x80);//寫入首地址

do{

wcd(1,*pm);//依次寫入數(shù)據(jù)

delay(10);//字與字之間延遲一會(huì)兒

pm++;//數(shù)據(jù)地址自增一

}while(*pm!='\0');第九十八頁(yè),共一百一十五頁(yè),2022年,8月28日

pm=b[1];

wcd(0,0x90);//寫入首地址

do{

wcd(1,*pm);//依次寫入數(shù)據(jù)

delay(10);//字與字之間延遲一會(huì)兒

pm++;//數(shù)據(jù)地址自增一

}while(*pm!='\0');

pm=b[2];

wcd(0,0x88);//寫入首地址

do{

wcd(1,*pm);//依次寫入數(shù)據(jù)

delay(10);//字與字之間延遲一會(huì)兒

pm++;//數(shù)據(jù)地址自增一第九十九頁(yè),共一百一十五頁(yè),2022年,8月28日

}while(*pm!='\0');

pm=b[3];

wcd(0,0x98);//寫入首地址

do{

wcd(1,*pm);//依次寫入數(shù)據(jù)

delay(10);//字與字之間延遲一會(huì)兒

pm++;//數(shù)據(jù)地址自增一

}while(*pm!='\0');

}

voidrelaylcd(unsignedchara)

{

unsignedcharcodec[4][17]={{"1RelayOperate"},第一百頁(yè),共一百一十五頁(yè),2022年,8月28日{(diào)"2RelayOperate"},

{"3RelayOperate"},

{"4RelayOperate"}};

switch(a)

{

case1:begin(c[0]);break;

case2:begin(c[1]);break;

case3:begin(c[2]);break;

case4:begin(c[3]);break;

}

}第一百零一頁(yè),共一百一十五頁(yè),2022年,8月28日5.5按鍵程序

#include<core.h>

voiddelay(void)

{unsignedchari;

for(i=200;i>0;i--);

}

externunsignedcharscankb(void)

{

unsignedcharsccode,recode;

P0=0xf0;

if((P0&0xf0)!=0xf0)//有鍵按下

{delay();

if((P0&0xf0)!=0xf0)//仍然有鍵按下

{sccode=0xfe;第一百零二頁(yè),共一百一十五頁(yè),2022年,8月28日while((sccode&0x10)!=0)//移位沒(méi)完

{P0=sccode;//行掃描開(kāi)始

if((P0&0xf0)!=0xf0)//若在該行

{recode=(P0&0xf0)|0x0f;//中間結(jié)果

P0=0xff;//關(guān)P2

return((~sccode)+(~recode));//返回Keyword

}

elsesccode=(sccode<<1)|0x01;//不在該行則掃下一行

}

}

}

return(0);

}第一百零三頁(yè),共一百一十五頁(yè),2022年,8月28日5.6主程序

#include<core.h>

unsignedcharconverse(unsignedint);

#define _CS P1_3

#define D_OUT P1_2

#define D_IN P1_1

#define CLOCK P1_0

unsignedcharcom_fetch;

voidcomm_init()

{

TL1=0xfd;

TH1=0xfd;

PCON=0;

TMOD=0x20;//定時(shí)器方式

EA=1;第一百零四頁(yè),共一百一十五頁(yè),2022年,8月28日ET1=0;//禁止外部中斷

ES=1;//開(kāi)串行口中斷

TR1=1;//開(kāi)始計(jì)時(shí)

SCON=0x50;//串行口工作方式、容許接收

}

voidcomm_int()interrupt4

{

if(RI)

{

RI=0;

com_fetch=SBUF;//發(fā)送數(shù)據(jù)

}

else{TI=0;}

}第一百零五頁(yè),共一百一十五頁(yè),2022年,8月28日

}

}

voidt100()

{

unsignedchari;

for(i=0;i<50;i++)

{

}

}

//從讀取采樣值,形參port是采樣的通道號(hào)

unsignedcharad_get(unsignedcharport)

{

unsignedcharad;

unsignedchari;

unsignedcharal=0,ah=0;第一百零六頁(yè),共一百一十五頁(yè),2022年,8月28日CLOCK=0;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論