找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3656|回復(fù): 0
收起左側(cè)

單片機(jī)定時(shí)器流水燈的設(shè)計(jì)

[復(fù)制鏈接]
ID:853284 發(fā)表于 2020-12-2 18:27 | 顯示全部樓層 |閱讀模式
1、基本內(nèi)容
IF  (已經(jīng)準(zhǔn)備有protues仿真文件和HEX文件的)
    (1)進(jìn)行仿真演示。
(1)認(rèn)真理解并讀懂程序,將所給程序在KEIL中編譯,產(chǎn)生HEX文件;
(2)將程序燒寫(xiě)到實(shí)驗(yàn)箱中的單片機(jī)中;
(3)連接實(shí)驗(yàn)箱中的硬件:

序號(hào)        單片機(jī)(A2區(qū))        LED燈(D1區(qū))        備注
1        J61(P10~P17)        J52(LED1~ LED8)        

(4)運(yùn)行程序,在實(shí)驗(yàn)箱中實(shí)現(xiàn)程序功能。

2、擴(kuò)展內(nèi)容:
(1)所給程序中定時(shí)器T1采用查詢方式,請(qǐng)修改程序:用定時(shí)器T0,中斷方式,實(shí)現(xiàn)1S流水燈。

四、實(shí)驗(yàn)程序
//*********************************************************************************
//程序:ex4.c
//功能:查詢方式實(shí)現(xiàn)間隔1s的流水燈程序。8個(gè)發(fā)光二極管依次順序點(diǎn)亮,采用循環(huán)移位
//函數(shù)_crol_(m,1)實(shí)現(xiàn)
//實(shí)驗(yàn)箱上D1區(qū)J52接P1
//*********************************************************************************
#include<reg51.h>                                                /*包含頭文件REG51.H*/
#include <intrins.h>                                        /*包含函數(shù)_crol_(m,1)的頭文件*/
#define uchar unsigned char
#define LED P1                                                /*定義8個(gè)LED接至P1口*/
#define Count 50000                                        /* T1方式1定時(shí)50ms的計(jì)數(shù)值*/
uchar Temp1, Temp2;
void Delay1s();                                                //1s延時(shí)函數(shù)聲明
void main()                                                        //主程序
{
        TMOD=0x10;                                                //設(shè)置T1為定時(shí)器、方式1
        LED=0xff;                                                //8個(gè)LED全部熄滅
        Temp1=0xfe;                                                //點(diǎn)亮最上面的LED
        LED=Temp1;
        while(1)
        {
                Delay1s();                                        //調(diào)用1s延時(shí)函數(shù)
                Temp2=_crol_(Temp1,1);                 //采用_crol_(m,1)實(shí)現(xiàn)單只LED從上到下依次點(diǎn)亮
                Temp1=Temp2;
                LED=Temp2;
        }
}
//*********************************************************************************
//函數(shù)名:Delay1s
//函數(shù)功能:利用T1定時(shí)、方式1實(shí)現(xiàn)1s延時(shí),采用查詢方式實(shí)現(xiàn)
//*********************************************************************************
void Delay1s()
{
        uchar i;
        for(i=0;i<0x14;i++)                                        //設(shè)置20次循環(huán)次數(shù)
        {            
                TH1=(65536-Count)/256;                 //T1的高8位初值
                TL1=(65536-Count)%256;                //T1的低8位初值
                TR1=1;                                                //啟動(dòng)T1
                while(!TF1);                                         //查詢計(jì)數(shù)是否溢出,即定時(shí)50ms時(shí)間到了嗎?
                TF1=0;                                                //50ms定時(shí)時(shí)間到,將T1溢出標(biāo)志位TF1清零
        }
}

1.仿真圖:
51hei圖片20201202182426.png
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表