国产精品日批视频免费观看_色色色亚洲五月天亚洲综合四射社区_三级网站成年人91久久精品国产_色视频欧美区

深圳市瑞申電子有限公司

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

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

時間:2021-08-02 06:19:17 點擊:
論壇首問!!!求助大神!!!
本人使用16x16點陣操作,使其顯示漢字“普”,接下來我將會發(fā)段完整的程序,這兩段完整的程序區(qū)別只在于主函數(shù)有無while(1)循環(huán),我發(fā)現(xiàn)兩個程序結(jié)果一樣。
但是,本人認(rèn)為第二段程序由于沒有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
不不不。。。兩個程序都是一直亮著
我是說我預(yù)測中程序二的效果是閃一下,實際上程序二的效果是一直亮著

自己頂一下


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


你這16X16的點陣是什么樣的接口啊?最好貼出原理圖
粗看你感覺你這16X16點陣就是橫著16個接口豎著16個接口,難道是串行轉(zhuǎn)并行之后沒有鎖存,所以第一個才只閃一下?


謝謝樓上的意見,原理圖已貼,確實是橫著16個接口豎著16個接口


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

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

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

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


這個好資料呀??感謝分享??


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

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

樓主記得選擇最佳答案啊


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

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


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


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

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

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

    主站蜘蛛池模板: 广河县| 启东市| 元朗区| 博湖县| 巍山| 永德县| 璧山县| 高州市| 万安县| 苏尼特右旗| 手游| 苍梧县| 翁牛特旗| 屏东县| 惠来县| 江都市| 工布江达县| 田东县| 建昌县| 甘孜县| 杭锦后旗| 九龙坡区| 安平县| 开封市| 凉城县| 田林县| 阿拉尔市| 马龙县| 佛山市| 江川县| 博客| 涡阳县| 京山县| 耒阳市| 仲巴县| 读书| 汪清县| 天台县| 理塘县| 克东县| 正蓝旗|