freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于51單片機的花樣流水燈設計(編輯修改稿)

2025-04-09 05:03 本頁面
 

【文章內容簡介】 條指令的時間也有所不同。對于簡單的單字節(jié)指令,取出指令立即執(zhí)行,只需要一個機器周期的時間。而有些復雜的指令則需要兩個或多個指令周期。 從指令的執(zhí)行時間看,單字節(jié)和雙字節(jié)指令一般為單機器周期和雙機器周期,三字節(jié) 指令是雙機器周期,只有乘除法指令占用 4 個機器周期。 復位電路 設計 (1)、復位操作 當 STC89C52 單片機進行復位操作時, PC 寄存器初始化為 0000H,使STC89C52 單片機從程序存儲器的 0000H 單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當程序運行出錯或者操作錯誤使得系統(tǒng)處于“死鎖”狀態(tài)時,按復位鍵使得 RST 腳為高電平,使 STC89C52 單片機拜托當前狀態(tài)而重啟程序。出PC 寄存器外,復位操作還對其他一些寄存器有影響,例如 SP、 Acc、 PSW、 DPTR等。 (2)、復位電路 復位電 路就是把電路恢復到起始狀態(tài)的電路。能夠在系統(tǒng)上電時給予復位信號,并且會一直等到系統(tǒng)的電源不再改變?yōu)橹共艜冯x所給的復位信號,這就是復位電路的功能所在。復位后的 CPU的主要特征是各 IO 口呈現(xiàn)高電平。對于單片機而言基本的復位操作是將單片機的復位引腳 RST 上給定一個高電平信號并讓該信號維持在 2 個機器周期以上,便可觸發(fā)系統(tǒng)復位中斷從而將系統(tǒng)復位。單第 3 章 系統(tǒng) 硬件設計方案 9 片機系統(tǒng)的復位方式有:按鍵復位和上電復位。 首先是 按鍵復位 :復位電路最簡單的方式就是通過按鍵復位直接在單片機復位引腳 RST 上加入高電平。單片機的復位引腳接至電阻 R1 一端, 電阻 R1 另外一端接地。電路如下所示。常用的途徑是在復位引腳端和正電壓之間安裝復位按鍵。當給一個力使按鍵被壓迫向下,單片機的復位方位就會保持 VCC。假如保持按下 10ms 即可讓系統(tǒng)實現(xiàn)復位,如圖 34 所示。 圖 34 按鍵復位 圖 35 上電復位 圖 36 混合模式 第二個是上電復位:上電復位的電路圖如圖 35 所示,具體實現(xiàn)方式如下: 系統(tǒng)上電瞬間單片機復位引腳 RST 電壓時間變化曲線如圖 37 所示。從曲線上易得當系統(tǒng)在一剎那完成上電,根據(jù)電容工作原理特 性,它兩端的 Uc1 不可能實現(xiàn)迅猛的變化,故電源電壓全部加到 R1 上,然后電容 C1 開始充電,時間常數(shù)T=R1*C1,此時電容電壓逐漸增加, R1 兩端電壓逐漸降低,如果 R1 兩端電壓從高電平到低電平持續(xù)時間達到 2 個機器周期,即可實現(xiàn)單片機復位。 電子科技大學成都學院課程設計 10 圖 37 Urst電壓時間曲線 在本設計中采用了按鍵復位和上電復位的兩種模式(如圖 36 所示)上電復位完成系統(tǒng)初始化,同時增加的手動按鍵復位可以方便調試使用。 時鐘 電路 設計 時鐘電路用于產(chǎn)生單片機工作時所必需的控制信號, STC89C52 單片機的內部電路正 是在時鐘電路的控制下嚴格按時序執(zhí)行指令進行工作的。 在執(zhí)行指令時, CPU首先到程序存儲器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時鐘電路產(chǎn)生一系列控制信號完成指令所規(guī)定的操作。 CPU發(fā)出的時序信號有兩類,一類用于對片內各個功能部件的控制;另一類用于對片外存儲器或 I/O 口的控制。 (1)、內部時鐘方式 STC89C52 內部有一個用于構成振蕩器的高增益反向放大器,它的輸入端為芯片的 XTAL1 腳,輸出端為 XTAL2 腳。這兩個引腳跨界石英晶體和微調電容,構成一個穩(wěn)定的自激振蕩器。電路的電容 C1 和 C2 通常選擇 30pF。該電容的大小會影響振蕩器頻率的高低,振蕩器的穩(wěn)定性和起振的快速性。晶體振蕩頻率的范圍通常是 。 STC89C52 通常采用 12MHz的石英晶體。晶體的頻率越高,系統(tǒng)的時鐘頻率越高,單片機的運行速度也就越快。但運行速度快對存儲器的速度要求就越高,對 PCB 電路板的工藝要求也就越高,即要求線間的寄生電容要小。晶體和電容應盡可能安裝得離單片機近一些以減少寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作。為了提高溫度穩(wěn)定性,應采用溫度穩(wěn)定性好的電容。 第 3 章 系統(tǒng) 硬件設計方案 11 (2)、外部時鐘方式 外部時鐘方式使用現(xiàn)成的外部振蕩器產(chǎn) 生脈沖信號,通常用于多片STC89C52 單片機同時工作,以便于多片單片機之間的同步,一般為地獄 12MHz的方波。外部時鐘源直接接到 XTAL1 端, XTAL2 端懸空。 (3)、時鐘信號的輸出 當使用片內振蕩器時, XTAL XTAL2 引腳還能為應用系統(tǒng)中的其他芯片提供時鐘,但需要增加驅動能力。 (4)、晶振電路 在單片機 最小 系統(tǒng)晶振 的作用是給單片機輸入時鐘信號,這個時鐘信號 就是單片機的工作速度 。 單片機工作的最小時間計量單位就是由晶振決定的 。電路圖如圖 34 所示。 晶振電路電容選擇的原則為: (1)、 C1, C2, 因為每一種晶振都有各自的特性,所以最好按制造廠商所提供的數(shù)值選擇外部元器件。 (2)、在誤差允許的區(qū)域內 , C1 和 C2 值 都是越小,實現(xiàn)的功能就越精確 , 如果 C1 和 C2 值 比正常數(shù)值大時,可能會使振蕩器更加穩(wěn)定,可是也會增加響應的時間。 圖 38 晶振電路 本系統(tǒng)的單片機最小系統(tǒng)的時鐘 電路采用圖 所示的晶振電路,其中晶振選用 12MHz 石英晶體振蕩器,接至單片機的 XTAL1 和 XTAL2 腳,兩個電容選用 30p 瓷片電容。 通過上述 具體方案的設計論證,本系統(tǒng)設計了如圖 39 所示的最小系統(tǒng)。 電子科技大學成都學院課程設計 12 圖 39 單片機 最小系統(tǒng) 程序下載電路 在實際制作實物的還需要增加一個下載電路模塊,方便調試下載。 程序下載電路中包含一個 4pin 排針,分別接至 Vcc、單片機的 10 腳( RXD/)、單片機的 11 腳( TXD/)、 GND。在下載程序時,需采用 STC公司的 USB 下載器,下載器的 VCC 腳接排針 VCC 腳;下載器的 RXD 腳接排針的 TXD 腳;下載器的 TXD 腳連接排針的 RXD 腳;下載器的 GND 腳接排針的GND 腳,然后用 STC 公司的 ISP 軟件選擇 keil 編譯生成的 hex 文件,即可將程序燒寫到單片機中。電路如圖 310 所示。圖中 P2 即為 4pin排針。 圖 310 下載接口電路 第 3 章 系統(tǒng) 硬件設計方案 13 按鍵電路 按鍵選擇彈片開關,電路由 3 個彈片開關組成。 3 個彈片開關的一段依次接至單片機的 1( )、 2( )、 3( )腳;另一端共地。功能依次為模式切換、加快運行速度、減慢運行速度,電路如圖 311 所示。 圖 311 按鍵電路 LED 燈電路 將 16 個 LED 的負極依次與單片機的 P1 口和 P2 口的 16 個 I/O 口相接,正極則與 5V電源相接。但由于直接相接可能會燒壞發(fā)光二極管,因此需要串聯(lián)電阻。限流電 阻的阻值根據(jù)設計經(jīng)驗及現(xiàn)有電阻取值為 PCB電路板時布局布線,故此處的電阻采用貼片 0805 封裝。 此外,由于 P0 口的驅動能力較弱,無法直接驅動 8 個發(fā)光二極管,故選擇在 P0口的 I/O和發(fā)光二極管的負極之間接入 10kΩ的共陽排阻以提供一個強上拉。電路圖如圖 312 中 P1 即為 10kΩ共陽排阻。 電子科技大學成都學院課程設計 14 圖 312 LED 電路 第 4 章 程序 設計 及軟件仿真 15 第 4 章 程序 設計 及軟件仿真 軟件設計框圖 如圖 41 所示為本系統(tǒng)的軟件實現(xiàn)流程圖。 上電初始化鍵盤掃描定時器初始化設置L E D 燈初始模式設置L E D 燈顯示延時控制樣式流水燈速度L E D 圖 41 軟件流程 軟件開發(fā) 平臺選擇 軟件設計的開發(fā)平臺采用美國 keil Software 公司出品的 Keil uvision4。 Keil uvision4是美國 keil software公司出品的 51系列兼容單片機 C語言軟件開發(fā)系統(tǒng),與匯編語言相比, C 語言在功能上、結構性、可讀性、可維護性上有明顯的又是,電子科技大學成都學院課程設計 16 因而易學易用。 keil 提供了包括 C 編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境將這些部分組合在一起。運行 keil 軟件需要 win9 NT、 win202 winXP 等操作系統(tǒng)。若使用 C 語言進行編程, keil 將是不二之選,即使是使用匯編語言編程, keil 方便易用的集成環(huán)境以及強大的軟件仿真調試工具也能讓開發(fā)者事半功倍。 軟件系統(tǒng)功能模塊 本系統(tǒng)采用結構化模塊程序設計,所謂“模塊”,實質上就是具有一定功能、相對獨立的程序段。在 編程過程中 首先將所要完成的各個功能分別按 模塊 編寫和調試,所有模塊調試成功以后,再將各個模塊連接整合在 一起形成 系統(tǒng)。 模塊化 程序 設計的主要特點是:單個模塊比一個完整的程序更容易編寫、查錯和測試;模塊化程序可以實現(xiàn)共享,一個模塊化程序 可被多個任務在不同的條件下調用;把輸入 /輸出封裝起來,可以使程序減少 不必要的 修改;這樣的設計有利于程序代碼的優(yōu)化和共享,而且便于設計、調試和維護,可以增強系統(tǒng)的可靠性。 本系統(tǒng)的主要模塊有:初始化模塊、延時模塊、定時器控制模塊、鍵盤掃描模式、 LED 燈輸出控制模塊,下面依次簡要介紹。 初始化模塊 根據(jù)本系統(tǒng)的設計要求,當系統(tǒng)上電之后, LED 燈并不亮,只有進入模式切換之后才有變換,因此需要對系統(tǒng)的控制參數(shù),比如模式標志位、速度變量進行初始化,其代碼如下: void InitialCPU(void) {RunMode = 0x00。TimerCount = 0。 SystemSpeedIndex = 10。 Delay1ms(500)。 SetSpeed(SystemSpeedIndex)。 } 第 4 章 程序 設計 及軟件仿真 17 延時函數(shù) 系統(tǒng)控制流水燈的變換主要是通過延時函數(shù)的延時時間長短來做出相應的反映,因此設置一個延時函數(shù)是控制速度的關鍵,其代碼如下: void Delay1ms(unsigned int count) { unsigned int i,j。 for(i=0。icount。i++) for(j=0。j120。j++)。 } 其中, count 為時間控制參數(shù)。 定時器控制模塊 由于單片機資源有限,通過利用中斷來檢測按鍵,提高單片機的時鐘利用率,其代碼如下: void InitialTimer2(void) {T2CON = 0x00。 //16 Bit AutoReload Mode TH2 = RCAP2H = 0xFC。 //重裝值 ,初始值 TL2 = RCAP2L = 0x18。 ET2=1。 //定時器 2 中斷允許 TR2 = 1。 //定時器 2 啟 動 EA=1。} 鍵盤掃描模式 鍵盤掃描主要是利用 IO 口讀取的參數(shù)與 0 相與,然后進行比較,判斷是哪個鍵輸入了控制信號,比較之后返回相應的值,返回值被另一個鍵盤反應函數(shù)得到相應的控制信號。其代碼分為兩部分,一部分為掃描部分,一部分為輸出控制信號,掃描部分如下: 電子科技大學成都學院課程設計 18 unsigned char KeyTemp,CheckValue,Key = 0x00。 CheckValue = P1amp。0x07。 if(CheckValue==0x07)return 0x00。 Delay1ms(10)。 KeyTemp = P1amp。0x07。 if(KeyTemp==CheckValue)return 0x00。 if(!(CheckValueamp。0x01))Key|=0x10。 if(!(CheckValueamp。0x02))Key|=0x20。 if(!(CheckValueamp。0x04))Key|=0x40。 return Key。 輸出控制信號核心算法如下: if(Keyamp。0x10) {LEDDirection = 1。LEDIndex = 0。LEDFlag = 1。} if(Keyamp。0x20) {if(SystemSpeedIndex0){SystemSpeedI
點擊復制文檔內容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1