自己在學校的時候做的一些單片機仿真實例和一些資料,希望對大家有些幫助
上傳時間: 2013-11-08
上傳用戶:oojj
AT89C2051驅動步進電機的電路和源碼:AT89C2051驅動步進電機的電路和源碼 程序: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.hregister 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() */main(){ flag1=0; serinit(9600); disable(); /* no need timer interrupt */ cw_n = n; /* initial step number for cw */ flag1 |=0x01; /* initial enable cw() */while(1){ { tick_wait(); /* wait for 10ms elapsed */energize(); /* round-robin execution the following tasks every 10ms */ cw(); ccw(); } }}cw(){ if((flag1&0x01)!=0) { cw_n--; /* decrement cw step number */ if (cw_n !=0) j++; /* if not zero increment index j */ else {flag1&=~0x01; /* disable cw() execution */ ccw_n = n; /* reload step number to ccw counter */ flag1 |=0x02; /* enable cww() execution */ } }
上傳時間: 2013-11-21
上傳用戶:boyaboy
MCS-51系列單片機指令A表MCS-51系列單片機指令d表MCS-51系列單片機指令c表MCS-51系列單片機指令i表MCS-51系列單片機指令j表MCS-51系列單片機指令l表MCS-51系列單片機指令m表MCS-51系列單片機指令n表MCS-51系列單片機指令i表MCS-51系列單片機指令s表MCS-51系列單片機指令x表
上傳時間: 2014-03-27
上傳用戶:chengxin
微型計算機課程設計論文—通用微機發聲程序的匯編設計 本文講述了在微型計算機中利用可編程時間間隔定時器的通用發聲程序設計,重點講述了程序的發聲原理,節拍的產生,按節拍改變的動畫程序原理,并以設計一個簡單的樂曲評分程序為引子,分析程序設計的細節。關鍵字:微機 8253 通用發聲程序 動畫技術 直接寫屏 1. 可編程時間間隔定時器8253在通用個人計算機中,有一個可編程時間間隔定時器8253,它能夠根據程序提供的計數值和工作方式,產生各種形狀和各種頻率的計數/定時脈沖,提供給系統各個部件使用。本設計是利用計算機控制發聲的原理,編寫演奏樂曲的程序。 在8253/54定時器內部有3個獨立工作的計數器:計數器0,計數器1和計數器2,每個計數器都分配有一個斷口地址,分別為40H,41H和42H.8253/54內部還有一個公用的控制寄存器,端地址為43H.端口地址輸入到8253/54的CS,AL,A0端,分別對3個計數器和控制器尋址. 對8353/54編程時,先要設定控制字,以選擇計數器,確定工作方式和計數值的格式.每計數器由三個引腳與外部聯系,見教材第320頁圖9-1.CLK為時鐘輸入端,GATE為門控信號輸入端,OUT為計數/定時信號輸入端.每個計數器中包含一個16位計數寄存器,這個計數器時以倒計數的方式計數的,也就是說,從計數初值逐次減1,直到減為0為止. 8253/54的三個計數器是分別編程的,在對任一個計數器編程時,必須首先講控制字節寫入控制寄存器.控制字的作用是告訴8253/54選擇哪個計數器工作,要求輸出什么樣的脈沖波形.另外,對8253/54的初始化工作還包括,向選定的計數器輸入一個計數初值,因為這個計數值可以是8為的,也可以是16為的,而8253/5的數據總線是8位的,所以要用兩條輸出指令來寫入初值.下面給出8253/54初始化程序段的一個例子,將計數器2設定為方式3,(關于計數器的工作方式參閱教材第325—330頁)計數初值為65536. MOV AL,10110110B ;選擇計數器2,按方式3工作,計數值是二進制格式 OUT 43H,AL ; j將控制字送入控制寄存器 MOV AL,0 ;計數初值為0 OUT 42H,AL ;將計數初值的低字節送入計數器2 OUT 42H,AL ;將計數初值的高字節送入計數器2 在IBM PC中8253/54的三個時鐘端CLK0,CLK1和CLK2的輸入頻率都是1.1931817MHZ. PC機上的大多數I/O都是由主板上的8255(或8255A)可編程序外圍接口芯片(PPI)管理的.關于8255A的結構和工作原理及應用舉例參閱教材第340—373頁.教材第364頁的”PC/XT機中的揚聲器接口電路”一節介紹了揚聲器的驅動原理,并給出了通用發聲程序.本設計正是基于這個原理,通過編程,控制加到揚聲器上的信號的頻率,奏出樂曲的.2.發聲程序的設計下面是能產生頻率為f的通用發聲程序:MOV AL, 10110110B ;8253控制字:通道2,先寫低字節,后寫高字節 ;方式3,二進制計數OUT 43H, AL ;寫入控制字MOV DX, 0012H ;被除數高位MOV AX, 35DEH ;被除數低位 DIV ID ;求計數初值n,結果在AX中OUT 42H, AL ;送出低8位MOV AL, AHOUT 42H,AL ;送出高8位IN AL, 61H ;讀入8255A端口B的內容MOV AH, AL ;保護B口的原狀態OR AL, 03H ;使B口后兩位置1,其余位保留OUT 61H,AL ;接通揚聲器,使它發聲
上傳時間: 2013-10-17
上傳用戶:sunjet
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
上傳用戶:釣鰲牧馬
買的開發板上帶的52個應用于實物的程序,希望對大家有幫助
上傳時間: 2013-11-04
上傳用戶:xymbian
創新、效能、卓越是ADI公司的文化支柱。作為業界公認的全球領先數據轉換和信號調理技術領先者,我們除了提供成千上萬種產品以外,還開發了全面的設計工具,以便客戶在整個設計階段都能輕松快捷地評估電路。
上傳時間: 2013-11-25
上傳用戶:kachleen
創新、效能、卓越是ADI公司的文化支柱。作為業界公認的全球領先數據轉換和信號調理技術領先者,我們除了提供成千上萬種產品以外,還開發了全面的設計工具,以便客戶在整個設計階段都能輕松快捷地評估電路。
上傳時間: 2013-10-18
上傳用戶:cxl274287265
最新的支持向量機工具箱,有了它會很方便 1. Find time to write a proper list of things to do! 2. Documentation. 3. Support Vector Regression. 4. Automated model selection. REFERENCES ========== [1] V.N. Vapnik, "The Nature of Statistical Learning Theory", Springer-Verlag, New York, ISBN 0-387-94559-8, 1995. [2] J. C. Platt, "Fast training of support vector machines using sequential minimal optimization", in Advances in Kernel Methods - Support Vector Learning, (Eds) B. Scholkopf, C. Burges, and A. J. Smola, MIT Press, Cambridge, Massachusetts, chapter 12, pp 185-208, 1999. [3] T. Joachims, "Estimating the Generalization Performance of a SVM Efficiently", LS-8 Report 25, Universitat Dortmund, Fachbereich Informatik, 1999.
上傳時間: 2013-12-16
上傳用戶:亞亞娟娟123
Hopfield 網——擅長于聯想記憶與解迷路 實現H網聯想記憶的關鍵,是使被記憶的模式樣本對應網絡能量函數的極小值。 設有M個N維記憶模式,通過對網絡N個神經元之間連接權 wij 和N個輸出閾值θj的設計,使得: 這M個記憶模式所對應的網絡狀態正好是網絡能量函數的M個極小值。 比較困難,目前還沒有一個適應任意形式的記憶模式的有效、通用的設計方法。 H網的算法 1)學習模式——決定權重 想要記憶的模式,用-1和1的2值表示 模式:-1,-1,1,-1,1,1,... 一般表示: 則任意兩個神經元j、i間的權重: wij=∑ap(i)ap(j),p=1…p; P:模式的總數 ap(s):第p個模式的第s個要素(-1或1) wij:第j個神經元與第i個神經元間的權重 i = j時,wij=0,即各神經元的輸出不直接返回自身。 2)想起模式: 神經元輸出值的初始化 想起時,一般是未知的輸入。設xi(0)為未知模式的第i個要素(-1或1) 將xi(0)作為相對應的神經元的初始值,其中,0意味t=0。 反復部分:對各神經元,計算: xi (t+1) = f (∑wijxj(t)-θi), j=1…n, j≠i n—神經元總數 f()--Sgn() θi—神經元i發火閾值 反復進行,直到各個神經元的輸出不再變化。
上傳時間: 2015-03-16
上傳用戶:JasonC