一種基于總線的智能型執(zhí)行器系統(tǒng)設計
1、角反饋位置子程序。68HC12片上提供了一個8路10位的A/D轉換器,由于其簡單易用,可靠性高,因此本設計中,應用該A/D轉換器來完成位置信號的反饋。在本設計中,ATDCTL2賦值80H,允許A/D功能。正常清除A/D轉換標志,不允許中斷。ATDCTL3賦值00H,選擇連續(xù)轉換模式,不許凍結。ATDCTL4賦值01H,分頻因子為4,采樣時間為2個A/D時鐘。A/D轉換完畢后,就可以得到當前角位置反饋,然后將該值存入數據緩沖區(qū),供執(zhí)行器驅動子程序、向總線仲裁器發(fā)送的變量寫子程序和LCD顯示子程序使用。
2、執(zhí)行器輸出驅動子程序。由于執(zhí)行器的正反轉輸出由MCU上的兩個I/O口進行控制,所以對其控制比較簡單,在此不作詳細敘述。值得一提的是本設計中將死區(qū)嵌入了對到達指定位置判斷的子程序中,執(zhí)行器正轉時,反饋值不能大于指定值加1(指定值為0~100%開度),反轉時,反饋值不能小于指定值減1。即死區(qū)被定為1%。
圖5中斷處理程序流程圖
3、LCD顯示子程序。本設計使用的LCD控制器HD44780必須進行初始化,否則模塊可能無法正常顯示,一般通過軟件復位程序來完成其初始化。將LCD設置為8位數據接口,2行顯示,5×7點陣,顯示開,光標關,閃爍關,無移位。第一行地址80H,第二行地址C0H。在對LCD初始化結束后,可以對LCD進行讀寫操作。LCD的讀寫操作都是在E管腳的下降沿有效,所以讀寫前要確保數據準備好,先將E置高,再將其置低,完成讀寫操作。
4、軟件的固化。軟件調試完畢后需要把程序固化到MCU68HC12的FLASH中,68HC12的FLASH控制寄存器共有4個,它們是:FEELCK,FEEMCR,FEETST和FEECTL。FEELCK等于01H時將禁止FLASH,FEEMCR等于01H時將擦除和編程FLASH的啟動塊,FEETST主要用來進行測試,而FEECTL則具體控制FLASH的讀寫編程。
評論