數(shù)字電子技朮
標簽:
上傳時間: 2013-10-09
上傳用戶:1101055045
PSHLY-B回路電阻測試儀介紹
上傳時間: 2013-11-05
上傳用戶:木子葉1
at91rm9200啟動過程教程 系統(tǒng)上電,檢測BMS,選擇系統(tǒng)的啟動方式,如果BMS為高電平,則系統(tǒng)從片內(nèi)ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執(zhí)行這個BOOTLOAER(準確的說應該是一級BOOTLOADER)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設置PLLB產(chǎn)生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應模式下的堆棧設置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設置; 5、C 變量的初始化; 6、跳到主函數(shù)。 完成以上步驟后,我們可以認為BOOT過程結(jié)束,接下來的就是LOADER的過程,或者也可以認為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設備的開始地址處連續(xù)的存放的32個字節(jié),也就是8條指令必須是跳轉(zhuǎn)指令或者裝載PC的指令,其實這樣規(guī)定就是把這8條指令當作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關(guān)于如何計算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當BOOT程序完成了把合法的映像搬到SRAM的任務以后,接下來就進行存儲器的REMAP,經(jīng)過REMAP之后,SRAM從映設前的0X200000地址處被映設到了0X0地址并且程序從0X0處開始執(zhí)行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準備從外部載入映像。對DEBUG口的初始化包括設置參數(shù)115200 8 N 1以及運行XMODEM協(xié)議。對USB DEVICE進行初始化以及運行DFU協(xié)議?,F(xiàn)在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設然后執(zhí)行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內(nèi)的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內(nèi)啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內(nèi)容和ROM的BOOT差不多,不同的硬件設計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設計的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內(nèi)啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據(jù)自己的應用配置??偟恼f來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務也不錯,不但提供了片內(nèi)啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結(jié)構(gòu)與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設的驅(qū)動,是一個功能強大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網(wǎng)站下載。 我們知道,當9200系統(tǒng)上電后,如果bms為高電平,則系統(tǒng)從片內(nèi)rom啟動,這時rom中固化的boot程序初始化了debug口并向其發(fā)送'c',這時我們打開超級終端會看到ccccc...。這說明系統(tǒng)已經(jīng)啟動,同時xmodem協(xié)議已經(jīng)啟動,用戶可以通過超級終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內(nèi)的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協(xié)議,為下載和啟動uboot做準備。當下載了loader.bin后,超級終端會繼續(xù)打?。篶cccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調(diào)到此處開始執(zhí)行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內(nèi)存、flash、網(wǎng)絡、系統(tǒng)啟動等一些命令。 如果系統(tǒng)上電時bms為低電平,則系統(tǒng)從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執(zhí)行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內(nèi)rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經(jīng)啟動了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統(tǒng)復位,就可以看到系統(tǒng)先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環(huán)境,關(guān)于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區(qū)別嗎?首先有區(qū)別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進行解壓,除此之外,他和loader并無大的區(qū)別,你可以把boot理解為在loader的基礎上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質(zhì)不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據(jù)自己的系統(tǒng)的情況修改和配置以及裁減,打造屬于自己系統(tǒng)的bootloder。
上傳時間: 2013-10-27
上傳用戶:wsf950131
關(guān)于PCB封裝的資料收集整理. 大的來說,元件有插裝和貼裝.零件封裝是指實際零件焊接到電路板時所指示的外觀和焊點的位置。是純粹的空間概念.因此不同的元件可共用同一零件封裝,同種元件也可有不同的零件封裝。像電阻,有傳統(tǒng)的針插式,這種元件體積較大,電路板必須鉆孔才能安置元件,完成鉆孔后,插入元件,再過錫爐或噴錫(也可手焊),成本較高,較新的設計都是采用體積小的表面貼片式元件(SMD)這種元件不必鉆孔,用鋼膜將半熔狀錫膏倒入電路板,再把SMD 元件放上,即可焊接在電路板上了。晶體管是我們常用的的元件之一,在DEVICE。LIB庫中,簡簡單單的只有NPN與PNP之分,但實際上,如果它是NPN的2N3055那它有可能是鐵殼子的TO—3,如果它是NPN的2N3054,則有可能是鐵殼的TO-66或TO-5,而學用的CS9013,有TO-92A,TO-92B,還有TO-5,TO-46,TO-52等等,千變?nèi)f化。還有一個就是電阻,在DEVICE 庫中,它也是簡單地把它們稱為RES1 和RES2,不管它是100Ω 還是470KΩ都一樣,對電路板而言,它與歐姆數(shù)根本不相關(guān),完全是按該電阻的功率數(shù)來決定的我們選用的1/4W 和甚至1/2W 的電阻,都可以用AXIAL0.3 元件封裝,而功率數(shù)大一點的話,可用AXIAL0.4,AXIAL0.5等等。現(xiàn)將常用的元件封裝整理如下:電阻類及無極性雙端元件:AXIAL0.3-AXIAL1.0無極性電容:RAD0.1-RAD0.4有極性電容:RB.2/.4-RB.5/1.0二極管:DIODE0.4及DIODE0.7石英晶體振蕩器:XTAL1晶體管、FET、UJT:TO-xxx(TO-3,TO-5)可變電阻(POT1、POT2):VR1-VR5這些常用的元件封裝,大家最好能把它背下來,這些元件封裝,大家可以把它拆分成兩部分來記如電阻AXIAL0.3 可拆成AXIAL 和0.3,AXIAL 翻譯成中文就是軸狀的,0.3 則是該電阻在印刷電路板上的焊盤間的距離也就是300mil(因為在電機領(lǐng)域里,是以英制單位為主的。同樣的,對于無極性的電容,RAD0.1-RAD0.4也是一樣;對有極性的電容如電解電容,其封裝為RB.2/.4,RB.3/.6 等,其中“.2”為焊盤間距,“.4”為電容圓筒的外徑。對于晶體管,那就直接看它的外形及功率,大功率的晶體管,就用TO—3,中功率的晶體管,如果是扁平的,就用TO-220,如果是金屬殼的,就用TO-66,小功率的晶體管,就用TO-5,TO-46,TO-92A等都可以,反正它的管腳也長,彎一下也可以。對于常用的集成IC電路,有DIPxx,就是雙列直插的元件封裝,DIP8就是雙排,每排有4個引腳,兩排間距離是300mil,焊盤間的距離是100mil。SIPxx 就是單排的封裝。等等。值得我們注意的是晶體管與可變電阻,它們的包裝才是最令人頭痛的,同樣的包裝,其管腳可不一定一樣。例如,對于TO-92B之類的包裝,通常是1 腳為E(發(fā)射極),而2 腳有可能是B 極(基極),也可能是C(集電極);同樣的,3腳有可能是C,也有可能是B,具體是那個,只有拿到了元件才能確定。因此,電路軟件不敢硬性定義焊盤名稱(管腳名稱),同樣的,場效應管,MOS 管也可以用跟晶體管一樣的封裝,它可以通用于三個引腳的元件。Q1-B,在PCB 里,加載這種網(wǎng)絡表的時候,就會找不到節(jié)點(對不上)。在可變電阻
上傳時間: 2013-11-03
上傳用戶:daguogai
串行編程器源程序(Keil C語言)//FID=01:AT89C2051系列編程器//實現(xiàn)編程的讀,寫,擦等細節(jié)//AT89C2051的特殊處:給XTAL一個脈沖,地址計數(shù)加1;P1的引腳排列與AT89C51相反,需要用函數(shù)轉(zhuǎn)換#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引腳排列相反#define C2051_P3_0 P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//編程前的準備工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//編程結(jié)束后的工作,設置合適的引腳電平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//從P0口獲得數(shù)據(jù){ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//轉(zhuǎn)換并設置P0口的數(shù)據(jù){ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//讀特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//寫器件{//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設置相應的編程控制信號 //寫一個單元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效驗:循環(huán)讀,直到讀出與寫入的數(shù)相同 { nTimeOut++; if(nTimeOut>1000)//超時了 { return 0; } } C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//讀器件{ BYTE Data;//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設置相應的編程控制信號 //讀一個單元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return Data;} void Lock01()//寫鎖定位{ InitPro01();//先設置成編程狀態(tài)//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設置相應的編程控制信號 if(ComBuf[2]>=1)//ComBuf[2]為鎖定位 { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); } if(ComBuf[2]>=2) { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=0; C2051_P3_7=0; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//設置pw中的函數(shù)指針,讓主程序可以調(diào)用上面的函數(shù){ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}
上傳時間: 2013-11-12
上傳用戶:gut1234567
微處理器及微型計算機的發(fā)展概況 第一代微處理器是以Intel公司1971年推出的4004,4040為代表的四位微處理機。 第二代微處理機(1973年~1977年),典型代表有:Intel 公司的8080、8085;Motorola公司的M6800以及Zlog公司的Z80。 第三代微處理機 第三代微機是以16位機為代表,基本上是在第二代微機的基礎上發(fā)展起來的。其中Intel公司的8088。8086是在8085的基礎發(fā)展起來的;M68000是Motorola公司在M6800 的基礎發(fā)展起來的; 第四代微處理機 以Intel公司1984年10月推出的80386CPU和1989年4月推出的80486CPU為代表, 第五代微處理機的發(fā)展更加迅猛,1993年3月被命名為PENTIUM的微處理機面世,98年P(guān)ENTIUM 2又被推向市場。 INTEL CPU 發(fā)展歷史Intel第一塊CPU 4004,4位主理器,主頻108kHz,運算速度0.06MIPs(Million Instructions Per Second, 每秒百萬條指令),集成晶體管2,300個,10微米制造工藝,最大尋址內(nèi)存640 bytes,生產(chǎn)曰期1971年11月. 8085,8位主理器,主頻5M,運算速度0.37MIPs,集成晶體管6,500個,3微米制造工藝,最大尋址內(nèi)存64KB,生產(chǎn)曰期1976年 8086,16位主理器,主頻4.77/8/10MHZ,運算速度0.75MIPs,集成晶體管29,000個,3微米制造工藝,最大尋址內(nèi)存1MB,生產(chǎn)曰期1978年6月. 80486DX,DX2,DX4,32位主理器,主頻25/33/50/66/75/100MHZ,總線頻率33/50/66MHZ,運算速度20~60MIPs,集成晶體管1.2M個,1微米制造工藝,168針PGA,最大尋址內(nèi)存4GB,緩存8/16/32/64KB,生產(chǎn)曰期1989年4月 Celeron一代, 主頻266/300MHZ(266/300MHz w/o L2 cache, Covington芯心 (Klamath based),300A/333/366/400/433/466/500/533MHz w/128kB L2 cache, Mendocino核心 (Deschutes-based), 總線頻率66MHz,0.25微米制造工藝,生產(chǎn)曰期1998年4月) Pentium 4 (478針),至今分為三種核心:Willamette核心(主頻1.5G起,FSB400MHZ,0.18微米制造工藝),Northwood核心(主頻1.6G~3.0G,FSB533MHZ,0.13微米制造工藝, 二級緩存512K),Prescott核心(主頻2.8G起,FSB800MHZ,0.09微米制造工藝,1M二級緩存,13條全新指令集SSE3),生產(chǎn)曰期2001年7月. 更大的緩存、更高的頻率、 超級流水線、分支預測、亂序執(zhí)行超線程技術(shù) 微型計算機組成結(jié)構(gòu)單片機簡介單片機即單片機微型計算機,是將計算機主機(CPU、 內(nèi)存和I/O接口)集成在一小塊硅片上的微型機。 三、計算機編程語言的發(fā)展概況 機器語言 機器語言就是0,1碼語言,是計算機唯一能理解并直接執(zhí)行的語言。匯編語言 用一些助記符號代替用0,1碼描述的某種機器的指令系統(tǒng),匯編語言就是在此基礎上完善起來的。高級語言 BASIC,PASCAL,C語言等等。用高級語言編寫的程序稱源程序,它們必須通過編譯或解釋,連接等步驟才能被計算機處理。 面向?qū)ο笳Z言 C++,Java等編程語言是面向?qū)ο蟮恼Z言。 1.3 微型計算機中信息的表示及運算基礎(一) 十進制ND有十個數(shù)碼:0~9,逢十進一。 例 1234.5=1×103 +2×102 +3×101 +4×100 +5×10-1加權(quán)展開式以10稱為基數(shù),各位系數(shù)為0~9,10i為權(quán)。 一般表達式:ND= dn-1×10n-1+dn-2×10n-2 +…+d0×100 +d-1×10-1+… (二) 二進制NB兩個數(shù)碼:0、1, 逢二進一。 例 1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3 加權(quán)展開式以2為基數(shù),各位系數(shù)為0、1, 2i為權(quán)。 一般表達式: NB = bn-1×2n-1 + bn-2×2n-2 +…+b0×20 +b-1×2-1+… (三)十六進制NH十六個數(shù)碼0~9、A~F,逢十六進一。 例:DFC.8=13×162 +15×161 +12×160 +8×16-1 展開式以十六為基數(shù),各位系數(shù)為0~9,A~F,16i為權(quán)。 一般表達式: NH= hn-1×16n-1+ hn-2×16n-2+…+ h0×160+ h-1×16-1+… 二、不同進位計數(shù)制之間的轉(zhuǎn)換 (二)二進制與十六進制數(shù)之間的轉(zhuǎn)換 24=16 ,四位二進制數(shù)對應一位十六進制數(shù)。舉例:(三)十進制數(shù)轉(zhuǎn)換成二、十六進制數(shù)整數(shù)、小數(shù)分別轉(zhuǎn)換 1.整數(shù)轉(zhuǎn)換法“除基取余”:十進制整數(shù)不斷除以轉(zhuǎn)換進制基數(shù),直至商為0。每除一次取一個余數(shù),從低位排向高位。舉例: 2. 小數(shù)轉(zhuǎn)換法“乘基取整”:用轉(zhuǎn)換進制的基數(shù)乘以小數(shù)部分,直至小數(shù)為0或達到轉(zhuǎn)換精度要求的位數(shù)。每乘一次取一次整數(shù),從最高位排到最低位。舉例: 三、帶符號數(shù)的表示方法 機器數(shù):機器中數(shù)的表示形式。真值: 機器數(shù)所代表的實際數(shù)值。舉例:一個8位機器數(shù)與它的真值對應關(guān)系如下: 真值: X1=+84=+1010100B X2=-84= -1010100B 機器數(shù):[X1]機= 01010100 [X2]機= 11010100(二)原碼、反碼、補碼最高位為符號位,0表示 “+”,1表示“-”。 數(shù)值位與真值數(shù)值位相同。 例 8位原碼機器數(shù): 真值: x1 = +1010100B x2 =- 1010100B 機器數(shù): [x1]原 = 01010100 [x2]原 = 11010100原碼表示簡單直觀,但0的表示不唯一,加減運算復雜。 正數(shù)的反碼與原碼表示相同。 負數(shù)反碼符號位為 1,數(shù)值位為原碼數(shù)值各位取反。 例 8位反碼機器數(shù): x= +4: [x]原= 00000100 [x]反= 00000100 x= -4: [x]原= 10000100 [x]反= 111110113、補碼(Two’s Complement)正數(shù)的補碼表示與原碼相同。 負數(shù)補碼等于2n-abs(x)8位機器數(shù)表示的真值四、 二進制編碼例:求十進制數(shù)876的BCD碼 876= 1000 0111 0110 BCD 876= 36CH = 1101101100B 2、字符編碼 美國標準信息交換碼ASCII碼,用于計算 機與計算機、計算機與外設之間傳遞信息。 3、漢字編碼 “國家標準信息交換用漢字編碼”(GB2312-80標準),簡稱國標碼。 用兩個七位二進制數(shù)編碼表示一個漢字 例如“巧”字的代碼是39H、41H漢字內(nèi)碼例如“巧”字的代碼是0B9H、0C1H1·4 運算基礎 一、二進制數(shù)的運算加法規(guī)則:“逢2進1” 減法規(guī)則:“借1當2” 乘法規(guī)則:“逢0出0,全1出1”二、二—十進制數(shù)的加、減運算 BCD數(shù)的運算規(guī)則 循十進制數(shù)的運算規(guī)則“逢10進1”。但計算機在進行這種運算時會出現(xiàn)潛在的錯誤。為了解決BCD數(shù)的運算問題,采取調(diào)整運算結(jié)果的措施:即“加六修正”和“減六修正”例:10001000(BCD)+01101001(BCD) =000101010111(BCD) 1 0 0 0 1 0 0 0 + 0 1 1 0 1 0 0 1 1 1 1 1 0 0 0 1 + 0 1 1 0 0 1 1 0 ……調(diào)整 1 0 1 0 1 0 1 1 1 進位 例: 10001000(BCD)- 01101001(BCD)= 00011001(BCD) 1 0 0 0 1 0 0 0 - 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 1 - 0 1 1 0 ……調(diào)整 0 0 0 1 1 0 0 1 三、 帶符號二進制數(shù)的運算 1.5 幾個重要的數(shù)字邏輯電路編碼器譯碼器計數(shù)器微機自動工作的條件程序指令順序存放自動跟蹤指令執(zhí)行1.6 微機基本結(jié)構(gòu)微機結(jié)構(gòu)各部分組成連接方式1、以CPU為中心的雙總線結(jié)構(gòu);2、以內(nèi)存為中心的雙總線結(jié)構(gòu);3、單總線結(jié)構(gòu)CPU結(jié)構(gòu)管腳特點 1、多功能;2、分時復用內(nèi)部結(jié)構(gòu) 1、控制; 2、運算; 3、寄存器; 4、地址程序計數(shù)器堆棧定義 1、定義;2、管理;3、堆棧形式
上傳時間: 2013-10-17
上傳用戶:erkuizhang
TKS仿真器B系列快速入門
上傳時間: 2013-10-31
上傳用戶:aix008
一個簡單好用的B+樹算法實現(xiàn)
上傳時間: 2015-01-04
上傳用戶:縹緲
一個用Basic實現(xiàn)的B-Tree算法
上傳時間: 2013-12-30
上傳用戶:ccclll
一個用Java applet實現(xiàn)的B-Tree算法
上傳時間: 2013-12-25
上傳用戶:qiao8960
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1