仿真板說(shuō)明-v7資料_第1頁(yè)
仿真板說(shuō)明-v7資料_第2頁(yè)
仿真板說(shuō)明-v7資料_第3頁(yè)
仿真板說(shuō)明-v7資料_第4頁(yè)
仿真板說(shuō)明-v7資料_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Keil C51源程序仿真開(kāi)發(fā)功能板. 可仿真調(diào)試各種 8051, 包括帶 ISP 功能的新型單片機(jī). 學(xué)習(xí)單片機(jī)高級(jí)語(yǔ)言 C51的硬件平臺(tái).Windows 編譯環(huán)境接口 , 簡(jiǎn)單可靠.MAX7219驅(qū)動(dòng) 8 位高亮 LED. 用戶(hù)程序零地址仿真. 單片機(jī)引腳插座. 用戶(hù)擴(kuò)展區(qū)1Keil C51源程序仿真板使用說(shuō)明Keil C51源程序仿真板是一種功能強(qiáng)大而實(shí)用的單片機(jī)開(kāi)發(fā)調(diào)試工具,它充分利用臺(tái)式 PC機(jī)的系統(tǒng)資源 , 使用戶(hù)可以輕松完成 8051 單片機(jī)應(yīng)用系統(tǒng)的仿真調(diào)試工作 . 用戶(hù)在 PC機(jī)上完成軟件程序的編輯 , 編譯 , 連接 , 通過(guò)串行口通信方式將目標(biāo)程序相比之下載到C51 仿真

2、開(kāi)發(fā)功能板中,可對(duì)匯編語(yǔ)言和高級(jí)語(yǔ)言源程序進(jìn)行跟蹤調(diào)試,具有指令單步 / 過(guò)程單步運(yùn)行 , 設(shè)置多達(dá)10 個(gè)臨時(shí)斷點(diǎn) , 隨時(shí)察看內(nèi)存數(shù)據(jù)或單片機(jī)內(nèi)部資源 , 在線修改源程序等多種功能, 仿真開(kāi)發(fā)功能板上預(yù)留了用戶(hù)擴(kuò)展區(qū), 并將單片機(jī)的引腳全部引出, 可作為外部仿真頭使用, 還預(yù)留了若干譯碼輸出, 可作為8279 鍵盤(pán) ,A/D,D/A等接口使用。 采用本仿真開(kāi)發(fā)功能板對(duì)用戶(hù)源程序進(jìn)行實(shí)時(shí)在線調(diào)試, 可極大地縮短單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)時(shí)間。一、仿真開(kāi)發(fā)功能板資源*.單一 +5V電源供電。*. 8-32K仿真 RAM/用戶(hù) ROM,配有 32KRAM芯片 62256,調(diào)試時(shí)用戶(hù)程序被下載到該芯片中

3、,調(diào)試完成后可將其換為固化有用戶(hù)程序的 2764/27256 芯片。*. 8K/24K用戶(hù) RAM, 配有 8KRAM芯片 6264, 作為用戶(hù)的數(shù)據(jù)存儲(chǔ)器。*. MAX7219 共陰極 8 段 LED驅(qū)動(dòng)器 ,可直接驅(qū)動(dòng)8 個(gè)共陰極數(shù)碼顯示器。*. 8031 單片機(jī) ( 基本配置 ), 可選配其它類(lèi)型單片機(jī)如 :Winbond77E58,DS80C320, Phiips98C51RDx(ISP),SST89C58(ISP)等新型單片機(jī)。仿真開(kāi)發(fā)板僅占用單片機(jī)內(nèi)部串行口和定時(shí)器T1以便于與 PC機(jī)的通信 , 完成用戶(hù)程序的仿真調(diào)試 , 其它所有片內(nèi)資源均可由用戶(hù)使用。如在開(kāi)發(fā)中需使用串行口,

4、可選用內(nèi)部帶有雙串口的單片機(jī)如DS80C320,Winbond77E58等*. 單片機(jī)全部引腳都引出, 可作為仿真插頭接口 , 還預(yù)置了若干譯碼輸出端口 ( 地址線 ) 以及數(shù)據(jù)線以便于用戶(hù)使用, 板上留有充分的用戶(hù)擴(kuò)展區(qū) , 方便用戶(hù)進(jìn)行各種接口擴(kuò)展。2二、擴(kuò)展插座引腳說(shuō)明電源 /UART0 引腳說(shuō)明:插座 P3(8279 鍵盤(pán)板 )引腳說(shuō)明 :插座 P4(仿真頭 )引腳說(shuō)明 :ALE 12 VCCVCC 1 2 P1.0RSTP0.0P1.1WRRDP0.1P1.2A0C800HP1.2P1.3D1D0P1.3P1.4GNDD2P1.4P1.5REKD3P1.5P1.6D4P1.6P1.7

5、D7D5P1.7RSTGND 19 20 D6RXDALETXDPSENINT0P2.7INT1P2.6T0P2.5T1P2.4WRP2.3RDP2.2P2.1P2.039 403三、插座及跳線說(shuō)明U2 插座可插入32K 仿真 RAM62256芯片 , 用于從 KEIL 仿真環(huán)境下載程序進(jìn)行調(diào)試 ,也可插入用戶(hù)ROM27256芯片 , 用于全速運(yùn)行調(diào)試通過(guò)的用戶(hù)程序。該插座地址范圍為0000H 7FFFH,配有 4 個(gè)跳線 , 其作用如下 :跳線名跳線位置功能作用連接方式說(shuō)明默認(rèn)位置JP1RSE仿真仿真調(diào)試RSEA15用戶(hù) ROM運(yùn)行用戶(hù)程序JP2PSEN用戶(hù) ROM哈弗 ( 數(shù)據(jù)程序分開(kāi) )

6、P/SP/S仿真馮諾依曼 ( 數(shù)據(jù)程序共享 )JP327256用戶(hù) ROM運(yùn)行用戶(hù)程序6225662256仿真仿真調(diào)試JP427256用戶(hù) ROM運(yùn)行用戶(hù)程序6225662256仿真仿真調(diào)試U4 插座可插入RAM6264或 62256芯片 , 用于存貯用戶(hù)數(shù)據(jù), 該插座地址范圍為8000H DFFFH。配有 3 個(gè)跳線 , 其作用如下 :跳線名跳線位置功能作用連接方式說(shuō)明默認(rèn)位置JP5RD哈弗 ( 數(shù)據(jù)程序分開(kāi) )P/SP/S馮諾依曼 ( 數(shù)據(jù)程序共享 )JP664插入 6264 芯片6456插入 62256 芯片JP764插入 6264 芯片6456插入 62256 芯片U5 插座上插入的是

7、監(jiān)控 ROM芯片 , 其中是仿真實(shí)驗(yàn)板與 KEIL 環(huán)境連接所需的監(jiān)控程序 , 該插座地址范圍為 E000H FFFFH。配有 1 個(gè)跳線 , 其作用如下 :跳線名跳線位置功能作用連接方式說(shuō)明默認(rèn)位置JP8E000運(yùn)行監(jiān)控程序E000GND實(shí)驗(yàn)板檢測(cè)GAL16V8插座配有1 個(gè)跳線 , 其作用如下 :跳線名跳線位置功能作用連接方式說(shuō)明默認(rèn)位置56K不用板上擴(kuò)展地址JP948K用板上擴(kuò)展地48K址4U10插座上插入的是單片機(jī)8031 芯片 , 用戶(hù)可根據(jù)自己的需要插入其他類(lèi)型的兼容8051 芯片。該插座配有 1個(gè)跳線 , 其作用如下 :跳線名跳線位置功能作用連接方式說(shuō)明默認(rèn)位置JP10VCC運(yùn)行

8、片內(nèi)程序或進(jìn)行 ISP 操作GNDGND運(yùn)行片外程序U8 插座上插入的是固化74LS04 芯片,配有1 個(gè)跳線 , 其作用如下:跳線名跳線位置說(shuō)明默認(rèn)位置JP11EMU運(yùn)行監(jiān)控程序EMUUSER運(yùn)行用戶(hù)程序板上左邊靠近MAX232芯片處有一個(gè) P2 跳線 , 其作用如下 :跳線名跳線位置功能作用連接方式說(shuō)明默認(rèn)位置P1.3此兩腳短路時(shí)可使用DS80320的第二個(gè)串行斷開(kāi)空腳口 UART1空腳此兩腳短路時(shí)可使用DS80320的第二個(gè)串行斷開(kāi)P1.4口 UART1UART1插座已經(jīng)預(yù)留在板上, 但需要用戶(hù)自己焊接。以上跳線的默認(rèn)位置是為便于與KEIL 仿真環(huán)境接口 , 方便下載調(diào)試程序而設(shè)置的 ,

9、用戶(hù)可根據(jù)自己需要改變跳線位置。一般在進(jìn)行仿真調(diào)試時(shí)應(yīng)按默認(rèn)方式配置, 若用戶(hù)改變跳線位置后出現(xiàn)無(wú)法與KEIL環(huán)境連接的現(xiàn)象 , 請(qǐng)蔣跳線恢復(fù)到默認(rèn)位置。在仿真調(diào)試狀態(tài)與 KEIL 環(huán)境聯(lián)機(jī)后 , 很容易將用戶(hù)程序下載到實(shí)驗(yàn)板中, 可以進(jìn)行單步運(yùn)行、插入斷點(diǎn)、過(guò)程單步運(yùn)行等,當(dāng)用戶(hù)程序調(diào)試通過(guò)后, 可將所生成的 HEX文件寫(xiě)入自己的 EPROM芯片 , 插入到實(shí)驗(yàn)板的 U2 插座中 , 并將 U5插座上的監(jiān)控芯片取下 , 上電或復(fù)位后將全速運(yùn)行用戶(hù)的程序。存儲(chǔ)器地址空間分配:存儲(chǔ)器空間地址范圍仿真 RAM/用戶(hù) ROM區(qū)0 x0000 0 x7EFF用戶(hù)數(shù)據(jù) /IO 擴(kuò)展區(qū)0 x8000 0

10、x9EFF,0 xA0000 xBFFF用戶(hù)擴(kuò)展區(qū)0 xC000 0 xDFFF監(jiān)控 RAM區(qū)0 x9F00 0 x9FFF監(jiān)控 ROM區(qū)0 xE000 0 xFFFF5四、用戶(hù)程序的仿真調(diào)試使用說(shuō)明首先要建立一個(gè)項(xiàng)目,如圖 1 所示,啟動(dòng) Keil uVision2 后之后,單擊“ Project 菜單 /New ”選項(xiàng):圖 1從彈出的窗口中 , 選擇要保存項(xiàng)目的路徑 , 并輸入項(xiàng)目文件名“ Hello.uv2 ”, 然后點(diǎn)擊保存按鈕,如圖 2 所示:圖 26這時(shí)會(huì)彈出一個(gè)選擇 CPU型號(hào)的對(duì)話(huà)框 , 可以根據(jù)所使用的單片機(jī)來(lái)選擇 , 如圖 3 所示選擇 Ateml89C52, 選定 CPU

11、型號(hào)之后從窗口右邊一欄可以看到對(duì)這個(gè)單片機(jī)的基本說(shuō)明 , 然后點(diǎn)擊確定按鈕。圖 3接下來(lái)要?jiǎng)?chuàng)建程序文件, 如圖 4 所示,單擊“File菜單 /New ”選項(xiàng):圖 47在彈出的編輯窗口中輸入如下C51 源程序:/*HELLO.C測(cè)試 Keil C51源程序仿真版及串行口例子程序,需要調(diào)用對(duì)板上LED接口芯片MAX7219進(jìn)行初始化的匯編語(yǔ)言程序: DINPUT.A51和 DISPLY.A51 */#include #include /*-定義外部匯編語(yǔ)言子程序:DINPUT為 MAX7219初始化命令寫(xiě)入子程序,其中參數(shù) aa 為 MAX7219內(nèi)部寄存器地址,參數(shù) bb 為待寫(xiě)入的命令。DI

12、SPLY為 MAX7219顯示子程序,其中參數(shù)*cc為顯示緩沖區(qū)首地址。-*/extern void DINPUT(unsigned char aa, unsigned char bb); /*外部 A51 程序 */extern void DISPLY(unsigned char data * cc);/* -定義在 Keil C51源程序仿真版上LED顯示的“ HELLO”字符數(shù)據(jù)-*/static unsigned char dg=0 x37,0 x4f,0 x0e,0 x0e,0 x7e,0 x00,0 x00,0 x00;/*-使用 Keil C51 源程序仿真版時(shí),若希望用 Deb

13、ug 中的 Stop 按鈕停止運(yùn)行用戶(hù)程序,則需要如下語(yǔ)句來(lái)保留串行中斷入口-*/#ifdef MONITOR51char code reserve 3 _at_ 0 x23;#endif/*主函數(shù) */void main (void) 8/* -不使用 Keil C51源程序仿真版時(shí),需要初始化串行口,以便從Debug 的串行窗口輸出字符串: “ HELLO”-*/#ifndef MONITOR51SCON = 0 x50; /*設(shè)置 SCON: 方式 1, 8 位 UART, 允許接收 */TMOD |= 0 x20; /*設(shè)置 TMOD: 使用 T1,方式 2, 8位自動(dòng)重裝初值*/TH

14、1= 0 xFD; /*設(shè)置 TH1初值 :使用 11.05MHz 晶振, 9600 波特率 */TR1 = 1;/*啟動(dòng) T1 */TI =1;#endif/*-初始化 MAX7219 并顯示“ HELLO”字符-*/DINPUT(0X0A,0X07);/*將命令 0 x07 寫(xiě)入 7219 亮度寄存器*/*使占空比為15/32 */DINPUT(0X0B,0X07);/*將命令 0 x07 寫(xiě)入 7219 掃描界限寄存器*/*設(shè)置為 8 位 顯示方式*/DINPUT(0X09,0X00);/*將命令 0 x00 寫(xiě)入 7219 譯碼方式寄存器*/*設(shè)置為 BCD 譯碼方式*/DINPUT(

15、0X0c,0X01);/*將命令 0 x0 寫(xiě)入 7219 停機(jī)寄存器*/*設(shè)置為正常工作狀態(tài)*/DISPLY(&dg0);/*在 C51 仿真板上顯示HELLO */while (1) printf (Hello Worldn); /*在 UV2串行口顯示Hello World */程序輸入完成后,單擊“File菜單 /Save as ”選項(xiàng),如圖5 所示:9圖 5從彈出的窗口中 , 選擇要保存程序文件的路徑 , 并輸入程序文件名 “ Hello.c ”, 然后點(diǎn)擊保存按鈕,如圖 6 所示:圖 6重復(fù)上述步驟輸入以下匯編語(yǔ)言程序,并在同一個(gè)路徑下保存為“DINPUT.A51”文件:10;*M

16、AX7219 初始化命令寫(xiě)入子程序 : DINPUT.A51 ;*NAME DINPUT?PR?_dinput?DINPUT SEGMENT CODEPUBLIC _DINPUTRSEG ?PR?_dinput?DINPUT_DINPUT:MOV A,R7;C51函數(shù)傳遞的第1 個(gè)參數(shù)保存在R7 中MOV R2,#08;作為 Max7219控制寄存器的8 位地址值LOOP1: RLC AMOV P1.0, CCLR P1.2SETB P1.2DJNZ R2,LOOP1MOV A,R5; C51函數(shù)傳遞的第2 個(gè)參數(shù)保存在R5 中MOV R2,#08;作為寫(xiě)入 Max7219 控制寄存器的8 位

17、命令數(shù)據(jù)值LOOP2: RLC AMOV P1.0, CCLR P1.2SETB P1.2DJNZ R2,LOOP2CLR P1.1SETB P1.1RETEND再重復(fù)上述步驟輸入以下匯編語(yǔ)言程序,并在同一個(gè)路徑下保存為“DISPLY.A51”文件:;*MAX7219 顯示子程序 : DISPLY.A51 ;*NAME DISPLY?PR?_disply?DISPLY SEGMENT CODE PUBLIC _DISPLYEXTRN CODE (_DINPUT) RSEG ?PR?_disply?DISPLY11_DISPLY:MOV A,R7 ;R7 的內(nèi)容為 Max7219顯示緩沖區(qū)入口地

18、址 MOV R0,AMOV R1,#01MOV R3,#08LOOP3: MOV A,R0MOV R5,AMOV A,R1MOV R7,ALCALL _DINPUTINC R0INC R1DJNZ R3,LOOP3RETEND下面需要將剛才創(chuàng)建的程序文件添加到項(xiàng)目中去。先用鼠標(biāo)左建點(diǎn)擊Target 1前面的“ +”號(hào) , 展開(kāi)里面的內(nèi)容“ source Group 1”,然后將鼠標(biāo)指向“ Sourece Group 1” 并單擊右鍵 , 彈出一個(gè)右鍵菜單 , 單擊右鍵菜單中的“ Add Files to GuoupSource Group 1 ”選項(xiàng),如圖 7 所示 :圖 712從 彈 出 的

19、 窗 口 中 分 別 選 擇 剛 才 保 存 的 文 件 “ Hello.c”、“ DINPUT.A51” 和“ DISPLY.A51”, 并單擊“ Add”按鈕,將它們分別添加到項(xiàng)目中去,如圖8 所示。圖 8程序文件添加完畢后,然后將鼠標(biāo)指向“Target 1”并單擊右鍵,再?gòu)膹棾龅挠益I菜單中單擊“Options for Target”選項(xiàng),如圖9 所示:圖 913從彈出的“ Options ”窗口中選擇“Target ”標(biāo)簽欄,并如圖10 所示設(shè)置其中各項(xiàng):圖 10重復(fù)上述步驟,從彈出的“ Options ”窗口中選擇“ Output ”標(biāo)簽欄,并如圖 11 所示設(shè)置其中各項(xiàng):圖 1114

20、重復(fù)上述步驟,從彈出的“ Options ”窗口中選擇“ C51”標(biāo)簽欄,并如圖 12 所示設(shè)置其中各項(xiàng):圖 12重復(fù)上述步驟,從彈出的“ Options ”窗口中選擇“ BL51 Locate ”標(biāo)簽欄,并如圖 13 所示設(shè)置其中各項(xiàng):圖 1315重復(fù)上述步驟,從彈出的“ Options ”窗口中選擇“ Debug”標(biāo)簽欄,并如圖 14 所示設(shè)置其中各項(xiàng):圖 14為了使Keil C51源程序仿真版能與PC機(jī)正常通信,還需要設(shè)置COM端口和波特率 , 單擊圖14 中上部右邊的“Settings”按鈕,從彈出的窗口中設(shè)置COM端口和波特率 ,如圖 15 所示 ( 仿真板可以進(jìn)行自動(dòng)波特率調(diào)整,

21、降低波特率可提高聯(lián)機(jī)可靠性) :圖 15到此為止完成了必要的各項(xiàng)設(shè)置,將鼠標(biāo)指向“Target 1”并單擊右鍵,從彈出16的右鍵菜單中單擊“Build target”選項(xiàng),如圖16 所示:圖 16開(kāi)始對(duì)項(xiàng)目中的程序文件進(jìn)行編譯連接,并生成與項(xiàng)目文件同名的可執(zhí)行代碼及用于 EPROM編程的 Hex 文件,如果沒(méi)有錯(cuò)誤uVision2環(huán)境將如圖17 所示:圖 1717單擊“ Debug 菜單 /Start/Stop Debug session”選項(xiàng),開(kāi)始進(jìn)入調(diào)試狀態(tài),如圖所示:圖 18進(jìn)入調(diào)試狀態(tài)后uVision2環(huán)境將顯示聯(lián)機(jī)狀態(tài)及監(jiān)控程序版本號(hào),如圖19 所示:顯示連接狀態(tài)及監(jiān)控程序版本號(hào)圖

22、1918如果聯(lián)機(jī)失敗將彈出如圖20 所示窗口,這可能是COM口或波特率設(shè)置不對(duì),也可能是在單步調(diào)試過(guò)程中改變了單片機(jī)的串行口設(shè)置,請(qǐng)單擊窗口的“Settings ”按鈕重設(shè) COM口和波特率,并按一下仿真板上的復(fù)位( 紅色 ) 按鈕,即可成功聯(lián)機(jī)。圖 20在聯(lián)機(jī)調(diào)試狀態(tài)下可以啟動(dòng)程序全速運(yùn)行、單步運(yùn)行、設(shè)置斷點(diǎn)等,單擊“Debug菜單 /Go”選項(xiàng),啟動(dòng)用戶(hù)程序全速運(yùn)行,如圖21 所示:圖 21全速運(yùn)行狀態(tài)下單擊“View 菜單 /Serial Window #1”選項(xiàng),可以從uVision2的串行窗口中觀察程序的運(yùn)行結(jié)果,如圖22 所示,這時(shí)串行窗口將顯示“Hello World”字符串,同

23、時(shí)仿真板上的LED也將顯示“ HELLO”字樣:19圖 22需要注意的是,仿真板上單片機(jī)8051 的 P1.0 、 P1.1 、 P1.2 分別連接到MAX7219的 DI、 CS(LOAD)、 CLK引腳 , 通過(guò) P1 口的這些引腳來(lái)模擬7219 串行工作時(shí)序達(dá)到實(shí)現(xiàn)與 LED顯示接口的目的。關(guān)于 MAX7219的詳細(xì)操作過(guò)程 , 請(qǐng)參閱 MAX7219的相關(guān)資料。為使用戶(hù)方便應(yīng)用仿真板 , 前面給出了 2 個(gè)關(guān)鍵的 MAX7219接口匯編語(yǔ)言子程序文件:文件 “ DINPUY.A51”是完成對(duì) MAX7219的串行數(shù)據(jù)輸入 , 以 R7 的內(nèi)容作為 MAX7219各個(gè)控制寄存器的地址, 以 R5 的內(nèi)容作為寫(xiě)入到各個(gè)控制寄存器的數(shù)據(jù), 實(shí)現(xiàn) MAX7219的初始化及其他數(shù)據(jù)輸入操作。文件“ DISPLY.A51”是將 8051 單片機(jī)片內(nèi)8 個(gè)顯示緩沖區(qū)單元的內(nèi)容送往LED顯示 , 以 R7 的內(nèi)容作為顯示緩沖區(qū)首地址, 如果 MAX7219采用 BCD譯碼方式工作 , 則緩沖區(qū)每個(gè)字節(jié)的低 4 位存放 BCD碼 , 并且 D7 位為 1 時(shí)將點(diǎn)亮小數(shù)點(diǎn)。如果MAX721

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論