基于51單片機利用八個數碼管花樣顯示如下:
xxx11xxx→xx2222xx→x333333x→44444444→x555555x→xx6666xx→x777777x→88888888
每個狀態各一秒,顯示反復循環,其中x表示對應的數碼管熄滅
問題補充:是共陽極的數碼管,利用595芯片驅動的。采用C語言。
===================================================
最佳答案:程序設計完畢,采用PROTEUS仿真截圖如下。
程序如下:
//=============================================
#include
#define uint unsigned int
#define uchar unsigned char
//HC595芯片
sbit H_ds = P2^0;
sbit H_shcp = P2^1;
sbit H_stcp = P2^2;
char code DISP_8[] = {
0x00, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f};
char code TAB_64[] = {
0,0,0,1,1,0,0,0, 0,0,2,2,2,2,0,0,
0,3,3,3,3,3,3,0, 4,4,4,4,4,4,4,4,
0,5,5,5,5,5,5,0, 0,0,6,6,6,6,0,0,
0,7,7,7,7,7,7,0, 8,8,8,8,8,8,8,8};
char i = 1, j = 0;
char DISP_B[] = {0,0,0,0,0,0,0,0};
//------------------------------------------------------------------
void sendbyte_H(uchar aa) //利用HC595輸出
{
char z;
aa = ~aa;
for(z = 0; z < 8; z++) { //循環8次移入數據
H_shcp = 0;
H_ds = aa & 128; //數據位送到HC595數據線
H_shcp = 1; //上升沿輸入數據
aa <<= 1;
}
}
//------------------------------------------------------------------
void display()
{
char z;
for(z = 0; z < 8; z++) DISP_B[z] = TAB_64[j * 8 + z];
j++; j %= 8;
for(z = 0; z < 8; z++) sendbyte_H(DISP_8[DISP_B[z]]);
H_stcp = 0; H_stcp = 1; //上升沿使數據并行輸出
}
//------------------------------------------------------------------
void main()
{
TMOD = 0x01;
TH0 = (65536 - 46080) / 256; //50ms@11.0592MHz
TL0 = (65536 - 46080) % 256;
TR0 = 1;
ET0 = 1;
EA = 1;
while (1);
}
//------------------------------------------------------------------
void T0_time()interrupt 1
{
TL0 = (65536 - 46080) % 256; //重新設置初始值
TH0 = (65536 - 46080) / 256; //50ms@11.0592MHz
i--;
if (i == 0) {
i = 40;
display(); //花樣顯示
}
}
//------------------------------------------------------------------
上一篇:按鍵控制移位顯示
下一篇:51單片機的中斷控制
推薦閱讀
史海拾趣
ELM Technology Corporation非常重視企業文化的建設。公司倡導“創新、協作、誠信、責任”的企業精神,鼓勵員工積極創新、勇于擔當。同時,公司還為員工提供了良好的工作環境和福利待遇,增強了員工的歸屬感和凝聚力。這種積極向上的企業文化為ELM的持續發展提供了強大的動力。
請注意,以上故事僅為概述,具體細節和事實需要根據ELM Technology Corporation的實際情況進行補充和完善。
隨著業務的發展,Austek Microsystems逐漸意識到,單憑自身的力量難以在市場中取得長遠的發展。因此,公司開始積極尋求與業內知名企業的合作。通過與這些企業的深入合作,Austek Microsystems不僅獲得了更多的技術支持和市場資源,還成功將自身的產品推向了更廣闊的市場。
在追求經濟效益的同時,Austek Microsystems也積極履行社會責任。公司嚴格遵守環保法規,采用環保材料和生產工藝,減少對環境的影響。此外,Austek Microsystems還積極參與公益事業,為社區的發展和進步貢獻自己的力量。
這五個故事展示了Austek Microsystems在電子行業中的發展歷程和取得的成就。通過創新研發、建立合作伙伴關系、技術升級與產品迭代、市場拓展與品牌建設以及履行社會責任等方式,Austek Microsystems逐漸在市場中嶄露頭角,成為了電子行業中一顆璀璨的明星。
Cynergy 3公司最初以生產干簧開關起家,位于英國多塞特郡的工廠見證了公司從一個小型制造商到全球領先者的蛻變。通過不斷創新和改進,Cynergy 3的干簧繼電器產品逐漸獲得了市場的認可。公司注重產品質量和可靠性,確保每一個出廠的產品都能達到最高的標準。這種對質量的堅持使得Cynergy 3在競爭激烈的電子行業中脫穎而出。
2014年,ACAM公司迎來了一個重要的里程碑事件——被奧地利微電子股份有限公司收購。這次收購極大地增強了ACAM公司在時間數字轉換器(TDC)技術領域的實力。奧地利微電子在半導體行業有著深厚的積累和豐富的經驗,與ACAM公司的技術優勢相結合,進一步提升了ACAM公司在市場上的競爭力。
采用WINDOWS2003 DDK開發,vs.net2003,VC7,硬件為一個讀取電話號碼的小模塊。 問題: 1,該硬件在系統顯示為兩個,人體學接口設備,顯示為KEYBORD; 2,用BH500可以抓到相關數據包,沒有問題,但是用HID類訪讀不到數據; 3,HIDD_GETGUID得到 ...… 查看全部問答∨ |
|
stm32的管腳PB14對應TIM1的C2N,能作PWM輸入捕獲嗎? rt? TIM1的 C1/2/3/4 和后面帶個N字母的管腳通用嗎? 該管腳能做 TIM1的pwm輸入捕獲管腳嗎? 另:官方例子如下,配置了通道2上升沿觸發,,好像沒有配置CCR1但它為什么就可以使用了呢 /* TIM2 configuration: PWM Input mode ------------ ...… 查看全部問答∨ |
我在定時器1中斷里用定時器4來計時,在定時器4中斷中采集一次AD 通道6,當程序跑到定時器1中斷中時再采一次AD 通道5,這時程序就會卡死在while(!EOC);一直在等待轉換完成,這是什么樣的情況,請大蝦幫忙看看啊 //定時器1中斷子程序 @far ...… 查看全部問答∨ |
GPS是英文Global Positioning System(全球定位系統)的簡稱。GPS起始于1958年美國軍方的一個項目,1964年投入使用。20世紀70年代,美國陸海空三軍聯合研制了新一代衛星定位系統GPS 。主要目的是為陸海空三大領域提供實時、全天候和全球性的導航服 ...… 查看全部問答∨ |
使用IAR版本6.0 定義了union 定義如下 //-------------------服務器獲取參數------------------------------------------------ #define HOST_GETPARAM_LENGTH &n ...… 查看全部問答∨ |