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

正文內(nèi)容

單片機(jī)課程設(shè)計總結(jié)(編輯修改稿)

2024-07-23 04:03 本頁面
 

【文章內(nèi)容簡介】 中斷狀態(tài) 其他 0 X0 EX0 PX0 IE0 INT0 1 Timer0 ET0 PT0 TF0 T0 2 X1 EX1 PX1 IE1 INT1 3 Timer1 ET1 PT1 TF1 T1 4 UART ES PS RXD/TXD RI/TI 5 Timer2 ET2 PT2 TF2 T2 EA完成以下程序設(shè)計(初始化):要求:將串口中斷的級別設(shè)置為最高; INT0工作于邊沿模式,INT1工作于電平模式,這兩個中斷都是從外部輸入; 允許T1定時器中斷。include void main ( void ){ EA = 0。 PS = 1。 PT1 = 0。 PT0 = 0。 PX0 = 0。 PX1 = 0。 //設(shè)置串口的中斷級別最高 INT1 = 1。 INT0 = 1。 //設(shè)置外部輸入中斷 IT0 = 1。 IT1 = 0。 //設(shè)置INT0工作于邊沿模式,INT1工作于電平模式 ET1 = 1。 //允許定時器1中斷 EX0 = 1。 EX1 = 1。 //允許外部中斷0、1工作 ES = 1。 //允許串口中斷 EA = 1。 //開中斷 while ( 1 )。}下面的程序?yàn)橹袛嗟木唧w應(yīng)用,主要是針對T2定時器的中斷。include void main( void ){ EA = 0。 //disable interrupt for system C_T2 = 0。 //time CP_RL2 = 0。 //Reload RCAP2L = 1000。 //low 8 bits RCAP2H = (1000)8。 //high 8 bits TL2 = RCAP2L。 //first load to T2 TH2 = RCAP2H。 TR2 = 1。 //start count ET2 = 1。 //enable Timer2 interrupt EA = 1。 //open interrupt for system while( 1 ){。}}void Timer2Int( void ) interrupt 5{ TF2 = 0。 P1 ^= 0xff。}下面的程序是將按鍵和顯示放在中斷服務(wù)程序中進(jìn)行處理。程序內(nèi)容為上課時的例子test2。:ifndef _clock_h_define _clock_h_define SysClock 3686400struct sClock{ unsigned char flag。 unsigned long second。 //2^32 seconds for 136 years unsigned int ms。}。void ClockOpen( void )。struct sClock * ClockGet( void )。//void ClockSet( struct sClock *ptr )。void ClockCall( void )。extern struct sClock gClock。endif——————————————————————————————————:include include include include void ClockCall_ms( void ){ LedTimeCall()。 KeyTimeCall()。}void ClockOpen( void ) //初始化Timer2產(chǎn)生1ms定時中斷{ =0。 =0。 CP_RL2 = 0。 //重載模式 C_T2 = 0。 //定時器方式 RCAP2H = ((SysClock/1000)) 8。 //重載值高8位 RCAP2L = ((SysClock/1000)) amp。 0x00ff。 //重載值低8位 TR2 = 1。 //允許定時計數(shù) ET2 = 1。 //允許Timer2中斷} void T2int( void ) interrupt 5{ TF2 = 0。 //clear interrupt status ClockCall_ms()。}——————————————————————————————————————:ifndef _KeyDriver_H_define _KeyDriver_H_define KeyBufSize 4char kbhit( void )。char getch( void )。void KeyBufIn( char dat )。void KeyTimeCall( void )。endif:include include unsigned char KeyBufWp=0。unsigned char KeyBufRp=0。unsigned char KeyBuf[KeyBufSize]。char kbhit( void ){ return( KeyBufWp KeyBufRp )。 }char getch( void ){ char ret。 ret = KeyBuf[ KeyBufRp ]。 if( ++KeyBufRp = KeyBufSize ) KeyBufRp=0。 return( ret )。}void KeyBufIn( char dat ){ KeyBuf[ KeyBufWp ] = dat。 if( ++KeyBufWp = KeyBufSize ) KeyBufWp=0。}void KeyTimeCall( void ){ code char KeyCode[]={ /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //0 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //1 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //2 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //3 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //4 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //5 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //6 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0x0F, 0xff,0xff,0xff,0x0B, 0xff,0x07,0x03,0xff, //7 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //8 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //9 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //A 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0x0E, 0xff,0xff,0xff,0x0A, 0xff,0x06,0x02,0xff, //B 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, //C 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0x0D, 0xff,0xff,0xff,0x09, 0xff,0x05,0x01,0xff, //D 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0x0C, 0xff,0xff,0xff,0x08, 0xff,0x04,0x00,0xff, //E 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff //F }。 unsigned char KeyScan。 static unsigned char KeyScanCode=0。 static unsigned char sts=0。 static unsigned char ms=20。 if( ms ) return。 ms=20。 P1=0x0f。 KeyScan=P1。 P1=0xf0。 KeyScan|=P1。 switch( sts ) { case 0: if( KeyScan != 0xff ) //可能有按鍵 { sts=1。 KeyScanCode=KeyScan。 } break。 case 1: if( KeyScanCode == KeyScan ) //去抖后確為鍵按下 { sts = 2。 KeyBufIn( KeyCode[ KeyScan ] )。 //返回鍵值 } else //否則認(rèn)為是干擾,重新檢測 sts = 0。 break。 case 2: if( KeyScanCode != KeyScan ) //檢測松開按鍵 { if( KeyScan == 0xff ) sts=3。 } break。 //按鍵超過1秒認(rèn)為是連續(xù)按鍵 //,直到松開為止 //要處理組合按鍵(,保證所有組合鍵到位 //還可能保持不松開全部按鍵的情況下,轉(zhuǎn)換按其它鍵組合 // case 3: if( KeyScan == 0xff ) sts=0。 //去抖后確為松開按鍵 else sts=2。 //是干擾 break。 }}——————————————————————————————————————————————:ifndef _LedDriver_H_define _LedDriver_H_/*顯示數(shù)據(jù)為一個字節(jié),由兩部分組成,高三位為屬性,低五位為值 BIT7:為小數(shù)點(diǎn) BIT6:為閃爍位 BIT5:保留*/define CharAtr_POINT 0x80define CharAtr_FLASH 0x40define Char_0 0define Char_1 1define Char_2 2define Char_3 3define Char_4 4define Char_5 5define Char_6 6define Char_7 7define Char_8 8define Char_9 9define Char_a 10define Char_b 11define Char_c 12define Char_d 13define Char_e 14define Char_f 15define Char_N 16 //singned define Char_H 17define Char_L 18define Char_P 19define Char_o 20extern unsigned ch
點(diǎn)擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1