




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、前沿1、MSP430系列單片機系統(tǒng)工程設(shè)計與實踐這本書是我見過的最好的關(guān)于單片機的書,非常值得逐字逐句的徹底學習一遍。2、與51不同,MSP430單片機是RISC處理器,通過對比兩者的區(qū)別,可以建立起代碼移植的思想。3、MSP430單片機屬于混合信號處理器,資源極其豐富,有利于全面學習硬件知識。青島大學-TI 大學生創(chuàng)新中心 傅強21.1 初識MSP430單片機MSP430:低功耗之王,水果電池驅(qū)動1、為什么我們在乎功耗?凡是以電池為電源的電子設(shè)備都看重低功耗。幾乎所有的單片機會標榜自己有低功耗方面的設(shè)計。2、MSP430為什么可以成為低功耗之王?在硬件上,cpu和不用的模塊可以休眠在軟件上,
2、必須設(shè)計恰當?shù)男菝吆蛦拘?30是實現(xiàn)低功耗的必要條件,非充分條件。青島大學-TI 大學生創(chuàng)新中心 傅強31.1.1 MSP430單片機的應(yīng)用前景便攜設(shè)備,高集成度、小型化。野外安置的終身電池設(shè)備。無需額外供電的自供電設(shè)備。高精度測量、控制領(lǐng)域。當普通單片機用。青島大學-TI 大學生創(chuàng)新中心 傅強41.1.2 MSP430單片機的特點多時鐘系統(tǒng)CPU時鐘、功能模塊時鐘、休眠喚醒時鐘軟件設(shè)置時鐘16位RISC處理器,單指令周期模塊化結(jié)構(gòu)各模塊完全獨立,不需要cpu干涉避免了cpu與外部模塊復雜的數(shù)據(jù)通信學會最貴的430,等于會用了全系列430青島大學-TI 大學生創(chuàng)新中心 傅強5采用馮諾依曼結(jié)構(gòu)(
3、普林斯頓結(jié)構(gòu)),程序指令存儲器和數(shù)據(jù)存儲器統(tǒng)一編址。舉例:實現(xiàn)存儲器中兩數(shù)據(jù)相乘,要經(jīng)過3個步驟,通過總線取兩個數(shù)據(jù)和取出指令(干什么)到CPU。如果是哈佛結(jié)構(gòu),數(shù)據(jù)總線和指令總線分開。430可以在ram里跑程序,加上具有flash控制器,可實現(xiàn)固件更新。rom中的升級代碼-復制到ram運行-擦除rom-升級rom1.1.2 MSP430單片機的特點青島大學-TI 大學生創(chuàng)新中心 傅強6科普:ROM、RAM、DRAM、SRAM、EEPROM、FLASH存儲器存儲器揮發(fā)性存儲器非揮發(fā)性存儲器RAM可擦寫只讀SRAMDRAMEPROMEEPROMFLASHROM速度最高最貴要定時刷新紫外線擦寫電擦
4、寫電擦寫PROM計算機CPU一二級緩存計算機內(nèi)存條絕種ing貴,慢前途無量絕種了6個晶體管構(gòu)成1bit一個晶體管+電容充放電Floating gate transister 我們現(xiàn)在用的51,都是flash rom的,但是內(nèi)部沒有flash控制器,所以需要EEPROM存實時數(shù)據(jù)。 Msp430帶flash控制器,單片機自己就能擦寫flash,所以不用EEPROM。青島大學-TI 大學生創(chuàng)新中心 傅強7MSP430FE425A資源8M/s處理速度512RAM(數(shù)據(jù))+16KB Flash(程序代碼)內(nèi)置Flash控制器,剩余Flash可存數(shù)據(jù)。內(nèi)置時鐘管理單元,可內(nèi)部倍頻3路同步采樣、差分輸入、
5、32倍程控增益放大器的16位ADC溫度傳感器1.2V基準源和輸出緩沖器128段LCD驅(qū)動器增強UART串口看門狗BasicTimer定時器16位TimeA定時器,3路捕獲和2路PWM內(nèi)置BOR復位電路16個雙向可中斷IO口內(nèi)置電能計量模塊后綴帶A的,比如FE425A帶硬件乘法器青島大學-TI 大學生創(chuàng)新中心 傅強81.1.3 MSP430單片機最小系統(tǒng)一般單片機最小系統(tǒng)需要什么?電源、晶振、復位、下載/仿真接口MSP430FE425自帶片內(nèi)數(shù)控時鐘(DCO),掉電復位電路(BOR)一般講究一點都需要“電源監(jiān)視芯片”內(nèi)部時鐘一般不如晶振精確可以外接手表晶振32.768k,然后倍頻JTAG、SBW
6、、可下載+調(diào)試,BSL只能下載青島大學-TI 大學生創(chuàng)新中心 傅強91.2 MSP430單片機開發(fā)軟件入門一般用IAR430軟件工程管理、程序編輯、代碼編譯下載、仿真調(diào)試工程管理:管理外部函數(shù)、頭文件。程序編輯:寫代碼編譯:替程序員處理所有打雜的事情C-匯編調(diào)試:真正的考驗水平的地方,不是所有單片機都支持調(diào)試,這是要硬件支持的。青島大學-TI 大學生創(chuàng)新中心 傅強10全速執(zhí)行、單步執(zhí)行。執(zhí)行到光標處設(shè)置斷點(在程序中加一個空操作,然后用來設(shè)斷點)查看變量寄存器查看調(diào)用函數(shù)關(guān)系青島大學-TI 大學生創(chuàng)新中心 傅強111.3 MSP430單片機C語言基礎(chǔ)C語言、編譯器和機器碼之間的關(guān)系語言、編譯器
7、和機器碼之間的關(guān)系Main().C語言源文件VC編譯器PC(8086)機器碼ICC430編譯器MSP430單片機機器碼Keil-C51編譯器51單片機機器碼l在寫C語言的過程中,盡量消除不同CPU的差異,或者將差異集中到一個地方做修改,那么就能方便的實現(xiàn)代碼移植。l我們現(xiàn)在寫C程序,就必須按此要求嚴格要求自己。l這樣才能一通百通,才能減少重復勞動。青島大學-TI 大學生創(chuàng)新中心 傅強121.3.1 變量我們?yōu)槭裁匆x各種變量?定義短字節(jié)變量有哪些好處和壞處?定義長字節(jié)變量有哪些好處和壞處?一些特殊的關(guān)鍵字const unsigned char Table7=1,2,3,4,5,6,7stat
8、ic int a;/本地全局變量volatile int b;/不被優(yōu)化_no_init int c; /不對其初始化為什么要慎重使用全局變量?青島大學-TI 大學生創(chuàng)新中心 傅強131.3.2 數(shù)學運算盡可能避免浮點數(shù)運算。運算慢、非常慢。占用RAM多。所以應(yīng)盡量避免使用浮點數(shù)float。防止定點數(shù)溢出。long int x;int a;x=a*1000;/a和1000都是int型,a65溢出應(yīng)改為x=a*long(1000) 或x=(long)a*1000青島大學-TI 大學生創(chuàng)新中心 傅強14小數(shù)的處理例如,溫度的最后計算公式為:Deg_C=ADC*1.32/1.25-273為避免浮點數(shù)
9、可改為:Deg_C=(long)ADC*132/125-273如需保留1位小數(shù),則:Deg_C=(long)ADC*1320/125-2730 /擴大10倍程序中加上明確注釋在顯示時,將小數(shù)點移位即可減小乘除法取平均時,盡量取2、4、8等2次冪,這樣可以用移位代替乘除(可編譯器自動)后綴帶A的型號有硬件乘法器(自動使用)青島大學-TI 大學生創(chuàng)新中心 傅強151.3.3 位操作精簡指令處理器如何寫IO口?P2OUT = P2OUT | 0 x01; /P2.0置高 按位或P2OUT |=0 x01;/一般均簡寫成這樣P2OUT &=0 x01;/P2.1置低 按位與P2OUT =0 x
10、04;/P2.2取反 按位異或#define BIT0(0 x01)/宏定義.P2OUT |=BIT0; /P2.0置高P1OUT &=(BIT1+BIT2+BIT3)/P1.1 P1.2 P1.3置低精簡指令處理器如何讀IO口?char Key;If(P1IN&BIT5)=0)P2OUT |=BIT0;If(P1IN&BIT5)P2OUT |=BIT0;If(P1IN&(BIT5+BIT6)P2OUT |=BIT0;If(P1IN&BIT5)Key=1;/讀P1.5值賦給KeyelseKey=0;青島大學-TI 大學生創(chuàng)新中心 傅強161.3.4 寄存
11、器操作如何理解寄存器操作?如果設(shè)計模擬電路算是天才干的事情,那么操作單片機的寄存器就算是傻瓜干的事情。處理器把能干的事全干了,需要人過問的事情,通過一系列開關(guān)讓人來選擇,所以這是傻瓜就能干的事情越是功能強大的處理器,需要配置的寄存器越多。處理器說明書就是用來查寄存器功能的青島大學-TI 大學生創(chuàng)新中心 傅強17宏定義幫助我們理解抽象的數(shù)字查說明書,找到控制串口收發(fā)的是IE1寄存器的最高兩位,我們可以用下面的賦值。IE1 |= BIT6/開串口收中斷IE1 |= BIT7/開串口發(fā)中斷為便于記憶和理解,頭文件中有如下宏定義:#define URXIE0(0 x40)/在MSP430 x42x.h
12、#define UTXIE0(0 x80)/頭文件中已有IE1 |=URXIE0+UTXIE0以后我們接觸高級處理器的程序中,大部分都是這么寫,不會像51里面直接寫TMOD=0 x20這樣青島大學-TI 大學生創(chuàng)新中心 傅強18特別注意:使用“|=”賦值不會影響其他位,但要搞清楚是不是要先對標志位清0。例如:PWM控制器輸出模式有3個控制位,可以表示8種模式。頭文件中定義了OUTMODE_0OUTMODE_7宏定義,000-111。TACCTL1 |= OUTMODE_3;/011.TACCTL1 |= OUTMODE_6;/110實際效果是111,也就是模式7青島大學-TI 大學生創(chuàng)新中心
13、傅強191.3.5 中斷中斷的作用是快速響應(yīng)事件430中幾乎所有“資源”都帶中斷,為的是休眠cpu后,喚醒CPU。Cpu發(fā)送指令給模塊,然后休眠。模塊執(zhí)行完畢后,中斷喚醒CPU。中斷向量表位于ROM最高段0 xFE000 xFFFF(512B)特別注意!430的中斷沒有中斷嵌套的優(yōu)先級#pragma vector=BASICTIMER_VECTOR_interrupt void BT_ISR(void).青島大學-TI 大學生創(chuàng)新中心 傅強20Msp430 x42x頭文件中的中斷向量表#define BASICTIMER_VECTOR(0*2u) /*0 xFFE0 基礎(chǔ)定時器)PORT2_V
14、ECTOR (1 * 2u) /* 0 xFFE2 P2 */PORT1_VECTOR (4 * 2u) /* 0 xFFE8 P1 */TIMERA1_VECTOR (5 * 2u) /* 0 xFFEA Timer A CCR1/2*/TIMERA0_VECTOR (6 * 2u) /* 0 xFFEC Timer A CCR0 */USART0TX_VECTOR (8 * 2u) /* 0 xFFF0 串口發(fā)送 */USART0RX_VECTOR (9 * 2u) /* 0 xFFF2 串口接收*/WDT_VECTOR (10 * 2u) /* 0 xFFF4 Watchdog Time
15、r */SD16_VECTOR (12 * 2u) /* 0 xFFF8 16位ADC */NMI_VECTOR (14 * 2u) /* 0 xFFFC Non-maskable */RESET_VECTOR (15 * 2u) /* 0 xFFFE Reset */青島大學-TI 大學生創(chuàng)新中心 傅強21中斷的具體過程事先將中斷服務(wù)程序入口地址裝入中斷向量表。中斷發(fā)生后,如果中斷被允許(可屏蔽中斷),CPU將當前程序地址和CPU狀態(tài)寄存器SR壓入堆棧。跳轉(zhuǎn)到中斷服務(wù)程序入口,備份寄存器入堆棧。開始執(zhí)行中斷服務(wù)程序。退出中斷前,恢復寄存器。CPU取回SR寄存器,跳轉(zhuǎn)回中斷前主程序地址。青島大
16、學-TI 大學生創(chuàng)新中心 傅強22退出中斷時喚醒CPU進中斷前CPU休眠,那么退出中斷后CPU仍然休眠??梢栽谥袛嘧映绦蛑行薷亩褩V械腟R,使得中斷結(jié)束后,CPU不休眠。#pragma vector=BASICTIMER_VECTOR_interrupt void BT_ISR(void)._low_power_mode_off_on_exit();/此函數(shù)經(jīng)匯編優(yōu)化青島大學-TI 大學生創(chuàng)新中心 傅強23中斷標志位同類中斷合并成一個總的中斷。由軟件判斷中斷標志位flag來確定具體中斷。什么是標志位?不急用、待查詢。#pragma vector=PORT1_VECTOR_interrupt v
17、oid P1_ISR(void)if(P1IFG&BIT5).if(P1IFG&BIT6).P1IFG=0;青島大學-TI 大學生創(chuàng)新中心 傅強241.3.6 內(nèi)部函數(shù)頭文件instrinsic.h和in430.h_low_power_mode_0(); 或LPM0_low_power_mode_off_on_exit(); _delay_cycles(long int cycles);_enable_interrupt(); 或_EINT();_diaable_interrupt();或_DINT;_no_operation();或_NOP();_swap_bytes(x);
18、_bcd_add_short(unsigned int,unsigned int)青島大學-TI 大學生創(chuàng)新中心 傅強251.3.7 庫函數(shù)IAR EW430提供100個庫函數(shù)Ctype.h字符處理類Math.h數(shù)學類Stdio.h輸入和輸出類Stdlib.h通用子程序類String.h字符串處理類庫函數(shù)是C語言通用的,內(nèi)部函數(shù)與特定處理器有關(guān)。青島大學-TI 大學生創(chuàng)新中心 傅強261.4 文件管理將大程序劃分為若干小的C文件,最常用的劃分方法是按功能模塊劃分(對象)。/* DataProcess.c */int Sum(int a,int b,int c)int y;y=a+b+c;ret
19、urn(y);float Average(int a,int b,int c)float y;y=a+b+c;return(y/3);/* DataProcess.h */Extern int Sum (int a,int b,int c);Extern float Average(int a,int c);/* main.c */#include “DataProcess.h”.void main().Tem=Average(tem1,tem2,tem3);Weight=Sum(W1,W2,W3);.青島大學-TI 大學生創(chuàng)新中心 傅強27全局變量的處理隸屬關(guān)系模糊的全局變量單獨建
20、global.c隸屬于某模塊的,寫在模塊c文件中/* global.c */int BattVoltage;unsigned int SystemStatus;int Temperature;/* global.h */Extern int BattVoltage;Extern unsigned int SystemStatus;Extern int Temperature;/* DataProcess.c */Unsigned char OverflowFlag;int Sum(int a,int b,int c)int y;y=a+b+c;If(y65535)OverflowFlag=1;
21、return(y);/* DataProcess.h */Extern int Sum (int a,int b,int c);Extern unsigned char OverflowFlag;青島大學-TI 大學生創(chuàng)新中心 傅強281.5 代碼優(yōu)化編譯器可自動對代碼進行優(yōu)化速度快,但占rom多速度慢,占rom少可選優(yōu)化等級,等級越高,占rom越小調(diào)試階段最好關(guān)閉優(yōu)化要是不優(yōu)化還有變量改變,則加volatile青島大學-TI 大學生創(chuàng)新中心 傅強291.6 風格對于寫程序代碼,有3個層次首先,計算機要能讀其次,要自己能讀最后,要別人能讀青島大學-TI 大學生創(chuàng)新中心 傅強301.6.1 變量
22、命名規(guī)則變量名要有含義,不要隨便用abcxyz變量名最好是名詞詞性,1-4個單詞每個單詞首字母大寫Int InputVoltage;Int Temperature;必須出現(xiàn)空格時,用下劃線代替Int Degree_C;Int Degree_F;單詞較長,適當簡寫int NumOfInputChr;Int Deg_F;多個模塊都有的變量,按“模塊名_變量名”Char ADC_Status;Int UART1_RxcharCnt;約定俗成的變量不要改動I、j作為循環(huán)變量,p、q作為指針,s、t表示字符串青島大學-TI 大學生創(chuàng)新中心 傅強311.6.2 函數(shù)命名規(guī)則模塊名_不及物動詞模塊名_及物動
23、詞+名詞首字母大寫專用名詞全部大寫長單詞縮寫返回值是布爾型的,對返回1還是0的表意清晰Unsigned int ADC16_Sample();CharLCD_Init();CharRTC_Get();VoidPWM_SetPeriod();VoidFlash_WriteChar();VoidUART_GetChar();CharKey_GetKey();CharTouchPad_GetKey();TransmitTxRecetiveRxCountCntTo2CharUART_CheckTxBuff();/檢查緩沖區(qū)Char UART_IsTxBuffFull();/緩沖區(qū)是否已滿青島大學-TI
24、 大學生創(chuàng)新中心 傅強321.6.3 表達式好的表達式可以朗讀出來消除歧義,運算優(yōu)先級拿不準就加括號,表達式復雜就拆開。If ( UART_IsTxBuffFull() )UART_ClearTxBuff();ElseUART_PutChar(0 x55);i=5; j=+i;結(jié)果i=6,j=6等效于i=5; i=i+1; j=i;i=5; j=i+;結(jié)果i=6,j=5等效于i=5; j=i; i=i+1;青島大學-TI 大學生創(chuàng)新中心 傅強331.6.4 風格一致性For(i=0;i100;i+)for(j=0;jDOT;i- -) /從第6位到小數(shù)點依次遞減 if(DispBuffi=0)
25、 DispBuffi= ; /如果該位數(shù)值是0,則替換成空格 else break; /如果不是,則跳出循環(huán)For(i=6;iDOT;i- -) /對全部6位顯示數(shù)據(jù)進行判斷 if(DispBuffi=0) DispBuffi= ; /消隱小數(shù)點前的無效0 else break;青島大學-TI 大學生創(chuàng)新中心 傅強35功能函數(shù)的注釋/* 名 稱: LCD_DisplayDigit()* 功 能: 在LCD上任意位置顯示一個數(shù)字* 入口參數(shù): Digit: 待顯示數(shù)字 (09) Location: 顯示位置 從左至右對應(yīng)76543210* 出口參數(shù): 無* 說 明: 調(diào)用該函數(shù)不影響LCD其他位
26、的顯示。* 范 例: LCD_DisplayDigit(3,0); /在第一位(右側(cè)最低位)顯示3 LCD_DisplayDigit(2,1); /在第二位顯示2 LCD_DisplayDigit(1,2); /在第三位顯示1 - 顯示結(jié)果: 123*/void LCD_DisplayDigit ( char Digit, char Location ) char DigitSeg;/ 存放字形筆劃的變量 char *pLCD;/ 存放LCD顯存指針的變量 DigitSeg = LCD_TabDigit; / 得到待顯示數(shù)字的字形筆劃 pLCD= &LCDM1; / 獲得LCDM1的地
27、址 pLCDLocation= DigitSeg; / 在LCDM1之后Location個單元顯示出數(shù)字 青島大學-TI 大學生創(chuàng)新中心 傅強361.6.6 宏定義宏定義給予常數(shù)可讀性宏定義全部大寫,以區(qū)別變量數(shù)據(jù)加括號,注釋使用/*/#define TXBUFF_SIZE(128)/*發(fā)送緩沖區(qū)大小*/#define LCD_ROW(128)/*點陣液晶行數(shù)*/ #define LCD_CLUMN(128)/*點陣液晶列數(shù)*/ #define LCD_BUF_SIZE(LCD_CLUMN*LCD_ROW/8)/*點陣液晶緩沖區(qū)大小*/ Unsigned char TxBuffTXBUFF_S
28、IZE;/定義發(fā)送緩沖區(qū)Char IsTxBuffFull()if(NumOfTxChars=TXBUFF_SIZE) return(1);/緩沖區(qū)是否滿?else return(0);青島大學-TI 大學生創(chuàng)新中心 傅強37使用宏定義時,要防止定點數(shù)溢出宏定義的用途廣泛增強程序的可移植性進行軟件版本的管理#define VOLT_RATE(1000)/*比例系數(shù)*/.long Voltage;Int InputValue;.Voltage=InputValue*VOLT_RATE;/*可能溢出*/#define VOLT_RATE(long(1000)/*比例系數(shù),強行整成long*/青島大
29、學-TI 大學生創(chuàng)新中心 傅強381.7可移植性可移植性是嵌入式軟件設(shè)計的重要思想用到不同的硬件,比如LCD到數(shù)碼管用到不同的處理器,比如51到430,ARM編程時應(yīng)盡量消除硬件差異無法消除的差異,集中到小的局部來修改青島大學-TI 大學生創(chuàng)新中心 傅強391.7.1 消除CPU差異例如用宏定義消除IO口操作的差異此后的程序不用修改,直接用LED_ON和LED_OFF來操作IO口#include”MSP430 x42x.h”#define LED_ONP2OUT |=BIT0#define LED_OFFP2OUT &=BIT0#include”reg51.h”Sbit LED=P20
30、;#define LED_ONP2.0=1;#define LED_OFFP2.0=0;青島大學-TI 大學生創(chuàng)新中心 傅強401.7.2 消除硬件差異用宏定義消除硬件差異例如LCD或數(shù)碼管的IO口,順序經(jīng)常會改變/*宏定義,數(shù)碼管ag、DP各段對應(yīng)的比特,更換硬件只用改動以下8行*/#define a0 x01#define b0 x02#define c0 x04#define d0 x08#define e0 x10#define f0 x20#define g0 x40#define DP0 x80/*宏定義自動生成段碼表,不要改動*/Const char LCD_Tab =a+b+c
31、+d+e+f,/0b+c,/1a+b+d+e+g,/2a+b+c+d+g,/3b+c+f+g,/4a+c+d+f+g,/5a+c+d+e+f+g, /6a+b+c,/7a+b+c+d+e+f+g, /8a+b+c+d+f+g, /9 #undef a .青島大學-TI 大學生創(chuàng)新中心 傅強41 用函數(shù)來消除硬件差異例如控制電機的啟和停直流電機設(shè)置IO口高低電平即可步進電機要輸出一定規(guī)則的脈沖序列大型交流電機需要用串口控制變頻器我們把具體操作“封”在函數(shù)里Moter_ON( ).Moter_OFF( ).青島大學-TI 大學生創(chuàng)新中心 傅強421.7.3 軟件層次劃分大量復雜的調(diào)用函數(shù)需要有清晰
32、的層次關(guān)系菜單/人機界面Key_GetKey();Key_WaitKey();鍵盤緩沖區(qū)【FIFO】定時掃描并判斷按鍵LCD_Clear();LCD_DisplayNumber();LCD_DisplayDecimal();LCD_InsertChar();LCD_DeleteChar();顯示緩沖區(qū)【數(shù)組】LED定時循環(huán)掃描LED顯存映射應(yīng)用層功能函數(shù)層硬件隔離層硬件驅(qū)動層青島大學-TI 大學生創(chuàng)新中心 傅強43應(yīng)用層:最終功能,往往和人的感官有關(guān)功能層:功能函數(shù),表達具體要干什么硬件隔離層:宏定義、緩沖區(qū)、函數(shù)封裝硬件隔離層(硬件抽象層Hardware Abstract Layer,HAL
33、)是非常重要的環(huán)節(jié)。功能函數(shù)只操作硬件隔離層的數(shù)據(jù),與具體硬件無關(guān)。硬件驅(qū)動層:和具體硬件有關(guān)的代碼,硬件驅(qū)動層從硬件隔離層獲得“指示”,或是將“結(jié)果”發(fā)送至硬件隔離層。青島大學-TI 大學生創(chuàng)新中心 傅強44軟件劃分層次的好處每個層的函數(shù)只對上下層“可見”,這樣設(shè)置好接口參數(shù)后,各單元軟件可獨立開發(fā)。改動硬件時,只需配置相應(yīng)的底層驅(qū)動,修改硬件隔離層,而整個大軟件功能可以不變。軟件的可移植性增強。功能層的函數(shù)無需關(guān)心硬件如何實現(xiàn),以及何時何處被應(yīng)用層調(diào)用,專心做好自己的事情就行。將大型軟件任務(wù)分塊,團隊合作。只要明確了模塊功能,接口規(guī)范,就能分派任務(wù)。青島大學-TI 大學生創(chuàng)新中心 傅強451.7.4 接口Void RTC_Tick(int DivSec)/硬件無關(guān)的走時函數(shù),DivSec入口 char Days;/每月的天數(shù)變量 DSEC+;/定時中斷加數(shù) DISAB
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 品牌口碑提升計劃
- 創(chuàng)新思維與解決方案探討計劃
- 《四川省木里縣灰?guī)r山金礦普查實施方案》評審意見書
- 2025年美術(shù)元宵燈會標準教案
- 三年級數(shù)學下冊7小數(shù)的初步認識教學反思二新人教版
- 健康保險類知識培訓課件
- 2025年山西道路貨運從業(yè)資格證考試
- 2025年甘肅貨運從業(yè)資格證模擬考試試題答案
- 人教版八年級歷史與社會下冊教學設(shè)計:5.1.3《農(nóng)耕文明的繁盛》
- 2025年巢湖道路運輸從業(yè)資格證
- GB/T 29334-2012用于非石油基液壓制動液的汽車液壓制動缸用的彈性體皮碗和密封圈
- GB/T 14706-1993校對符號及其用法
- 高二數(shù)學平面向量的基本定理
- 高中美術(shù)-美術(shù)鑒賞《審美自律》
- 強讀和弱讀-(課堂)課件
- 裕興新概念英語第二冊筆記第42課
- 管理高爾夫?qū)崙?zhàn)訓練課程課件
- 輸電線路工程導線壓接技術(shù)培訓
- 《變電站二次回路》By:國網(wǎng)技術(shù)學院-2018年版
- 2022年義務(wù)教育語文課程標準(2022版)解讀【新課標背景下的初中名著閱讀教學質(zhì)量提升思考】
- 班級管理(第3版)教學課件匯總?cè)纂娮咏贪?完整版)
評論
0/150
提交評論