四虎国产精品成人免费4hu_欧美xx网站_一本色道久久加勒比88综合_国产在视频一区二区三区吞精_国产精品一区二区x88av_日韩精品一区二区三区四区 _天天影视涩香欲综合网

跳至正文

單片機課程設計(單片機課程設計心得)

單片機課程設計

單片機課程設計

#include#include #define unint unsigned int unint nt=0; void time()interrupt 1 using 1 { TH0=0x3c; TL0=0xb0; nt++; } void main() { unint led=0xfe; TMOD=0x01; TH0=0x3c; TL0=0xb0; EA=1; ET0=1; TR0=1; while(1) { if(nt%4==0) {P0=led;} eles P0=0; if(nt>40) {led=_crol_(led,1); if(led==0xef) {led=0xfe;} nt=0; }}

單片機課程設計,請大家幫忙~~~

單片機課程設計,請大家幫忙~~~

首先先判斷按鍵…用一個寄存器來放按鍵的值 舉個例子吧. 比如R3放按鍵數 當按下第一次時,CJNE R3,#1,AA AA程序就是你要執行了第一個L1閃的程序… 這個應該懂了吧

單片機課程設計,誰有報告?

單片機課程設計,誰有報告?

這是我們做的《微機控制技術》課程設計,里面包含了課程設計報告,課程設計報告非常的完整對各個階段的設計都有完整的說明,包含所有的源代碼。同時,附帶Protues仿真文件,在安裝了Protues的電腦上就可直接運行仿真文件。希望對相同課題設計的朋友有所幫助。下面是對內容的一些介紹:

=======================================

項目要求與擴展

========================================

1.1 項目要求:

1、 總共可以設置8位密碼,每位密碼值范圍1—8。

2、 用戶可以自行設定和修改密碼。

3、 按每個密碼鍵時都有聲音提示。

4、 若鍵入的8位開鎖密碼不完全正確,則報警5S。

5、 開鎖密碼連續錯3次要報警1分鐘,報警期中輸入密碼無效,以防盜賊多次試探密碼。

6、 鍵入的8位開鎖密碼完全正確才能開鎖,開始時要有1S的提示音。

7、 電磁鎖的電磁線圈每次充電5S,然后恢復初態。

8、 密碼鍵盤上只有8個密碼按鍵,鎖內有備用電池,只有內部上電復位時才能設置成終改密碼,因此,僅在門外按鍵是不能修改或設置密碼的。

9、密碼設置完畢后要有2S的提示音。

1.2用途與功能擴展:

我們在不改變原有項目要求的基礎上,從實用角度做了如下擴展:

1、將密碼范圍從0~8擴展到為 0~9;使密碼鎖的密碼設置更加符合人們的習慣。

2、解除對密碼的位數 (原要求長度為8位)的限定,把主動權交給用戶,由用戶根據需要自定義密碼位數,以便于實現任意位密碼的設置。

3、增加清除鍵用于清除輸入的誤碼:增加密碼輸入確認鍵用于對輸入結果進行確認。

=========================================

課程設計報告目錄

=========================================

目錄

引言 1

一、單片機概述 1

1.1 AT89S52的主要性能 1

1.2 AT89S52的功能特性描述 1

1.3 AT89S52的管腳排列 2

二、硬件設計 2

2.1 硬件設計思想 2

2.2 部分硬件方案論述 2

2.2.1 七段數碼管掃描顯示方式的方案比較 2

2.2.2 鍵盤連接方式方案比較 3

2.3 硬件電路圖 4

2.3.1硬件原理框圖 4

2.3.2 硬件protues仿真原理圖 5

2.4 硬件單元 5

2.4.1 鍵盤輸入單元: 5

2.4.2 顯示單元: 6

2.4.3報警電路模塊: 7

2.4.4晶振電路模塊: 7

2.4.5復位電路模塊: 7

2.4.6開鎖模塊 8

2.4.7單片機模塊 8

三、軟件設計 9

3.1 軟件基本思想: 9

3.1.1設置密碼模式: 9

3.1.2密碼驗證開鎖模式: 9

3.1.3密碼判決: 9

3.2 程序模塊介紹 9

3.3 程序簡述 10

3.4 內存單元的分配 10

3.4.1RAM存儲單元的分配方案 10

3.4.2 寄存器的分配方案 10

3.5 程序框圖 11

3.6 子程序清單列表 15

3.7 程序核心代碼(主函數代碼) 16

四、總結 20

4.1 基本成果: 20

4.2 技術特色與創新 20

4.2.1 安全 20

4.2.2 方便 20

4.3 應用拓展 20

4.4 與同類課題研究的比對和優勢 20

4.4.1 傳統的機械鎖: 21

4.4.2 指紋識別系統: 21

4.4.3 我們的特點及優勢: 21

五、參考文獻 21

六、收獲與感悟: 22

七、致謝 22

八、附錄 23

8.1電子密碼鎖用戶使用手冊 23

8.2 本組成員及分工情況 24

8.3 程序源代碼

==========================================

如果你需要可以到CSDN下載,資料可以分享。

1單片機課程設計 波形發生器的設計

單片機只能產生方波,還需要外圍器件,da0832加741;再高點的頻率就不行了;也可以波形發生芯片icl8038,它能同時產生正弦波,方波,三角波,采用ad采集電壓并記錄記錄,加12864液晶顯示;或者是波形發生電路加整形電路再加單片機采集顯示!三種方法樓主看哪個合適你吧.最后給你一個icl8038電路圖

單片機課程設計實例

redlightzhu bit p1.0

yellowlightzhu bit p1.1

greenlightzhu bit p1.2

redlightzhi bit p1.3

yellowlightzhi bit p1.4

greenlightzhi bit p1.5

shiw equ 78h

gew equ 79h

xh1 equ 30h

xh2 equ 31h

org 0000h

jmp main

org 0080h

main:

mov xh1,#255

mov xh2,#255

mov p1,#0ffh

mov P0,#0ffh

mov P2,#0ffh

mov dptr,#tab

green:

mov xh1,#255

mov xh2,#255

mov r4,#35

mov r3,#35

loopa:clr greenlightzhu

clr redlightzhi

loop1:lcall shuxian

djnz xh1,loop1

setb greenlightzhu

setb redlightzhi

loop2:lcall shuxian

djnz xh2,loop2

dec r3

dec r4

mov a,r4

cjne a,#5,loopa

greenlight:

mov xh1,#255

mov xh2,#255

mov r4,#5

mov r3,#5

loopb:clr greenlightzhu

clr yellowlightzhu

clr redlightzhi

loop11:lcall shuxian

djnz xh1,loop11

setb greenlightzhu

setb redlightzhi

setb yellowlightzhu

loop12:lcall shuxian

djnz xh2,loop12

dec r3

djnz r4,loopb

red1:

mov xh1,#255

mov xh2,#255

mov r4,#20

mov r3,#20

loopc:clr greenlightzhi

clr redlightzhu

loop21:call shuxian

djnz xh1,loop21

setb greenlightzhi

setb redlightzhu

loop22:call shuxian

djnz xh2,loop22

dec r4

dec r3

mov a,r3

cjne a,#5,loopc

red2:

mov xh1,#255

mov xh2,#255

mov r4,#5

mov r3,#5

loopd:clr greenlightzhi

clr yellowlightzhi

clr redlightzhu

loop31:call shuxian

djnz xh1,loop31

setb greenlightzhi

setb redlightzhu

setb yellowlightzhi

loop32:call shuxian

djnz xh2,loop32

dec r3

djnz r4,loopd

jmp green

shuxian:

mov a,r4

mov b,#10

div ab

mov shiw,a

mov gew,b

movc a,@a+dptr

mov shiw,a

mov a,gew

movc a,@a+dptr

mov gew,a

mov p0,#0ffh

mov p2,#0ffh

clr p2.3

mov p0,shiw

call delay

mov p0,#0ffh

mov p2,#0ffh

clr p2.4

mov p0,gew

call delay

mov a,r3

mov b,#10

div ab

mov shiw,a

mov gew,b

movc a,@a+dptr

mov shiw,a

mov a,gew

movc a,@a+dptr

mov gew,a

mov p0,#0ffH

mov p2,0ffh

clr p2.5

mov p0,shiw

call delay

mov p0,#0ffh

mov p2,#0ffh

clr p2.6

mov p0,gew

call delay

ret

delay:

mov r6,#30;延時1ms子程序

mov r7,#255

d1:djnz r6,d1

d2:djnz r7,d2

ret

tab:

DB 28h,7eh,0a2h,62h,74h,61h,21h,7ah,20h,60h

end

簡單的單片機課程設計

S_SET BIT P3.2 ;數字鐘秒控制位

M_SET BIT P3.3 ;分鐘控制位

H_SET BIT P3.4 ;小時控制位

SECOND EQU 30H

MINUTE EQU 31H

HOUR EQU 32H

TCNT EQU 34H

ORG 0000H

SJMP START

ORG 000BH

LJMP INT_T0

START:MOV DPTR,#TABLE

MOV P1,#0FEH

MOV HOUR,#0 ;初始化

MOV MINUTE,#0

MOV SECOND,#0

MOV TCNT,#0

MOV TMOD,#01H

MOV TH0,#(65536-50000)/256 ;定時50毫秒

MOV TL0,#(65536-50000)/256

MOV IE,#82H

SETB TR0

;****************************;判斷是否有控制鍵按下,是哪一個鍵按下

A1: LCALL DISPLAY

JNB S_SET,S1

JNB M_SET,S2

JNB H_SET,S3

LJMP A1

S1: LCALL DELAY ;去抖動

JB S_SET,A1

INC SECOND ;秒值加1

MOV A,SECOND

CJNE A,#60,J0 ;判斷是否加到60秒

MOV SECOND,#0

LJMP K1

S2: LCALL DELAY

JB M_SET,A1

K1: INC MINUTE ;分鐘值加1

MOV A,MINUTE

CJNE A,#60,J1 ;判斷是否加到60分

MOV MINUTE,#0

LJMP K2

S3: LCALL DELAY

JB H_SET,A1

K2: INC HOUR ;小時值加1

MOV A,HOUR

CJNE A,#24,J2 ;判斷是否加到24小時

MOV HOUR,#0

MOV MINUTE,#0

MOV SECOND,#0

LJMP A1

;*********************;等待按鍵抬起

J0: JB S_SET,A1

LCALL DISPLAY

SJMP J0

J1: JB M_SET,A1

LCALL DISPLAY

SJMP J1

J2: JB H_SET,A1

LCALL DISPLAY

SJMP J2

;***********************************************

;定時器中斷服務程序,對秒,分鐘和小時的計數

INT_T0:MOV TH0,#(65536-50000)/256

MOV TL0,#(65536-50000)/256

INC TCNT

MOV A,TCNT

CJNE A,#20,RETUNE ;計時1秒

INC SECOND

MOV A,P1

RR A

MOV P1,A

MOV TCNT,#0

MOV A,SECOND

CJNE A,#60,RETUNE

INC MINUTE

MOV SECOND,#0

MOV A,MINUTE

CJNE A,#60,RETUNE

INC HOUR

MOV MINUTE,#0

MOV A,HOUR

CJNE A,#25,RETUNE

MOV HOUR,#0

MOV MINUTE,#0

MOV SECOND,#0

MOV TCNT,#0

RETUNE: RETI

;*********************;顯示控制子程序

DISPLAY: MOV A,SECOND ;顯示秒

MOV B,#10

DIV AB

CLR P2.1

MOVC A,@A+DPTR

MOV P0,A

LCALL DELAY

SETB P2.1

MOV A,B

CLR P2.0

MOVC A,@A+DPTR

MOV P0,A

LCALL DELAY

SETB P2.0

CLR P2.2

MOV P0,#40H

LCALL DELAY

SETB P2.2

MOV A,MINUTE ;顯示分鐘

MOV B,#10

DIV AB

CLR P2.4

MOVC A,@A+DPTR

MOV P0,A

LCALL DELAY

SETB P2.4

MOV A,B

CLR P2.3

MOVC A,@A+DPTR

MOV P0,A

LCALL DELAY

SETB P2.3

CLR P2.5

MOV P0,#40H

LCALL DELAY

SETB P2.5

MOV A,HOUR ;顯示小時

MOV B,#10

DIV AB

CLR P2.7

MOVC A,@A+DPTR

MOV P0,A

LCALL DELAY

SETB P2.7

MOV A,B

CLR P2.6

MOVC A,@A+DPTR

MOV P0,A

LCALL DELAY

SETB P2.6

RET

TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

DELAY: MOV R6,#10

D1: MOV R7,#250

DJNZ R7,$

DJNZ R6,D1

RET

END

單片機課程設計:學校作息時間控制系統的設計!

C8051f040單片機,內部資源豐富,12864液晶顯示器,4X4鍵盤作為輸入模塊,主要是軟件.

單片機課程設計—–數字溫度計(要有原程序)

系統程序主要包括C程序主函數、DS18B20復位函數、DS18B20寫字節函數、DS18B20讀字節函數、溫度計算轉換函數、顯示函數等等。

以下是DS18B20溫度計C語言程序清單:

/*********************************************************************/

//

// DS18B20溫度計C程序

// 2005.2.28通過調試

/*********************************************************************/

//使用AT89C2051單片機,12MHZ晶振,用共陽LED數碼管

//P1口輸出段碼,P3口掃描

//#pragma src(d:\aa.asm)

#include “reg51.h”

#include “intrins.h” //_nop_();延時函數用

#define Disdata P1 //段碼輸出口

#define discan P3 //掃描口

#define uchar unsigned char

#define uint unsigned int

sbit DQ=P3^7; //溫度輸入口

sbit DIN=P1^7; //LED小數點控制

uint h;

//

//

//*******溫度小數部分用查表法**********//

uchar code ditab[16]=

{0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};

//

uchar code dis_7[12]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff,0xbf};

/* 共陽LED段碼表 “0” “1” “2” “3” “4” “5” “6” “7” “8” “9” “不亮” “-” */

uchar code scan_con[4]={0xfe,0xfd,0xfb,0xf7}; // 列掃描控制字

uchar data temp_data[2]={0x00,0x00}; // 讀出溫度暫放

uchar data display[5]={0x00,0x00,0x00,0x00,0x00};//顯示單元數據,共4個數據,一個運算暫存用

//

//

//

/***********11微秒延時函數**********/

//

void delay(uint t)

{

for(;t>0;t–);

}

//

/***********顯示掃描函數**********/

scan()

{

char k;

for(k=0;k<4;k++) //四位LED掃描控制

{

Disdata=dis_7[display[k]];

if(k==1){DIN=0;}

discan=scan_con[k];delay(90);discan=0xff;

}

}

//

//

/***********18B20復位函數**********/

ow_reset(void)

{

char presence=1;

while(presence)

{

while(presence)

{

DQ=1;_nop_();_nop_();

DQ=0; //

delay(50); // 550us

DQ=1; //

delay(6); // 66us

presence=DQ; // presence=0繼續下一步

}

delay(45); //延時500us

presence = ~DQ;

}

DQ=1;

}

//

//

/**********18B20寫命令函數*********/

//向 1-WIRE 總線上寫一個字節

void write_byte(uchar val)

{

uchar i;

for (i=8; i>0; i–) //

{

DQ=1;_nop_();_nop_();

DQ = 0;_nop_();_nop_();_nop_();_nop_();_nop_();//5us

DQ = val&0x01; //最低位移出

delay(6); //66us

val=val/2; //右移一位

}

DQ = 1;

delay(1);

}

//

/*********18B20讀1個字節函數********/

//從總線上讀取一個字節

uchar read_byte(void)

{

uchar i;

uchar value = 0;

for (i=8;i>0;i–)

{

DQ=1;_nop_();_nop_();

value>>=1;

DQ = 0; //

_nop_();_nop_();_nop_();_nop_(); //4us

DQ = 1;_nop_();_nop_();_nop_();_nop_(); //4us

if(DQ)value|=0x80;

delay(6); //66us

}

DQ=1;

return(value);

}

//

/***********讀出溫度函數**********/

//

read_temp()

{

ow_reset(); //總線復位

write_byte(0xCC); // 發Skip ROM命令

write_byte(0xBE); // 發讀命令

temp_data[0]=read_byte(); //溫度低8位

temp_data[1]=read_byte(); //溫度高8位

ow_reset();

write_byte(0xCC); // Skip ROM

write_byte(0x44); // 發轉換命令

}

//

/***********溫度數據處理函數**********/

work_temp()

{

uchar n=0; //

if(temp_data[1]>127)

{temp_data[1]=(256-temp_data[1]);temp_data[0]=(256-temp_data[0]);n=1;}//負溫度求補碼

display[4]=temp_data[0]&0x0f;display[0]=ditab[display[4]];

display[4]=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x0f)<<4);//

display[3]=display[4]/100;

display[1]=display[4]%100;

display[2]=display[1]/10;

display[1]=display[1]%10;

if(!display[3]){display[3]=0x0A;if(!display[2]){display[2]=0x0A;}}//最高位為0時都不顯示

if(n){display[3]=0x0B;}//負溫度時最高位顯示”-“

}

//

//

/**************主函數****************/

main()

{

Disdata=0xff; //初始化端口

discan=0xff;

for(h=0;h<4;h++){display[h]=8;}//開機顯示8888

ow_reset(); // 開機先轉換一次

write_byte(0xCC); // Skip ROM

write_byte(0x44); // 發轉換命令

for(h=0;h<500;h++)

{scan();} //開機顯示”8888″2秒

while(1)

{

read_temp(); //讀出18B20溫度數據

work_temp(); //處理溫度數據

for(h=0;h<500;h++)

{scan();} //顯示溫度值2秒

}

}

//

//*********************結束**************************//

單片機課程設計 單片機溫度的檢測與顯示的設計

用18b20做很簡單啊。

溫度的子程序給你,,你重定義一下接口,主程序已經調用出溫度了,你送到顯示就行了。。

/* 延時t毫秒 */

void delay(uint t)

{

uint i;

while(t–)

{

/* 對于11.0592M時鐘,約延時1ms */

for (i=0;i<125;i++)

{}

}

}

/* 產生復位脈沖初始化DS18B20 */

void TxReset(void)

{

uint i;

DQ = 0;

/* 拉低約900us */

i = 100;

while (i>0) i–;

DQ = 1; // 產生上升沿

i = 4;

while (i>0) i–;

}

/* 等待應答脈沖 */

void RxWait(void)

{

uint i;

while(DQ);

while(~DQ); // 檢測到應答脈沖

i = 4;

while (i>0) i–;

}

/* 讀取數據的一位,滿足讀時隙要求 */

bit RdBit(void)

{

uint i;

bit b;

DQ = 0;

i++;

DQ = 1;

i++;i++; // 延時15us以上,讀時隙下降沿后15us,DS18B20輸出數據才有效

b = DQ;

i = 8;

while(i>0) i–;

return (b);

}

/* 讀取數據的一個字節 */

uchar RdByte(void)

{

uchar i,j,b;

b = 0;

for (i=1;i<=8;i++)

{

j = RdBit();

b = (j<<7)|(b>>1);

}

return(b);

}

/* 寫數據的一個字節,滿足寫1和寫0的時隙要求 */

void WrByte(uchar b)

{

uint i;

uchar j;

bit btmp;

for(j=1;j<=8;j++)

{

btmp = b&0x01;

b = b>>1; // 取下一位(由低位向高位)

if (btmp)

{

/* 寫1 */

DQ = 0;

i++;i++; // 延時,使得15us以內拉高

DQ = 1;

i = 8;

while(i>0) i–; // 整個寫1時隙不低于60us

}

else

{

/* 寫0 */

DQ = 0;

i = 8;

while(i>0) i–; // 保持低在60us到120us之間

DQ = 1;

i++;

i++;

}

}

}

/* 啟動溫度轉換 */

void convert(void)

{

TxReset(); // 產生復位脈沖,初始化DS18B20

RxWait(); // 等待DS18B20給出應答脈沖

delay(1); // 延時

WrByte(0xcc); // skip rom 命令

WrByte(0x44); // convert T 命令

}

/* 讀取溫度值 */

void RdTemp(void)

{

TxReset(); // 產生復位脈沖,初始化DS18B20

RxWait(); // 等待DS18B20給出應答脈沖

delay(1); // 延時

WrByte(0xcc); // skip rom 命令

WrByte(0xbe); // read scratchpad 命令

tplsb = RdByte(); // 溫度值低位字節(其中低4位為二進制的“小數”部分)

tpmsb = RdByte(); // 高位值高位字節(其中高5位為符號位)

}

void main(void)

{

do

{

delay(1); // 延時1ms

convert(); // 啟動溫度轉換,需要750ms

delay(1000); // 延時1s

RdTemp(); // 讀取溫度

}

while(1);

}

單片機課程設計電子時鐘程序

#include <at89x51.h> //頭文件包含

#define uchar unsigned char //宏定義

#define uint unsigned int

#define ON 0 //定義0為打開

#define OFF 1 //定義1為關閉

#define LEDBus P1 //定義p1口為數碼管段碼口

sbit MIAO =P1^2; //秒點

sbit HOU_S=P3^0; //時十位位選

sbit HOU_G=P3^1; //時個位位選

sbit MIN_S=P3^2; //分十位位選

sbit MIN_G=P3^3; //分個位位選

sbit H_KEY=P3^4; //時調整鍵

sbit M_KEY=P3^5; //分調整鍵

bit SHAN; //閃爍標志位

uchar second,minute,hour; //定義秒、分、時寄存器

uchar code LEDTab[]={0x14,0xd7,0x4c, //數碼管段碼表0–9

0x45,0x87,0x25,0x24,0x57,0x04,0x05};

void delay(uchar t); //延時函數

void init(); //初始化函數

void display(); //顯示函數

void min_tiao(); //分調整函數

void hou_tiao(); //時調整函數

/***************************************

函 數 名:main

功 能:主函數

說 明:

入口參數:無

返 回 值:無

****************************************/

void main()

{

init(); //調用初始化函數

while(1) //主程序循環

{

if(!H_KEY) hou_tiao(); //如果時調整鍵按下(為0),調用時調整函數

if(!M_KEY) min_tiao(); //如果分調整鍵按下(為0),調用分調整函數

display(); //調用顯示函數

}

}

/***************************************

函 數 名:init

功 能:初始化函數

說 明:初始化定時器及中斷

入口參數:無

返 回 值:無

***************************************/

void init()

{

TMOD=1;TH0=0X3C;TL0=0XB0; //定時器0模式1,50毫秒

ET0=1;TR0=1;EA=1; //開定時器0中斷、啟動定時器0、開總中斷

}

/***************************************

函 數 名:display

功 能:顯示函數

說 明:

入口參數:無

返 回 值:無

***************************************/

void display()

{

LEDBus=LEDTab[minute%10]; //分個位送數碼管顯示

MIAO=SHAN; //秒點閃爍

MIN_G=ON; //打開分個位位選

delay(1); //顯示1毫秒

MIN_G=OFF; //關閉分個位位選

LEDBus=LEDTab[minute/10]; //分十位送數碼管顯示

MIAO=SHAN; //秒點閃爍

MIN_S=ON; //打開分十位位選

delay(1); //顯示1毫秒

MIN_S=OFF; //關閉分十位位選

LEDBus=LEDTab[hour%10]; //時個位送數碼管顯示

HOU_G=ON; //打開時個位位選

delay(1); //顯示1毫秒

HOU_G=OFF; //關閉時個位位選

if(hour/10) //如果時十位為0,不顯示十位數字

{

LEDBus=LEDTab[hour/10]; //時十位送數碼管顯示

HOU_S=ON; //打開時十位位選

delay(1); //顯示1毫秒

HOU_S=OFF; //關閉時十位位選

}

}

/***************************************

函 數 名:min_tiao

功 能:分調整

說 明:

入口參數:無

返 回 值:無

***************************************/

void min_tiao()

{

while(!M_KEY) display(); //等待分調整鍵松開

second=0;minute++; //秒清零、分加1

if(minute==60) minute=0; //如果分等于60,分變0

}

/***************************************

函 數 名:hou_tiao

功 能:時調整

說 明:

入口參數:無

返 回 值:無

***************************************/

void hou_tiao()

{

while(!H_KEY) display(); //等待時調整鍵松開

second=0;hour++; //秒清零,時加1

if(hour==24) hour=0; //如果時等于24,時變0

}

/***************************************

函 數 名:delay

功 能:延時函數

說 明:

入口參數:t:延時時間長短

返 回 值:無

***************************************/

void delay(uchar t)

{

uchar i; //定義變量

for(;t>0;t–) //如果t大于0,t減1(外層循環)

for(i=124;i>0;i–); //i等于124,如果i大于0,i減1

}

/***************************************

函 數 名:timer0

功 能:定時器0中斷函數

說 明:

入口參數:無

返 回 值:無

***************************************/

void timer0() interrupt 1 //定時器0(中斷1)

{

uchar tim1,tim2; //定義臨時變量

TL0=TL0+0XB0;TH0=0X3C; //重裝定時器初值

tim1++; //每中斷一次tim1加1

if(tim1==10) //中斷10(0.5秒)

{

SHAN=!SHAN; //閃爍標志取反

tim1=0;tim2++; //tim1清零,tim2加1

if(tim2==2) //到了1秒

{

tim2=0;second++; //tim2清零,秒加1

if(second==60) //如果秒到60

{

second=0;minute++; //秒變0,分加1

if(minute==60) //如果分到60

{

minute=0;hour++; //分變0,時加1

if(hour==24) hour=0; //如果時到24,時變0

}

}

}

}

}

/***************************************

program end 程序結束

四虎国产精品成人免费4hu_欧美xx网站_一本色道久久加勒比88综合_国产在视频一区二区三区吞精_国产精品一区二区x88av_日韩精品一区二区三区四区 _天天影视涩香欲综合网
自拍偷自拍亚洲精品播放| 国产精品污网站| 国产乱人伦偷精品视频免下载| 久久久www免费人成精品| 欧洲av一区二区嗯嗯嗯啊| 成人h动漫精品| 国产综合一区二区| 丝袜美腿亚洲综合| 亚洲老司机在线| 亚洲品质自拍视频| 亚洲精品国产精华液| |精品福利一区二区三区| 成人免费一区二区三区在线观看| 国产午夜精品福利| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 日韩精品国产精品| 亚洲国产中文字幕在线视频综合 | 午夜精品免费在线| 亚洲成va人在线观看| 日产国产高清一区二区三区| 美女视频黄久久| 国产高清亚洲一区| 色综合亚洲欧洲| 91精品国产综合久久国产大片| 欧美一级二级在线观看| www国产精品av| 国产精品国产三级国产普通话三级| 一区二区三区加勒比av| 日本女人一区二区三区| 激情六月婷婷综合| 不卡的av在线| 91精品国产色综合久久不卡蜜臀| 久久久久国产精品麻豆ai换脸| 亚洲欧洲无码一区二区三区| 五月综合激情网| 久久国产精品72免费观看| 成人av综合在线| 欧美丰满嫩嫩电影| 中文字幕精品三区| 欧美人与禽zozo性伦| 在线免费不卡视频| 日韩免费观看2025年上映的电影| 秋霞国产午夜精品免费视频| 国产蜜臀97一区二区三区| 国产精选一区二区三区| 日韩午夜在线影院| 亚洲国产另类av| 久久se这里有精品| 99久久精品免费观看| 欧美日韩情趣电影| 国产欧美日韩一区二区三区在线观看 | 日韩一区二区三区视频在线观看| 国产午夜精品一区二区| 亚洲成av人影院| 不卡视频免费播放| 精品少妇一区二区三区在线播放 | 亚洲精品中文在线| 狠狠色综合日日| 欧美性视频一区二区三区| 中文一区二区完整视频在线观看| 亚洲第一会所有码转帖| 99国产欧美另类久久久精品| 久久无码av三级| 午夜视频在线观看一区二区| 99re热视频精品| 久久久精品免费免费| 蜜臀av一级做a爰片久久| 欧洲精品在线观看| 中文字幕一区二区三区精华液| 国产一区在线不卡| 精品日韩在线观看| 免费在线欧美视频| 欧美日本乱大交xxxxx| 亚洲精选免费视频| 在线免费精品视频| 亚洲精品国产第一综合99久久| 成人美女视频在线观看18| 久久综合一区二区| 国内外精品视频| 久久精品一二三| 国产高清在线精品| 日本一区二区动态图| 成人永久aaa| 国产精品卡一卡二| 97se亚洲国产综合自在线观| ...av二区三区久久精品| 99久久精品久久久久久清纯| 中文字幕日韩av资源站| 色婷婷综合视频在线观看| 国产精品福利电影一区二区三区四区 | 亚洲黄色小视频| 色综合久久88色综合天天免费| 国产精品福利影院| 在线一区二区三区四区五区| 午夜精品久久久久久久久久久| 337p亚洲精品色噜噜狠狠| 欧美在线你懂得| 天堂久久一区二区三区| 91久久精品国产91性色tv| 一区二区三区高清在线| 欧美日韩国产免费一区二区 | 成人aa视频在线观看| 久久男人中文字幕资源站| 国产精品538一区二区在线| 国产欧美一区二区在线观看| 97se狠狠狠综合亚洲狠狠| 图片区日韩欧美亚洲| 日韩精品中文字幕一区二区三区 | 欧美怡红院视频| 免费人成精品欧美精品| 久久精品视频一区二区| 99久久精品免费看国产| 亚洲成a人片综合在线| 精品sm捆绑视频| av资源网一区| 日本欧美加勒比视频| 中文字幕av一区二区三区| 欧美日韩国产成人在线免费| 国产精品综合一区二区| 亚洲综合色在线| 久久久久久9999| 欧美日本在线播放| 国产精品一线二线三线精华| 亚洲成人高清在线| 国产日韩欧美激情| 欧美性生活大片视频| 国产精品综合av一区二区国产馆| 亚洲欧美日韩一区| 欧美mv日韩mv国产网站app| 色欧美88888久久久久久影院| 精品一区二区三区欧美| 亚洲国产欧美日韩另类综合| 中文字幕免费不卡| 精品国产污污免费网站入口 | 欧美日韩国产系列| 国产不卡视频在线播放| 午夜精品福利一区二区三区av| 亚洲国产成人私人影院tom| 91精品国产色综合久久不卡蜜臀| 91美女蜜桃在线| 国产成人免费av在线| 久久国产综合精品| 亚洲成国产人片在线观看| 国产精品第一页第二页第三页| 欧美成人精精品一区二区频| 欧美天堂亚洲电影院在线播放| 成人app软件下载大全免费| 国产成人在线色| 激情伊人五月天久久综合| 日韩精品亚洲一区| 日韩精品一二区| 日韩精品亚洲一区| 日韩精品国产精品| 日韩影院在线观看| 蜜臀国产一区二区三区在线播放| 午夜精品一区在线观看| 亚洲成人7777| 日本aⅴ精品一区二区三区| 亚洲成人av中文| 午夜精品福利在线| 日本亚洲电影天堂| 麻豆免费精品视频| 美女任你摸久久| 极品瑜伽女神91| 国产精品一区久久久久| 国产成人小视频| 国产精品一卡二卡| 激情小说亚洲一区| 久久se精品一区二区| 免费在线观看一区二区三区| 秋霞影院一区二区| 青青草97国产精品免费观看| 奇米精品一区二区三区在线观看| 日韩经典中文字幕一区| 免费成人在线网站| 国产九色sp调教91| 99v久久综合狠狠综合久久| 91亚洲国产成人精品一区二区三| 色一情一伦一子一伦一区| 在线视频一区二区三| 欧美伦理电影网| 91精品国产一区二区| 久久影院午夜片一区| 国产精品欧美一区二区三区| 亚洲三级视频在线观看| 亚洲色图在线播放| 亚洲高清中文字幕| 久久精品久久99精品久久| 韩国精品主播一区二区在线观看 | 欧美中文一区二区三区| 欧美精品在线视频| 精品国产乱子伦一区| 中文字幕乱码一区二区免费| 亚洲一级不卡视频| 久久不见久久见免费视频7 | 亚洲青青青在线视频| 奇米影视在线99精品| 成人免费毛片片v| 欧美亚洲综合另类| 精品卡一卡二卡三卡四在线|