第五章 Keil C51庫函數參考 C51強大功能及其高效率的重要體現之一在于其豐富的可直接調用的庫函數,多使用庫函數使程序代碼簡單,結構清晰,易于調試和維護,下面介紹C51的庫函數系統。 1. 第一節 本征庫函數(intrinsic routines)和非本征證庫函數 C51提供的本征函數是指編譯時直接將固定的代碼插入當前行,而不是用ACALL和LCALL語句來實現,這樣就大大提供了函數訪問的效率,而非本征函數則必須由ACALL及LCALL調用。 C51的本征庫函數只有9個,數目雖少,但都非常有用,列如下: _crol_,_cror_:將char型變量循環向左(右)移動指定位數后返回 _iror_,_irol_:將int型變量循環向左(右)移動指定位數后返回 _lrol_,_lror_:將long型變量循環向左(右)移動指定位數后返回 _nop_: 相當于插入NOP _testbit_: 相當于JBC bitvar測試該位變量并跳轉同時清除。 _chkfloat_: 測試并返回源點數狀態。 使用時,必須包含#inclucle 一行。 如不說明,下面談到的庫函數均指非本征庫函數
上傳時間: 2013-10-19
上傳用戶:1184599859
為解決我國水位監測野外條件下長期無人看守的問題,研制開發了基于MSP430單片機的智能水位計。從其組成到各功能分別進行了詳細的介紹,該智能水位計不僅實現了水位數據的實時監測、記錄和定期采集等多種工作模式,而且提高了水位監測精度,實現了水位監測的智能化。 Abstract: In order to solve the problems of long-term unmanned observation in the field water monitoring,an intelligence water-level meter based on MSP430 is developed composition and every function moduce of the water level meter was introduced in detail. It not only realizes water level data collection and storage, regularly gathering and so on, but also improves the water-level precision , finally realizes the intelligence.
上傳時間: 2013-11-17
上傳用戶:417313137
生活中許多目標的高度和水平距離需要進行測量。目前主要的測量方法,仍以傳統的皮尺丈量為主,測量效率不高,有時還很不方便,沒有技術成熟的數字式測高測距產品。以基本的數學方法為理論依據,利用遙控小車做為載體,采用角度傳感器測量角度、霍爾傳感器測量水平距離等,通過單片機LM3S615進行數據計算,實現了對待測目標物體的高度、水平距離等數據的快速、精確和數字式的測量,高度測量精度可達99.06%,水平測量精度則可達98.06%。 Abstract: In our lives, the height and horizontal distance of some goals are needed to be measured. Because the currently used methods are still traditional tape-based measuring methods, and the measuring efficiency is low and inconvenient so some kinds of digital and portable measuring methods or instruments are needed. Based on the basic math theory, this paper designed and manufactured a portable, digital and remote controlled measuring mobile small vehicle, which assembled with angle measuring sensor for angle measurement and Hall sensor for horizontal distance measuring. MCU LM3S615 calculated the height and horizontal distance data gotten from these sensors. The measuring process is simple, the measuring results are more accurate and the measuring efficiency is higher than traditional measure instruments. The accuracy of height and distance measurement can reach 99.06% and 98.06%.
上傳時間: 2013-10-30
上傳用戶:jackandlee
針對眾多低成本數據采集需求,采用帶有片上USB控制器和D/A轉換器的混合信號微處理器C8051F340,設計了一款可通過USB接口和LabVIEW圖形用戶界面實現與PC機聯機的數據采集器,同時借助系統的SD卡存儲獨立實現現場長時間采集數據。該數據采集器成本低,結構簡單,體積小,已成功用于工業現場。 Abstract: Aiming at the need of low cost data acquisition, a data acquisition device is designed based on C8051F340 which is a mixed-signal microcontroller and integrates USB controller and A/D controller on a chip.The data acquisition device which can combine with PC by USB interface and LabVIEW graphical user interface,can realize data acquisition. At the same time,it can be solely run a long time in virtue of SD card in field.The date aequisition device features low cost,simple structure and little sharp, and it has been used in industry field.
上傳時間: 2014-05-31
上傳用戶:1109003457
基于幅移鍵控技術ASK(Amplitude-Shift Keying),以C8051F340單片機作為監測終端控制器,C8051F330D單片機作為探測節點控制器,采用半雙工的通信方式,通過監控終端和探測節點的無線收發電路,實現數據的雙向無線傳輸。收發電路采用直徑為0.8 mm的漆包線自行繞制成圓形空心線圈天線,天線直徑為(3.4±0.3)cm。試驗表明,探測節點與監測終端的通信距離為24 cm,通過橋接方式,節點收發功率為102 mW時,節點間的通信距離可達20 cm。與傳統無線收發模塊相比,該無線收發電路在受體積、功耗、成本限制的場合有廣闊的應用前景。 Abstract: Based on ASK technology and with the C8051F340 and C8051F330D MCU as the controller, using half-duplex communication mode, this paper achieves bi-directional data transfer. Transceiver circuit constituted by enameled wire which diameter is 0.8mm and wound into a diameter (3.4±0.3) cm circular hollow coil antenna. Tests show that the communication distance between detection and monitoring of the terminal is 24cm,the distance is up to 20cm between two nodes when using the manner of bridging and the node transceiver power is 102mW. Compared with the conventional wireless transceiver modules, the circuit has wide application prospect in small size, low cost and low power consumption and other characteristics.
上傳時間: 2013-10-19
上傳用戶:xz85592677
The SN65LBC170 and SN75LBC170 aremonolithic integrated circuits designed forbidirectional data communication on multipointbus-transmission lines. Potential applicationsinclude serial or parallel data transmission, cabledperipheral buses with twin axial, ribbon, ortwisted-pair cabling. These devices are suitablefor FAST-20 SCSI and can transmit or receivedata pulses as short as 25 ns, with skew lessthan 3 ns.These devices combine three 3-state differentialline drivers and three differential input linereceivers, all of which operate from a single 5-Vpower supply.The driver differential outputs and the receiverdifferential inputs are connected internally to formthree differential input/output (I/O) bus ports thatare designed to offer minimum loading to the buswhenever the driver is disabled or VCC = 0. Theseports feature a wide common-mode voltage rangemaking the device suitable for party-lineapplications over long cable runs.
上傳時間: 2013-10-13
上傳用戶:ytulpx
LLCR Pin Socket Testing with the Model 3732 High Density Matrix Card Computer processors (CPUs) today have come a long way from the computer processors of the past. They draw more power, run at lower voltages, and have more pins than ever before.
上傳時間: 2013-10-24
上傳用戶:whenfly
C51 中的關鍵字關鍵字 用途 說明auto 存儲種類說明 用以說明局部變量,缺省值為此break 程序語句 退出最內層循環case 程序語句 Switch 語句中的選擇項char 數據類型說明 單字節整型數或字符型數據const 存儲類型說明 在程序執行過程中不可更改的常量值continue 程序語句 轉向下一次循環default 程序語句 Switch 語句中的失敗選擇項do 程序語句 構成do..while 循環結構double 數據類型說明 雙精度浮點數else 程序語句 構成if..else 選擇結構enum 數據類型說明 枚舉extern 存儲種類說明 在其他程序模塊中說明了的全局變量flost 數據類型說明 單精度浮點數for 程序語句 構成for 循環結構goto 程序語句 構成goto 轉移結構if 程序語句 構成if..else 選擇結構int 數據類型說明 基本整型數long 數據類型說明 長整型數register 存儲種類說明 使用CPU 內部寄存的變量return 程序語句 函數返回short 數據類型說明 短整型數signed 數據類型說明 有符號數,二進制數據的最高位為符號位sizeof 運算符 計算表達式或數據類型的字節數static 存儲種類說明 靜態變量struct 數據類型說明 結構類型數據swicth 程序語句 構成switch 選擇結構typedef 數據類型說明 重新進行數據類型定義union 數據類型說明 聯合類型數據unsigned 數據類型說明 無符號數數據void 數據類型說明 無類型數據volatile 數據類型說明 該變量在程序執行中可被隱含地改變while 程序語句 構成while 和do..while 循環結構ANSIC 標準關鍵字關鍵字 用途 說明bit 位標量聲明 聲明一個位標量或位類型的函數sbit 位標量聲明 聲明一個可位尋址變量
標簽: C51
上傳時間: 2013-10-08
上傳用戶:waves_0801
匯編器在微處理器的驗證和應用中舉足輕重,如何設計通用的匯編器一直是研究的熱點之一。本文提出了一種開放式的匯編器系統設計思想,在匯編語言與機器語言間插入中間代碼CMDL(code mapping description language)語言,打破匯編語言與機器語言的直接映射關系,由此建立起一套描述匯編語言與機器語言的開放式映射體系。基于此開放式映射體系開發了一套匯編器系統,具有較高層次上的通用性和可移植性。【關鍵詞】指令集,CMDL,匯編器,開放式 Design of Retargetable Assembler System Liu Ling Feng Wen Nan Wang Ying Chun Jiang An Ping Ji Li Jiu IME of Peking University, 100871【摘要】An assembler plays a very important role in the field of microprocessor verifications and applications, thus how to build a retargetable assembler system has been a hotspot in this field for long time. This paper presents a new method about the retargetable assembler system design.It provides a kind of language CMDL, code mapping description language. During the process of assembling, assembler languages are firstly translated to CMDL, and then mapped to the machine codes. In an other word, CMDL is inserted between assembler languages and machine codes during the translation procedure. As a medium code, CMDL has a lot of features, such as high extraction, strong descript capabilities. It can describe almost all attributes of assembler languages. By breaking the direct mapping relationship between assembler languages and machine codes, the complexities of machine codes are hided to the users, therefore, the new retargetable assembler system has higher retargetable level by converting the mapping from assembler languages and machine codes to assembler languages and CMDL, and implementationof it becomes easier. Based on the new mapping system structure, a retargetable assemblersystem is developed. It proved the whole system has good retargetability and implantability.【關鍵詞】instruction set, symbol table, assembler, lexical analysis, retargetability
上傳時間: 2013-10-10
上傳用戶:meiguiweishi
keil 使用筆記:在Memory窗口上輸入address_type:address才能看到正確地址的變量debug~perfermance analyzer加入要察看的模塊名稱,然后view~perfermance analyzer window 可以察看各個模塊運行時間①Display address_type:address B:Bit address C:Code Memory Bx:Code Bank D D:80H 命令可以查看特殊寄存器 data D I:0 命令可以查看內部RAM數據iData; D X:0 命令可以查看外部RAM數據xData; ②R1 //顯示R1 register ~R1 //顯示變量R1 R1 = R7 //對寄存器Rx操作R1 = --R7 R1 = 0x20 ③main //顯示main()的開始地址d main //顯示main()的代碼④向RAM.ROM中寫數據Enter data_type address_type:address expr,expr.... data_type:int char double float long E char data:0x20 1,2,3,4 //向data區0x20開始的地址寫1,2,3,4 變量放在RAM的30H,要把定義放在main前面!另外特別注意,內部RAM通常供C程序存放中間變量等,所以一定要看看編譯后的程序中是否存在存儲單元沖突的情況,比如如果程序中 使用了別的寄存器組的話,08-1FH單元就不能用了unsigned long data i _at_ 0x30
上傳時間: 2013-11-05
上傳用戶:dongqiangqiang