微型計算機課程設計論文—通用微機發聲程序的匯編設計 本文講述了在微型計算機中利用可編程時間間隔定時器的通用發聲程序設計,重點講述了程序的發聲原理,節拍的產生,按節拍改變的動畫程序原理,并以設計一個簡單的樂曲評分程序為引子,分析程序設計的細節。關鍵字:微機 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
T2作為波特率控制UART_RXD 是硬中斷0或1口,如果能進入中斷,說明該線有一個起始位產生,進入中斷后調用下面的接收程序。退出硬中斷之前還需要將硬中斷標志重新復位。UART_TXD 是任何其它IO即可。UART_SEND: PUSH IE PUSH DPH PUSH DPL PUSH PSW PUSH 00H PUSH ACC CLR EA SETB UART_TXD ;START BIT MOV R0,A CLR TR2 ;TR2置1,計數器2啟動,時間計數啟動。 MOV A,RCAP2L;計數器2重新裝載值 MOV TL2,A ;置計數器2初值 ;T2需要重新裝載 MOV A,DPH MOV A,RCAP2H MOV TH2,A MOV A,R0 SETB TR2 ;TR2置1,計數器 JNB TF2,$ CLR TF2 JNB TF2,$ CLR TF2
上傳時間: 2014-01-12
上傳用戶:二十八號
一個完整的微機系統是由硬件和軟件共同構成的。微機系統的硬件有CPU、存儲器和I/O口,外設組成。CPU與存儲器之間的信息交換比較簡單,而CPU與外設之間進行信息交換之前必須確定外設是否準備好,即選擇I/O傳送方式。I/O傳送方式有4種:無條件、查詢、中斷和DMA。本章學習中斷傳送方式的有關內容。 4.1 中斷概述 4.2 MCS-51中斷系統 1、中斷的定義: 中斷是指如下過程:CPU與外設同時工作,CPU執行主程序,外設做準備工作,當外設準備好時向CPU發中斷請求信號,若條件滿足,則CPU終止主程序的執行,轉去執行中斷服務程序,在中斷服務程序中CPU與外設交換信息,待中斷服務程序執行完后,CPU再返回剛才終止的主程序繼續執行。 2、中斷系統的定義:中斷系統是指為了實現中斷傳送過程在CPU內外設置的硬件和有關中斷的指令。3、中斷源:⑴中斷源的定義:中斷源是指引起中斷請求的來源。⑵中斷源的分類: ①軟中斷和 ②硬中斷4、中斷處理的全過程 中斷處理的全過程分成3個階段:中斷請求、中斷響應和中斷服務。5、多重中斷與中斷優先級 ⑴ 當系統中有多個設備提出中斷請求時,多個外設的中請信號要通過門電路送到CPU的中請輸入端,使CPU能收到多個外設提出的中請。 ⑵ CPU在收到多個外設的請求后,按中斷處理原則處理中斷。 ⑶ 確定優先級的方法解決優先級的問題一般可有三種方法:軟件查詢法、簡單硬件方法及專用硬件方法(采用可編程的中斷控制器芯片,如Intel8259A)。
標簽: 中斷技術
上傳時間: 2013-10-12
上傳用戶:ysjing
C51控制并口打印機實例:/* 沈陽新榮達電子 *//* 2004-12-7 */#include <reg52.h>#define uchar unsigned char#define uint unsigned int#define data_8 P0sbit BUSY = P1^2; //打印機 BUSY 接P1.2sbit STB = P1^0; //打印機 STB 接P1.0void print(uchar j) //打印子程序{ uchar i;while(BUSY){}; //BUSY=1,打印機忙,等待BUSY 為0 再發數data_8=j;STB=0;i++;i--;STB=1; //給出數據鎖存時鐘BUSY=1;}void main(void){BUSY = 1; //忙信號置高STB = 1; //選通信號置高print(0x1b); //打印機初始化命令print(0x38);print(0x04);for(;;){print(0xd0); //發送漢字內碼“新榮達”print(0xc2);print(0xc8);print(0xd9);print(0xb4);print(0xef);print(0x0d); //換行}}
上傳時間: 2013-11-13
上傳用戶:lwq11
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
上傳用戶:釣鰲牧馬
具有梯形反電動勢的永磁同步電動機通常被稱為無刷直流電動機,它具有結構簡單、體積小、重量輕、效率高、高功率密度、啟動扭矩大、慣量小和響應快等其它種類直流電機無法比擬的特性。采用電子換向器替代了傳統直流電動機的機械換向裝置,從而克服了電刷和換向器所引起的噪聲、火花、電磁干擾、壽命短等一系列弊病。由于無刷直流電動機既具備交流電動機的結構簡單、運行可靠、維護方便等一系列優點,又具 有直流電動機的運行效率高、無勵磁損耗以及調速性能好等諸多優點,故其在在家用消費類產品(空調、冰箱、洗衣機)和IT周邊產品(打印機、軟驅、硬驅)中得到廣泛的應用。 C8051F單片機是美國Silabs公司推出的一種與51系列單片機內核兼容的單片機,具有高速、高性能、高集成度。以C8051F020為例,具有如下特點: C8051F020片上系統單片機片內資源: 一、模塊外設 (1)逐次逼近型8路12位ADC0 轉換速率最大100ksps 可編程增益放大器PGA 溫度傳感器 (2)8路8位ADC1輸入與P1口復用 轉換速率500ksps 可編程增益放大器PGA (3)兩個12 位DAC (4)兩個模擬電壓比較器 (5)電壓基準內部提供2.43V 外部基準可輸入 (6)精確的VDD監視器 二、高速8051微控制器內核 流水線式指令結構速度可達25MIPS 22個矢量中斷源 三、存儲器 片內4352字節數據RAM 64KBFlash程序存儲器可作非易失性存儲
上傳時間: 2013-12-21
上傳用戶:bnfm
單片機原理與應用《課程簡介》:單片機已成為電子系統中進行數據采集、信息處理、通信聯絡和實施控制的重要器件。通常利用單片機技術在各種系統、儀器設備或裝置中,形成嵌入式智能系統或子系統。因此,單片機技術是電類專業特別是電子信息類學生必須具備的基本功。本課程以51系列單片機為模型,主要向學生介紹單片機的基本結構、工作原理、指令系統與程序設計、系統擴展與工程應用。作為微機原理與接口技術的后續課程,本課程強調實踐環節,側重系統構成與應用設計。力求通過實踐環節,軟、硬結合,培養初步的單片機開發能力,并使其前導課程講授的基本概念得到綜合與深化。由于課時的限制,綜合性的應用設計安排在后續課程《微機應用系統設計》中進行。 課 程 內 容:第一章 單片微型計算機概述單片機的發展與應用 MCS-51系列單片機簡介第二章 MCS-51系列單片機結構MCS-51單片機基本結構 CPU 時序簡介 存儲器空間結構 片內RAM與SFR時鐘電路與復位電路 并行I/O口與總線擴展第三章 MCS-51單片機指令系統指令系統簡介數據傳送指令 數據處理指令 位處理指令 程序控制指令匯編語言程序設計方法 程序調試的常用方法第四章 SCB-I 單片單板機SCB-I 單片單板機結構簡介 監控系統簡介SCB-I 單片單板機的基本操作 第五章 單片機常用接口電路的軟、硬件設計LED顯示接口電路與應用編程鍵盤接口電路與應用編程計數器/定時器工作原理及其應用編程MCS-51中斷系統及其應用編程8255擴展并行接口及其應用編程串行通信接口及其應用編程A/D與D/A轉換接口及其應用編程*第六章 單片機應用系統設計舉例第七章 單片機開發工具簡介* 加“*”為選講內容教學要求:1、 了解單片機的一般性概念及單片機技術的發展。2、 掌握51系列單片機的基本結構與工作原理。3、 掌握51系列單片機的指令系統與程序設計的基本方法。4、 以單片單板機為樣板,掌握51系列單片機的系統擴展設計。5、 通過實驗,掌握單片機常用接口電路的軟硬件設計及其應用。6、 以上為本課程的基本要求。作為提高要求,對有能力、有興趣的學生,若能較快地完成基本實驗,可在規定課時內安排有一定難度的綜合性實驗,以提高其應用設計的能力。 課時安排和考核方式:1、 講課40學時,實驗20學時,課內外學時比 1:2 ;(實驗從第七周開始,7個基本實驗,選做1個綜合實驗)2、 考核方式平時考查 20實驗考核 40(含實驗過程、實驗驗收與實驗報告)期末筆試 40參考書:《MCS-51單片機應用設計》 張毅剛 等編 哈爾濱工業大學出版社《MCS-51系列單片機原理及應用》 孫涵芳 徐愛卿 編著 北京航空航天大學出版社《單片微機與測控技術》 趙秀菊 等編 東南大學出版社《單片微型機原理、應用與實驗》 張友德 等編 復旦大學出版社 《單片機實驗》 肖璋 雷兆宜 編 暨南大學講義
上傳時間: 2014-01-08
上傳用戶:417313137
本章主要介紹51系列單片機系統擴展問題,在本章中要研究較多的硬件方面及硬軟結合方面的問題,本章與第一章關系密切,在學習本章內容之前,要先明確51系列單片機本身的系統資源,可先復習一下前面幾章的有關單片機硬件組成方面的內容。 本章將介紹以下具體內容: 系統擴展的含義、單片機的地址總線和數據總線、常見系統擴展電路舉例。§7.0 前言 1.系統擴展的含義 單片機中雖然已經集成了CPU、I/O口、定時器、中斷系統、存儲器等計算機的基本部件(即系統資源),但是對一些較復雜應用系統來說有時感到以上資源中的一種或幾種不夠用,這就需要在單片機芯片外加相應的芯片、電路,使得有關功能得以擴充,我們稱為系統擴展(即系統資源的擴充)。 2.系統擴展分類----單一功能的擴展 綜合功能的擴展3.系統擴展需要解決的問題---- 單片機與相應芯片的接口電路連接(即地址總線、數據總線、控制總線的連接)與編程。4.單片機的地址總線和數據總線 51系列單片機沒有專用的對外地址總線和數據總線,其P0口和P2口既是通用I/O口,同時P0口還是分時復用的雙向數據總線和低8位地址總線(一般需要加一級鎖存器),而P2口則是高8位地址總線5.常見系統擴展電路(1)單一功能的系統擴展 存儲器的擴展(程序存儲器、數據存儲器、E2PROM ) 外部中斷源的擴展(簡單門電路) 并行口的擴展(8155)(2)綜合功能的擴展 外部RAM、定時器、并行口擴展(8155) 存儲器、并行口、定時器擴展(多芯片)7.1.1 程序存儲器的擴展.程序存儲器的作用----存放程序代碼或常數表格 .擴展時所用芯片----一般用只讀型存儲器芯片(可以是EPROM、E2PROM、 FLASH芯片等)。 .擴展電路連接 ---- 用EPROM 2764擴展程序存儲器。 .存儲器地址分析----究竟單片機輸出什么地址值時,可以指向存儲器中的某一單元。
上傳時間: 2013-10-19
上傳用戶:zhaoq123
PCI Express 協議由于其高速串行、系統拓撲簡單等特點被廣泛用于各種領域。Altera公司的Arria II GX FPGA內集成了支持鏈式DMA傳輸功能的PCI Express硬核,適應了PCI Express總線高速度的要求。文中利用Jungo公司的WinDriver軟件實現了鏈式DMA的上層應用設計。首先給出了鏈式DMA實現的基本過程,接著分析了鏈式DMA數據傳輸需要處理的幾個問題,給出了相應的解決辦法和策略。采用這些方法,保證了DAM數據傳輸的正確性,簡化了底層FPGA應用邏輯的設計。
上傳時間: 2013-11-20
上傳用戶:hanwudadi
Arria V系列 FPGA芯片基本描述 ?。?)28nm FPGA,在成本、功耗和性能上達到均衡; ?。?)包括低功耗6G和10G串行收發器; ?。?)總功耗比6G Arria II FPGA低40%; (4)豐富的硬核IP模塊,提高了集成度 ?。?)目前市場上支持10.3125Gbps收發器技術、功耗最低的中端FPGA。
上傳時間: 2013-10-26
上傳用戶:wsq921779565