wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

51單片機+點陣8*8上、下、左、右移顯示C程序(原創)

作者:佚名   來源:本站原創   點擊數:  更新時間:2012年07月06日   【字體:

 最近在研究點陣,這東西看起來簡單,但是要完全掌握它,可是要花一定時間的!我現在做得8*8點陣硬件電路是這樣的,行采用74HC138+三極管8550驅動,列采用74HC595驅動,這種電路是非常用的,其次的掃描原理就是,先打開第一行,然后送代碼給列,即595端,像這樣掃描8次行,一個字就完成了,具體原理圖如下圖:

 

下面我將我寫得代碼下載地址分享下:http://www.izizhuan.cn/f/sxzy.rar

一、上移:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define LINE P1//定義行線IO口,即74HC154控制端
#define shudu 50//字移動的速度
sbit DATA=P3^5;//74HC595數據端
sbit CLK=P3^7;//74HC595移位脈沖端
sbit CLKR=P3^6;//74HC595數據鎖存端
uint word;//字節變量
uchar line;//字節變量
uchar code table[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x3C,0x00,0x18,0x00,0x7E,0x00,0x00,
0x08,0x08,0x7F,0x49,0x7F,0x08,0x08,0x08,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};//字模數組
void delay(uchar z)
{
 uchar x,y;
 for(x=8;x>0;x--)
 for(y=z;y>0;y--);
}
/********************************/
/**74HC595移位寄存器送數子函數***/
/********************************/
void song(uchar z)//帶參數函數
{
 uchar num,hang;//定義變量
 hang=z;//將形參給變量
 for(num=0;num<8;num++)//移動8次將數據發送完畢
 {
  if(hang&0x01==1)//將高7位屏蔽掉,保留最低位判斷
  DATA=1;//為1就將74HC595數據端置1
  else
  DATA=0;//否則給0
  CLK=0;//上升沿送走數據
  CLK=1;//高電平形成上升沿
  hang>>=1;//將數移走一位
 }
}
/********************************/
/*將一行數據轉換出來,然后顯示*/
/********************************/
void xian()
{
 uchar i,f;
 for(i=0;i<shudu;i++)//一字移動的速度
 { 
  word=f;//將字暫存器給計數器
  for(line=0;line<8;line++)//掃描8次,即完成一個字的移動
  {
   song(~table[word]);
   CLKR=1;//在74HC595處鎖存起來
   CLKR=0;
   CLKR=1;
   word++;//將計數器加1
   LINE=line;//打開行線,即74HC138行線端
   P3=0xff;
   delay(20);
  }
 }
 f+=2;//顯示完一個字后加2形成上移 
 if(word>=32)
 {
  word=0;//清0重新開始
  f=0;
 }
}
/********************************/
/************主程序*************/
/********************************/
void main()
{
 while(1)
 {
   xian();
 }
}                                                      

二、下移

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define LINE P1//定義行線IO口,即74HC154控制端
#define shudu 50//字移動的速度
sbit DATA=P3^5;//74HC595數據端
sbit CLK=P3^7;//74HC595移位脈沖端
sbit CLKR=P3^6;//74HC595數據鎖存端
uchar f=24;//給一個初值以便下移
uchar code table[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x08,0x08,0x7F,0x49,0x7F,0x08,0x08,0x08,//將字碼調換
0x00,0x3C,0x00,0x18,0x00,0x7E,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};//字模數組
void delay(uchar z)
{
 uchar x,y;
 for(x=8;x>0;x--)
 for(y=z;y>0;y--);
}
/********************************/
/**74HC595移位寄存器送數子函數***/
/********************************/
void song(uchar z)//帶參數函數
{
 uchar num,hang;//定義變量
 hang=z;//將形參給變量
 for(num=0;num<8;num++)//移動8次將數據發送完畢
 {
  if(hang&0x01==1)//將高7位屏蔽掉,保留最低位判斷
  DATA=1;//為1就將74HC595數據端置1
  else
  DATA=0;//否則給0
  CLK=0;//上升沿送走數據
  CLK=1;//高電平形成上升沿
  hang>>=1;//將數移走一位
 }
}
/********************************/
/*將一行數據轉換出來,然后顯示*/
/********************************/
void xian()
{
 uint word;//字節變量
 uchar line,i;//字節變量
 for(i=0;i<shudu;i++)//一字移動的速度
 { 
  word=f;//將字暫存器給計數器
  for(line=0;line<8;line++)//掃描8次,即完成一個字的移動
  {
   song(~table[word]);
   CLKR=1;//在74HC595處鎖存起來
   CLKR=0;
   CLKR=1;
   word++;//將計數器加1
   LINE=line;//打開行線,即74HC138行線端
   //P3=0xff;
   delay(10);
  }
 }
 f--;//顯示完一個字后減1形成下移 
 if(f==0)
 {
  f=24;//移完后給值
 }
}
/********************************/
/************主程序*************/
/********************************/
void main()
{
 while(1)
 {
   xian();
 }
}                                                      

三、左移

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define LINE P1//定義行線IO口,即74HC154控制端
#define shudu 120//字移動的速度
sbit DATA=P3^5;//74HC595數據端
sbit CLK=P3^7;//74HC595移位脈沖端
sbit CLKR=P3^6;//74HC595數據鎖存端
uchar move;//移動幾位變量
uchar line;//行變量
uint word;//字節變量
uchar BUF[2];//2組緩存數組以便動態更改數據
uchar code table[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x3C,0x00,0x18,0x00,0x7E,0x00,0x00,
0x08,0x08,0x7F,0x49,0x7F,0x08,0x08,0x08,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};//字模數組
/********************************/
/**74HC595移位寄存器送數子函數***/
/********************************/
void song(uchar z)//帶參數函數
{
 uchar num,hang;//定義變量
 hang=z;//將形參給變量
 for(num=0;num<8;num++)//移動8次將數據發送完畢
 {
  if(hang&0x01==1)//將高7位屏蔽掉,保留最低位判斷
  DATA=1;//為1就將74HC595數據端置1
  else
  DATA=0;//否則給0
  CLK=0;//上升沿送走數據
  CLK=1;//高電平形成上升沿
  hang>>=1;//將數移走一位
 }
}
/********************************/
/*裝一線數據子函數(即一行數據)*/
/********************************/
void yixian()
{
 BUF[0]=table[word+line];//第1個字代碼裝入緩存數組0,line表示行數,word表示字數
 BUF[1]=table[word+8+line];//第2個字代碼裝入緩存數組1 
}
/********************************/
/*將一行數據轉換出來,然后顯示*/
/********************************/
void yipai()
{
 uchar temp,yi;//定義兩個變量
 yi=move;//將要移多少位給變量yi
 temp=(BUF[0]<<yi)|(BUF[1]>>(8-yi));/*將第1個字即數組0左移yi(yi只是代號,比如1位)位
 ,然后將第下一個字即數組1右移8-yi位,然后或一下,這樣就會得到要發送的數*/
 song(~temp);//發送給74HC595 
}
void xian()
{
 uchar i;
 while(word<24)//需要顯示3個字,公式=8*N個字,比如四個字就是4*8=32
 {
  for(move=0;move<8;move++)//要移多少位?
  {
   for(i=0;i<shudu;i++)//一字移動的速度
   {
    for(line=0;line<8;line++)//掃描8次,即完成一個字的移動
    {
     yixian();//調用一線子程序
     yipai();//調用數據轉換子程序
     LINE=line;//打開行線,即74HC138行線端
     CLKR=1;//在74HC595處鎖存起來
     CLKR=0;
     CLKR=1;
    }
   }
  }
  word=word+8;//一個字顯示完了,就顯示下一個字
 }
 word=0;//清0重新開始
}
/********************************/
/************主程序*************/
/********************************/
void main()
{
 while(1)
 {
   xian();
 }
}                                                      

四、右移

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define LINE P1//定義行線IO口,即74HC154控制端
#define shudu 120//字移動的速度
sbit DATA=P3^5;//74HC595數據端
sbit CLK=P3^7;//74HC595移位脈沖端
sbit CLKR=P3^6;//74HC595數據鎖存端
uchar move;//移動幾位變量
uchar line;//行變量
uint word;//字節變量
uchar BUF[2];//2組緩存數組以便動態更改數據
uchar code table[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x3C,0x00,0x18,0x00,0x7E,0x00,0x00,
0x08,0x08,0x7F,0x49,0x7F,0x08,0x08,0x08,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};//字模數組
/********************************/
/**74HC595移位寄存器送數子函數***/
/********************************/
void song(uchar z)//帶參數函數
{
 uchar num,hang;//定義變量
 hang=z;//將形參給變量
 for(num=0;num<8;num++)//移動8次將數據發送完畢
 {
  if(hang&0x01==1)//將高7位屏蔽掉,保留最低位判斷
  DATA=1;//為1就將74HC595數據端置1
  else
  DATA=0;//否則給0
  CLK=0;//上升沿送走數據
  CLK=1;//高電平形成上升沿
  hang>>=1;//將數移走一位
 }
}
/********************************/
/*裝一線數據子函數(即一行數據)*/
/********************************/
void yixian()
{
 BUF[0]=table[word+line];//第1個字代碼裝入緩存數組0,line表示行數,word表示字數
 BUF[1]=table[word+8+line];//第2個字代碼裝入緩存數組1 
}
/********************************/
/*將一行數據轉換出來,然后顯示*/
/********************************/
void yipai()
{
 uchar temp,yi;//定義兩個變量
 yi=move;//將要移多少位給變量yi
 temp=(BUF[1]<<(8-yi))|(BUF[0]>>yi);/*將第1個字即數組0左移yi(yi只是代號,比如1位)位
 ,然后將第下一個字即數組1右移8-yi位,然后或一下,這樣就會得到要發送的數*/
 song(~temp);//發送給74HC595 
}
void xian()
{
 uchar i;
 while(word<24)//需要顯示3個字,公式=8*N個字,比如四個字就是4*8=32
 {
  for(move=0;move<8;move++)//要移多少位?
  {
   for(i=0;i<shudu;i++)//一字移動的速度
   {
    for(line=0;line<8;line++)//掃描8次,即完成一個字的移動
    {
     yixian();//調用一線子程序
     yipai();//調用數據轉換子程序
     LINE=line;//打開行線,即74HC138行線端
     CLKR=1;//在74HC595處鎖存起來
     CLKR=0;
     CLKR=1;
    }
   }
  }
  word=word+8;//一個字顯示完了,就顯示下一個字
 }
 word=0;//清0重新開始
}
/********************************/
/************主程序*************/
/********************************/
void main()
{
 while(1)
 {
   xian();
 }
}                               

 

 

關閉窗口

相關文章

亚洲风情在线资源站| 久久免费观看视频| 成人性生交大片免费看中文网站 | 另类的小说在线视频另类成人小视频在线| 免费一级欧美在线观看视频| 桃乃木かなav在线播放| 天堂成人在线观看| 日韩精品一区二区亚洲av性色| www黄色日本| 黑人另类av| 久久久午夜视频| 亚洲精品国产欧美| 欧美日韩日本国产| 亚洲国产精品二十页| 久久久天天操| 日韩免费视频| 一本色道69色精品综合久久| 第一中文字幕在线| 美女做暖暖视频免费在线观看全部网址91 | 久久久久国产精品麻豆ai换脸| 欧美日韩国产成人精品| 日本免费精品| 羞羞视频在线观看免费| 中文字幕中文字幕在线中文字幕三区 | 伦xxxx在线| 一个人看的www片免费高清视频| 日本成人一级片| 欧美性生给视频| 久久久国产精品久久久| 国产精品va在线观看无码| 国产女人水真多18毛片18精品 | 日韩高清在线| 91亚洲天堂| 清纯唯美亚洲色图| 看黄色免费网站| www黄色在线观看视频| 四虎wwwcom| 18深夜在线观看免费视频| 午夜久久久久久久久久久| 精品国产乱码久久久久久108| 国产精品99久久久久久人| 久久久久久久久久久久久久久久久久av | 99热手机在线观看| 另类专区欧美| 私人影视中文字幕| 黄色av网站免费在线观看| 久久精品无码av| 青草影院在线观看| 9.1片黄在线观看| 国产日韩视频一区| 国产亚洲精品久久| 欧美日韩一区二区在线观看视频 | 成人激情开心网| 给我免费播放日韩视频| 亚州欧美在线| 国产精品1区在线| 亚洲美女色播| **日韩最新| 99久热在线精品视频观看| 日本欧美一区| 国产第一亚洲| 国产精品一级在线观看| 久久伊人久久| 美女网站色精品尤物极品姐弟| 亚洲日本视频在线| 欧美成人一区在线观看| 免费成人三级| 久久99蜜桃| 三区四区不卡| 91精品秘密在线观看| 亚洲综合色站| 亚洲在线日韩| 久久97超碰色| 成人免费视频国产在线观看| av成人老司机| 欧美激情中文不卡| 亚洲一区二区三区视频在线 | 96成人在线视频| 91久久精品国产91久久性色| 91|九色|视频| 免费av在线一区二区| 久久涩涩网站| 日本一道在线观看| 青青草成人免费在线视频| 波多野结衣乳巨码无在线| 国产精品第12页| 欧美极品一区| 亚洲ai欧洲av| 日本香蕉视频在线观看| 国产主播自拍av| 久久久久久久久久久久91| 亚洲一二三不卡| 一区二区三区免费在线观看视频| 黄色片网站免费| 国产精品第九页| 夜夜狠狠擅视频| 二区三区不卡不卡视频| 国产麻豆永久视频| 97超超碰碰| 污香蕉视频在线观看| 国产一二区在线| 99久久免费国产精精品| av加勒比在线| 天堂精品高清1区2区3区| 78国产伦精品一区二区三区| 女明星视频黄又免费| 一级毛片免费观看| 91精选在线| 亚洲伦理网站| 欧美日韩国产高清电影| 毛片一区二区| 久久精品这里都是精品| 香蕉av福利精品导航| 欧美xxxxxxxxx| 久久69精品久久久久久国产越南| 国产精品av在线| 免费毛片一区二区三区久久久| 超碰成人免费在线| 婷婷五月精品中文字幕| 久久网一区二区| 超碰在线观看av| 性猛交富婆╳xxx乱大交一| 在线观看黄网址| 久久久久久久久久影院| 黑人乱码一区二区三区av| 91看片免费版| 欧美日本网站| 希岛爱理一区二区三区av高清| xxxx日韩| 亚洲欧美日韩一区在线观看| 91免费版在线看| 欧美日韩综合色| 久久久www成人免费精品| 91蜜桃网站免费观看| 黄色一级在线视频| mm131美女视频| 91亚洲欧美激情| 人人干人人干| av免费在线观看网址| 国产精品videossex| 亚洲一区国产一区| 亚洲欧美日本韩国| 日韩高清免费观看| 91在线免费网站| 少妇无码av无码专区在线观看 | 2018中文字幕第一页| 精品夜夜澡人妻无码av| 一级黄色片在线观看| jizzjizzjizzjizz日本| 国产精品国精产品一二| 成人羞羞网站入口| 国产成人精品午夜视频免费 | 国产一区二区三区日韩| 精品欧美一区二区三区| 日韩最新av在线| 亚洲乱亚洲乱妇无码| 国产精品高潮视频| 男女啪啪免费视频网站| 黄色av片三级三级三级免费看| 性生交生活影碟片| 中文字幕网在线| 日本一区二区三区视频在线看| 久久综合伊人| 欧美小视频在线观看| 午夜天堂影视香蕉久久| 色婷婷综合成人av| 欧美一进一出视频| www.色天使| 中国女人内谢69xxxx视频| 亚洲图区欧美| 伊人久久综合影院| 久久久不卡影院| 亚洲欧美中文日韩在线v日本| 国产精品一区二区三区观看| 香蕉视频在线观看黄| 国产精品久久久久久在线| 成视频年人免费看黄网站| 疯狂欧洲av久久成人av电影| 久久国产精品72免费观看| 欧美日韩一区二区欧美激情| 国产精品大片wwwwww| 国产精品拍拍拍| 亚洲网站免费观看| 在线一级观看| 要久久电视剧全集免费| 久久先锋影音av| 国产亚洲欧美aaaa| 亚洲成人网在线观看| 国产精品福利无圣光在线一区| 国产视频一区二区三区在线播放| 性无码专区无码| 丁香婷婷激情| 国语一区二区三区| 成人免费福利片| 国产一区二区三区直播精品电影| 中文字幕一区二区三区四区五区| 精品国产精品国产精品| av观看网址| 免费福利视频一区| 国产精品美女久久福利网站| 欧美精品亚州精品| 日本va中文字幕| 亚洲国产精品国自产拍久久| 国产精品久久久久久福利| 日韩视频不卡| 欧美一区二区三区爱爱| 久久精品国产精品青草色艺| 伊人久久久久久久久久久久久久| www.夜夜| 伊人久久大香线蕉综合网蜜芽| 亚洲制服丝袜一区| 成人情趣片在线观看免费| 亚洲国产综合视频| 农村一级毛片| 欧美成人午夜77777| 亚洲精品国产高清久久伦理二区| 国产精品扒开腿做爽爽爽男男 | 亚洲精品视频一二三| 久久久久成人网站| 少妇精品放荡导航| 亚州av乱码久久精品蜜桃| 日韩欧美aaa| 久久精品日产第一区二区三区精品版 | h视频免费观看| 欧美人妖在线观看| 亚洲午夜精品在线| 99久热re在线精品视频| 成人黄色短视频| 狠狠操夜夜操| 中文精品电影| 日韩视频免费观看高清完整版| 自拍亚洲欧美老师丝袜| 一区二区乱子伦在线播放| 免费网站成人| 韩国欧美一区二区| 久久精品小视频| 亚洲精品成人在线播放| 国产又粗又大又长| 日本天堂一区| 日本精品免费观看高清观看| 欧美精品久久久| 亚洲高清视频免费观看| 色老头在线观看| 99精品欧美一区二区三区综合在线| 久久久噜噜噜久噜久久| 久久久午夜精品福利内容| 色aⅴ色av色av偷拍| 欧美激情麻豆| 亚洲无限av看| 永久av免费在线观看| 美女黄色在线网站大全| 日韩精品一区二区三区免费观看 | 久久综合狠狠综合久久激情| 性亚洲最疯狂xxxx高清| 国产午夜福利一区| 天堂а√在线8种子蜜桃视频| 首页国产欧美久久| 欧美大片在线影院| av男人的天堂av| 在线国产网址| 精品在线观看视频| 2019中文字幕在线| 国模无码国产精品视频| 日韩伦理在线电影| 久久久午夜精品| 成人国产一区二区| 亚洲午夜在线播放| 亚洲伊人精品酒店| 91福利国产精品| 自拍日韩亚洲一区在线| 国产欧美日本亚洲精品一4区| 深爱激情综合| 日韩av在线电影网| 成人一区二区三区仙踪林| 午夜精彩视频| 激情另类小说区图片区视频区| 欧美一级bbbbb性bbbb喷潮片| 后入内射无码人妻一区| 蜜桃视频在线观看www社区 | 91美女高潮出水| 一级片免费在线播放| 牛牛精品一区二区| 亚洲成人你懂的| 中文字幕一区二区三区在线不卡| 精品一区二区日本| 亚洲av无码乱码国产精品| 亚洲综合色婷婷在线观看| 91麻豆精品国产自产在线观看一区 | 国产一级一片免费播放| 麻豆蜜桃在线| 亚洲自拍欧美精品| 欧美性潮喷xxxxx免费视频看| 最新福利小视频在线播放| 精品成人免费| 国产91精品久久久久久| 天天操天天摸天天干| 欧美hdsex| 国产麻豆91精品| 7777精品伊久久久大香线蕉语言| 国产夫妻性生活视频| 欧美黄色网视频| 国产视频一区在线| 免费网站在线高清观看| a毛片在线观看| 亚洲主播在线观看| 丝袜老师办公室里做好紧好爽| 天堂中文字幕一二区| 国产一区二区三区美女| 成人免费看片网址| 跑男十一季在线观看免费| 午夜视频精品| 日本欧美精品在线| 国产理论片在线观看| 亚洲亚洲免费| 欧美另类在线观看| 青青青国产在线| 国偷自产av一区二区三区| 这里只有精品视频| 毛片a片免费观看| 亚洲精品一区二区在线播放∴| 精品国产伦理网| 香蕉成人在线视频| 成人免费在线观看视频| 精品国产一区二区三区不卡| 亚洲区免费视频| 亚洲成人偷拍自拍| 免费在线看a| 一区二区久久久久| 三级在线免费看| 国产小视频免费在线网址| 精彩视频一区二区三区| 成人欧美一区二区三区黑人免费| 亚洲欧洲成人在线| 性欧美videos另类喷潮| 91精品国产一区二区三区动漫| 新婚的少妇hd中文字幕| 日韩中文字幕麻豆| 欧美精品成人一区二区在线观看| 狠狠插狠狠操| 久久久91精品国产一区二区精品| 青青青在线观看视频| 午夜免费性福利| 一区二区三区日韩精品| jizz18女人| 91三级在线| 欧美成人三级在线| 麻豆疯狂做受xxxx高潮视频| 久久夜色电影| 2020久久国产精品| 日本综合一区二区三区| 麻豆成人久久精品二区三区红 | 国产精品免费精品一区| 欧美日韩第一| 国产精品久久色| 欧美黑人xxxxx性受| 国产精品亚洲成人| 欧美午夜小视频| 色网站免费在线观看| 欧美人伦禁忌dvd放荡欲情| 久久久久久国产免费a片| 精品一区二区三区中文字幕视频| 久久精品国产久精国产思思| 一卡二卡三卡在线| 美女爽到呻吟久久久久| 日韩免费av电影| 写真福利理论片在线播放| 都市激情亚洲色图| 中文天堂资源在线| 九色丨蝌蚪丨成人| 国产精品爽黄69| 五十路亲子中出在线观看| 久久久精品天堂| 日本在线播放一区二区| 综合日韩av| 久久精品在线视频| 色偷偷在线观看| 成人做爰69片免费看网站| 黑鬼大战白妞高潮喷白浆| av中文字幕在线观看第一页| 在线看福利67194| 精品人妻无码一区二区| 六月婷婷色综合| 精品国产一区三区| 999精品网| 日韩综合视频在线观看| 亚洲在线视频免费| 北条麻妃国产九九精品视频| 一区二区xxx| 玖玖精品在线| 国产999视频| h视频免费在线| 在线欧美日韩国产| 日本午夜视频在线观看| 国产乱码精品| 欧美日韩黄色一级片| 国产白浆在线免费观看| 欧美日本精品在线| 国产精品久久久亚洲第一牛牛| 综合精品久久| 亚欧精品在线|