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

正文內(nèi)容

單片機(jī)課程設(shè)計(jì)總結(jié)-全文預(yù)覽

2025-07-17 04:03 上一頁面

下一頁面
  

【正文】 6個(gè)脈沖中斷一次。 LedPrint( second % 10 )。 second = new % 60 。 } } case 1: while( 1 ) { unsigned int old, new。 LedPrint(Char_d)。 ClockOpen()。 if( INT1==0 ) function=2。P139。 } }}/*1. 參考任一個(gè)顯不方式的模塊,增加一種顯示方式對應(yīng)鍵K4,左右兩排發(fā)光二極管交替亮滅2. 每個(gè)按鍵Ki(i=1...16)對應(yīng)一個(gè)發(fā)光二極管LEDi,按相應(yīng)的鍵Ki,則對應(yīng)的燈LEDi亮, 再按,則滅,交替工作。 LedPrint(Char_d)。 ClockOpen()。P139。} :程序功能描述: 多彩的世界,變化無窮實(shí)現(xiàn)方法: 控制單片機(jī)左右兩排發(fā)光二極管注意事項(xiàng):運(yùn)行本程序時(shí),撥碼開關(guān) SW1. SW2 全部撥到39。 P0 = LedHexCode[ DisBuf[index] ]。 DisBuf[2] = DisBuf[3]。endif:include include code unsigned char LedHexCode[]= { //0 1 2 3 4 5 6 7 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, //8 9 a b c d e f 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71, // H L P o 0x40, 0x76, 0x38, 0x73, 0x5c, }。 }}——————————————————————————————————————————————:ifndef _LedDriver_H_define _LedDriver_H_/*顯示數(shù)據(jù)為一個(gè)字節(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 char DisBuf[]。 } break。 KeyBufIn( KeyCode[ KeyScan ] )。 switch( sts ) { case 0: if( KeyScan != 0xff ) //可能有按鍵 { sts=1。 P1=0x0f。 static unsigned char sts=0。 if( ++KeyBufWp = KeyBufSize ) KeyBufWp=0。 ret = KeyBuf[ KeyBufRp ]。unsigned char KeyBufRp=0。char getch( void )。 //允許定時(shí)計(jì)數(shù) ET2 = 1。 //定時(shí)器方式 RCAP2H = ((SysClock/1000)) 8。}void ClockOpen( void ) //初始化Timer2產(chǎn)生1ms定時(shí)中斷{ =0。void ClockCall( void )。}。程序內(nèi)容為上課時(shí)的例子test2。 //open interrupt for system while( 1 ){。 //first load to T2 TH2 = RCAP2H。 //time CP_RL2 = 0。 //開中斷 while ( 1 )。 //允許定時(shí)器1中斷 EX0 = 1。 INT0 = 1。 PT0 = 0。序號 中斷源 中斷控制位(允許否) 優(yōu)先控制位 中斷狀態(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è)計(jì)(初始化):要求:將串口中斷的級別設(shè)置為最高; INT0工作于邊沿模式,INT1工作于電平模式,這兩個(gè)中斷都是從外部輸入; 允許T1定時(shí)器中斷。 break。 //假按錯(cuò),或干擾,回狀態(tài)0else{ sts=2。 //右移8位,實(shí)際上是取高8位 P1_0 = 1。 //允許CPU響應(yīng)中斷請求while( 1 ) //永遠(yuǎn)為真,即死循環(huán) {if( keyHit() != 0 ) //如果隊(duì)列中有按鍵P2=Seg7Code[ keyGet() ]。 //計(jì)數(shù)周期為20000個(gè)主頻脈,自動(dòng)取低8位TH0 = (20000)8。//雙如按鍵‘7’,得X=0xb,Y=0xd,算得retVal=11,所以返回函數(shù)值7。 //P1輸入后移位到低四位,并清高四位,作為Y值retVal = keyCode[x]*4 + keyCode[y]。0x0f。 //回存鍵值}include include “”unsigned char keyScan( void ) //返回0表示無按鍵,或無效按鍵,其它值為按鍵編碼值{ code unsigned char keyCode[16]= /0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 3, 4, 0 }。就如取錯(cuò)了信件,有必要退回一樣******************************************************************************************/void keyBack( unsigned char ucKeyVal ){/*如果KeyBufRp=0。}void keyPut( unsigned char ucKeyVal ){ KeyBuf[ KeyBufWp ] = ucKeyVal。 //暫存讀出鍵值while( keyHit()==0 )。 //作為數(shù)組下標(biāo)變量,記錄存入位置unsigned char KeyBufRp=0。 //保存按鍵值ucKeyVal到按鍵緩沖隊(duì)列末void keyBack( unsigned char ucKeyVal )。 }}下面是另一個(gè)鍵盤值的算法,供大家參考。i5。 case 0xb7: return ( 14 )。 case 0xbb: return ( 10 )。 case 0xbd: return ( 6 )。 case 0xbe: return ( 2 )。 Y = P1。}unsigned char getch ( void ){ unsigned char X,Y,Z。char Getch ( void )。}}判斷有無鍵按下的程序:char Kbhit ( void ){ P1 = 0xf0。 case 0xe7: return ( 12 )。 case 0xeb: return ( 8 )。 case 0xed: return ( 4 )。 switch ( Z ) { case 0xee: return ( 0 )。 X = P1。4X4按鍵。}一般來說,按鍵的時(shí)候會有抖動(dòng),我們可以用加延時(shí)的辦法來去除抖動(dòng)。 if (P1_9 = = 0 ) return ( 1 )。