欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4059|回復: 0
打印 上一主題 下一主題
收起左側

單片機定時器流水燈的設計

[復制鏈接]
跳轉到指定樓層
樓主
1、基本內容
IF  (已經準備有protues仿真文件和HEX文件的)
    (1)進行仿真演示。
(1)認真理解并讀懂程序,將所給程序在KEIL中編譯,產生HEX文件;
(2)將程序燒寫到實驗箱中的單片機中;
(3)連接實驗箱中的硬件:

序號        單片機(A2區)        LED燈(D1區)        備注
1        J61(P10~P17)        J52(LED1~ LED8)        

(4)運行程序,在實驗箱中實現程序功能。

2、擴展內容:
(1)所給程序中定時器T1采用查詢方式,請修改程序:用定時器T0,中斷方式,實現1S流水燈。

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

1.仿真圖:

51hei圖片20201202182426.png (648.69 KB, 下載次數: 75)

51hei圖片20201202182426.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表