微型計(jì)算機(jī)課程設(shè)計(jì)論文—通用微機(jī)發(fā)聲程序的匯編設(shè)計(jì) 本文講述了在微型計(jì)算機(jī)中利用可編程時(shí)間間隔定時(shí)器的通用發(fā)聲程序設(shè)計(jì),重點(diǎn)講述了程序的發(fā)聲原理,節(jié)拍的產(chǎn)生,按節(jié)拍改變的動畫程序原理,并以設(shè)計(jì)一個(gè)簡單的樂曲評分程序?yàn)橐樱治龀绦蛟O(shè)計(jì)的細(xì)節(jié)。關(guān)鍵字:微機(jī) 8253 通用發(fā)聲程序 動畫技術(shù) 直接寫屏 1. 可編程時(shí)間間隔定時(shí)器8253在通用個(gè)人計(jì)算機(jī)中,有一個(gè)可編程時(shí)間間隔定時(shí)器8253,它能夠根據(jù)程序提供的計(jì)數(shù)值和工作方式,產(chǎn)生各種形狀和各種頻率的計(jì)數(shù)/定時(shí)脈沖,提供給系統(tǒng)各個(gè)部件使用。本設(shè)計(jì)是利用計(jì)算機(jī)控制發(fā)聲的原理,編寫演奏樂曲的程序。 在8253/54定時(shí)器內(nèi)部有3個(gè)獨(dú)立工作的計(jì)數(shù)器:計(jì)數(shù)器0,計(jì)數(shù)器1和計(jì)數(shù)器2,每個(gè)計(jì)數(shù)器都分配有一個(gè)斷口地址,分別為40H,41H和42H.8253/54內(nèi)部還有一個(gè)公用的控制寄存器,端地址為43H.端口地址輸入到8253/54的CS,AL,A0端,分別對3個(gè)計(jì)數(shù)器和控制器尋址. 對8353/54編程時(shí),先要設(shè)定控制字,以選擇計(jì)數(shù)器,確定工作方式和計(jì)數(shù)值的格式.每計(jì)數(shù)器由三個(gè)引腳與外部聯(lián)系,見教材第320頁圖9-1.CLK為時(shí)鐘輸入端,GATE為門控信號輸入端,OUT為計(jì)數(shù)/定時(shí)信號輸入端.每個(gè)計(jì)數(shù)器中包含一個(gè)16位計(jì)數(shù)寄存器,這個(gè)計(jì)數(shù)器時(shí)以倒計(jì)數(shù)的方式計(jì)數(shù)的,也就是說,從計(jì)數(shù)初值逐次減1,直到減為0為止. 8253/54的三個(gè)計(jì)數(shù)器是分別編程的,在對任一個(gè)計(jì)數(shù)器編程時(shí),必須首先講控制字節(jié)寫入控制寄存器.控制字的作用是告訴8253/54選擇哪個(gè)計(jì)數(shù)器工作,要求輸出什么樣的脈沖波形.另外,對8253/54的初始化工作還包括,向選定的計(jì)數(shù)器輸入一個(gè)計(jì)數(shù)初值,因?yàn)檫@個(gè)計(jì)數(shù)值可以是8為的,也可以是16為的,而8253/5的數(shù)據(jù)總線是8位的,所以要用兩條輸出指令來寫入初值.下面給出8253/54初始化程序段的一個(gè)例子,將計(jì)數(shù)器2設(shè)定為方式3,(關(guān)于計(jì)數(shù)器的工作方式參閱教材第325—330頁)計(jì)數(shù)初值為65536. MOV AL,10110110B ;選擇計(jì)數(shù)器2,按方式3工作,計(jì)數(shù)值是二進(jìn)制格式 OUT 43H,AL ; j將控制字送入控制寄存器 MOV AL,0 ;計(jì)數(shù)初值為0 OUT 42H,AL ;將計(jì)數(shù)初值的低字節(jié)送入計(jì)數(shù)器2 OUT 42H,AL ;將計(jì)數(shù)初值的高字節(jié)送入計(jì)數(shù)器2 在IBM PC中8253/54的三個(gè)時(shí)鐘端CLK0,CLK1和CLK2的輸入頻率都是1.1931817MHZ. PC機(jī)上的大多數(shù)I/O都是由主板上的8255(或8255A)可編程序外圍接口芯片(PPI)管理的.關(guān)于8255A的結(jié)構(gòu)和工作原理及應(yīng)用舉例參閱教材第340—373頁.教材第364頁的”PC/XT機(jī)中的揚(yáng)聲器接口電路”一節(jié)介紹了揚(yáng)聲器的驅(qū)動原理,并給出了通用發(fā)聲程序.本設(shè)計(jì)正是基于這個(gè)原理,通過編程,控制加到揚(yáng)聲器上的信號的頻率,奏出樂曲的.2.發(fā)聲程序的設(shè)計(jì)下面是能產(chǎn)生頻率為f的通用發(fā)聲程序:MOV AL, 10110110B ;8253控制字:通道2,先寫低字節(jié),后寫高字節(jié) ;方式3,二進(jìn)制計(jì)數(shù)OUT 43H, AL ;寫入控制字MOV DX, 0012H ;被除數(shù)高位MOV AX, 35DEH ;被除數(shù)低位 DIV ID ;求計(jì)數(shù)初值n,結(jié)果在AX中OUT 42H, AL ;送出低8位MOV AL, AHOUT 42H,AL ;送出高8位IN AL, 61H ;讀入8255A端口B的內(nèi)容MOV AH, AL ;保護(hù)B口的原狀態(tài)OR AL, 03H ;使B口后兩位置1,其余位保留OUT 61H,AL ;接通揚(yáng)聲器,使它發(fā)聲
標(biāo)簽: 微型計(jì)算機(jī) 發(fā)聲程序 論文 微機(jī)
上傳時(shí)間: 2013-10-17
上傳用戶:sunjet
C51控制并口打印機(jī)實(shí)例:/* 沈陽新榮達(dá)電子 *//* 2004-12-7 */#include <reg52.h>#define uchar unsigned char#define uint unsigned int#define data_8 P0sbit BUSY = P1^2; //打印機(jī) BUSY 接P1.2sbit STB = P1^0; //打印機(jī) STB 接P1.0void print(uchar j) //打印子程序{ uchar i;while(BUSY){}; //BUSY=1,打印機(jī)忙,等待BUSY 為0 再發(fā)數(shù)data_8=j;STB=0;i++;i--;STB=1; //給出數(shù)據(jù)鎖存時(shí)鐘BUSY=1;}void main(void){BUSY = 1; //忙信號置高STB = 1; //選通信號置高print(0x1b); //打印機(jī)初始化命令print(0x38);print(0x04);for(;;){print(0xd0); //發(fā)送漢字內(nèi)碼“新榮達(dá)”print(0xc2);print(0xc8);print(0xd9);print(0xb4);print(0xef);print(0x0d); //換行}}
上傳時(shí)間: 2013-11-13
上傳用戶:lwq11
51單片機(jī)驅(qū)動步進(jìn)電機(jī)(含電路圖和源程序代碼) 源程序: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() */
標(biāo)簽: 51單片機(jī) 驅(qū)動 步進(jìn)電機(jī) C語言
上傳時(shí)間: 2013-11-09
上傳用戶:釣鰲牧馬
j基于激光掃描原理的路徑檢測方案
上傳時(shí)間: 2013-10-09
上傳用戶:kr770906
特點(diǎn) 顯示值范圍-199999至999999位數(shù) 最高輸入頻率 5KHz 90度相位差加減算具有提高解析度4倍功能 輸入脈波具有預(yù)設(shè)刻度功能 定位基準(zhǔn)值可任意設(shè)定 比較磁滯值可任意設(shè)定 數(shù)位化指撥設(shè)定操作簡易 3組繼電器輸出功能 2:主要規(guī)格 脈波輸入型式: Jump-pin selectable current sourcing(NPN) or current sinking (PNP) 脈波觸發(fā)電位: HI bias (CMOS) (VIH=7.5V, VIL=5.5V) LO bias (TTL) (VIH=3.7V, VIL=2.0V) 最高輸入頻率: <5KHz 定位置范圍: -199999 to 999999 second adjustabl 比較磁滯范圍: 0 to 9999 adjustable 繼電器容量: AC 250V-5A, DC 30V-7A 顯示值范圍: -199999 to 999999 顯示幕: Red high efficiency LEDs high 9.2mm (.36") 參數(shù)設(shè)定方式: Touch switches 感應(yīng)器電源: 12VDC +/-3%(<60mA) 記憶方式: Non-volatile E2PROM memory 絕緣耐壓能力: 2KVac/1 min. (input/output/power) 1600Vdc (input/output) 使用環(huán)境條件: 0-50℃(20 to 90% RH non-condensed) 存放環(huán)境條件: 0-70℃(20 to 90% RH non-condensed) CE認(rèn)證: EN 55022:1998/A1:2000 Class A EN 61000-3-2:2000 EN 61000-3-3:1995/A1:2001 EN 55024:1998/A1:2001
上傳時(shí)間: 2014-12-03
上傳用戶:xjz632
特點(diǎn) 精確度0.25%滿刻度 ±1位數(shù) 輸入配線系統(tǒng)可任意選擇 CT比可任意設(shè)定 具有異常電流值與異常次數(shù)記錄保留功能 電流過高或過低檢測可任意設(shè)定 報(bào)警繼電器復(fù)歸方式可任意設(shè)定 尺寸小,穩(wěn)定性高 2.主要規(guī)格 輔助電源: AC110V&220V ±20%(50 or 60Hz) AC220V&440V ±20%(50 or 60Hz)(optional) 精確度: 0.25% F.S. ±1 digit 輸入負(fù)載: <0.2VA (Current) 最大過載能力 : Current related input: 2 x rated continuous 10 x rated 30 sec. 25 x rated 3sec. 50 x rated 1 sec. 輸入電流范圍: AC0-5A (10-1000Hz) CT ratio : 1-2000 adjustable 啟動延遲動作時(shí)間: 0-99.9 second adjustable 繼電器延遲動作時(shí)間: 0-99.9 second adjustable 繼電器復(fù)歸方式: Manual (N) / latch(L) can be modified 繼電器磁滯范圍: 0-999 digit adjustable 繼電器動作方向: HI /LO/GO/HL can be modified 繼電器容量: AC 250V-5A, DC 30V-7A 過載顯示: "doFL" 溫度系數(shù): 50ppm/℃ (0-50℃) 顯示幕: Red high efficiency LEDs high 14.22mm(.56")(PV) Red high efficiency LEDs high 14.22mm(.276")(NO) 參數(shù)設(shè)定方式: Touch switches 記憶型式 : Non-volatile E2PROM memory 絕緣耐壓能力: 2KVac/1 min. (input/output/power) 1600Vdc(input/output 使用環(huán)境條件 : 0-50℃(20 to 90% RH non-condensed) 存放環(huán)境條件: 0-70℃(20 to 90% RH non-condensed) CE認(rèn)證: EN 55022:1998/A1:2000 Class A EN 61000-3-2:2000 EN 61000-3-3:1995/A1:2001 EN 55024:1998/A1:2001
上傳時(shí)間: 2013-10-14
上傳用戶:wanghui2438
特點(diǎn) 最高輸入頻率 10KHz 計(jì)數(shù)速度 50/10000脈波/秒可選擇 四種輸入模式可選擇(加算,減算,加減算,90度相位差加減算) 90度相位差加減算具有提高解析度4倍功能 輸入脈波具有預(yù)設(shè)刻度功能 前置量設(shè)定功能(二段設(shè)定)可選擇 數(shù)位化指撥設(shè)定操作簡易 計(jì)數(shù)暫時(shí)停止功能 3組報(bào)警功能 2:主要規(guī)格 脈波輸入型式: Jump-pin selectable current sourcing(NPN) or current sinking (PNP) 脈波觸發(fā)電位: HI bias (CMOS) (VIH=7.5V, VIL=5.5V) LO bias (TTL) (VIH=3.7V, VIL=2.0V) 最高輸入頻率: <10KHz (up,down,up/down mode) <5KHz (quadrature mode) 輸出動作時(shí)間 : 0.1 to 99.9 second adjustable 輸出復(fù)歸方式: Manual(N) or automatic (R or C) can be modif 繼電器容量: AC 250V-5A, DC 30V-7A 顯示值范圍: -199999 to 999999 顯示幕: Red high efficiency LEDs high 9.2mm (.36") 參數(shù)設(shè)定方式: Touch switches 感應(yīng)器電源: 12VDC +/-3%(<60mA) ( 感應(yīng)器電源 ) 記憶方式: Non-volatile E2PROM memory 絕緣耐壓能力: 2KVac/1 min. (input/output/power) 1600Vdc (input/output) 使用環(huán)境條件: 0-50℃(20 to 90% RH non-condensed) 存放環(huán)境條件: 0-70℃(20 to 90% RH non-condensed) CE認(rèn)證: EN 55022:1998/A1:2000 Class A EN 61000-3-2:2000 EN 61000-3-3:1995/A1:2001 EN 55024:1998/A1:2001
標(biāo)簽: 72 mm 微電腦 計(jì)數(shù)器
上傳時(shí)間: 2013-11-12
上傳用戶:909000580
特點(diǎn) 精確度0.1%滿刻度 可輸入交直流電流/交直流電壓/電位計(jì)/傳送器...等信號 16 BIT類比輸出功能 輸入與輸出絕緣耐壓2仟伏特/1分鐘 寬范圍交直流兩用電源設(shè)計(jì) 尺寸小,穩(wěn)定性高 2主要規(guī)格 精確度: 0.1% F.S. (23 ±5℃) 顯示值范圍: 0-±19999 digit adjustable 類比輸出解析度: 16 bit DAC 輸出反應(yīng)速度: < 250 ms (0-90%)(>10Hz) 輸出負(fù)載能力: < 10mA for voltage mode < 10V for current mode 輸出之漣波: < 0.1% F.S. 歸零調(diào)整范圍: 0- ±9999 Digit adjustable 最大值調(diào)整范圍: 0- ±9999 Digit adjustable 溫度系數(shù): 50ppm/℃ (0-50℃) 顯示幕: Red high efficiency LEDs high 10.16mm (0.4") 隔離特性: Input/Output/Power/Case 參數(shù)設(shè)定方式: Touch switches 記憶方式: Non-volatile E2PROM memory 絕緣抗阻: >100Mohm with 500V DC 絕緣耐壓能力: 2KVac/1 min. (input/output/power) 1600Vdc (input/output) 使用環(huán)境條件: 0-60℃(20 to 90% RH non-condensed) 存放環(huán)境條件: 0-70℃(20 to 90% RH non-condensed) 安裝方式: Socket/plugin type with barrier terminals CE認(rèn)證: EN 55022:1998/A1:2000 Class A EN 61000-3-2:2000 EN 61000-3-3:1995/A1:2001 EN 55024:1998/A1:2001
上傳時(shí)間: 2014-01-05
上傳用戶:eastgan
芯嵌stm32開發(fā)板教程
上傳時(shí)間: 2014-12-30
上傳用戶:ttpay
芯嵌stm32開發(fā)板教程
上傳時(shí)間: 2013-11-07
上傳用戶:windgate
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1