導航:首頁 > 軟體知識 > 單片機如何看動態顯示圖寫程序

單片機如何看動態顯示圖寫程序

發布時間:2023-07-29 21:59:10

⑴ 單片機動態數碼管程序怎麼寫

從靜態顯示和動態顯示的區別說起,把動態顯示佔用IO少,利用視覺殘留的方法說清楚就可以啊.
附上電路圖和程序供你參考,別忘記給分哦.

#include "STC12C5A.h" //包含頭文件

/***數字編碼表 0~9***/
unsigned char const seg[10] = {0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6}; //段選
unsigned char const position[]={1,2,4,8}; //位選
sbit HC595_SCK = P0^4;
sbit HC595_RCK = P0^5;
sbit HC595_RST = P0^6;
sbit HC595_DAT = P0^7;

//us延時
void delay_us(unsigned int t)
{
while(t--);
}

//延時函數(24M 晶振下延時 1ms)
void delay_ms(unsigned int time)
{
unsigned int t;
for(;time>0;time--)
{
t = 1500;
while(t--);
}
}

//向 HC595 發送一個位元組
void HC595_send_byte(unsigned char byte)
{
unsigned char i,temp;
for(i=0;i<=7;i++)
{
temp = byte&1<<i;
if(temp)
{
HC595_DAT = 1; //數據線
}
else
{
HC595_DAT=0;
}
//下面是寫時序
HC595_SCK=1; //SCK(11 腳)
delay_us(1);
HC595_SCK=0;
delay_us(1);
}
HC595_RCK=0; //RCK(12 腳)
delay_us(1);
HC595_RCK=1;
}

//顯示一個數 num
void SMG_ShowNum(unsigned char num)
{
HC595_send_byte(seg[num]);
}

void SMG_Display(unsigned int dat)
{
SMG_ShowNum(dat/1000);
P0 = (P0&0xf0)|position[0];
delay_ms(2);

SMG_ShowNum((dat%1000)/100);
P0 = (P0&0xf0)|position[1];
delay_ms(2);

SMG_ShowNum(dat%100/10);
P0 = (P0&0xf0)|position[2];
delay_ms(2);

SMG_ShowNum(dat%10);
P0 = (P0&0xf0)|position[3];
delay_ms(2);
}

//主函數
void main()
{
unsigned int num=0;
unsigned char time=0;
P0=0X00; //初始化低四位為高電平,使能四位數碼管
HC595_RST=0; //HC595 的復位端,不能讓他復位
while(1)
{
num = (num+1)%10000; //動態顯示 0~9999
time = 100;
while(time--)
SMG_Display(num);
}
}

閱讀全文

與單片機如何看動態顯示圖寫程序相關的資料

熱點內容
如何代理旅遊一卡通 瀏覽:510
遠程伺服器如何加入mysql資料庫 瀏覽:45
熊貓的市場在哪裡 瀏覽:127
什麼是大數據特點是 瀏覽:758
技術總監與技術經理哪個職位高 瀏覽:863
袋泡茶屬於什麼產品 瀏覽:870
是利用什麼來傳遞信息的 瀏覽:650
阿里發布產品型號是什麼 瀏覽:358
如何讓兩個程序在一起 瀏覽:883
做百威啤酒代理要多少錢 瀏覽:479
買到假劣產品怎麼舉報 瀏覽:552
外國資本在國內有多少代理人 瀏覽:683
存款交易成功是什麼意思 瀏覽:142
淘寶小陽是賣什麼產品的 瀏覽:568
樓盤整體平面圖有哪些數據 瀏覽:893
計算機市場調研哪個方向比較好 瀏覽:746
開診所市場營銷手段有哪些 瀏覽:239
拼多多如何改秒拼產品 瀏覽:244
汽車過戶後網上信息最遲多久更新 瀏覽:212
現在工廠學不到什麼技術 瀏覽:327