51單片機驅動步進電機(含電路圖和源程序代碼) 源程序:stepper.c stepper.hex /* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */ #i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.h register unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n; unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400 /* flag1 mask byte 0x01 run cw() 0x02 run ccw() */
上傳時間: 2013-11-09
上傳用戶:釣鰲牧馬
微處理器及微型計算機的發展概況 第一代微處理器是以Intel公司1971年推出的4004,4040為代表的四位微處理機。 第二代微處理機(1973年~1977年),典型代表有:Intel 公司的8080、8085;Motorola公司的M6800以及Zlog公司的Z80。 第三代微處理機 第三代微機是以16位機為代表,基本上是在第二代微機的基礎上發展起來的。其中Intel公司的8088。8086是在8085的基礎發展起來的;M68000是Motorola公司在M6800 的基礎發展起來的; 第四代微處理機 以Intel公司1984年10月推出的80386CPU和1989年4月推出的80486CPU為代表, 第五代微處理機的發展更加迅猛,1993年3月被命名為PENTIUM的微處理機面世,98年PENTIUM 2又被推向市場。 INTEL CPU 發展歷史Intel第一塊CPU 4004,4位主理器,主頻108kHz,運算速度0.06MIPs(Million Instructions Per Second, 每秒百萬條指令),集成晶體管2,300個,10微米制造工藝,最大尋址內存640 bytes,生產曰期1971年11月. 8085,8位主理器,主頻5M,運算速度0.37MIPs,集成晶體管6,500個,3微米制造工藝,最大尋址內存64KB,生產曰期1976年 8086,16位主理器,主頻4.77/8/10MHZ,運算速度0.75MIPs,集成晶體管29,000個,3微米制造工藝,最大尋址內存1MB,生產曰期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,生產曰期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微米制造工藝,生產曰期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),生產曰期2001年7月. 更大的緩存、更高的頻率、 超級流水線、分支預測、亂序執行超線程技術 微型計算機組成結構單片機簡介單片機即單片機微型計算機,是將計算機主機(CPU、 內存和I/O接口)集成在一小塊硅片上的微型機。 三、計算機編程語言的發展概況 機器語言 機器語言就是0,1碼語言,是計算機唯一能理解并直接執行的語言。匯編語言 用一些助記符號代替用0,1碼描述的某種機器的指令系統,匯編語言就是在此基礎上完善起來的。高級語言 BASIC,PASCAL,C語言等等。用高級語言編寫的程序稱源程序,它們必須通過編譯或解釋,連接等步驟才能被計算機處理。 面向對象語言 C++,Java等編程語言是面向對象的語言。 1.3 微型計算機中信息的表示及運算基礎(一) 十進制ND有十個數碼:0~9,逢十進一。 例 1234.5=1×103 +2×102 +3×101 +4×100 +5×10-1加權展開式以10稱為基數,各位系數為0~9,10i為權。 一般表達式:ND= dn-1×10n-1+dn-2×10n-2 +…+d0×100 +d-1×10-1+… (二) 二進制NB兩個數碼:0、1, 逢二進一。 例 1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3 加權展開式以2為基數,各位系數為0、1, 2i為權。 一般表達式: NB = bn-1×2n-1 + bn-2×2n-2 +…+b0×20 +b-1×2-1+… (三)十六進制NH十六個數碼0~9、A~F,逢十六進一。 例:DFC.8=13×162 +15×161 +12×160 +8×16-1 展開式以十六為基數,各位系數為0~9,A~F,16i為權。 一般表達式: NH= hn-1×16n-1+ hn-2×16n-2+…+ h0×160+ h-1×16-1+… 二、不同進位計數制之間的轉換 (二)二進制與十六進制數之間的轉換 24=16 ,四位二進制數對應一位十六進制數。舉例:(三)十進制數轉換成二、十六進制數整數、小數分別轉換 1.整數轉換法“除基取余”:十進制整數不斷除以轉換進制基數,直至商為0。每除一次取一個余數,從低位排向高位。舉例: 2. 小數轉換法“乘基取整”:用轉換進制的基數乘以小數部分,直至小數為0或達到轉換精度要求的位數。每乘一次取一次整數,從最高位排到最低位。舉例: 三、帶符號數的表示方法 機器數:機器中數的表示形式。真值: 機器數所代表的實際數值。舉例:一個8位機器數與它的真值對應關系如下: 真值: X1=+84=+1010100B X2=-84= -1010100B 機器數:[X1]機= 01010100 [X2]機= 11010100(二)原碼、反碼、補碼最高位為符號位,0表示 “+”,1表示“-”。 數值位與真值數值位相同。 例 8位原碼機器數: 真值: x1 = +1010100B x2 =- 1010100B 機器數: [x1]原 = 01010100 [x2]原 = 11010100原碼表示簡單直觀,但0的表示不唯一,加減運算復雜。 正數的反碼與原碼表示相同。 負數反碼符號位為 1,數值位為原碼數值各位取反。 例 8位反碼機器數: x= +4: [x]原= 00000100 [x]反= 00000100 x= -4: [x]原= 10000100 [x]反= 111110113、補碼(Two’s Complement)正數的補碼表示與原碼相同。 負數補碼等于2n-abs(x)8位機器數表示的真值四、 二進制編碼例:求十進制數876的BCD碼 876= 1000 0111 0110 BCD 876= 36CH = 1101101100B 2、字符編碼 美國標準信息交換碼ASCII碼,用于計算 機與計算機、計算機與外設之間傳遞信息。 3、漢字編碼 “國家標準信息交換用漢字編碼”(GB2312-80標準),簡稱國標碼。 用兩個七位二進制數編碼表示一個漢字 例如“巧”字的代碼是39H、41H漢字內碼例如“巧”字的代碼是0B9H、0C1H1·4 運算基礎 一、二進制數的運算加法規則:“逢2進1” 減法規則:“借1當2” 乘法規則:“逢0出0,全1出1”二、二—十進制數的加、減運算 BCD數的運算規則 循十進制數的運算規則“逢10進1”。但計算機在進行這種運算時會出現潛在的錯誤。為了解決BCD數的運算問題,采取調整運算結果的措施:即“加六修正”和“減六修正”例: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 三、 帶符號二進制數的運算 1.5 幾個重要的數字邏輯電路編碼器譯碼器計數器微機自動工作的條件程序指令順序存放自動跟蹤指令執行1.6 微機基本結構微機結構各部分組成連接方式1、以CPU為中心的雙總線結構;2、以內存為中心的雙總線結構;3、單總線結構CPU結構管腳特點 1、多功能;2、分時復用內部結構 1、控制; 2、運算; 3、寄存器; 4、地址程序計數器堆棧定義 1、定義;2、管理;3、堆棧形式
上傳時間: 2013-10-17
上傳用戶:erkuizhang
為了使車流在交通路口順暢通過,通常需要統計一個交通信號燈周期內的車流量,以實現交通信號燈的自動配時。文中提出了一種交通路口的車流量檢測算法。通過在道路前方設置檢測線,進而統計檢測線灰度變化的情況,即可統計出通過的車流量。并對其進行FPGA的硬件仿真。實驗結果表明,此方法實現簡單,運算處理速度快,能夠得到較滿意的結果。
上傳時間: 2013-10-12
上傳用戶:1406054127
針對城市道路交叉口的常發性交通擁堵現象,依據RFID檢測系統的特點,提出了一種基于物聯網前端信息采集技術的交通流檢測方法。并且對城市道路交叉口采集到的交通流量相對增量、車輛的時間占有率相對增量以及地點平均車速等信息進行了對比性分析和統計推導,從理論上論證了交通擁擠產生時的交通流特點,然后以此為基礎給出了交通擁擠事件出現時的判別準則,構造出相應的擁擠檢測指標及判別算法。最后利用Matlab編程再結合實際交通測量數據驗證了算法的正確性。
上傳時間: 2014-12-28
上傳用戶:GavinNeko
在車載自組網中,路由協議很大程度上決定了整個網絡的性能。如何有效的利用車流信息提高傳輸質量是改善路由性能的一個關鍵問題。本文基于速度-密度線性模型,提出了一種實時車流密度的路由協議RVDR(Real-time Vehicle Density Routing)。該協議通過與鄰居節點交換的速度信息,對相關道路車流密度進行預測,并給出基于車流密度信息的路徑選擇方法。仿真結果表明,與現有協議相比,RVDR協議在實時性和高效性等性能方面得到改進。
上傳時間: 2014-07-10
上傳用戶:ZJX5201314
隨著城市人口的急劇膨脹導致交通超載負荷,城市地鐵的建設極大的緩解了城市交通問題,然而由于眾多出入口,往往導致人們出行的困擾,本文以Android為開發平臺,以區域電子地圖為基礎開發了地鐵出口導航系統,實現了地鐵站各站點出口及周邊道路、公交信息等的查詢, 并通過集成SQLite及Google Map實現數據庫管理及地圖服務應用。首先介紹了android 智能操作系統的基本情況,然后通過分析軟件運用的各項技術展現了android平臺的強大開放性和兼容性,在引入這些類庫的同時又對Android通用框架下應用軟件的開發進行了總結,最后以上海南站作為應用背景,通過實例可視化地展示了系統應用的實用性、時效性,為人們的方便快捷出行提供了輔助決策支持。
上傳時間: 2014-01-05
上傳用戶:frank1234
根據現今的交通系統中駕駛員不能獲取塞車狀況的實時信息的情況,設計出了基于ZigBee無線組網城市交通中的塞車狀況的自動預警系統。本系統可以為某一時刻正在或將要出行車輛和出行人員提供實時的路況信息,從而自動分流出行車輛與人員,減輕了車輛過于擁擠的現狀并極大地緩解了交通道路的壓力。
上傳時間: 2013-11-09
上傳用戶:wentianyou
隨著現代社會汽車數量的日益增多,汽車防撞技術的研究已成為保障人民生命安全和提高運輸業的關鍵。課題旨在研究一種汽車防撞系統,保證在該系統正常運作的情況下既不發生碰撞事故又不降低道路的通行能力。該系統利用LFMCW的線性調頻特性及多普勒效應的原理既可測量兩車間距又可實現相對運動的判斷,結合兩者的測量值,實現有效防撞的功能。主要論述了LFMCW雷達運用于汽車防撞系統中的相關參數確定及具體實現方法,原理分析。
上傳時間: 2014-01-04
上傳用戶:ainimao
提出一種高性能全數字式正弦波逆變電源的設計方案。該方案分為前后兩級,前級采用推挽升壓電路將輸入的直流電升壓到350 V左右的母線電壓,后級采用全橋逆變電路,逆變橋輸出經濾波器濾波后,用隔離變壓器進行電壓采樣,電流互感器進行電流采樣,以形成反饋環節,增加電源輸出的穩定性。升壓級PWM驅動及逆變級SPWM驅動均由STM32單片機產生,減小了硬件開支?;谏鲜龇桨冈囍频?00 W樣機,具有輸出短路保護、過流保護及輸入過壓保護、欠壓保護功能,50 Hz輸出時頻率偏差小于0.05 Hz,滿載(400 W)效率高于87%,電壓精度為220 V±1%,THD小于1.5%。
上傳時間: 2013-11-17
上傳用戶:guojin_0704
設計一個基于Zigbee的智能燈光跟隨系統。系統中連接有人體紅外熱釋電傳感器的Zigbee結點等距離分布在走廊或道路的旁邊,檢測特定區域人員是否存在的信息,并將信息傳于協調器節點,協調器節點連接主控制器PXA270,PXA270根據采集的信息控制舵機的轉向和照明裝置的亮與滅,實現有人走動存在時,燈光隨著人的轉移而轉移,無人時照明系統自動熄滅,從而實現節約能源的效果。
上傳時間: 2013-10-20
上傳用戶:陽光少年2016