微處理器及微型計算機的發(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年PENTIUM 2又被推向市場。 INTEL CPU 發(fā)展歷史Intel第一塊CPU 4004,4位主理器,主頻108kHz,運算速度0.06MIPs(Million Instructions Per Second, 每秒百萬條指令),集成晶體管2,300個,10微米制造工藝,最大尋址內存640 bytes,生產(chǎn)曰期1971年11月. 8085,8位主理器,主頻5M,運算速度0.37MIPs,集成晶體管6,500個,3微米制造工藝,最大尋址內存64KB,生產(chǎn)曰期1976年 8086,16位主理器,主頻4.77/8/10MHZ,運算速度0.75MIPs,集成晶體管29,000個,3微米制造工藝,最大尋址內存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,最大尋址內存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í)行超線程技術 微型計算機組成結構單片機簡介單片機即單片機微型計算機,是將計算機主機(CPU、 內存和I/O接口)集成在一小塊硅片上的微型機。 三、計算機編程語言的發(fā)展概況 機器語言 機器語言就是0,1碼語言,是計算機唯一能理解并直接執(zhí)行的語言。匯編語言 用一些助記符號代替用0,1碼描述的某種機器的指令系統(tǒng),匯編語言就是在此基礎上完善起來的。高級語言 BASIC,PASCAL,C語言等等。用高級語言編寫的程序稱源程序,它們必須通過編譯或解釋,連接等步驟才能被計算機處理。 面向對象語言 C++,Java等編程語言是面向對象的語言。 1.3 微型計算機中信息的表示及運算基礎(一) 十進制ND有十個數(shù)碼:0~9,逢十進一。 例 1234.5=1×103 +2×102 +3×101 +4×100 +5×10-1加權展開式以10稱為基數(shù),各位系數(shù)為0~9,10i為權。 一般表達式: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 加權展開式以2為基數(shù),各位系數(shù)為0、1, 2i為權。 一般表達式: 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為權。 一般表達式: NH= hn-1×16n-1+ hn-2×16n-2+…+ h0×160+ h-1×16-1+… 二、不同進位計數(shù)制之間的轉換 (二)二進制與十六進制數(shù)之間的轉換 24=16 ,四位二進制數(shù)對應一位十六進制數(shù)。舉例:(三)十進制數(shù)轉換成二、十六進制數(shù)整數(shù)、小數(shù)分別轉換 1.整數(shù)轉換法“除基取余”:十進制整數(shù)不斷除以轉換進制基數(shù),直至商為0。每除一次取一個余數(shù),從低位排向高位。舉例: 2. 小數(shù)轉換法“乘基取整”:用轉換進制的基數(shù)乘以小數(shù)部分,直至小數(shù)為0或達到轉換精度要求的位數(shù)。每乘一次取一次整數(shù),從最高位排到最低位。舉例: 三、帶符號數(shù)的表示方法 機器數(shù):機器中數(shù)的表示形式。真值: 機器數(shù)所代表的實際數(shù)值。舉例:一個8位機器數(shù)與它的真值對應關系如下: 真值: 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漢字內碼例如“巧”字的代碼是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ù)的運算問題,采取調整運算結果的措施:即“加六修正”和“減六修正”例: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 ……調整 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 ……調整 0 0 0 1 1 0 0 1 三、 帶符號二進制數(shù)的運算 1.5 幾個重要的數(shù)字邏輯電路編碼器譯碼器計數(shù)器微機自動工作的條件程序指令順序存放自動跟蹤指令執(zhí)行1.6 微機基本結構微機結構各部分組成連接方式1、以CPU為中心的雙總線結構;2、以內存為中心的雙總線結構;3、單總線結構CPU結構管腳特點 1、多功能;2、分時復用內部結構 1、控制; 2、運算; 3、寄存器; 4、地址程序計數(shù)器堆棧定義 1、定義;2、管理;3、堆棧形式
上傳時間: 2013-10-17
上傳用戶:erkuizhang
C語言編程基礎:1. 十六進制表示字節(jié)0x5a:二進制為01011010B;0x6E為01101110。 2. 如果將一個16位二進數(shù)賦給一個8位的字節(jié)變量,則自動截斷為低8位,而丟掉高8位。 3. ++var表示對變量var先增一;var—表示對變量后減一。 4. x |= 0x0f;表示為 x = x | 0x0f; 5. TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變量TMOD的低四位賦值0x5,而不改變TMOD的高四位。 6. While( 1 ); 表示無限執(zhí)行該語句,即死循環(huán)。語句后的分號表示空循環(huán)體,也就是{;} 在某引腳輸出高電平的編程方法:(比如P1.3(PIN4)引腳)1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P1.3 2. void main( void ) //void 表示沒有輸入?yún)?shù),也沒有函數(shù)返值,這入單片機運行的復位入口 3. { 4. P1_3 = 1; //給P1_3賦值1,引腳P1.3就能輸出高電平VCC 5. While( 1 ); //死循環(huán),相當 LOOP: goto LOOP; 6. } 注意:P0的每個引腳要輸出高電平時,必須外接上拉電阻(如4K7)至VCC電源。在某引腳輸出低電平的編程方法:(比如P2.7引腳)代碼1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P2.7 2. void main( void ) //void 表示沒有輸入?yún)?shù),也沒有函數(shù)返值,這入單片機運行的復位入口 3. { 4. P2_7 = 0; //給P2_7賦值0,引腳P2.7就能輸出低電平GND 5. While( 1 ); //死循環(huán),相當 LOOP: goto LOOP; 6. } 在某引腳輸出方波編程方法:(比如P3.1引腳)代碼1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P3.1 2. void main( void ) //void 表示沒有輸入?yún)?shù),也沒有函數(shù)返值,這入單片機運行的復位入口 3. { 4. While( 1 ) //非零表示真,如果為真則執(zhí)行下面循環(huán)體的語句 5. { 6. P3_1 = 1; //給P3_1賦值1,引腳P3.1就能輸出高電平VCC 7. P3_1 = 0; //給P3_1賦值0,引腳P3.1就能輸出低電平GND 8. } //由于一直為真,所以不斷輸出高、低、高、低……,從而形成方波 9. } 將某引腳的輸入電平取反后,從另一個引腳輸出:( 比如 P0.4 = NOT( P1.1) )
上傳時間: 2013-11-02
上傳用戶:zengduo
主要功能:1、將串口通訊協(xié)議存儲為一個通訊文件,可是隨時將存儲通訊協(xié)議文件調入計算機運行與下位機通訊可以實現(xiàn)通訊對話,供下位機工程師參考使用,其主要的通訊協(xié)議本程序把它們分成四種情況。以下說明:1)下位機直接發(fā)送數(shù)據(jù),上位機只接收不回應數(shù)據(jù)。2)下位機直接發(fā)送數(shù)據(jù),上位機接收并回應數(shù)據(jù)。3)上位機直接發(fā)送數(shù)據(jù),下位機只接收不回應數(shù)據(jù)。4)上位機直接發(fā)送數(shù)據(jù),下位機接收并回應數(shù)據(jù)。下位機工程師完全可以利用這個功能單獨的并且很方便的調試與上位機通訊程序,更改雙方的通訊協(xié)議,不再需要上位機工程師的配合。windwos標準操作,使用方便。2、可以監(jiān)聽活動串口的數(shù)據(jù),將監(jiān)聽到的數(shù)據(jù)顯示到數(shù)據(jù)顯示區(qū)里面,可以保存。也可以將原先保存的文件數(shù)據(jù)讀進來,以供分析。數(shù)據(jù)可以按照十六進制和ascii碼顯示出來。3、自動識別串口設置,當不知道對方設備的通訊串口設置時,可以利用該功能讓此程序自動識別,當然前提是對方設備必須是一直在發(fā)數(shù)據(jù),整個識別過程大概需要二分鐘。4、可以通過該程序,利用串口將文件發(fā)送到另一個計算機上。另一個計算機通過接收文件接收所發(fā)出的文件。
上傳時間: 2013-11-11
上傳用戶:semi1981
用MDK 生成bin 文件1用MDK 生成bin 文件Embest 徐良平在RV MDK 中,默認情況下生成*.hex 的可執(zhí)行文件,但是當我們要生成*.bin 的可執(zhí)行文件時怎么辦呢?答案是可以使用RVCT 的fromelf.exe 工具進行轉換。也就是說首先將源文件編譯鏈接成*.axf 的文件,然后使用fromelf.exe 工具將*.axf 格式的文件轉換成*.bin格式的文件。下面將具體說明這個操作步驟:1. 打開Axf_To_Bin 文件中的Axf_To_Bin.uv2 工程文件;2. 打開Options for Target ‘Axf_To_Bin’對話框,選擇User 標簽頁;3. 構選Run User Programs After Build/Rebuild 框中的Run #1 多選框,在后邊的文本框中輸入C:\Keil\ARM\BIN31\fromelf.exe --bin -o ./output/Axf_To_Bin.bin ./output/Axf_To_Bin.axf 命令行;4. 重新編譯文件,在./output/文件夾下生成了Axf_To_Bin.bin 文件。在上面的步驟中,有幾點值得注意的是:1. C:\Keil\ARM\BIN31\表示RV MDK 的安裝目錄;2. fromelf.exe 命令的具體語法格式如下:命令的格式為:fromelf [options] input_file命令選項如下:--help 顯示幫助信息--vsn 顯示版本信息--output file 輸出文件(默認的輸出為文本格式)--nodebug 在生成的映象中不包含調試信息--nolinkview 在生成的映象中不包含段的信息二進制輸出格式:--bin 生成Plain Binary 格式的文件--m32 生成Motorola 32 位十六進制格式的文件--i32 生成Intel 32 位十六進制格式的文件--vhx 面向字節(jié)的位十六進制格式的文件t--base addr 設置m32,i32 格式文件的基地址--text 顯示文本信息文本信息的標志-v 打印詳細信息-a 打印數(shù)據(jù)地址(針對帶調試信息的映象)-d 打印數(shù)據(jù)段的內容-e 打印表達式表print exception tables-f 打印消除虛函數(shù)的信息-g 打印調試表print debug tables-r 打印重定位信息-s 打印字符表-t 打印字符串表-y 打印動態(tài)段的內容-z 打印代碼和數(shù)據(jù)大小的信息
標簽: MDK bin 可執(zhí)行文件
上傳時間: 2013-12-17
上傳用戶:AbuGe
二: 普通計算器的設計說明: 1 普通計算器的主要功能(普通計算與逆波蘭計算): 1.1主要功能: 包括 a普通加減乘除運算及帶括號的運算 b各類三角與反三角運算(可實現(xiàn)角度與弧度的切換) c邏輯運算, d階乘與分解質因數(shù)等 e各種復雜物理常數(shù)的記憶功能 f對運算過程的中間變量及上一次運算結果的儲存. G 定積分計算器(只要輸入表達式以及上下限就能將積分結果輸出) H 可編程計算器(只要輸入帶變量的表達式后,再輸入相應的變量的值就能得到相應的結果) I 二進制及八進制的計算器 j十六進制轉化為十進制的功能。 *k (附帶各種進制間的轉化器)。 L幫助與階乘等附屬功能
上傳時間: 2013-11-26
上傳用戶:yzy6007
4.asm…… 響鈴程序,輸入一個數(shù)字字符N,響鈴N次。(完成)ysk3.asm ……顯示一個星型倒三角。m1.asm ………編程將鍵盤輸入的8位無符號二進制數(shù)轉化為十六進制數(shù)和十進制數(shù),并輸出結果form.asm ……采用子程序編程按以下三種格式(██,◣,◥)打印九九乘法表:(完成)char.asm ……小寫字母a b c d ……x y z的ASCII碼分別為61H 62H 63H 64H……78H 79H 7AH, 而大寫字母A B C D ….X Y Z的ASCII碼分別為41H 42H 43H 44H …58H 59H 5AH, 使用串處理指令編程從鍵盤輸入16個字符(大小寫字母及其它字母均有), 存入以BUF1開始的一片存儲區(qū)中,并將其傳送到以BUF2開始的一片存儲區(qū)中, 在傳送是將其中的小寫字母均改為大寫字母,并將第一個小寫字母在串中的位置 (距串頭BUF1的相對位移量)以十六進制形式輸出。(完成)
上傳時間: 2013-12-22
上傳用戶:zhyiroy
本程序是用純C語言編的一個基于命令行的四則運算計算器。主要用于計算四則運算表達式的值,同時可以實現(xiàn)四種進制任意兩種之間的轉換。 主要功能:1.四則運算:能夠解釋并執(zhí)行四則運算表達式。四則運算就是包含+、—、*、/、.(小數(shù)點)和數(shù)字的運算表達式,例如:3+2.9*(5-6/3) -4+(+8*6)等; 2.錯誤警告:能夠對不符合語法的表達式給出相應的錯誤警告,本程序共給出了8大類警告 3.進制轉換:能夠做二進制、八進制、十進制、十六進制中任意兩種進制之間的互相轉換 4.幫助系統(tǒng):提供完善的幫助系統(tǒng) 5.出錯保護:有良好的出錯保護系統(tǒng),命令行輸入錯誤,程序仍能正常運行。
上傳時間: 2013-12-21
上傳用戶:aysyzxzm
這個可以算是我第一個用Java寫的應用程序,界面使用了AWT。功能非常簡單,但通過它使我“懂”得了Java。 它的功能是顏色的十進制與十六進制間的轉換。
上傳時間: 2015-02-12
上傳用戶:yph853211
兩個經(jīng)典程序:顯示系統(tǒng)時間,轉換(大小寫字母轉換、二進制/八進制/十進制/十六進制間轉換)
標簽: 程序 顯示系統(tǒng)
上傳時間: 2013-12-25
上傳用戶:Avoid98
對十進制數(shù)的輸入做加減乘除,并分別用十進制、八進制、十六進制表示結果
上傳時間: 2013-12-17
上傳用戶:康郎