LL(1)語法分析器,在任何時候,總控程序都是按照棧頂符號X和當前輸入符號a行事的。對于任何(X,a),總控程序每次都執行下述三種可能的動作之一: 若X=a=’#’,則宣布分析成功,停止分析過程; 若X=a≠’#’,則把X從棧頂逐出,讓a指向下一輸入符號; 若X是一個非終結符,則查看分析表M。若M中存放著一條關于X的產生式,那么,首先把X逐出棧頂,然后,把產生式的右部符號按反序一一推進棧,同時做這個產生式相應的語義動作(目前不管)。若M[X,a]中存放著一條出錯標志,則調用出錯診查程序Error。
上傳時間: 2013-12-09
上傳用戶:13160677563
PLC_FX:是PLCL_FX編程手冊,手冊是PDF格式的,本手冊是編寫FX系列微型可編程控制器用的順控程序指令說明書
上傳時間: 2013-12-26
上傳用戶:從此走出陰霾
VB實現的OPC Server服務器,是工控程序不可缺少的好東東
上傳時間: 2014-01-23
上傳用戶:xcy122677
自上而下的語法分析器,實驗內容之一,利用分析表、分析棧和總控程序對源程序進行自上而下的語法分析測試;
上傳時間: 2014-01-05
上傳用戶:13188549192
STM32F103開發板 DHT11溫濕度DS18B20 氣體MQ-2光敏聲控雨滴傳感器實驗程序**--------------------------------------------------------------------------------------------------------** Created by: FiYu** Created date: 2015-12-12** Version: 1.0** Descriptions: DHT11溫濕度傳感器實驗 **--------------------------------------------------------------------------------------------------------** Modified by: FiYu** Modified date: ** Version: ** Descriptions: ** Rechecked by: **********************************************************************************************************/#include "stm32f10x.h"#include "delay.h"#include "dht11.h"#include "usart.h"DHT11_Data_TypeDef DHT11_Data;/************************************************************************************** * 描 述 : GPIO/USART1初始化配置 * 入 參 : 無 * 返回值 : 無 **************************************************************************************/void GPIO_Configuration(void){ GPIO_InitTypeDef GPIO_InitStructure; /* Enable the GPIO_LED Clock */ RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO , ENABLE); GPIO_DeInit(GPIOB); //將外設GPIOA寄存器重設為缺省值 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出 GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_DeInit(GPIOA); //將外設GPIOA寄存器重設為缺省值 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //推挽輸出 GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空輸入 GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_SetBits(GPIOB , GPIO_Pin_9); //初始狀態,熄滅指示燈LED1}/************************************************************************************** * 描 述 : 串口顯示實時溫濕度 * 入 參 : 無 * 返回值 : 無 **************************************************************************************/void DHT11_SCAN(void){ if( Read_DHT11(&DHT11_Data)==SUCCESS) { printf("\r\n讀取DHT11成功!\r\n\r\n濕度為%d.%d %RH ,溫度為 %d.%d℃ \r\n",\ DHT11_Data.humi_int,DHT11_Data.humi_deci,DHT11_Data.temp_int,DHT11_Data.temp_deci); //printf("\r\n 濕度:%d,溫度:%d \r\n" ,DHT11_Data.humi_int,DHT11_Data.temp_int); } else { printf("Read DHT11 ERROR!\r\n"); }}/************************************************************************************** * 描 述 : MAIN函數 * 入 參 : 無 * 返回值 : 無 **************************************************************************************/int main(void){ SystemInit(); //設置系統時鐘72MHZ GPIO_Configuration(); USART1_Init(); //初始化配置TIM DHT11_GPIO_Config(); // 初始化溫濕度傳感器PB1引腳初始時為推挽輸出 GPIO_ResetBits(GPIOB , GPIO_Pin_9); delay_ms(500); while(1) { GPIO_SetBits(GPIOB , GPIO_Pin_9); DHT11_SCAN(); //實時顯示溫濕度 delay_ms(1500); } }
上傳時間: 2022-05-03
上傳用戶:得之我幸78
微型計算機課程設計論文—通用微機發聲程序的匯編設計 本文講述了在微型計算機中利用可編程時間間隔定時器的通用發聲程序設計,重點講述了程序的發聲原理,節拍的產生,按節拍改變的動畫程序原理,并以設計一個簡單的樂曲評分程序為引子,分析程序設計的細節。關鍵字:微機 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
PLC 以 其 可靠性高、抗干擾能力強、配套齊全、功能完善、適應性強等特點,廣泛應用于各種控制領域。PLC作為通用工業控制計算機,是面向工礦企業的工控設備,使用梯形圖符號進行編程,與繼電器電路相當接近,被廣大工程技術人員接受。但是在實際應用中,如何編程能夠提高PLC程序運行速度是一個值得我們思考研究的問題。1 PLC工作原理PLC 與 計 算機的工作原理基本相同,即在系統程序的管理下,通過運行應用程序完成用戶任務。但兩者的工作方式有所不同。計算機一般采用等待命令的工作方式,而PLC在確定了工作任務并裝人了專用程序后成為一種專用機,它采用循環掃描工作方式,系統工作任務管理及應用程序執行都是用循環掃描方式完成的。PLC 有 兩 種基本的工作狀態,即運行(RUN)與停止(STOP)狀態。在這兩種狀態下,PLC的掃描過程及所要完成的任務是不盡相同的,如圖1所示。 PLC在RUN工作狀態時,執行一次掃描操作所的時間稱為掃描周期,其典型值通常為1一100nis,不同PLC廠家的產品則略有不同。掃描周期由內部處理時間、輸A/ 輸出處理執行時間、指令執行時間等三部分組成。通常在一個掃描過程中,執行指令的時間占了絕大部分,而執行指令的時間與用戶程序的長短有關。用戶 程 序 是根據控制要求由用戶編制,由許多條PLC指令所組成。不同的指令所對應的程序步不同,以三菱FX2N系列的PLC為例,PLC對每一個程序步操作處理時間為:基本指令占0.741s/步,功能指令占幾百微米/步。完成一個控制任務可以有多種編制程序的方法,因此,選擇合理、巧妙的編程方法既可以大大提高程序運行速度,又可以保證可靠性。 提高PLC程序運行速度的幾種編程方法2.1 用數據傳送給位元件組合的方法來控制輸出在 PL C應 用編程中,最后都會有一段輸出控制程序,一般都是用邏輯取及輸出指令來編寫,如圖2所示。在圖2所示的程序中,邏輯取的程序步為1,輸出的程序步為2,執行上述程序共需3個程序步。通常情況下,PLC要控制的輸出都不會是少量的,比如,有8個輸出,在條件滿足時要同時輸出。此時,執行圖2所示的程序共需17個程序步。若我們通過位元件的組合并采用數據傳送的方法來完成圖2所示的程序,就會大大減少程序步驟。在三 菱 PLC中,只處理ON/OFF狀態的元件(如X,Y,M和S),稱為位元件。但將位元件組合起來也可以處理數據。位元件組合由Kn加首元件號來表示。位元件每4bit為一組組合成單元。如KYO中的n是組數,當n=1時,K,Yo 對應的是Y3一Yo。當n二2時,KZYo對應的是Y7一Yo。通過位元件組合,就可以用處理數據的方式來處理位元件,圖2程序所示的功能可用圖3所示的傳送數據的方式來完成。
上傳時間: 2013-11-11
上傳用戶:幾何公差
ComPort Library是一套用來編寫串口通訊程序的控件。它包含5個控件:TComPort, TComDataPacket, TComComboBox, TComRadioGroup and TComLed。利用這些工具(當然還有DELPHI開發環境),你能更快更簡單地開發串口通訊程序。包含Delphi上下文相關的幫助文件和源代碼(4000行)。功能無限制。源代碼:包含。適用語言:CB3 CB4 CB5 D3 D4 D5
標簽: TComDataPacket TComRadioGroup TComComboBox TComPort
上傳時間: 2015-01-05
上傳用戶:363186
在WinCe平臺上開發的數據庫管理程序,里面有一個可排序列表控件的實現和Excel的CVS文件的讀寫類
上傳時間: 2013-12-25
上傳用戶:xymbian
Arith-N 是可以在命令行指定階數的 N 階上下文自適應算術編碼通用壓縮、解壓縮程序,由于是用作教程示例,為清晰起見,在某些地方并沒有刻意進行效率上的優化。由王笨笨大俠提供
上傳時間: 2015-01-08
上傳用戶:bjgaofei