成人网站入口,五月丁香久久,亚洲精品99,亚洲欧美精品中文幕无码三区,丁香五月激情网,国产一区二区不卡视频,日韩精品网站,国产精品999

深圳市瑞申電子有限公司

深圳市瑞申電子有限公司是一家10年專(zhuān)業(yè)大功率電感生產(chǎn)加工廠商,主要以大功率,大電流、扁平線圈電感、平面變壓器設(shè)計(jì)、生產(chǎn)、銷(xiāo)售工廠。設(shè)計(jì)、繞線、組裝、檢測(cè)、包裝、出貨等全制程的工藝流程!擁有完整、科學(xué)的質(zhì)量管理體系。專(zhuān)業(yè)技術(shù)團(tuán)隊(duì)10人,我們的誠(chéng)信、實(shí)力和產(chǎn)品質(zhì)量獲得業(yè)界的認(rèn)可。歡迎各界朋友蒞臨參觀、指導(dǎo)和業(yè)務(wù)洽談。 ...

關(guān)于LED點(diǎn)陣顯示漢字的問(wèn)題

時(shí)間:2021-08-02 06:19:17 點(diǎn)擊:
論壇首問(wèn)?。?!求助大神!??!
本人使用16x16點(diǎn)陣操作,使其顯示漢字“普”,接下來(lái)我將會(huì)發(fā)段完整的程序,這兩段完整的程序區(qū)別只在于主函數(shù)有無(wú)while(1)循環(huán),我發(fā)現(xiàn)兩個(gè)程序結(jié)果一樣。
但是,本人認(rèn)為第二段程序由于沒(méi)有while(1)循環(huán),結(jié)果應(yīng)該是在LED顯示屏上只有“普”字閃一下,而非一直亮著燈,求解?。?!

程序一:

#include
#include
void delay(int i)
{
while(i--);
}
sbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;
unsigned char ledwei[]={
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
unsigned char code ledduan1[]={
0x40,0x44,0x54,0x64,0x45,0x7E,0x44,0x44,0x44,0x7E,0x45,0x64,0x54,0x44,0x40,0x00,
0x00,0x00,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,0x00,};

void Hc595SendByte(char dat1,char dat2,char dat3,char dat4)
{
int i;
for(i=0;i<8;++i)
{
??SER=dat1>>7;
??dat1=dat1<<1;
??SRCLK=0;
??_nop_();
??_nop_();
??SRCLK=1;
}
for(i=0;i<8;++i)
{
??SER=dat2>>7;
??dat2=dat2<<1;
??SRCLK=0;
??_nop_();
??_nop_();
??SRCLK=1;
}
for(i=0;i<8;++i)
{
??SER=dat3>>7;
??dat3=dat3<<1;
??SRCLK=0;
??_nop_();
??_nop_();
??SRCLK=1;
}
for(i=0;i<8;++i)
{? ?
??SER=dat4>>7;
??dat4=dat4<<1;
??SRCLK=0;
??_nop_();
??_nop_();
??SRCLK=1;
}
RCLK=0;
_nop_();
_nop_();
RCLK=1;

}
void main()
{
int i;
while(1)
{
??for(i=0;i<16;i++)
??{
? ? Hc595SendByte(~ledwei[i+16],~ledwei[i],ledduan1[i+16],ledduan1[i]);
? ? delay(10);
??}
}? ?
}


程序二:

#include
#include
void delay(int i)
{
while(i--);
}
sbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;
unsigned char ledwei[]={
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
unsigned char code ledduan1[]={
0x40,0x44,0x54,0x64,0x45,0x7E,0x44,0x44,0x44,0x7E,0x45,0x64,0x54,0x44,0x40,0x00,
0x00,0x00,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,0x00,};

void Hc595SendByte(char dat1,char dat2,char dat3,char dat4)
{
int i;
for(i=0;i<8;++i)
{
??SER=dat1>>7;
??dat1=dat1<<1;
??SRCLK=0;
??_nop_();
??_nop_();
??SRCLK=1;
}
for(i=0;i<8;++i)
{
??SER=dat2>>7;
??dat2=dat2<<1;
??SRCLK=0;
??_nop_();
??_nop_();
??SRCLK=1;
}
for(i=0;i<8;++i)
{
??SER=dat3>>7;
??dat3=dat3<<1;
??SRCLK=0;
??_nop_();
??_nop_();
??SRCLK=1;
}
for(i=0;i<8;++i)
{? ?
??SER=dat4>>7;
??dat4=dat4<<1;
??SRCLK=0;
??_nop_();
??_nop_();
??SRCLK=1;
}
RCLK=0;
_nop_();
_nop_();
RCLK=1;

}
void main()
{
int i;
for(i=0;i<16;i++)
{
??Hc595SendByte(~ledwei[i+16],~ledwei[i],ledduan1[i+16],ledduan1[i]);
??delay(10);
}
? ?

}


力盡山拔 發(fā)表于 2017-2-9 08:10
不不不。。。兩個(gè)程序都是一直亮著
我是說(shuō)我預(yù)測(cè)中程序二的效果是閃一下,實(shí)際上程序二的效果是一直亮著

自己頂一下


我覺(jué)得我應(yīng)該介紹一下這個(gè)程序
通過(guò)四個(gè)74HC595芯片來(lái)控制16x16點(diǎn)陣的四個(gè)管腳
函數(shù)Hc595SendByte()里面的程序沒(méi)有問(wèn)題,該函數(shù)的作用是運(yùn)用串轉(zhuǎn)并的原理將四個(gè)十六進(jìn)制數(shù)導(dǎo)入到16x16點(diǎn)陣的四個(gè)端口。
數(shù)組ledwei充當(dāng)位選的作用


你這16X16的點(diǎn)陣是什么樣的接口?。孔詈觅N出原理圖
粗看你感覺(jué)你這16X16點(diǎn)陣就是橫著16個(gè)接口豎著16個(gè)接口,難道是串行轉(zhuǎn)并行之后沒(méi)有鎖存,所以第一個(gè)才只閃一下?


謝謝樓上的意見(jiàn),原理圖已貼,確實(shí)是橫著16個(gè)接口豎著16個(gè)接口


gniquhs 發(fā)表于 2017-2-8 20:47
你這16X16的點(diǎn)陣是什么樣的接口啊?最好貼出原理圖
粗看你感覺(jué)你這16X16點(diǎn)陣就是橫著16個(gè)接口豎著16個(gè)接口,難道是串行轉(zhuǎn)并行之后沒(méi)有鎖存,所以第一個(gè)才只閃一下?

力盡山拔 發(fā)表于 2017-2-8 21:16
可能我沒(méi)有表達(dá)清楚
我預(yù)測(cè)的效果是程序一一直亮著,程序二只閃一下
but??實(shí)際上是兩個(gè)程序的效果一樣

圖示是ON公司74HC595的框架結(jié)構(gòu),左邊一列是移位輸出,中間一列D觸發(fā)器是鎖存,12腳的鎖存管教應(yīng)該有個(gè)時(shí)序的變化(剛看了一下,應(yīng)該是在串行輸出結(jié)束之后從低電平變高電平)
如此串行轉(zhuǎn)并行之后的數(shù)據(jù)就能鎖住不變,而不是一閃而逝

要改程序的話,你試下在你每個(gè)for(1-8)的大括號(hào)之后都加上下面代碼
??RCLK=0;
??_nop_();
??_nop_();
??RCLK=1;


這個(gè)好資料呀??感謝分享??


gniquhs 發(fā)表于 2017-2-8 21:59
圖示是ON公司74HC595的框架結(jié)構(gòu),左邊一列是移位輸出,中間一列D觸發(fā)器是鎖存,12腳的鎖存管教應(yīng)該有個(gè)時(shí)序的變化(剛看了一下,應(yīng)該是在串行輸出結(jié)束之后從低電平變高電平)
如此串行轉(zhuǎn)并行之后的數(shù)據(jù)就能鎖住不變,而不是一閃而逝

gniquhs 發(fā)表于 2017-2-8 21:31
跟我想的差不多
不過(guò)你有注意到74HC595的12腳是鎖存腳嗎?
這個(gè)腳你不用是不會(huì)鎖存數(shù)據(jù)的,所以只是閃一下

樓主記得選擇最佳答案啊


elecfansLily 發(fā)表于 2017-2-9 16:44
樓主記得選擇最佳答案啊

感覺(jué)好強(qiáng)大的樣子。


你現(xiàn)在的程序可以實(shí)現(xiàn)顯示移動(dòng)的漢字嗎?


高通中外文字庫(kù)IC,支持全世界170多國(guó)家的語(yǔ)言,全國(guó)唯一字庫(kù)IC原廠,可加Q2850929208黃工索取資料

大功率電感廠家 |大電流電感工廠

  • 如何建立一個(gè)一次性防盜報(bào)警系統(tǒng)
    如何建立一個(gè)一次性防盜報(bào)警系統(tǒng)該報(bào)警的目的是健全的警報(bào)器只有一次。那就是 - 當(dāng)報(bào)警被激活 - 健全的警笛會(huì)在預(yù)設(shè)的時(shí)間長(zhǎng)度。然后,它會(huì)關(guān)閉并保持關(guān)閉。警報(bào)將不會(huì)重新啟動(dòng)。基本的報(bào)警有一個(gè)獨(dú)立可調(diào)出
  • MSP430進(jìn)入lpm4后,MCU會(huì)偶爾丟失i/o中斷
    430進(jìn)入LMP4 ,通過(guò)外部的RTC來(lái)喚醒,偶爾會(huì)出現(xiàn)無(wú)法喚醒, 如果再次出發(fā)mcu 可以正常喚醒并運(yùn)行,可以確定RTC是有輸出信號(hào)來(lái)喚醒MCU的,貌似mcu沒(méi)有響應(yīng)邊沿中斷, (邊沿設(shè)置、
  • (連載08)并聯(lián)式開(kāi)關(guān)電源的工作原理
    1-4-1.并聯(lián)式開(kāi)關(guān)電源的工作原理 圖1-11-a是并聯(lián)式開(kāi)關(guān)電源的最簡(jiǎn)單工作原理圖,圖1-11-b是并聯(lián)式開(kāi)關(guān)電源輸出電壓的波形。 圖1-11-a中Ui是開(kāi)關(guān)電源的工作電壓,L是儲(chǔ)能電感,K是
  • 大功率電感

    长子县| 磐石市| 台山市| 南宁市| 浦县| 乐平市| 延吉市| 高碑店市| 昌吉市| 广宁县| 通化县| 五指山市| 进贤县| 巴青县| 安溪县| 萨迦县| 漳州市| 纳雍县| 东丰县| 梧州市| 辛集市| 新郑市| 城固县| 樟树市| 安岳县| 观塘区| 河津市| 云和县| 重庆市| 花莲市| 伊金霍洛旗| 家居| 塔河县| 漳浦县| 开封市| 丹江口市| 应用必备| 西丰县| 白城市| 东阳市| 蓬莱市|