版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
【藍橋杯】《單片機設計與開發》教學課件【共4篇】1.基礎篇;2.應用篇;3.器件篇;4.實戰篇。No.08驅動數碼管(2)dpgfedcba00000110DigitalTubeunsignedcharcodeSEGcode[]=//共陽數碼管段碼表0123456789AbCdEF
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,0x8e};【REVIEW】共陰極字形“1”編碼示例:06H4位一體數碼管共陰數碼管內部結構(CC:commoncathode)共陽數碼管內部結構(CA:commonanode)4位一體數碼管驅動原理【REVIEW】編程方式選擇:【IO模式】J13:2-3【MM模式】J3:2-1//文件名user.h#defineLED_enP2=P2&0x1F|0x80#defineDTseg_enP2=P2&0x1F|0xE0#defineDTbit_enP2=P2&0x1F|0xC0#defineBEEP_enP2=P2&0x1F|0xA0#defineRELAY_enP2=P2&0x1F|0xA0#defineALL_offP2&=0x1F//文件名user.c#include“user.h”//共陽數碼管段碼表:0123456789//AbCdEF-(blank)unsignedcharcodeSEGcode[]=
{0xc0,0xf9,0xa4,0xb0,0x99,
0x92,
0x82,0xf8,0x80,0x90,0x88,0x80,
0xc6,0xc0,
0x86,0x8e,0xbf,0xff
};unsignedcharBRstate;//發光二極管驅動子程序:LED_drvvoidLED_drv(unsignedcharLEDdat){P0=LEDdat;LED_en;ALL_off;}//蜂鳴器驅動子程序:BEEP_on和BEEP_offvoidBEEP_on(void)
{BRstate
|=0x40;P0=BRstate;BEEP_en;ALL_off;}voidBEEP_off(void)
{BRstate&=0xBF;P0=BRstate;BEEP_en;
ALL_off;}//繼電器驅動子程序:RELAY_on和RELAY_onffvoidRELAY_on(void){BRstate|=0x10;P0=BRstate;RELAY_en;ALL_off;}voidRELAY_off(void){BRstate&=0xEF;P0=BRstate;RELAY_en;ALL_off;}//數碼管驅動子程序:DT_drvvoidDT_drv(unsignedchark,unsignedcharDIG){P0=0x01<<k;DTbit_en;ALL_off;P0=SEGcode[DIG];DTseg_en;ALL_off;}voidAllDT_off(void){P0=0xffDTbit_en;ALL_off;P0=0xff;DTseg_en;ALL_off;}//延時子函數:Delay1ms(1ms,@12MHz)voidDelay1ms(unsignedintxms){unsignedinti;while(xms--)for(i=0;i<628;i++);}//數碼顯示數據緩存數組,初設數據為”19491001”unsignedcharDTbuf[]={1,9,4,9,1,0,0,1};//頻率值顯示子程序(1)voidDispFreqValue(){DT_drv(0,DTbuf[0]);Delay1ms(2);
DT_drv(1,DTbuf[1]);Delay1ms(2);
DT_drv(2,DTbuf[2]);Delay1ms(2);
DT_drv(3,DTbuf[3]);Delay1ms(2);
DT_drv(4,DTbuf[4]);Delay1ms(2);
DT_drv(5,DTbuf[5]);Delay1ms(2);
DT_drv(6,DTbuf[6]);Delay1ms(2);
DT_drv(7,DTbuf[7]);Delay1ms(2);}
數碼管顯示刷新率分析:取刷新延時2ms時,完成8個數碼管刷新需要(約)16ms,故數碼管每秒能夠刷新60次以上。voidmain(){while(1)DispFreqValue();}【REVIEW】8位數碼管的動態掃描
(1.定義數碼管顯示數據緩沖區;
2.編寫動態掃描子程序;)//頻率值顯示子程序(2)voidDispFreqValue()
{unsignedchari;for(i=0;i<8;i++)
{
DT_drv(i,DTbuf[i]);
Delay1ms(2);
}}
【應用實踐】應用定時器T1(或T0)驅動8位數碼管STEP1:設置T1(或T0)為定時器,工作模式為0,對TMOD進行賦值;STEP2:設置定時間為2ms,計算定時初值,裝入TH1(或TH0)和TL1(或TL0);STEP3:開放定時器中斷ET1(或ET0),并開總中斷(EA);STEP4:設置TR1(或TR0)=1啟動定時器T1(或TR0)。2.定時器初始化子程序1.思路分析【12T】定時器初值如下:
TH1=(65536-2000)/256;TL1=(65536-2000)%256;注:OSC=12MHz時。
3.中斷服務程序STEP0:
定義數碼管序號靜態變量
DTno,并設初值為0xff;STEP1:數碼序號變量DTno加1;STEP2:截取后3位;STEP3:讀取數碼管顯示緩沖區相應位的數值,并驅動相當前數碼管顯示;4.主程序處理流程STEP1:定義數碼管顯示緩沖區數組;STEP2:開發板外圍設備初始化;STEP3:定時器T1/T0初始化;STEP3:空循環,等待定時器
T1/T0中斷。STEP1:定義數碼管顯示緩沖區數組;STEP2:開發板外圍設備初始化;STEP3:定時器T1(或T0)初始化;STEP3:空循環,等待定時器
T1(或T0)中斷。#include<reg52.h>#include"user.c"http://設置數碼管顯示數據緩存區,設顯示”19491001”unsignedcharDTbuf[]={1,9,4,9,1,0,0,1};//定時器T1初始化子程序voidTimer1init(){//IAP15:設置T1為模式0(16位定時,自動重裝初值)TMOD&=0x0f;//0000_XXXX
//2ms定時,[12T]賦初值TH1=(65536-2000)/256;TL1=(65536-2000)%256;ET1=1;
//允許T1中斷EA=1;
//開總中斷TR1=1;
//啟動T1
}
//定時器T1中斷服務程序
void
Timer1isr()interrupt3{
//定義數碼管序號變量,并賦初值為255staticunsignedcharDTno=0xff;
DTno++;
//數碼管序號變量加1
DTno&=0x07;//截取后3位//驅動當前數碼管顯示DT_drv(DTno,DTbuf[DTno]);}//主程序voidmain()
{BEEP_off();
RELAY_off();LED_drv(0xff);Timer1init();while(1);}【12T】應用定時器T1驅動8位數碼管#include<reg52.h>#include"user.c"sfrAUXR=0x8e;//設置數碼管顯示數據緩存區,設顯示”19491001”unsignedcharDTbuf[]={1,9,4,9,1,0,0,1};//定時器T1初始化子程序voidTimer1init(){//STC15:設置T1為模式0(16位定時,自動重裝方式)
AUXR|=0x40;//設置比特位T1x12=1
TMOD=0x0f;//0000_xxxx
//2ms定時,[1T]賦初值
AUXR=0x40;//設置為1T時鐘模式TH1=(65536-24000)/256;TL1=(65536-24000)%256;ET1=1;
//允許T1中斷EA=1;
//開總中斷
TR1=1;
}//啟動T1
//定時器T1中斷服務子程序void
Timer1isr()interrupt3{
//定義數碼管序號變量,并賦初值為255staticunsignedcharDTno=0xff;
DTno++;
//數碼管序號變量加1
DTno&=0x07;
//截取后3位//驅動當前數碼管顯示DT_drv(DTno,DTbuf[DTno]);}//主程序voidmain()
{BEEP_off();
RELAY_off();LED_drv(0xff);Timer1init();while(1);
}【1T】應用定時器T1驅動8位數碼管IAP15F2K61S2單片機定時/計數器T2的應用InteruptEnable#include<STC15F2K60S2.h>#include"user.c"http://設置數碼管顯示數據緩存區,設顯示”19491001”unsignedcharDTbuf[]={1,9,4,9,1,0,0,1};//定時器T2初始化子程序voidTimer2Init(void)
{
//設置T2為定時,12T模式
AUXR&=0xF3;
//1111_0011
//定時2ms@12MHz,賦初值
T2H=(65536-2000)/256;
T2L=(65536-2000)%256;
//啟動定時器2
AUXR|=0x10;}//定時器T2中斷服務子程序
voidTimer2isr()interrupt
12
{//定義數碼管序號變量,并賦初值為255staticunsignedcharDTno=0xff;
//數碼管序號變量加1
DTno++;//截取后3位
DTno&=0x07;//驅動當前數碼管顯示DT_drv(DTno,DTbuf[DTno]);}voidmain()//主程序{BEEP_off();RELAY_off();LED_drv(0xff);Timer2Init();IE2|=0x04;//允許T2中斷EA=1;//開總中斷
while(1);
}【12T】應用定時器T2驅動8位數碼管【工程實踐】驅動數碼信息流動顯示//文件名DTflow_disp.c#include<reg52.h>#include"user.c"http://共陽數碼管段碼表:”(滅)(滅)(滅)(滅)(滅)(滅)(滅)(滅)0123456789AbCdEF”unsignedcharcodeDTseg_tab[24]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x80,0xc6,0xa1,0x86,0x8e};//共陽數碼管位碼表unsignedcharcodeDTbit_tab[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
//定時器T1初始化子程序voidTimer1Init(){//AUXR&=0xBF;//設置定時器T1為12T時鐘//設置T1為模式0(16位定時,自動重裝初值)TMOD&=0x0f;//位與后賦值
//2ms定時,[12T]賦初值TH1=(65536-2000)/256;TL1=(65536-2000)%256;
ET1=1;//允許T1中斷EA=1;//開放總中斷TR1=1;//啟動T1}voidTimer1isr()interrupt3{//定義數碼管序號變量,并賦初值為255staticunsignedcharDTno=0xff;staticunsignedcharoffset=0;//定義偏移指針staticunsignedchartimes=0;//中斷次數統計變量DTno++;//數碼管序號變量加1DTno&=0x07;//截取后3位DTseg_en;//打開段碼通道if((DTno+offset)<24)//指針沒有超出24(8位blank+16位數碼)P0=DTseg_tab[DTno+offset];//直接查找段碼elseP0=DTseg_tab[DTno+offset-24];//指針超過24位,折返查找段碼DTbit_en;//打開位碼通道P0=DTbit_tab[DTno];
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 漢字的聯想 (教學設計)人美版(2012)美術四年級下冊
- 語文望廬山瀑布教學設計
- 四、初始化命令教學設計小學信息技術粵教版五年級下冊-粵教版
- 四年級品德與社會下冊 第五單元 祖國真大 活動主題二 我們的大中國教學設計 教科版
- 初中地理七年級上冊(湘教版)核心知識清單:氣溫、降水與主要降水類型
- 五年級數學上冊期末易錯點深度拓展教案:小數除法單元整合與高階思維訓練
- 九年級英語牛津譯林版Unit8第5課時“推理寫作與素養展評”教學設計
- 人教版初中英語八年級上冊Unit5Goingonanexchangetrip閱讀拓展與深度應用課教學設計
- 初中物理八年級上冊《熔化和凝固》教學設計(第2課時)
- 高職建筑工程技術專業二年級:高層建筑機械拆除環保控制導學案
- 2026年企業財務管理與審計方案
- 2026年鷹潭市招聘工會社會工作者及江西省職工保障互助會鷹潭辦事處工作人員7人考試模擬試題及答案詳解
- 綠色能源項目商務談判確認函(7篇)
- 2026年食品營養學考試試題及答案
- (正式版)DB31∕T 405-2021 《集中空調通風系統衛生管理規范》
- 2026 城鄉住建工程管理事業單位招聘考試招聘考試參考題庫 含答案
- 建筑施工安全與消防管理試題
- 2026內控風險崗面試題及答案
- 2026年防汛安全專項培訓試題及答案
- 2026年駐村工作隊業務能力試題(附答案)
- 金屬學與熱處理課后習題答案(崔忠圻版)東北大學
評論
0/150
提交評論