日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《单片机》实验——实验4 MCS-51内部定时/计数器实验(2)

發(fā)布時間:2023/12/29 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《单片机》实验——实验4 MCS-51内部定时/计数器实验(2) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

《單片機(jī)》實(shí)驗(yàn)——實(shí)驗(yàn)4 MCS-51內(nèi)部定時/計(jì)數(shù)器實(shí)驗(yàn)(2)

  • 一、實(shí)驗(yàn)?zāi)康?/li>
  • 二、知識要點(diǎn)
  • 三、實(shí)驗(yàn)內(nèi)容

實(shí)驗(yàn)一至實(shí)驗(yàn)七配套源代碼、電路圖、hex文件、實(shí)驗(yàn)報告,請點(diǎn)擊此處

一、實(shí)驗(yàn)?zāi)康?/h1>
  • 進(jìn)一步掌握定時/計(jì)數(shù)器的4種工作方式的應(yīng)用
  • 掌握查詢控制的定時/計(jì)數(shù)器的編程
  • 二、知識要點(diǎn)

    (1)8051內(nèi)部有兩個定時/計(jì)數(shù)器T0和T1,均可對系統(tǒng)內(nèi)部的機(jī)器周期計(jì)數(shù)(定時模式)和芯片之外的脈沖信號計(jì)數(shù)(計(jì)數(shù)模式);都有4種工作方式,其不同之處在于計(jì)數(shù)值寬度不一樣(13位/16位/8位)以及計(jì)數(shù)初值是否能自動重裝。
    (2)與定時/計(jì)數(shù)器相關(guān)的控制字及控制位主要有TMOD,TH0/TH1,TL0/TL1,TCON

    三、實(shí)驗(yàn)內(nèi)容

    (1)通過并行口P1實(shí)現(xiàn)十字路口交通燈的模擬控制。
    關(guān)于交通路燈的亮滅規(guī)律說明:設(shè)有一個十字路口分為南北方向和東西方向,初始狀態(tài)為紅燈全亮,之后,南北綠燈亮,東西紅燈亮,南北方向通車。延時一段時間后,南北綠燈熄滅,而南北黃燈開始閃爍,閃爍若干次以后,南北紅燈亮,而同時東西的綠燈亮,東西方向通車,延時一段時間后,東西綠燈熄滅,而東西黃燈開始閃爍,閃爍若干次以后,再切換到南北方向,之后,重復(fù)上述過程。
    編程提示:(實(shí)現(xiàn)6個燈按交通變化規(guī)律亮、滅或閃爍)
    通過定時器實(shí)現(xiàn)精準(zhǔn)定時,用較短的定時控制黃燈的閃爍(如0.5s或1s),較長的定時控制通行(如5s或10s)。

    #include<reg51.h> char t; char i; void main(){TMOD=0x01;TH0=0x3c;TL0=0xB0;while(1){P1=0x7e;while(1){TR0=1;while(TF0){TF0=0;t++;TH0=0x3c;TL0=0xB0;} if(t==100){TR0=0;t=0;break;}}P1=0xbe;while(1){TR0=1;while(TF0){TF0=0;t++;TH0=0x3c;TL0=0xB0;} if(t%10==0){P1=0xfe;}if(t%20==10){P1=0xbe;}if(t==70){TR0=0;t=0;break;}}P1=0xdb;while(1){TR0=1;while(TF0){TF0=0;t++;TH0=0x3c;TL0=0xB0;} if(t==100){TR0=0;t=0;break;}} } }

    (2)(選做題)利用8051的定時/計(jì)數(shù)器控制4個發(fā)光二極管循環(huán)閃爍,要求點(diǎn)亮?xí)r間為1S,采用方式3的TH0與TL0聯(lián)合實(shí)現(xiàn),TH0用于定時,TL0用于對TH0溢出次數(shù)的計(jì)數(shù)。

    #include<reg51.h> char t; char i=0; char num=0; char a=0; char led[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void main(){TMOD=0x07;TH0=0x06;TL0=0x38;TR1=1;TR0=1;EA=1;ET0=1;while(1){while(TF1==0);TF1=0;P3=0;P3=0x10;TH0=0x06;} } timer() interrupt 1{TF0=0;num++;a=i%8;if(num%20==0){P1=led[a];i++;}TL0=0x38; }

    總結(jié)

    以上是生活随笔為你收集整理的《单片机》实验——实验4 MCS-51内部定时/计数器实验(2)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。