999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

單片機定時器動態掃描驅動8位LED數碼管的方法

2014-05-28 22:08:05劉曉鳳
新課程·中旬 2014年3期
關鍵詞:單片機

劉曉鳳

摘 要:采用動態掃描方式驅動數碼管一般外圍硬件較少,但是對單片機資源耗用巨大。介紹了單片機直接驅動8位數碼管時利用定時器中斷解決動態掃描工作方式下對單片機時間資源占用的問題。

關鍵詞:單片機;定時器中斷;數碼管驅動

數碼管的顯示方式可以分為動態和靜態兩種。動態掃描方式,是利用發光二極管的余輝效應和人眼的視覺暫留效應來實現的,只要在一定時間內數碼管的筆段亮的頻率夠快,人眼就看不出閃爍,一般外圍硬件較少,但是對單片機資源耗用巨大。靜態的也較鎖存方式,單片機送出數據后控制外圍鎖存器件鎖存數據,這樣數碼管筆段里的電流不變,數碼管穩定顯示,這樣單片機可以干別的活不用管數碼管了。這種方案的優點是對單片機的P口資源和時間耗用很少,但是數碼管的外圍輔助電路復雜。

多位數碼管的常用驅動方法有:

1.不需要芯片的驅動方式,掃描顯示

這種方式a~g和DP一共8根線分別占用單片機8個端口線,一般是一整個P口,然后有幾位數碼管就另外需要幾個控制線作為片選。對于MCU的時間占用幾乎是全時的,如果沒有其他的任務或者其他的任務耗用時間很少可以考慮這種顯示方式,比如時鐘、溫度計等等。

2.74LS164、74HC595等通用移位寄存器驅動

這是一種帶鎖存的串入并出芯片,需要占用單片機的2或3根線,如果需要多位驅動,一般使用譯碼器進行快速線選,或者使用權移位寄存器級聯的方式實現,這種驅動方式采用掃描顯示,對單片機端口的耗用比較少,但是因為是掃描方式所以對單片機時間耗用還是全時的。

3.MAX7219、HD7279、BC7281、ZLG7289、ZLG7290、WH8280、CH451、CH452等專用LED數碼管驅動芯片驅動

這是驅動LED數碼管最理想的芯片,從典型應用電路上看外圍元件極少,直接驅動,最吸引人的是使用了串行接口,只要三根線就可以驅動多達8位的數碼管,而且在送完數據后就不用管了,自己消零消隱,有些芯片還帶有8*8的鍵盤接口(鍵盤輸入的時候,從串口輸出鍵盤編碼供單片機讀取),但這種驅動方法往往價格比較昂貴。

本文重點介紹單片機直接驅動8位數碼管時利用定時器中斷解決動態掃描工作方式下對單片機時間資源占用的問題。單片機直接驅動8位數碼管的電路如右圖所示,電路中數碼管的a~h共8根線分別占用單片機8個端口線,連接到P0口,8位數碼管的公共端(公共陽極)連接到單片機的P2口,作為數碼管動態掃描時的片選,該端口通過上拉電阻與電源相連,以提高驅動能力,電路實際制作時,若驅動能力不夠,應考慮使用三極管驅動電路或驅動芯片。

在程序設計中,本人將數碼管的驅動程序放在定時器T0的中斷服務子程序中,定時器每申請一次中斷,點亮一位數碼管,在下一次中斷時,再點亮下一位數碼管,中斷八次后,八位數碼管依次點亮了一遍,重新回到第一位數碼管,再依次點亮。

程序如下:

#include“reg51.h”

#define DB P0

#define AB P2

unsigned char w=5,buffer[8]={10,10,10,10,10,10,10,10};

unsigned char h=8,m=30,s=0;

unsigned int time;

unsigned char code dsW[ ]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

unsigned char code dsB[ ]=

{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,

0xbf};

void T0_int( ) interrupt 1

{TH0=(65536-1843)/256;TL0=(65536-1843)%256;//定時器T0重置初值DB=0xff;//清屏

AB=~dsW[w];//送數碼管片選代碼

DB=dsB[buffer[w];//送相應數碼管的段代碼

w++;if(w>7)w=0;//準備點亮下一位數碼管

/*********以下為數字鐘程序********/

time++;

if(time>=250){buffer[2]=buffer[5]=10;}

if(time>=500) {buffer[2]=buffer[5]=11;s++;time=0;}

if(s>59) {s=0;m++;}

if(m>59) {m=0;h++;}

if(h>23) h=0;

buffer[0]=h/10;buffer[1]=h%10;

buffer[3]=m/10;buffer[4]=m%10;

buffer[6]=s/10;buffer[7]=s%10;

/*********以上為數字鐘程序********/

}

main()

{TH0=(65536-1843)/256;TL0=(65536-1843)%256;

TMOD=0x01;EA=1;ET0=1;TR0=1;

while(1);

}

程序中,由于數碼管的驅動放在定時器T0的中斷服務子程序中,只在響應T0中斷服務子程序時執行并占用MCU時間,其余MCU時間空閑,很好地解決了動態掃描時單片機被全時占用的問題。為避免數碼管抖動,定時器中斷間隔不宜過長,本文中定時器中斷間隔時間為2ms。

(作者單位 江蘇省溧水中等專業學校)

?誗編輯 薛直艷

摘 要:采用動態掃描方式驅動數碼管一般外圍硬件較少,但是對單片機資源耗用巨大。介紹了單片機直接驅動8位數碼管時利用定時器中斷解決動態掃描工作方式下對單片機時間資源占用的問題。

關鍵詞:單片機;定時器中斷;數碼管驅動

數碼管的顯示方式可以分為動態和靜態兩種。動態掃描方式,是利用發光二極管的余輝效應和人眼的視覺暫留效應來實現的,只要在一定時間內數碼管的筆段亮的頻率夠快,人眼就看不出閃爍,一般外圍硬件較少,但是對單片機資源耗用巨大。靜態的也較鎖存方式,單片機送出數據后控制外圍鎖存器件鎖存數據,這樣數碼管筆段里的電流不變,數碼管穩定顯示,這樣單片機可以干別的活不用管數碼管了。這種方案的優點是對單片機的P口資源和時間耗用很少,但是數碼管的外圍輔助電路復雜。

多位數碼管的常用驅動方法有:

1.不需要芯片的驅動方式,掃描顯示

這種方式a~g和DP一共8根線分別占用單片機8個端口線,一般是一整個P口,然后有幾位數碼管就另外需要幾個控制線作為片選。對于MCU的時間占用幾乎是全時的,如果沒有其他的任務或者其他的任務耗用時間很少可以考慮這種顯示方式,比如時鐘、溫度計等等。

2.74LS164、74HC595等通用移位寄存器驅動

這是一種帶鎖存的串入并出芯片,需要占用單片機的2或3根線,如果需要多位驅動,一般使用譯碼器進行快速線選,或者使用權移位寄存器級聯的方式實現,這種驅動方式采用掃描顯示,對單片機端口的耗用比較少,但是因為是掃描方式所以對單片機時間耗用還是全時的。

3.MAX7219、HD7279、BC7281、ZLG7289、ZLG7290、WH8280、CH451、CH452等專用LED數碼管驅動芯片驅動

這是驅動LED數碼管最理想的芯片,從典型應用電路上看外圍元件極少,直接驅動,最吸引人的是使用了串行接口,只要三根線就可以驅動多達8位的數碼管,而且在送完數據后就不用管了,自己消零消隱,有些芯片還帶有8*8的鍵盤接口(鍵盤輸入的時候,從串口輸出鍵盤編碼供單片機讀?。?,但這種驅動方法往往價格比較昂貴。

本文重點介紹單片機直接驅動8位數碼管時利用定時器中斷解決動態掃描工作方式下對單片機時間資源占用的問題。單片機直接驅動8位數碼管的電路如右圖所示,電路中數碼管的a~h共8根線分別占用單片機8個端口線,連接到P0口,8位數碼管的公共端(公共陽極)連接到單片機的P2口,作為數碼管動態掃描時的片選,該端口通過上拉電阻與電源相連,以提高驅動能力,電路實際制作時,若驅動能力不夠,應考慮使用三極管驅動電路或驅動芯片。

在程序設計中,本人將數碼管的驅動程序放在定時器T0的中斷服務子程序中,定時器每申請一次中斷,點亮一位數碼管,在下一次中斷時,再點亮下一位數碼管,中斷八次后,八位數碼管依次點亮了一遍,重新回到第一位數碼管,再依次點亮。

程序如下:

#include“reg51.h”

#define DB P0

#define AB P2

unsigned char w=5,buffer[8]={10,10,10,10,10,10,10,10};

unsigned char h=8,m=30,s=0;

unsigned int time;

unsigned char code dsW[ ]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

unsigned char code dsB[ ]=

{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,

0xbf};

void T0_int( ) interrupt 1

{TH0=(65536-1843)/256;TL0=(65536-1843)%256;//定時器T0重置初值DB=0xff;//清屏

AB=~dsW[w];//送數碼管片選代碼

DB=dsB[buffer[w];//送相應數碼管的段代碼

w++;if(w>7)w=0;//準備點亮下一位數碼管

/*********以下為數字鐘程序********/

time++;

if(time>=250){buffer[2]=buffer[5]=10;}

if(time>=500) {buffer[2]=buffer[5]=11;s++;time=0;}

if(s>59) {s=0;m++;}

if(m>59) {m=0;h++;}

if(h>23) h=0;

buffer[0]=h/10;buffer[1]=h%10;

buffer[3]=m/10;buffer[4]=m%10;

buffer[6]=s/10;buffer[7]=s%10;

/*********以上為數字鐘程序********/

}

main()

{TH0=(65536-1843)/256;TL0=(65536-1843)%256;

TMOD=0x01;EA=1;ET0=1;TR0=1;

while(1);

}

程序中,由于數碼管的驅動放在定時器T0的中斷服務子程序中,只在響應T0中斷服務子程序時執行并占用MCU時間,其余MCU時間空閑,很好地解決了動態掃描時單片機被全時占用的問題。為避免數碼管抖動,定時器中斷間隔不宜過長,本文中定時器中斷間隔時間為2ms。

(作者單位 江蘇省溧水中等專業學校)

?誗編輯 薛直艷

摘 要:采用動態掃描方式驅動數碼管一般外圍硬件較少,但是對單片機資源耗用巨大。介紹了單片機直接驅動8位數碼管時利用定時器中斷解決動態掃描工作方式下對單片機時間資源占用的問題。

關鍵詞:單片機;定時器中斷;數碼管驅動

數碼管的顯示方式可以分為動態和靜態兩種。動態掃描方式,是利用發光二極管的余輝效應和人眼的視覺暫留效應來實現的,只要在一定時間內數碼管的筆段亮的頻率夠快,人眼就看不出閃爍,一般外圍硬件較少,但是對單片機資源耗用巨大。靜態的也較鎖存方式,單片機送出數據后控制外圍鎖存器件鎖存數據,這樣數碼管筆段里的電流不變,數碼管穩定顯示,這樣單片機可以干別的活不用管數碼管了。這種方案的優點是對單片機的P口資源和時間耗用很少,但是數碼管的外圍輔助電路復雜。

多位數碼管的常用驅動方法有:

1.不需要芯片的驅動方式,掃描顯示

這種方式a~g和DP一共8根線分別占用單片機8個端口線,一般是一整個P口,然后有幾位數碼管就另外需要幾個控制線作為片選。對于MCU的時間占用幾乎是全時的,如果沒有其他的任務或者其他的任務耗用時間很少可以考慮這種顯示方式,比如時鐘、溫度計等等。

2.74LS164、74HC595等通用移位寄存器驅動

這是一種帶鎖存的串入并出芯片,需要占用單片機的2或3根線,如果需要多位驅動,一般使用譯碼器進行快速線選,或者使用權移位寄存器級聯的方式實現,這種驅動方式采用掃描顯示,對單片機端口的耗用比較少,但是因為是掃描方式所以對單片機時間耗用還是全時的。

3.MAX7219、HD7279、BC7281、ZLG7289、ZLG7290、WH8280、CH451、CH452等專用LED數碼管驅動芯片驅動

這是驅動LED數碼管最理想的芯片,從典型應用電路上看外圍元件極少,直接驅動,最吸引人的是使用了串行接口,只要三根線就可以驅動多達8位的數碼管,而且在送完數據后就不用管了,自己消零消隱,有些芯片還帶有8*8的鍵盤接口(鍵盤輸入的時候,從串口輸出鍵盤編碼供單片機讀?。?,但這種驅動方法往往價格比較昂貴。

本文重點介紹單片機直接驅動8位數碼管時利用定時器中斷解決動態掃描工作方式下對單片機時間資源占用的問題。單片機直接驅動8位數碼管的電路如右圖所示,電路中數碼管的a~h共8根線分別占用單片機8個端口線,連接到P0口,8位數碼管的公共端(公共陽極)連接到單片機的P2口,作為數碼管動態掃描時的片選,該端口通過上拉電阻與電源相連,以提高驅動能力,電路實際制作時,若驅動能力不夠,應考慮使用三極管驅動電路或驅動芯片。

在程序設計中,本人將數碼管的驅動程序放在定時器T0的中斷服務子程序中,定時器每申請一次中斷,點亮一位數碼管,在下一次中斷時,再點亮下一位數碼管,中斷八次后,八位數碼管依次點亮了一遍,重新回到第一位數碼管,再依次點亮。

程序如下:

#include“reg51.h”

#define DB P0

#define AB P2

unsigned char w=5,buffer[8]={10,10,10,10,10,10,10,10};

unsigned char h=8,m=30,s=0;

unsigned int time;

unsigned char code dsW[ ]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

unsigned char code dsB[ ]=

{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,

0xbf};

void T0_int( ) interrupt 1

{TH0=(65536-1843)/256;TL0=(65536-1843)%256;//定時器T0重置初值DB=0xff;//清屏

AB=~dsW[w];//送數碼管片選代碼

DB=dsB[buffer[w];//送相應數碼管的段代碼

w++;if(w>7)w=0;//準備點亮下一位數碼管

/*********以下為數字鐘程序********/

time++;

if(time>=250){buffer[2]=buffer[5]=10;}

if(time>=500) {buffer[2]=buffer[5]=11;s++;time=0;}

if(s>59) {s=0;m++;}

if(m>59) {m=0;h++;}

if(h>23) h=0;

buffer[0]=h/10;buffer[1]=h%10;

buffer[3]=m/10;buffer[4]=m%10;

buffer[6]=s/10;buffer[7]=s%10;

/*********以上為數字鐘程序********/

}

main()

{TH0=(65536-1843)/256;TL0=(65536-1843)%256;

TMOD=0x01;EA=1;ET0=1;TR0=1;

while(1);

}

程序中,由于數碼管的驅動放在定時器T0的中斷服務子程序中,只在響應T0中斷服務子程序時執行并占用MCU時間,其余MCU時間空閑,很好地解決了動態掃描時單片機被全時占用的問題。為避免數碼管抖動,定時器中斷間隔不宜過長,本文中定時器中斷間隔時間為2ms。

(作者單位 江蘇省溧水中等專業學校)

?誗編輯 薛直艷

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 亚洲水蜜桃久久综合网站| 久久综合九九亚洲一区| 99视频在线观看免费| 亚洲中文字幕日产无码2021| 成人免费黄色小视频| 欧美精品亚洲精品日韩专区| 久久久久久高潮白浆| 成人无码区免费视频网站蜜臀| 米奇精品一区二区三区| 日韩精品一区二区三区免费在线观看| 成人综合久久综合| 亚洲人妖在线| 精品無碼一區在線觀看 | 久久亚洲日本不卡一区二区| 久久黄色小视频| 国产国产人成免费视频77777 | 成年人国产网站| 99精品福利视频| 啦啦啦网站在线观看a毛片| 97综合久久| 久久国产高清视频| 2024av在线无码中文最新| 亚洲成aⅴ人在线观看| 精品亚洲麻豆1区2区3区| 国产免费人成视频网| 美女黄网十八禁免费看| 91在线激情在线观看| 色综合手机在线| 91久久偷偷做嫩草影院免费看| 久久精品一卡日本电影| AV无码一区二区三区四区| 国产亚洲一区二区三区在线| 韩日午夜在线资源一区二区| 国产成人精品一区二区三区| 久久精品嫩草研究院| 亚洲成av人无码综合在线观看| 日本91视频| 18禁色诱爆乳网站| 色悠久久久久久久综合网伊人| 国产精品视频第一专区| 亚洲丝袜第一页| 亚洲美女高潮久久久久久久| julia中文字幕久久亚洲| 九九九精品成人免费视频7| 四虎永久在线| 国产免费黄| 99热这里只有免费国产精品| 亚洲欧美一区二区三区图片| 黑色丝袜高跟国产在线91| 欧洲一区二区三区无码| 亚洲欧美日韩成人在线| 91无码人妻精品一区| 丝袜久久剧情精品国产| 香蕉eeww99国产在线观看| 国产精品无码一区二区桃花视频| 日韩在线影院| 亚洲中文字幕久久无码精品A| 亚洲天堂精品视频| 999精品视频在线| 狠狠色综合久久狠狠色综合| 欧美一级高清片久久99| 制服丝袜 91视频| 91福利一区二区三区| 国产精品无码久久久久久| 亚洲第一极品精品无码| 国产精品免费入口视频| 国产经典在线观看一区| 三区在线视频| 国产在线精品香蕉麻豆| 久久动漫精品| AV无码国产在线看岛国岛| 国产夜色视频| 2021国产v亚洲v天堂无码| 欧美色99| 亚洲一区二区在线无码 | 啪啪啪亚洲无码| 性欧美久久| 美女一级毛片无遮挡内谢| 国产主播在线一区| 午夜精品国产自在| 欧美成人免费| 99久久无色码中文字幕|