亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

紅外<b>防撞</b>裝置

  • MSP430系列flash型超低功耗16位單片機

    MSP430系列flash型超低功耗16位單片機MSP430系列單片機在超低功耗和功能集成等方面有明顯的特點。該系列單片機自問世以來,頗受用戶關注。在2000年該系列單片機又出現(xiàn)了幾個FLASH型的成員,它們除了仍然具備適合應用在自動信號采集系統(tǒng)、電池供電便攜式裝置、超長時間連續(xù)工作的設備等領域的特點外,更具有開發(fā)方便、可以現(xiàn)場編程等優(yōu)點。這些技術特點正是應用工程師特別感興趣的。《MSP430系列FLASH型超低功耗16位單片機》對該系列單片機的FLASH型成員的原理、結構、內部各功能模塊及開發(fā)方法與工具作詳細介紹。MSP430系列FLASH型超低功耗16位單片機 目錄  第1章 引 論1.1 MSP430系列單片機1.2 MSP430F11x系列1.3 MSP430F11x1系列1.4 MSP430F13x系列1.5 MSP430F14x系列第2章 結構概述2.1 引 言2.2 CPU2.3 程序存儲器2.4 數(shù)據(jù)存儲器2.5 運行控制2.6 外圍模塊2.7 振蕩器與時鐘發(fā)生器第3章 系統(tǒng)復位、中斷及工作模式3.1 系統(tǒng)復位和初始化3.1.1 引 言3.1.2 系統(tǒng)復位后的設備初始化3.2 中斷系統(tǒng)結構3.3 MSP430 中斷優(yōu)先級3.3.1 中斷操作--復位/NMI3.3.2 中斷操作--振蕩器失效控制3.4 中斷處理 3.4.1 SFR中的中斷控制位3.4.2 中斷向量地址3.4.3 外部中斷3.5 工作模式3.5.1 低功耗模式0、1(LPM0和LPM1)3.5.2 低功耗模式2、3(LPM2和LPM3)3.5.3 低功耗模式4(LPM4)22 3.6 低功耗應用的要點23第4章 存儲空間4.1 引 言4.2 存儲器中的數(shù)據(jù)4.3 片內ROM組織4.3.1 ROM 表的處理4.3.2 計算分支跳轉和子程序調用4.4 RAM 和外圍模塊組織4.4.1 RAM4.4.2 外圍模塊--地址定位4.4.3 外圍模塊--SFR4.5 FLASH存儲器4.5.1 FLASH存儲器的組織4.5.2 FALSH存儲器的數(shù)據(jù)結構4.5.3 FLASH存儲器的控制寄存器4.5.4 FLASH存儲器的安全鍵值與中斷4.5.5 經(jīng)JTAG接口訪問FLASH存儲器39第5章 16位CPU5.1 CPU寄存器5.1.1 程序計數(shù)器PC5.1.2 系統(tǒng)堆棧指針SP5.1.3 狀態(tài)寄存器SR5.1.4 常數(shù)發(fā)生寄存器CG1和CG25.2 尋址模式5.2.1 寄存器模式5.2.2 變址模式5.2.3 符號模式5.2.4 絕對模式5.2.5 間接模式5.2.6 間接增量模式5.2.7 立即模式5.2.8 指令的時鐘周期與長度5.3 指令組概述5.3.1 雙操作數(shù)指令5.3.2 單操作數(shù)指令5.3.3 條件跳轉5.3.4 模擬指令的簡短格式5.3.5 其他指令第6章 硬件乘法器6.1 硬件乘法器6.2 硬件乘法器操作6.2.1 無符號數(shù)相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.2 有符號數(shù)相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.3 無符號數(shù)乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.2.4 有符號數(shù)乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.3 硬件乘法器寄存器6.4 硬件乘法器的軟件限制6.4.1 尋址模式6.4.2 中斷程序6.4.3 MACS第7章 基礎時鐘模塊7.1 基礎時鐘模塊7.2 LFXT1與XT27.2.1 LFXT1振蕩器7.2.2 XT2振蕩器7.2.3 振蕩器失效檢測7.2.4 XT振蕩器失效時的DCO7.3 DCO振蕩器7.3.1 DCO振蕩器的特性7.3.2 DCO調整器7.4 時鐘與運行模式7.4.1 由PUC啟動7.4.2 基礎時鐘調整7.4.3 用于低功耗的基礎時鐘特性7.4.4 選擇晶振產(chǎn)生MCLK7.4.5 時鐘信號的同步7.5 基礎時鐘模塊控制寄存器7.5.1 DCO時鐘頻率控制7.5.2 振蕩器與時鐘控制寄存器7.5.3 SFR控制位第8章 輸入輸出端口8.1 引 言8.2 端口P1、P28.2.1 P1、P2的控制寄存器8.2.2 P1、P2的原理8.2.3 P1、P2的中斷控制功能8.3 端口P3、P4、P5和P68.3.1 端口P3、P4、P5和P6的控制寄存器8.3.2 端口P3、P4、P5和P6的端口邏輯第9章 看門狗定時器WDT9.1 看門狗定時器9.2 WDT寄存器9.3 WDT中斷控制功能9.4 WDT操作第10章 16位定時器Timer_A10.1 引 言10.2 Timer_A的操作10.2.1 定時器模式控制10.2.2 時鐘源選擇和分頻10.2.3 定時器啟動10.3 定時器模式10.3.1 停止模式10.3.2 增計數(shù)模式10.3.3 連續(xù)模式10.3.4 增/減計數(shù)模式10.4 捕獲/比較模塊10.4.1 捕獲模式10.4.2 比較模式10.5 輸出單元10.5.1 輸出模式10.5.2 輸出控制模塊10.5.3 輸出舉例10.6 Timer_A的寄存器10.6.1 Timer_A控制寄存器TACTL10.6.2 Timer_A寄存器TAR10.6.3 捕獲/比較控制寄存器CCTLx10.6.4 Timer_A中斷向量寄存器10.7 Timer_A的UART應用 第11章 16位定時器Timer_B11.1 引 言11.2 Timer_B的操作11.2.1 定時器長度11.2.2 定時器模式控制11.2.3 時鐘源選擇和分頻11.2.4 定時器啟動11.3 定時器模式11.3.1 停止模式11.3.2 增計數(shù)模式11.3.3 連續(xù)模式11.3.4 增/減計數(shù)模式11.4 捕獲/比較模塊11.4.1 捕獲模式11.4.2 比較模式11.5 輸出單元11.5.1 輸出模式11.5.2 輸出控制模塊11.5.3 輸出舉例11.6 Timer_B的寄存器11.6.1 Timer_B控制寄存器TBCTL11.6.2 Timer_B寄存器TBR11.6.3 捕獲/比較控制寄存器CCTLx11.6.4 Timer_B中斷向量寄存器第12章 USART通信模塊的UART功能12.1 異步模式12.1.1 異步幀格式12.1.2 異步通信的波特率發(fā)生器12.1.3 異步通信格式12.1.4 線路空閑多機模式12.1.5 地址位多機通信格式12.2 中斷和中斷允許12.2.1 USART接收允許12.2.2 USART發(fā)送允許12.2.3 USART接收中斷操作12.2.4 USART發(fā)送中斷操作12.3 控制和狀態(tài)寄存器12.3.1 USART控制寄存器UCTL12.3.2 發(fā)送控制寄存器UTCTL12.3.3 接收控制寄存器URCTL12.3.4 波特率選擇和調整控制寄存器12.3.5 USART接收數(shù)據(jù)緩存URXBUF12.3.6 USART發(fā)送數(shù)據(jù)緩存UTXBUF12.4 UART模式,低功耗模式應用特性12.4.1 由UART幀啟動接收操作12.4.2 時鐘頻率的充分利用與UART的波特率12.4.3 多處理機模式對節(jié)約MSP430資源的支持12.5 波特率計算 第13章 USART通信模塊的SPI功能13.1 USART同步操作13.1.1 SPI模式中的主模式13.1.2 SPI模式中的從模式13.2 中斷與控制功能 13.2.1 USART接收/發(fā)送允許位及接收操作13.2.2 USART接收/發(fā)送允許位及發(fā)送操作13.2.3 USART接收中斷操作13.2.4 USART發(fā)送中斷操作13.3 控制與狀態(tài)寄存器13.3.1 USART控制寄存器13.3.2 發(fā)送控制寄存器UTCTL13.3.3 接收控制寄存器URCTL13.3.4 波特率選擇和調制控制寄存器13.3.5 USART接收數(shù)據(jù)緩存URXBUF13.3.6 USART發(fā)送數(shù)據(jù)緩存UTXBUF第14章 比較器Comparator_A14.1 概 述14.2 比較器A原理14.2.1 輸入模擬開關14.2.2 輸入多路切換14.2.3 比較器14.2.4 輸出濾波器14.2.5 參考電平發(fā)生器14.2.6 比較器A中斷電路14.3 比較器A控制寄存器14.3.1 控制寄存器CACTL114.3.2 控制寄存器CACTL214.3.3 端口禁止寄存器CAPD14.4 比較器A應用14.4.1 模擬信號在數(shù)字端口的輸入14.4.2 比較器A測量電阻元件14.4.3 兩個獨立電阻元件的測量系統(tǒng)14.4.4 比較器A檢測電流或電壓14.4.5 比較器A測量電流或電壓14.4.6 測量比較器A的偏壓14.4.7 比較器A的偏壓補償14.4.8 增加比較器A的回差第15章 模數(shù)轉換器ADC1215.1 概 述15.2 ADC12的工作原理及操作15.2.1 ADC內核15.2.2 參考電平15.3 模擬輸入與多路切換15.3.1 模擬多路切換15.3.2 輸入信號15.3.3 熱敏二極管的使用15.4 轉換存儲15.5 轉換模式15.5.1 單通道單次轉換模式15.5.2 序列通道單次轉換模式15.5.3 單通道重復轉換模式15.5.4 序列通道重復轉換模式15.5.5 轉換模式之間的切換15.5.6 低功耗15.6 轉換時鐘與轉換速度15.7 采 樣15.7.1 采樣操作15.7.2 采樣信號輸入選擇15.7.3 采樣模式15.7.4 MSC位的使用15.7.5 采樣時序15.8 ADC12控制寄存器15.8.1 控制寄存器ADC12CTL0和ADC12CTL115.8.2 轉換存儲寄存器ADC12MEMx15.8.3 控制寄存器ADC12MCTLx15.8.4 中斷標志寄存器ADC12IFG.x和中斷允許寄存器ADC12IEN.x15.8.5 中斷向量寄存器ADC12IV15.9 ADC12接地與降噪第16章 FLASH型芯片的開發(fā)16.1 開發(fā)系統(tǒng)概述16.1.1 開發(fā)技術16.1.2 MSP430系列的開發(fā)16.1.3 MSP430F系列的開發(fā)16.2 FLASH型的FET開發(fā)方法16.2.1 MSP430芯片的JTAG接口16.2.2 FLASH型仿真工具16.3 FLASH型的BOOT ROM16.3.1 標準復位過程和進入BSL過程16.3.2 BSL的UART協(xié)議16.3.3 數(shù)據(jù)格式16.3.4 退出BSL16.3.5 保護口令16.3.6 BSL的內部設置和資源附錄A 尋址空間附錄B 指令說明B.1 指令匯總B.2 指令格式B.3 不增加ROM開銷的模擬指令B.4 指令說明(字母順序)B.5 用幾條指令模擬的宏指令附錄C MSP430系列單片機參數(shù)表附錄D MSP430系列單片機封裝形式附錄E MSP430系列器件命名

    標簽: flash MSP 430 超低功耗

    上傳時間: 2014-04-28

    上傳用戶:sssnaxie

  • Arduino控制器使用圖文教程

      Arduino 是一塊基于開放原始代碼的Simple i/o 平臺,并且具有使用類似java,C 語言的開發(fā)環(huán)境。讓您可以快速 使用Arduino 語言與Flash 或Processing…等軟件,作出互動作品。Arduino 可以使用開發(fā)完成的電子元件例如Switch 或Sensors 或其他控制器、LED、步進電機或其他輸出裝置。Arduino 也可以獨立運作成為一個可以跟軟件溝通的平臺,例如說:flash processing Max/MSP VVVV 或其他互動軟件…   Arduino 開發(fā)IDE界面基于開放原始碼原則,可以讓您免費下載使用開發(fā)出更多令人驚奇的互動作品。 什么是Roboduino? DFRduino 與Arduino 完全兼容,只是在原來的基礎上作了些改進。Arduino 的IO 使用的孔座,做互動作品需要面包板和針線搭配才能進行,而DFRduino 的IO 使用針座,使用我們的杜邦線就可以直接把各種傳感器連接到DFRduino 上。 特色描述 1. 開放原始碼的電路圖設計,程式開發(fā)界面免費下載,也可依需求自己修改!! 2. DFRduino 可使用ISP 下載線,自我將新的IC 程序燒入「bootloader」; 3. 可依據(jù)官方電路圖,簡化DFRduino 模組,完成獨立云作的微處理控制器; 4. 可簡單地與傳感器、各式各樣的電子元件連接(如:紅外線,超聲波,熱敏電阻,光敏電阻,伺服電機等); 5. 支援多樣的互動程式 如: Flash,Max/Msp,VVVV,PD,C,Processing 等; 6. 使用低價格的微處理控制器(ATMEGA168V-10PI); 7. USB 接口,不需外接電源,另外有提供9VDC 輸入接口; 8. 應用方面,利用DFRduino,突破以往只能使用滑鼠,鍵盤,CCD 等輸入的裝置的互動內容,可以更簡單地達成單人或多人游戲互動。 性能描述 1. Digital I/O 數(shù)字輸入/輸出端共 0~13。 2. Analog I/O 模擬輸入/輸出端共 0~5。 3. 支持USB 接口協(xié)議及供電(不需外接電源)。 4. 支持ISP 下載功能。 5. 支持單片機TX/RX 端子。 6. 支持USB TX/RX 端子。 7. 支持AREF 端子。 8. 支持六組PWM 端子(Pin11,Pin10,Pin9,Pin6,Pin5,Pin3)。 9. 輸入電壓:接上USB 時無須外部供電或外部5V~9V DC 輸入。 10.輸出電壓:5V DC 輸出和3.3V DC 輸出 和外部電源輸入。 11.采用Atmel Atmega168V-10PI 單片機。 12.DFRduino 大小尺寸:寬70mm X 高54mm。 Arduino開發(fā)板圖片

    標簽: Arduino 控制器 圖文教程

    上傳時間: 2013-10-30

    上傳用戶:wangzhen1990

  • java+jsp+mysql

    java+jsp+mysql,B/S結構,內置日志記錄系統(tǒng),使用事務保證數(shù)據(jù)完整性,組件化開發(fā)

    標簽: mysql java jsp

    上傳時間: 2014-01-19

    上傳用戶:wcl168881111111

  • 安裝 winxp sp3 後

    安裝 winxp sp3 後,我的電腦右鍵無法開啟裝置管理員與服務的問題解決

    標簽: winxp sp3

    上傳時間: 2016-11-21

    上傳用戶:siguazgb

  • 本文是以數(shù)位訊號處理器DSP(Digital Singal Processor)之核心架構為主體的數(shù)位式溫度控制器開發(fā)

    本文是以數(shù)位訊號處理器DSP(Digital Singal Processor)之核心架構為主體的數(shù)位式溫度控制器開發(fā),而其主要分為硬體電路與軟體程式兩部分來完成。而就硬體電路來看分為量測電路模組、DSP周邊電路及RS232通訊模組、輸出模組三個部分,其中在輸出上可分為電流輸出、電壓輸出以及binary command給加熱驅動裝置, RS232 除了可以與PC聯(lián)絡外也可以與具有CPU的熱能驅動器做命令傳輸。在計畫中分析現(xiàn)有工業(yè)用加熱驅動裝置和溫度曲線的關係,並瞭解其控制情況。軟體方面即是溫控器之中央處理器程式,亦即DSP控制程式,其中包括控制理論、感測器線性轉換程式、I/O介面及通訊協(xié)定相關程式。在控制法則上,提出一個新的加熱體描述模型,然後以前饋控制為主並輔以PID控制,得到不錯的控制結果。

    標簽: Processor Digital Singal DSP

    上傳時間: 2013-12-24

    上傳用戶:zjf3110

  • 越南 山陽港暨臺塑河靜鋼廠 安防系統(tǒng)規(guī)畫

    文件中規(guī)劃進行多系統(tǒng)的整合應用,包含了~~~ 微型雷達偵測系統(tǒng) 熱感紅外線攝影機 可見光紅外線攝影機 無線網(wǎng)路傳輸應用 後端警報管理平臺

    標簽: 安防系統(tǒng) 規(guī)畫建議

    上傳時間: 2015-03-18

    上傳用戶:戴斗笠的神秘人

  • 12345

    /****************temic*********t5557***********************************/    #include   <at892051.h>     #include   <string.h>    #include   <intrins.h>     #include   <stdio.h>     #define    uchar    unsigned char     #define    uint     unsigned int     #define    ulong    unsigned long     //STC12C2051AD的SFR定義     sfr  WDT_CONTR = 0xe1;//stc2051的看門狗??????     /**********全局常量************/    //寫卡的命令     #define    write_command0       0//寫密碼     #define    write_command1       1//寫配置字     #define    write_command2       2//密碼寫數(shù)據(jù)     #define    write_command3       3//喚醒     #define    write_command4       4//停止命令     #define    TRUE       1     #define    FALSE      0     #define    OK         0     #define    ERROR      255     //讀卡的時間參數(shù)us     #define ts_min          250//270*11.0592/12=249//取近似的整數(shù)     #define ts_max          304//330*11.0592/12=304     #define t1_min          73//90*11.0592/12=83:-10調整     #define t1_max          156//180*11.0592/12=166     #define t2_min          184//210*11.0592/12=194     #define t2_max          267//300*11.0592/12=276     //***********不采用中斷處理:采用查詢的方法讀卡時關所有中斷****************/     sbit p_U2270B_Standby = P3^5;//p_U2270B_Standby PIN=13     sbit p_U2270B_CFE = P3^3;//p_U2270B_CFE     PIN=6     sbit p_U2270B_OutPut = P3^7;//p_U2270B_OutPut  PIN=2     sbit wtd_sck = P1^7;//SPI總線     sbit wtd_si = P1^3;    sbit wtd_so = P1^2;    sbit iic_data = P1^2;//lcd IIC     sbit iic_clk = P1^7;    sbit led_light = P1^6;//測試綠燈     sbit led_light1 = P1^5;//測試紅燈     sbit led_light_ok  = P1^1;//讀卡成功標志     sbit fengmingqi = P1^5;    /***********全局變量************************************/       uchar data Nkey_a[4] = {0xA0, 0xA1, 0xA2, 0xA3};//初始密碼             //uchar idata card_snr[4];   //配置字     uchar data bankdata[28] = {1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7};     //存儲卡上用戶數(shù)據(jù)(1-7)7*4=28     uchar data cominceptbuff[6] = {1,2,3,4,5,6};//串口接收數(shù)組ram     uchar command; //第一個命令     uchar command1;//     //uint  temp;     uchar j,i;    uchar myaddr = 8;    //uchar ywqz_count,time_count;             //ywqz jishu:     uchar bdata DATA;    sbit BIT0 = DATA^0;    sbit BIT1 = DATA^1;    sbit BIT2 = DATA^2;    sbit BIT3 = DATA^3;    sbit BIT4 = DATA^4;    sbit BIT5 = DATA^5;    sbit BIT6 = DATA^6;    sbit BIT7 = DATA^7;    uchar bdata DATA1;    sbit BIT10 = DATA1^0;    sbit BIT11 = DATA1^1;    sbit BIT12 = DATA1^2;    sbit BIT13 = DATA1^3;    sbit BIT14 = DATA1^4;    sbit BIT15 = DATA1^5;    sbit BIT16 = DATA1^6;    sbit BIT17 = DATA1^7;    bit i_CurrentLevel;//i_CurrentLevel  BIT 00H(Saves current level of OutPut pin of U2270B)     bit timer1_end;    bit read_ok = 0;    //緩存定時值,因用同一個定時器     union HLint { uint W;    struct   {    uchar H;uchar L;   }   B; };//union HLint idata a     union HLint data a;    //緩存定時值,因用同一個定時器     union HLint0 { uint W;    struct {   uchar H;   uchar L; } B; };//union HLint idata a     union HLint0 data b;    /**********************函數(shù)原型*****************/    //讀寫操作     void f_readcard(void);//全部讀出1~7 AOR喚醒     void f_writecard(uchar x);//根據(jù)命令寫不同的內容和操作     void f_clearpassword(void);//清除密碼     void f_changepassword(void);//修改密碼     //功能子函數(shù)     void write_password(uchar data *data p);//寫初始密碼或數(shù)據(jù)     void write_block(uchar x,uchar data *data p);//不能用通用指針     void write_bit(bit x);//寫位     /*子函數(shù)區(qū)*****************************************************/    void delay_2(uint x)    //延時,時間x*10us@12mhz,最小20us@12mhz     {    x--; x--;    while(x)    {      _nop_();      _nop_();      x--;    }    _nop_();//WDT_CONTR=0X3C;不能頻繁的復位     _nop_();    }    /////////////////////////////////////////////////////////////////////     void initial(void)    {    SCON = 0x50; //串口方式1,允許接收     //SCON  =0x50;     //01010000B:10位異步收發(fā),波特率可變,SM2=0不用接收到有效停止位才RI=1,     //REN=1允許接收     TMOD = 0x21; //定時器1 定時方式2(8位),定時器0 定時方式1(16位)     TCON = 0x40; //設定時器1 允許開始計時(IT1=1)     TH1 = 0xfD;  //FB 18.432MHz 9600 波特率     TL1 = 0xfD;  //fd 11.0592 9600     IE = 0X90;     //EA=ES=1     TR1 = 1;     //啟動定時器     WDT_CONTR = 0x3c;//使能看門狗     p_U2270B_Standby = 0;//單電源     PCON = 0x00;    IP = 0x10;//uart you xian XXXPS PT1 PX1 PT0 PX0     led_light1 = 1;    led_light = 0;    p_U2270B_OutPut = 1;    }    /************************************************/    void f_readcard()//讀卡     {    EA = 0;//全關,防止影響跳變的定時器計時     WDT_CONTR = 0X3C;//喂狗     p_U2270B_CFE = 1;//      delay_2(232);  //>2.5ms            /*   //   aor    用喚醒功能來防碰撞   p_U2270B_CFE = 0; delay_2(18);//start gap>150us   write_bit(1);//10=操作碼讀0頁   write_bit(0);       write_password(&bankdata[24]);//密碼block7   p_U2270B_CFE =1 ;//    delay_2(516);//編程及確認時間5.6ms   */    WDT_CONTR = 0X3C;//喂狗     led_light = 0;    b.W = 0;    while(!(read_ok == 1))    {             //while(p_U2270B_OutPut);//等一個穩(wěn)定的低電平?超時判斷?              while(!p_U2270B_OutPut);//等待上升沿的到來同步信號檢測1       TR0 = 1;      //deng xia jiang       while(p_U2270B_OutPut);//等待下降沿       TR0 = 0;   a.B.H = TH0;   a.B.L = TL0;   TH0 = TL0 = 0;   TR0 = 1;//定時器晚啟動10個周期       //同步頭       if((324 < a.W) && (a.W < 353)) ;//檢測同步信號1                  else     {     TR0 = 0;     TH0 = TL0 = 0;     goto read_error;    }      //等待上升沿        while(!p_U2270B_OutPut);   TR0 = 0;   a.B.H = TH0;   a.B.L = TL0;   TH0 = TL0 = 0;   TR0 = 1;//b.N1<<=8;            if(a.B.L < 195);//0.5p       else     {     TR0 = 0;     TH0 = TL0 = 0;     goto read_error;    }      //讀0~7塊的數(shù)據(jù)       for(j = 0;j < 28;j++)      {       //uchar i;                  for(i = 0;i < 16;i++)//8個位        {        //等待下降沿的到來         while(p_U2270B_OutPut);                TR0 = 0;     a.B.H = TH0;     a.B.L = TL0;     TH0 = TL0 = 0;     TR0 = 1;              if(t2_max < a.W/*)&&(a.W < t2_max)*/)//1P          {         b.W >>= 2;//先左移再賦值          b.B.L += 0xc0;                             i++;        }        else if(t1_min < a.B.L/*)&&(a.B.L < t1_max)*/)//0.5p         {         b.W >>= 1;         b.B.L += 0x80;                           }        else      {      TR0 = 0;      TH0 = TL0 = 0;      goto read_error;     }        i++;        while(!p_U2270B_OutPut);//上升                   TR0 = 0;     a.B.H = TH0;     a.B.L = TL0;     TH0 = TL0 = 0;     TR0 = 1;                      if(t2_min < a.W/*)&&(a.W < t2_max)*/)//1P          {         b.W >>= 2;         i++;        }        else if(t1_min < a.B.L/*a.W)&&(a.B.L < t1_max)*/)//0.5P         //else if(!(a.W==0))         {         b.W >>= 1;         //temp+=0x00;          //led_light1=0;led_light=1;delay_2(40000);         }        else      {      TR0 = 0;      TH0 = TL0 = 0;      goto read_error;     }        i++;       }       //取出奇位        DATA = b.B.L;       BIT13 = BIT7;    BIT12 = BIT5;    BIT11 = BIT3;    BIT10 = BIT1;       DATA = b.B.H;       BIT17 = BIT7;    BIT16 = BIT5;    BIT15 = BIT3;    BIT14 = BIT1;       bankdata[j] = DATA1;      }              read_ok = 1;//讀卡完成了     read_error:    _nop_();    }       }    /***************************************************/    void f_writecard(uchar x)//寫卡     {    p_U2270B_CFE = 1;    delay_2(232);  //>2.5ms            //psw=0 standard write     if (x == write_command0)//寫密碼:初始化密碼     {      uchar i;      uchar data *data p;      p = cominceptbuff;      p_U2270B_CFE = 0;   delay_2(31);//start gap>330us       write_bit(1);//寫操作碼1:10       write_bit(0);//寫操作碼0       write_bit(0);//寫鎖定位0       for(i = 0;i < 35;i++)      {       write_bit(1);//寫數(shù)據(jù)位1       }      p_U2270B_CFE = 1;      led_light1 = 0;   led_light = 1;   delay_2(40000);//測試使用       //write_block(cominceptbuff[4],p);       p_U2270B_CFE = 1;      bankdata[20] = cominceptbuff[0];//密碼存入       bankdata[21] = cominceptbuff[1];      bankdata[22] = cominceptbuff[2];      bankdata[23] = cominceptbuff[3];    }    else if (x == write_command1)//配置卡參數(shù):初始化     {      uchar data *data p;      p = cominceptbuff;      write_bit(1);//寫操作碼1:10       write_bit(0);//寫操作碼0       write_bit(0);//寫鎖定位0               write_block(cominceptbuff[4],p);      p_U2270B_CFE=  1;    }    //psw=1  pssword mode     else if(x == write_command2)  //密碼寫數(shù)據(jù)    {      uchar data*data p;      p = &bankdata[24];      write_bit(1);//寫操作碼1:10       write_bit(0);//寫操作碼0       write_password(p);//發(fā)口令       write_bit(0);//寫鎖定位0       p = cominceptbuff;      write_block(cominceptbuff[4],p);//寫數(shù)據(jù)            }    else if(x == write_command3)//aor    //喚醒 {      //cominceptbuff[1]操作碼10 X xxxxxB       uchar data *data p;      p = cominceptbuff;      write_bit(1);//10       write_bit(0);             write_password(p);//密碼       p_U2270B_CFE = 1;//此時數(shù)據(jù)不停的循環(huán)傳出     }    else //停止操作碼     {      write_bit(1);//11       write_bit(1);             p_U2270B_CFE = 1;         }    p_U2270B_CFE = 1;    delay_2(560);//5.6ms     }    /************************************/    void f_clearpassword()//清除密碼     {    uchar data *data p;    uchar i,x;          p = &bankdata[24];//原密碼     p_U2270B_CFE = 0; delay_2(18);//start gap>150us     //操作碼10:10xxxxxxB     write_bit(1);    write_bit(0);              for(x = 0;x < 4;x++)//發(fā)原密碼     {             DATA = *(p++);      for(i = 0;i < 8;i++)      {       write_bit(BIT0);       DATA >>= 1;      }    }    write_bit(0);//鎖定位0:0     p = &cominceptbuff[0];    write_block(0x00,p);//寫新配置參數(shù):pwd=0             //密碼無效:即清除密碼     DATA = 0x00;//停止操作碼00000000B     for(i = 0;i < 2;i++)    {    write_bit(BIT7);    DATA <<= 1;    }    p_U2270B_CFE = 1;       delay_2(560);//5.6ms     }    /*********************************/    void f_changepassword()//修改密碼            {       uchar data *data p;    uchar i,x,addr;    addr = 0x07;//block7     p = &Nkey_a[0];//原密碼     DATA = 0x80;//操作碼10:10xxxxxxB     for(i = 0;i < 2;i++)    {      write_bit(BIT7);      DATA <<= 1;    }    for(x = 0;x < 4;x++)//發(fā)原密碼     {             DATA = *(p++);      for(i = 0;i < 8;i++)      {       write_bit(BIT7);       DATA >>= 1;      }    }    write_bit(0);//鎖定位0:0     p = &cominceptbuff[0];    write_block(0x07,p);//寫新密碼     p_U2270B_CFE = 1;    bankdata[24] = cominceptbuff[0];//密碼存入     bankdata[25] = cominceptbuff[1];    bankdata[26] = cominceptbuff[2];    bankdata[27] = cominceptbuff[3];    DATA = 0x00;//停止操作碼00000000B     for(i = 0;i < 2;i++)    {      write_bit(BIT7);      DATA <<= 1;    }    p_U2270B_CFE = 1;       delay_2(560);//5.6ms     }    /***************************子函數(shù)***********************************/    void write_bit(bit x)//寫一位     {    if(x)    {      p_U2270B_CFE = 1;   delay_2(32);//448*11.0592/120=42延時448us       p_U2270B_CFE = 0;   delay_2(28);//280*11.0592/120=26寫1     }    else    {      p_U2270B_CFE = 1;   delay_2(92);//192*11.0592/120=18       p_U2270B_CFE = 0;   delay_2(28);//280*11.0592/120=26寫0     }    }    /*******************寫一個block*******************/    void write_block(uchar addr,uchar data *data p)    {    uchar i,j;        for(i = 0;i < 4;i++)//block0數(shù)據(jù)     {             DATA = *(p++);      for(j = 0;j < 8;j++)      {       write_bit(BIT0);       DATA >>= 1;      }    }    DATA = addr <<= 5;//0地址     for(i = 0;i < 3;i++)    {      write_bit(BIT7);      DATA <<= 1;    }                   }    /*************************************************/    void write_password(uchar data *data p)    {    uchar i,j;        for(i = 0;i < 4;i++)//     {             DATA = *(p++);      for(j = 0;j < 8;j++)      {       write_bit(BIT0);       DATA >>= 1;      }    }        }   /*************************************************/   void main()    {    initial();    TI = RI = 0;    ES = 1;    EA = 1;  delay_2(28);   //f_readcard();     while(1) {   f_readcard();      //讀卡   f_writecard(command1);  //寫卡    f_clearpassword();   //清除密碼     f_changepassword();    //修改密碼 } }

    標簽: 12345

    上傳時間: 2017-10-20

    上傳用戶:my_lcs

  • VIP專區(qū)-單片機源代碼精選合集系列(52)

    eeworm.com VIP專區(qū) 單片機源碼系列 51資源包含以下內容:1. Atmel 90系列AVR單片機燒錄器.zip2. 可在線系統(tǒng)編程的智能鍵盤和數(shù)碼管顯示系統(tǒng).pdf3. 調Q Nd∶YAG環(huán)形腔外腔倍頻技術研究.pdf4. 基于C8051F930的管道溫度壓力遠程監(jiān)測系統(tǒng).pdf5. PCF8578 LCD圖形點陣液晶驅動器芯片簡介及封裝庫.zip6. 單片機控制的半導體激光器穩(wěn)光強器的研究.pdf7. PCF8563 低價時鐘芯片數(shù)據(jù)手冊及封裝庫.zip8. MAX7456在可視倒車雷達中的應用.pdf9. 基于AVR單片機的船舶氣象儀測試系統(tǒng)的設計.pdf10. PCF8562 低復用率的通用LCD驅動器數(shù)據(jù)手冊及封裝庫.zip11. 基于IC卡的新型供暖計費系統(tǒng)設計.pdf12. 基于C8051F340控制的TD直放站控制方案設計.pdf13. 基于單片機AT89C51的MP3播放系統(tǒng)的設計方案.pdf14. PCF2116系列LCD驅動器芯片簡介及封裝庫.zip15. PIC單片機在汽車電動車窗控制器中的應用.pdf16. CAT9555 I2C IO擴展芯片產(chǎn)品數(shù)據(jù)手冊及封裝庫.zip17. 基于MSP430單片機和DS18B20的數(shù)字溫度計.pdf18. 基于OMAP1510的mp3播放器設計.rar19. CAT9554 I2C總線擴展器產(chǎn)品數(shù)據(jù)手冊.pdf20. 基于雙ATmega128的安檢力學試驗機設計.pdf21. 單片機間雙工串行通訊.rar22. CAT93C46 器件數(shù)據(jù)手冊.pdf23. 基于自編程功能的MCU Bootloader設計.pdf24. DP-51PROD單片機教學實驗儀簡介.pdf25. 激光掃描車身坐標測量數(shù)據(jù)采集系統(tǒng)的設計.pdf26. 基于MSP430的自控式骨矯形器的設計與實現(xiàn).pdf27. 基于MSP430單片機的電子汽車限速器的研究.pdf28. 基于BF561的智能視頻監(jiān)控儀的設計.pdf29. 基于555定時器的雙音門鈴電路設計.doc30. TKScope完美支持AVR內核的仿真.pdf31. AT89C51與ISD4003組成的語音報價系統(tǒng).pdf32. EDS-1210 嵌入式以太網(wǎng)交換機模塊數(shù)據(jù)手冊.pdf33. PIC燒錄器.doc34. 刪繁就簡-單片機入門到精通.pdf35. 基于AT89S51系列單片機實時語音播報的超聲波測距儀設計.pdf36. 基于AT89S52 的水溫控制系統(tǒng)的設計.pdf37. 基于單片機和串行EEPROM的智能密碼鎖的設計與制作.doc38. 單片機模糊控制在電加熱爐溫度控制系統(tǒng)中的應用.pdf39. 基于單片機的語音電子鐘設計.doc40. 單片機內部密碼破解的常用方法.doc41. 基于單片機的信號產(chǎn)生電路的設計.doc42. 在單片機上實現(xiàn)USB移動存儲.doc43. 基于單片機的機械手控制系統(tǒng)研究.pdf44. 基于單片機SPCE061A的多功能數(shù)字鐘設計.doc45. 基于51單片機電子密碼鎖的Proteus仿真設計.pdf46. 單片機人機交互系統(tǒng)的C51編程.pdf47. Keil和Proteus在單片機實驗教學中的應用.pdf48. 基于ATMEGA128單片機的節(jié)水灌溉系統(tǒng)設計.pdf49. 超齊全單片機工具集.rar50. 基于msp430單片機的便攜式數(shù)字傾角儀的研制.rar51. keilA51原版教程.pdf52. STM32F10x開發(fā)調試工具一覽.pdf53. X波段雙頻高功率返波振蕩器的數(shù)值研究.pdf54. AVR單片機實用程序設計.doc55. STM32F10xxx+調試應用示例.rar56. 基于單片機的多I/O節(jié)點開發(fā)設計.pdf57. 74LS138譯碼器應用--基于8051+Proteus仿真.rar58. STM32F10xxx+USART應用實例.rar59. 深入淺出MFC簡體中文版.doc60. 可以調控的走馬燈(基于8051+Proteus仿真).rar61. STM32F10xxx+TIM應用實例.rar62. PIC單片機中檔資料說明.pdf63. STM32 PCB封裝庫.rar64. STM32F10xxx+TIM1+應用實例.rar65. 用Verilog實現(xiàn)8255芯片功能.rar66. 單片機軟件系統(tǒng)設計教程.pdf67. STM32F10xxx+SPI+應用示例.rar68. C8051F單片機應用解析.rar69. STM32F10xxx+GPIO應用示例.rar70. 精通VerilogHDL:IC設計核心技術實例詳解.rar71. 基于STC89C52單片機控制的超聲波汽車防撞系統(tǒng).pdf72. STM32F10xxx+DMA+控制器應用實例.rar73. STM32F10xxx+IIC+應用實例.rar74. STM32F10xxx+CAN應用實例.rar75. 基于STC89C51的鼠標改裝PPT遙控.zip76. STM32F10xxx+ADC應用實例.rar77. 雙MSP430單片機結構數(shù)字渦街流量計.doc78. STC89C51定時器2的應用.rar79. 基于AT89C51單片機控制的遙控器的設計.pdf80. 單片機實現(xiàn)的嵌入式因特網(wǎng)終端設計.doc81. 單片機作息時間控制.doc82. 基于VB與單片機的溫度測控系統(tǒng)設計.doc83. STC單片機程序下載器設計.pdf84. 基于MSP430單片機的SD卡讀寫.pdf85. 基于PIC16F877A的車內有害氣體檢測控制系統(tǒng)設計.pdf86. F2812的片內資源、存儲器映射以及CMD文件的編寫.pdf87. 基于PIC16F877A的方波信號發(fā)生器電路設計.pdf88. 單片脈沖計數(shù).doc89. 單片微機的定時器計數(shù)器原理及應用.ppt90. 基于ISP1581的USB 數(shù)據(jù)采集系統(tǒng)的實現(xiàn).pdf91. 基于單片機的渦輪流量計顯示儀表的設計.pdf92. STC單片機開發(fā)板操作手冊.doc93. 基于TMS320F2812的智能數(shù)字調節(jié)器.pdf94. 基于PN532的接觸式和非接觸式讀卡器設計.pdf95. 基于C8051F410的光電式引張線儀設計.pdf96. 利用單片機控制交通燈與倒記時顯示.pdf97. ISD4004語音芯片的內部存儲信息管理.pdf98. 具有模擬信號處理能力單片機簡評--單片機選擇和使用(簡介篇).pdf99. 基于AVR單片機的自動對靶噴霧控制系統(tǒng)設計.pdf100. ds18b20程序.doc

    標簽: 數(shù)字電子技術 電子教案

    上傳時間: 2013-04-15

    上傳用戶:eeworm

  • 基于FPGA的多頭激光測距系統(tǒng).rar

    根據(jù)交通部公布的數(shù)據(jù),交通事故呈逐年上升趨勢,交通事故不僅給公民的財產(chǎn)造成了損失,而且給公民的人身安全也會造成威脅。因此如何更好地避免交通事故成為一個焦點課題,汽車安全系統(tǒng)更是成為汽車生產(chǎn)商和研究機構的研究熱點。 當前汽車安全系統(tǒng)有兩大種類:一是被動式安全系統(tǒng)。例如:安全帶,安全氣囊等。二是主動式安全系統(tǒng)。主動安全系統(tǒng)又分為主動被動式和主動自動式。前者有ABS等。后者有汽車自動防撞系統(tǒng)和倒車雷達等。 本文采用激光測距系統(tǒng),開發(fā)一種汽車在高速公路上行駛的主動式防撞系統(tǒng),本文的重點是開發(fā)測距預警系統(tǒng),采用專門的激光測距芯片和接收芯片,并采用FPGA(Filed Programmable Gate Array)作為主控芯片,對前車進行有效的監(jiān)控,根據(jù)檢測得到的數(shù)據(jù),實時提出建議和報警,提醒駕駛員減速或者采取制動措施,從而達到預防追尾碰撞的目的。本文工作主要有以下幾個方面: 1) 在比較分析激光、雷達和毫米波等測距方法的基礎上,根據(jù)市場需求及潛在用戶分析,確定采用激光脈沖測距方式。針對激光脈沖測距存在的技術難題,提出以FPGA作為系統(tǒng)核心控制模塊的測距系統(tǒng)設計方案。 2) 根據(jù)對車載動態(tài)測距系統(tǒng)測量精度、測量頻率和測量范圍的基本要求,結合脈沖激光測距的特點,提出采用多頭脈沖激光測距和多周期脈沖測量的技術方案。該方案可有效提高系統(tǒng)測距精度和測量范圍,降低系統(tǒng)成本。 3) 基于上述方案,完成了基于FPGA的多頭脈沖激光測距系統(tǒng)的各功能模塊的詳細設計、功能仿真、綜合優(yōu)化及板級測試實驗。實驗表明,各主要功能模塊基本達到預期設計要求,為測距系統(tǒng)的后期開發(fā)奠定了基礎。 4) 完成了激光測距傳感器外圍光電轉換電路、電源轉換電路及通訊接口的設計、制作、安裝及實驗室調試。 5) 最后對論文研究工作進行了總結,提出了系統(tǒng)的不足之處和進一步研究工作的方向。

    標簽: FPGA 激光測距系統(tǒng)

    上傳時間: 2013-05-24

    上傳用戶:yoleeson

  • 可重構FPGA通訊糾錯進化電路及其實現(xiàn)

    ASIC對產(chǎn)品成本和靈活性有一定的要求.基于MCU方式的ASIC具有較高的靈活性和較低的成本,然而抗干擾性和可靠性相對較低,運算速度也受到限制.常規(guī)ASIC的硬件具有速度優(yōu)勢和較高的可靠性及抗干擾能力,然而不是靈活性較差,就是成本較高.與傳統(tǒng)硬件(CHW)相比,具有一定可配置特性的場可編程門陣列(FPGA)的出現(xiàn),使建立在可再配置硬件基礎上的進化硬件(EHW)成為智能硬件電路設計的一種新方法.作為進化算法和可編程器件技術相結合的產(chǎn)物,可重構FPGA的研究屬于EHW的研究范疇,是研究EHW的一種具體的實現(xiàn)方法.論文認為面向分類的專用類可重構FPGA(ASR-FPGA)的研究,可使可重構電路粒度劃分的針對性更強、設計更易實現(xiàn).論文研究的可重構FPGA的BCH通訊糾錯碼進化電路是一類ASR-FPGA電路的具體方法,具有一定的實用價值.論文所做的工作主要包括:(1)BCH編譯碼電路的設計——求取實驗用BCH碼的生成多項式和校驗多項式及其相應的矩陣并構造實驗用BCH碼;(2)建立基于可重構FPGA的基核——構造具有可重構特性的硬件功能單元,以此作為可重構BCH碼電路的設計基礎;(3)構造實現(xiàn)可重構BCH糾錯碼電路的方法——建立可重構糾錯碼硬件電路算法并進行實驗驗證;(4)在可重構糾錯碼電路基礎上,構造進化硬件控制功能塊的結構,完成各進化RLA控制模塊的驗證和實現(xiàn).課題是將可重構BCH碼的編譯碼電路的實現(xiàn)作為一類ASR-FPGA的研究目標,主要成果是根據(jù)可編程邏輯電路的特點,選擇一種可編程樹的電路模型,并將它作為可重構FPGA電路的基核T;通過對循環(huán)BCH糾錯碼的構造原理和電路結構的研究,將基核模型擴展為能滿足糾錯碼電路需要的糾錯碼基本功能單元T;以T作為再劃分的基本單元,對FPGA進行"格式化",使T規(guī)則排列在FPGA上,通過對T的控制端的不同配置來實現(xiàn)糾錯碼的各個功能單元;在可重構基核的基礎上提出了糾錯碼重構電路的嵌套式GA理論模型,將嵌套式GA的染色體串作為進化硬件描述語言,通過轉換為相應的VHDL語言描述以實現(xiàn)硬件電路;采用RLA模型的有限狀態(tài)機FSM方式實現(xiàn)了可重構糾錯碼電路的EHW的各個控制功能塊.在實驗方面,利用Xilinx FPGA開發(fā)系統(tǒng)中的VHDL語言和電路圖相結合的設計方法建立了循環(huán)糾錯碼基核單元的可重構模型,進行循環(huán)糾錯BCH碼的電路和功能仿真,在Xilinx公司的Virtex600E芯片進行了FPGA實現(xiàn).課題在研究模型上選取的是比較基本的BCH糾錯碼電路,立足于解決基于可重構FPGA核的設計的基本問題.課題的研究成果及其總結的一套ASR-FPGA進化硬件電路的設計方法對實際的進化硬件設計具有一定的實際指導意義,提出的基于專用類基核FPGA電路結構的研究方法為新型進化硬件的器件結構的設計也可提供一種借鑒.

    標簽: FPGA 可重構 通訊 糾錯

    上傳時間: 2013-07-01

    上傳用戶:myworkpost

主站蜘蛛池模板: 沈丘县| 禹州市| 潢川县| 会理县| 沭阳县| 东源县| 库车县| 静安区| 芜湖县| 呼伦贝尔市| 泗阳县| 邓州市| 北川| 阿克陶县| 思南县| 临高县| 江油市| 永州市| 南充市| 浦县| 海盐县| 白水县| 梁山县| 保定市| 延边| 古交市| 信丰县| 庐江县| 繁昌县| 苏尼特左旗| 故城县| 东海县| 咸阳市| 永安市| 攀枝花市| 寿阳县| 山西省| 台中县| 织金县| 合山市| 仙桃市|