-
VIP專區-嵌入式/單片機編程源碼精選合集系列(26)資源包含以下內容:1. ATMEL MP3 源代碼.2. ATMEL MP3電路圖.3. 利用RTOS機制實現機械系統中的質量.4. 這是利用RTOS去實現機械系統.5. YAFFS和YASFF2文件系統的源代碼。.6. SP2339驅動.7. 電子元件基礎教程.8. 數字濾波器的文檔.9. 汽車記錄儀元代碼.10. IIC讀寫的例子.11. 串口讀寫.12. 自制硬盤mp3播放器.13. 使用SST89C58控制單片電子硬盤的軟硬件.14. full package of jaffs file system.15. sle4442邏輯加密卡讀寫程序---c語言編寫(轉貼).16. msp430開發c語言例程.17. 6b595 24co2 12887應用程序(c源程序).18. AD TLC0831 DA TLC5620應用程序(c源程序).19. pwm發生器(原理圖,pcb.20. evc編程,使用數據庫軟件.21. 常用3極管資料,值得收藏.22. 紅外發射接收芯片HT12A,HT12D.23. 18f458實驗程序。 簡單輸入輸出.24. 對NAND FLASH的讀寫操作.25. NAND FLASH 的讀寫操作程序.26. 把BMP文件的格式進行處理.27. 儀表溫度控制程序.28. 無線耳機通訊用CPLD的VHDL源碼.29. 英文點陣字庫,嵌入式系統必備.30. 12點陣漢字字庫chs12,嵌入式系統必備.31. 16點陣漢字字庫chs16,嵌入式系統必備.32. 在44B0板子上添加IIC鍵盤.33. 44b0的BOOTLOAD微機通訊程序.34. PSD813F2的FLASH區操作的一個很有用的程序.35. 使用DataFlash自動引導U-boot的程序源碼.36. RAM掉電保護電路.37. fat32文件C語言的實現13.38. PLC程序集成開發平臺.39. 嵌入式操作系統Tornador中函數庫的參考.40. 數碼管顯示時鐘數碼管顯示時鐘數碼管顯示時鐘數碼管顯示時鐘數碼管顯示時鐘.
標簽:
液壓
元件
上傳時間:
2013-04-15
上傳用戶:eeworm
-
VIP專區-嵌入式/單片機編程源碼精選合集系列(114)資源包含以下內容:1. FREESCALE 9S08AW60 串口調試程序.2. saa7113視頻解碼芯片外圍電路設計原理圖.3. 這是在用的AD7705源程序.4. 紅外線遙控原理以及單片機制作自學習遙控器詳細設計思路.5. 在微波整體集成電路設計、理論和描述特性的一條新穎的路線的PDF學術論文.6. 對于內部具有D /A轉換器的單片機,采用其自備的D /A轉換器產生需要的信號是最經
濟的方法。C8051F020是Cygnal公司最新的一款功能強大的內部具有D /A轉換器的單片機。介紹了
采用查.7. 液晶6963模塊 240*64,外接PS2鍵盤,多級菜單.這是我工作中的一個程序,有興趣的可以看.8. 這是一個i2c程序,經過多次應用都能成功實現功能,而且簡要實用.9. 本電子書是很多嵌入式開發經典文章和技巧使用的PDF格式的書籍.10. 168線SD內存條電路原理圖資料,好像是臺灣人寫的.11. FPGA可促進嵌入式系統設計改善即時應用性能.12. fat32文件系統格式說明
十分詳盡.13. fat32和fat16文件系統格式說明.14. 講解嵌入式開發的入門書!非常不錯,值得一看!.15. TMS320C6000CSLAPIReferenceGuideRev.I的pdf.16. s7300 400 step7 plc仿真軟件說明.17. with avr mega 8515 in the C-code AVR.18. Altera原裝MAX_II開發板原理圖,是用protel繪制的.19. zlg7290是一個能夠8*8的鍵盤驅動芯片.20. 主要介紹各種芯片原理、功能、及其使用方法.21. 對芯片MCP2551的中文使用說明.22. 嵌入式T9輸入法的源代碼.23. BMP頭文件的源代碼.24. 自己收集整理和調試OK的三個Game源代碼.25. S24C10最小系統原理圖 包括FLASH SRAM等.26. 一個電平轉換芯片的資料74LVC4245,它在以太網中也發揮了很大的作用,對WEB開發人員有借鑒的價值.27. mmc卡的specification標準的英文版的.28. TMS320C2812全套例程.29. 這是用于lpc2106的自帶ADC功能的演示,利用KEIL FOR ARM 開發,可以參考學習..30. megal16在codevision下關于1602的驅動程序.31. 分布式多DSP系統的CPCI總線接口設計和驅動開發.32. 電子音量pT2314原程序
需要的朋友請趕快.33. 用protel dxp繪制三分頻原理圖和pcb電路板等.34. Bootloader(引導裝載器)是用于初始化目標板硬件.35. OKI DEMO FLASH WRITE PROGRAM.36. OKI 675050 hardware accelerator sample program.37. verilog的一些源代碼.38. i.mx31 3DS平臺Nandboot引導程序源碼.39. c8051f24是個教學的程序.40. < ALTERA FPGA/CPLD 高級篇>>光盤資料中 體會“面積和速度的平衡與互換” 例程.
標簽:
RFID
無線
射頻識別技術
上傳時間:
2013-07-17
上傳用戶:eeworm
-
VIP專區-嵌入式/單片機編程源碼精選合集系列(132)資源包含以下內容:1. siemens PLC Prodave 通訊測試.2. 嵌入式系統下IC卡讀寫的源碼.3. 數字音樂盒的完整畢業論文(無意中發現的)
課程設計題目:數字音樂盒.4. 單片機程序 51頻率計 電子琴 電子鐘程序
按鍵顯示程序最終成功.5. C和C++嵌入式系統編程,一本很嵌入式編程很不錯的書..6. 一本很好的介紹yaffs文件系統的書籍 一本很好的介紹yaffs文件系統的書籍.7. 一份不錯的介紹linux 字符設備驅動的文檔.8. 工程源文件.9. 用holtek3000開發環境編寫的單片機C語言鍵盤掃描程序..10. 8255A芯片的中文資料(8255中文資料).11. mmc_sd_memory_card_driver_sample_project_files spi接口的sd card driver 示例.12. 單片機驅動PS2鍵盤的c程序
希望對大家有用.13. a voice guide client ,it is the second part of voice guide center.14. msc map program to control client of tools,use for map guide.15. C#開發win ce代碼程序.16. 2個Ds18b20溫度顯示電路,12Mhz晶振.17. 5分頻cpld原理圖實現.18. 可實現對ST公司的SPI flash的控制.19. VB實現的文字圖片原理,VB實現的文字圖片原理.20. 嵌入式C精華, 嵌入式C精華,嵌入式C精華.21. 一個簡單的電梯控制系統,主要實現一個八層樓的電梯控制..22. 這是自己做的一個gui
及供初學者參考
如有問題可以一起討論
可發到我的郵箱里
完成的功能就是
對uicontrol的應用.23. 觸摸屏校正算法,主流嵌入式設計都使用此算法,個人覺得經典..24. 基于51單片機的源碼,內有液晶顯示(IIC)接口,還實現串口和定時操作等功能..25. 鏈接器和加載器,這是一本全面介紹我們編寫的程序是如何被鏈接的,個人覺得做嵌入式開發的軟件工程師必備的一本書..26. 使用Embest IDE for ARM 開發環境及ARM 軟件模擬器;
通過實驗掌握簡單ARM 匯編指令的使用方法。.27. AD7714是一款24位高速AD轉換芯片.28. Cortex-M3是首款基于ARMv7-M架構的處理器.29. 剛剛學習ne2000驅動開發.30. ATMEL的芯片資料pdf文檔.31. GPS衛星定位模塊的驅動程序.32. 還可以.33. 基于CAN總線的分布式三維步進電機控制系統.34. 自己做的交通燈~~~用c編寫的.35. 基于PCI總線的高速數據傳輸.36. [轉載]嵌入到系統進程中,檢查并報告主板型號.37. Freescale_071112_1公司內部的器件資料.38. 關于2410開發板的u-boot的說明.39. CX1-22R 可編程控制器(簡稱 CX1)是 22 路 I/O 一體化小型可編程控制器(PLC).40. PIC匯編各個時間延時小程序.
標簽:
SD卡
上傳時間:
2013-04-15
上傳用戶:eeworm
-
簡易負離子發生器負離子增加,對人有催眠、止汗、鎮痛、增進食欲,使人精神爽快,消除疲勞的作用。圖1是負離子發生器電路圖。220V交流市電經D1整流后向C3和C2充電,當C2充電至氖泡導通并觸發SCR導通時,C3經SCR、B的L1放電,經B感應升壓后,由D2反向整流得8kV直流高壓使發生器M的分子電離而產生負離子。調整R3的阻值可以改變觸發頻率和輸出電壓。調整時必須注意安全,更換元件需撥下電源插頭
標簽:
負離子發生器
上傳時間:
2013-10-29
上傳用戶:731140412
-
TLC2543是TI公司的12位串行模數轉換器,使用開關電容逐次逼近技術完成A/D轉換過程。由于是串行輸入結構,能夠節省51系列單片機I/O資源;且價格適中,分辨率較高,因此在儀器儀表中有較為廣泛的應用。
TLC2543的特點
(1)12位分辯率A/D轉換器;
(2)在工作溫度范圍內10μs轉換時間;
(3)11個模擬輸入通道;
(4)3路內置自測試方式;
(5)采樣率為66kbps;
(6)線性誤差±1LSBmax;
(7)有轉換結束輸出EOC;
(8)具有單、雙極性輸出;
(9)可編程的MSB或LSB前導;
(10)可編程輸出數據長度。
TLC2543的引腳排列及說明
TLC2543有兩種封裝形式:DB、DW或N封裝以及FN封裝,這兩種封裝的引腳排列如圖1,引腳說明見表1
TLC2543電路圖和程序欣賞
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit clock=P1^0; sbit d_in=P1^1;
sbit d_out=P1^2;
sbit _cs=P1^3;
uchar a1,b1,c1,d1;
float sum,sum1;
double sum_final1;
double sum_final;
uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar wei[]={0xf7,0xfb,0xfd,0xfe};
void delay(unsigned char b) //50us
{
unsigned char a;
for(;b>0;b--)
for(a=22;a>0;a--);
}
void display(uchar a,uchar b,uchar c,uchar d)
{
P0=duan[a]|0x80;
P2=wei[0];
delay(5);
P2=0xff;
P0=duan[b];
P2=wei[1];
delay(5);
P2=0xff;
P0=duan[c];
P2=wei[2];
delay(5);
P2=0xff;
P0=duan[d];
P2=wei[3];
delay(5);
P2=0xff;
}
uint read(uchar port)
{
uchar i,al=0,ah=0;
unsigned long ad;
clock=0;
_cs=0;
port<<=4;
for(i=0;i<4;i++)
{
d_in=port&0x80;
clock=1;
clock=0;
port<<=1;
}
d_in=0;
for(i=0;i<8;i++)
{
clock=1;
clock=0;
}
_cs=1;
delay(5);
_cs=0;
for(i=0;i<4;i++)
{
clock=1;
ah<<=1;
if(d_out)ah|=0x01;
clock=0;
}
for(i=0;i<8;i++)
{
clock=1;
al<<=1;
if(d_out) al|=0x01;
clock=0;
}
_cs=1;
ad=(uint)ah;
ad<<=8;
ad|=al;
return(ad);
}
void main()
{
uchar j;
sum=0;sum1=0;
sum_final=0;
sum_final1=0;
while(1)
{
for(j=0;j<128;j++)
{
sum1+=read(1);
display(a1,b1,c1,d1);
}
sum=sum1/128;
sum1=0;
sum_final1=(sum/4095)*5;
sum_final=sum_final1*1000;
a1=(int)sum_final/1000;
b1=(int)sum_final%1000/100;
c1=(int)sum_final%1000%100/10;
d1=(int)sum_final%10;
display(a1,b1,c1,d1);
}
}
標簽:
2543
TLC
上傳時間:
2013-11-19
上傳用戶:shen1230
-
有兩種方式可以讓設備和應用程序之間聯系:1. 通過為設備創建的一個符號鏈;2. 通過輸出到一個接口WDM驅動程序建議使用輸出到一個接口而不推薦使用創建符號鏈的方法。這個接口保證PDO的安全,也保證安全地創建一個惟一的、獨立于語言的訪問設備的方法。一個應用程序使用Win32APIs來調用設備。在某個Win32 APIs和設備對象的分發函數之間存在一個映射關系。獲得對設備對象訪問的第一步就是打開一個設備對象的句柄。
用符號鏈打開一個設備的句柄為了打開一個設備,應用程序需要使用CreateFile。如果該設備有一個符號鏈出口,應用程序可以用下面這個例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3", GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統本調用希望打開一個設備。這個設備必須有一個符號鏈,以便應用程序能夠打開它。有關細節查看有關Kdevice和CreateLink的內容。在上述調用中第一個參數中前綴后的部分就是這個符號鏈的名字。注意:CreatFile中的第一個參數不是Windows 98/2000中驅動程序(.sys文件)的路徑。是到設備對象的符號鏈。如果使用DriverWizard產生驅動程序,它通常使用類KunitizedName來構成設備的符號鏈。這意味著符號鏈名有一個附加的數字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應用程序需要被覆蓋的I/O,第六個參數(Flags)必須或上FILE_FLAG_OVERLAPPED。
使用一個輸出接口打開句柄用這種方式打開一個句柄會稍微麻煩一些。DriverWorks庫提供兩個助手類來使獲得對該接口的訪問容易一些,這兩個類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個設備信息集,該信息集包含了特殊類中的所有設備接口信息。應用程序能有用CdeviceInterfaceClass類的一個實例來獲得一個或更多的CdeviceInterface類的實例。CdeviceInterface類是一個單一設備接口的抽象。它的成員函數DevicePath()返回一個路徑名的指針,該指針可以在CreateFile中使用來打開設備。下面用一個小例子來顯示這些類最基本的使用方法:extern GUID TestGuid;HANDLE OpenByInterface( GUID* pClassGuid, DWORD instance, PDWORD pError){ CDeviceInterfaceClass DevClass(pClassGuid, pError); if (*pError != ERROR_SUCCESS) return INVALID_HANDLE_VALUE; CDeviceInterface DevInterface(&DevClass, instance, pError); if (*pError != ERROR_SUCCESS) return INVALID_HANDLE_VALUE; cout << "The device path is " << DevInterface.DevicePath() << endl;
HANDLE hDev; hDev = CreateFile( DevInterface.DevicePath(), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if (hDev == INVALID_HANDLE_VALUE) *pError = GetLastError(); return hDev;}
在設備中執行I/O操作一旦應用程序獲得一個有效的設備句柄,它就能使用Win32 APIs來產生到設備對象的IRPs。下面的表顯示了這種對應關系。Win32 API DRIVER_FUNCTION_xxxIRP_MJ_xxx KDevice subclass member function CreateFile CREATE Create ReadFile READ Read WriteFile WRITE Write DeviceIoControl DEVICE_CONTROL DeviceControl CloseHandle CLOSECLEANUP CloseCleanUp 需要解釋一下設備類成員的Close和CleanUp:CreateFile使內核為設備創建一個新的文件對象。這使得多個句柄可以映射同一個文件對象。當這個文件對象的最后一個用戶級句柄被撤銷后,I/O管理器調用CleanUp。當沒有任何用戶級和核心級的對文件對象的訪問的時候,I/O管理器調用Close。如果被打開的設備不支持指定的功能,則調用相應的Win32將引起錯誤(無效功能)。以前為Windows95編寫的VxD的應用程序代碼中可能會在打開設備的時候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個屬性,因為它將導致沒有特權的用戶企圖打開這個設備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數轉換成IRP域的方法依賴于設備對象的屬性。當設備設置DO_DIRECT_IO標志,I/O管理器將buff鎖住在存儲器中,并且創建了一個存儲在IRP中的MDL域。一個設備可以通過調用Kirp::Mdl來存取MDL。當設備設置DO_BUFFERED_IO標志,設備對象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或寫操作獲得buff地址。當設備不設置DO_BUFFERED_IO標志也不設置DO_DIRECT_IO,內核設置IRP 的UserBuffer域來對應ReadFile或WriteFile中的buff參數。然而,存儲區并沒有被鎖住而且地址只對調用進程有效。驅動程序可以使用KIrp::UserBuffer來存取IRP域。對于DeviceIoControl調用,buffer參數的轉換依賴于特殊的I/O控制代碼,它不在設備對象的特性中。宏CTL_CODE(在winioctl.h中定義)用來構造控制代碼。這個宏的其中一個參數指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對應的能獲得輸入緩沖與輸出緩沖的KIrp中的成員函數:Method Input Buffer Parameter Output Buffer Parameter METHOD_BUFFERED KIrp::IoctlBuffer KIrp::IoctlBuffer
METHOD_IN_DIRECT KIrp::IoctlBuffer KIrp::Mdl
METHOD_OUT_DIRECT KIrp::IoctlBuffer KIrp::Mdl
METHOD_NEITHER KIrp::IoctlType3InputBuffer KIrp::UserBuffer
如果控制代碼指明METHOD_BUFFERED,系統分配一個單一的緩沖來作為輸入與輸出。驅動程序必須在向輸出緩沖放數據之前拷貝輸入數據。驅動程序通過調用KIrp::IoctlBuffer獲得緩沖地址。在完成時,I/O管理器從系統緩沖拷貝數據到提供給Ring 3級調用者使用的緩沖中。驅動程序必須在結束前存儲拷貝到IRP的Information成員中的數據個數。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數呈現不同的含義。參數InputBuffer被拷貝到一個系統緩沖,這個緩沖驅動程序可以通過調用KIrp::IoctlBuffer。參數OutputBuffer被映射到KMemory對象,驅動程序對這個對象的訪問通過調用KIrp::Mdl來實現。對于METHOD_OUT_DIRECT,調用者必須有對緩沖的寫訪問權限。注意,對METHOD_NEITHER,內核只提供虛擬地址;它不會做映射來配置緩沖。虛擬地址只對調用進程有效。這里是一個用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來定義一個IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現在使用一個DeviceIoControl調用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING, NULL, // no input 注意,這里放的是包含有執行操作命令的字符串指針 0, FirmwareRev, //這里是output串指針,存放從驅動程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize, NULL // not overlapped I/O );如果輸出緩沖足夠大,設備拷貝串到里面并將拷貝的資結束設置到FirmwareRevSize中。在驅動程序中,代碼看起來如下所示:const char* FIRMWARE_REV = "FW 16.33 v5";NTSTATUS MyDevice::DeviceControl( KIrp I ){ ULONG fwLength=0; switch ( I.IoctlCode() ) { case IOCTL_MYDEV_GET_FIRMWARE_REV: fwLength = strlen(FIRMWARE_REV)+1; if (I.IoctlOutputBufferSize() >= fwLength) { strcpy((PCHAR)I.IoctlBuffer(),FIRMWARE_REV); I.Information() = fwLength; return I.Complete(STATUS_SUCCESS); } else { } case . . . } }
標簽:
驅動程序
應用程序
接口
上傳時間:
2013-10-17
上傳用戶:gai928943
-
CPU在處理某一事件時,發生了另一事件請求CPU迅速去處理。CPU暫時中斷當前的工作,轉去處理事件B。待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續處理事件A。這一處理過程稱為中斷。介紹用匯編和C語言兩語言的源程序,愿給大家帶來幫助。 前面我已經上傳了幾個程序,沒幾天卻失蹤了。但這次的不會失蹤,能保留上幾天。
標簽:
匯編語言
C語言
外部中斷
上傳時間:
2014-12-31
上傳用戶:dianxin61
-
當一個VI A.vi在VI B.vi 中使用,就稱A.vi為B.vi的子VI,B.vi為A.vi的主VI。子VI 相當于文本編程語言中的子程序。 在主VI的程序框圖中雙擊子VI的圖標時,將出現該子VI 的前面板和程序框圖。在前面板窗口和程序框圖窗口的右上角可以看到該VI 的圖標。該圖標與將VI放置在程序框圖中時所顯示的圖標相同。
標簽:
上傳時間:
2013-10-31
上傳用戶:jisujeke
-
C++完美演繹 經典算法 如 /* 頭文件:my_Include.h */ #include <stdio.h> /* 展開C語言的內建函數指令 */ #define PI 3.1415926 /* 宏常量,在稍后章節再詳解 */ #define circle(radius) (PI*radius*radius) /* 宏函數,圓的面積 */ /* 將比較數值大小的函數寫在自編include文件內 */ int show_big_or_small (int a,int b,int c) { int tmp if (a>b) { tmp = a a = b b = tmp } if (b>c) { tmp = b b = c c = tmp } if (a>b) { tmp = a a = b b = tmp } printf("由小至大排序之后的結果:%d %d %d\n", a, b, c) } 程序執行結果: 由小至大排序之后的結果:1 2 3 可將內建函數的include文件展開在自編的include文件中 圓圈的面積是=201.0619264
標簽:
my_Include
include
define
3.141
上傳時間:
2014-01-17
上傳用戶:epson850
-
一元稀疏多項式計算器[加法和乘法] 問題描述: 設計一元系數多項式計數器實現兩個多項式間的加法、減法。 基本要求: (1) 輸入并建立多項式 (2) 輸出多項式,輸出形式為整數序列:n,c1,e1,c2,e2……cn,en,其中n是多項式的項數,ci,ei分別為第i項的系數和指數。序列按指數降序排列。 (3) 多項式a和b相加,建立多項式a+b,輸出相加的多項式。 (4) 多項式a和b相減,建立多項式a-b,輸出相減的多項式。 用帶表頭結點的單鏈表存儲多項式。 測試數據: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3) (x+x2+x3)+0 (4) (x+x3)-(-x-x-3)
標簽:
多項式
加法
稀疏
乘法
上傳時間:
2013-12-03
上傳用戶:561596