亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vfd.c

?? 一個車載音響控制程序,包括高保真立體收部分,VFD驅動顯示,4路音頻電子切換, 紅外遙控控制 采用51單片機
?? C
字號:
/*
 好利來音響部設計
 未經同意不得散布于網絡
 2005年2月15日
*/
/*
本項目專門為宣傳本站的51 PIC AVR 多功能學習開發板而奉獻,僅供參考,請勿做商業用途,歡迎轉載但要保留本站信息
                                  志博電子專注于8位單片機開發板設計和教學  
                                      讓人耳目一心的經濟又豪華型開發板
                                                性價比最高 
                                                 僅售378! 
歡迎訪問我們的網站 www.elecmcu.com                                              
*/
#define uchar unsigned char
#define uint  unsigned int
#define ulong unsigned long
#define cm1 co1.co1
#define cm2 co2.co2
#define cm3 co3.co3
#define cm4 co4.co4
#include <reg52.h>
#include "mylib.h"
#define cmdd 0
#define datt 1
//#define vfd_32
#define vfd_63
#define vfd_dvd 1
#define vfd_radio 0
sbit dat=P1^7;
sbit clk=P1^6;
sbit stb=P1^5;
sbit power_led=P1^0;
sbit fun_vfd=P1^4;
extern uchar remkey;
extern uchar ab;
extern void wrvfd(uchar addr,uchar dat);
#ifdef vfd_32
uchar code dis[10]={0xf7,0xa4,0xeb,0xed,0xbc,0xdd,0xdf,0xe4,0xff,0xfd};
#endif
#ifdef vfd_63
uchar code dis[10]={0xee,0x48,0xd6,0xda,0x78,0xba,0xbe,0xc8,0xfe,0xfa};
#endif
union
{
  uchar dat;
  struct
 {
   uchar dms: 3; //選擇顯示屏硬件的柵和段的位數
   uchar dnc: 3; //數據空位
   uchar ad1: 2; //此命令的地址值固定為0X00
 }co1;
}co1;
union
{
  uchar dat;
  struct
 {
  uchar fru: 2; //功能選擇:00:WRITE DATA TO DISRAM 01:WRITE DATA TO LED 02:READ DATA FROM KEY 03:READ DATA FROM SW
  uchar mad: 1; //0遞增 1指定地址
  uchar mst: 1; //0正常 1測試模式
  uchar dnc: 2; //數據空位
  uchar ad2: 2; //此命令的地址值固定為0X01
 }co2;
}co2;
union
{
  uchar dat;
  struct
 {
  uchar add: 5; //16312內部DISRAM地址選擇
  uchar dnc: 1; //數據空位
  uchar ad3: 2; //此命令的地址值固定為0X03
 }co3;
}co3;
union
{
  uchar dat;
  struct
 {
   uchar pwm: 3; //輸出點亮時間選擇(可以調節亮度)
   uchar dis: 1; //0顯示關閉
   uchar dnc: 2; //數據空位
   uchar ad4: 2; //此命令的地址值固定為0X02
 }co4;
}co4;

void wrd(uchar disno,bit lei)  //寫一個字節的命令或者數據(由LEI控制是寫數據還是寫命令)
{
  uchar a;
  if(lei)
  goto s;
  stb=1;
  stb=1;
  stb=0;
 s:  for(a=0;a<8;a++)
    {
     clk=1;
     clk=1;
	 clk=0;
     clk=0;
      if(disno&0x01)
        dat=1;
      else
        dat=0;
        disno=disno>>1;
        clk=1;
        clk=1;
		clk=1;
        clk=1;
     }
}
void inivfd(void)
 {
  cm1.dms=0x02;//設置為6區 16段
  cm1.ad1=0x00;
  cm2.mad=0x01;//地址模式為指定地址
  cm2.mst=0x00;//取消測試
  cm2.ad2=0x01;
  cm3.ad3=0x03;
  cm4.pwm=0x07;//亮度為最亮
  cm4.dis=0x01;//打開顯示
  cm4.ad4=0x02;
 }
 /////////////////////////////************以下為主程序*************************//////////////////////
void wrvfd(uchar addr,uchar dat) //向VFD指定地址寫數據
  {
  inivfd();
  wrd(co1.dat,cmdd);
  stb=1;
  cm2.fru=0x00;
  wrd(co2.dat,cmdd);
  stb=1;
  cm3.add=addr;
  wrd(co3.dat,cmdd);
  wrd(dat,datt);
  stb=1;
  wrd(co4.dat,cmdd);
  stb=1;
  }
/*void wrled(uchar leddata) //控制16312的四個輸出口數據存放在LEDDATA的低四位
{
  inivfd();
  cm2.fru=0x01;
  wrd(co2.dat,cmdd);
  wrd(leddata,datt);
  stb=1;
}

ulong rdkey()			//讀鍵盤
{ulong key=0;
  uchar i;
  inivfd();
  cm2.fru=0x02;
  wrd(co2.dat,cmdd);
  for(i=0;i<24;i++)
  {
   clk=1;
   clk=1;
   clk=0;
   clk=0;
   clk=0;
   clk=1;
   dat=1;
   if(dat==1)
   key=(key<<1)+1;
   else
   key=(key<<1);
  }
  switch(key)
  {
  case 0x00800000:remkey=0xc7;break;
  case 0x00400000:remkey=0x47;break;
  }
  return(key);
}
*/
/*#ifdef vfd_32
vfddigit(ulong ch)
{
    static uchar rot0=0x01;
    static uchar rot1=0x01;
	static uint  cou=0x00;
	uchar h[6];
	h[5]=(ab/10);
	h[4]=(ab%10);
	h[3]=((ch%10000)/1000);
	h[2]=((ch%1000)/100);
	h[1]=((ch%100)/10);
	h[0]=(ch%10);			//將16進制轉換成10進制顯示
	wrvfd(0x00,dis[h[0]]&((dis[h[1]]&0x01)?0xff:0x7f));
	wrvfd(0x01,dis[h[1]]>>1);
    wrvfd(0x02,dis[h[2]]&((dis[h[3]]&0x01)?0xff:0x7f));
	if(h[3])
	wrvfd(0x03,dis[h[3]]);
	else
	wrvfd(0x03,0x00);	   //根據供應商提供的VFD資料來寫正確顯示的算法,否則顯示錯亂!
    wrvfd(0x04,dis[h[4]]&((dis[h[5]]&0x01)?0xff:0x7f));
    wrvfd(0x05,dis[h[5]]);
    wrvfd(0x08,rot0<<1);
	wrvfd(0x09,rot1<<1);
	if(cou<8)
	{
     rot0=(rot0<<1);
	 cou++;
	}
	else
	{
     rot1=(rot1<<1);
	 cou++;
	 if(rot1==0x00)
	 {
	  cou=0x00;
	  rot0=0x01;
	  rot1=0x01;
	  }
	}
}
#endif
*/
#ifdef vfd_63
vfddigit(uint ch)
{
    static uint rot1=0x0800;
  	uchar h[6];
	h[5]=(ab/10);
	h[4]=(ab%10);
	h[3]=((ch%10000)/1000);
	h[2]=((ch%1000)/100);
	h[1]=((ch%100)/10);
	h[0]=(ch%10);			//將16進制轉換成10進制顯示
	wrvfd(0x00,(dis[h[1]]>>1)|0x80);
	wrvfd(0x01,dis[h[0]]);
	wrvfd(0x03,dis[h[2]]);
	if(h[3])
	wrvfd(0x02,dis[h[3]]>>1);
	else
	wrvfd(0x02,0x00);	   //根據供應商提供的VFD資料來寫正確顯示的算法,否則顯示錯亂!
    wrvfd(0x06,dis[h[5]]>>1);
    wrvfd(0x07,dis[h[4]]);
    if(band==fm)
	 wrvfd(0x05,0xb4);
	else
	 wrvfd(0x05,0xfc);
   if(rot1)
	{
     wrvfd(10,~(rot1&0x00ff));
	 wrvfd(11,~(((rot1>>8)&0xff)|0xf0));
	 rot1=rot1>>1;
	 if(rot1==0x00)
	 rot1=0x0800;
	}

}
void vfd_volume(uchar fun)
{
  uchar one=0x00;
  uchar ten=0x00;
  uchar c=0;
  fun_vfd=vfd_radio;    //VFD控制給收音
  if(fun==vol_vfd)
 {
  one=volume%10;
  ten=volume/10;
 }
 else if(fun==trb_vfd)//高音顯示
 {
  if(trb_vol<7)
   {
    one=(14-(trb_vol+trb_vol))%10;
	ten=(14-(trb_vol+trb_vol))/10;
   }
  else if(trb_vol>7)
   {
     one=((trb_vol-7)*2)%10;
	 ten=((trb_vol-7)*2)/10;
   }
 }
  else if(fun==bas_vfd)//低音顯示
 {
  if(bas_vol<7)
   {
    one=(14-(bas_vol+bas_vol))%10;
	ten=(14-(bas_vol+bas_vol))/10;
   }
  else if(bas_vol>7)
   {
     one=((bas_vol-7)*2)%10;
	 ten=((bas_vol-7)*2)/10;
   }
 }
  for(c=2;c<9;c++)//清無關位置
  {
   if(fun==vol_vfd)
    if((c==2)||(c==4)||(c==5))
    goto hh;
    wrvfd(c,0x00);
   hh:
     ;
  }
  wrvfd(0x00,0x00);
  if(fun==vol_vfd)
  {
    wrvfd(0x02,0x13);
	wrvfd(0x05,0x1f);
	wrvfd(0x04,0x24);
  }
  if(fun==trb_vfd)
  {
  wrvfd(0x06,0xc0);
  wrvfd(0x07,0x01);//顯示字符“T”
  }
   if(fun==bas_vfd)
  {
   wrvfd(0x06,0x1f);//顯示字符“B”
  }
  if((fun==bas_vfd))
  {
    if((bas_vol<7))
      wrvfd(0x00,0x08);//顯示負號
  }
   if((fun==trb_vfd))
  {
    if((trb_vol<7))
      wrvfd(0x00,0x08);//顯示負號
  }
  wrvfd(0x09,dis[one]);
  wrvfd(0x01,dis[ten]);
  TH1=0X00;
  TL1=0X00;
  TR1=1;
  delay_num=20;
}
void eq_vfd(uchar eq)                //在VFD上顯示均衡數據
{
  if(band==dvd)
  fun_vfd=vfd_radio;
  vfd_clean();
  wrvfd(0x07,0xf8);
  wrvfd(0x06,0x5b);
  wrvfd(0x04,0x08);
  wrvfd(0x05,dis[eq+1]);
  delay_num=20;
  TR1=1;
}
void taiwei()                       //顯示目前的臺號
{   uchar b[6];
 	b[5]=(ab/10);
	b[4]=(ab%10);
    wrvfd(0x06,dis[b[5]]>>1);
    wrvfd(0x07,dis[b[4]]);
}

#endif
void vfd_clean()                   //清全屏
{
   uchar a;
   for(a=0;a<16;a++)
    wrvfd(a,0x00);
}


void vfd_test()                    //在測試VFD點位時候使用。
{
 static uchar add;
 static uint date;
 while(remkey)
 {
 if(remkey==0x9f)
 {add=0;date=0x01;vfd_clean();}
 if(remkey==0x1f)
 {add=2;date=0x01;vfd_clean();}
 if(remkey==0x6f)
 {add=4;date=0x01;vfd_clean();}
 if(remkey==0xaf)
 {add=6;date=0x01;vfd_clean();}
 if(remkey==0x2f)
 {add=8;date=0x01;vfd_clean();}
 if(remkey==0xfd)
 {add=0x0a;date=0x01;vfd_clean();}
 if(remkey==0x7d)
{ add=12;date=0x01;vfd_clean();}
 if(remkey==0x75)
 {
 date=(date<<1);
 if(date==0)
 date=0x01;
 }
 if(remkey==0x35)
 {
 date=(date>>1);
 if(date==0)
 date=0x01;
 }
 if(remkey)
 {
       // fun_power=power_radio;//電源為收音
      fun_vfd=vfd_radio;    //VFD控制給收音

 wrvfd(add,(date&0x00ff));
 wrvfd(add+1,(date>>8));
 remkey=0x00;
 }
 }

}











?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一色屋精品亚洲香蕉网站| 日韩欧美综合一区| 粉嫩高潮美女一区二区三区| 日产国产欧美视频一区精品| 亚洲妇熟xx妇色黄| 亚洲一区二区在线播放相泽| 午夜精彩视频在线观看不卡| 亚洲v中文字幕| 美国十次综合导航| 久久99国内精品| 国产成人亚洲综合色影视| 成人国产视频在线观看| 一本大道综合伊人精品热热| 欧美日韩国产bt| 精品粉嫩aⅴ一区二区三区四区| 亚洲精品在线观看视频| 综合久久综合久久| 午夜精品国产更新| 国产精品一级黄| 色综合天天综合给合国产| 欧美日韩不卡在线| 久久亚洲二区三区| 一区二区三区中文字幕电影 | 久久久99免费| 中文字幕一区二区视频| 亚洲国产精品一区二区尤物区| 人人爽香蕉精品| 91在线观看地址| 日韩欧美在线观看一区二区三区| 久久久美女毛片| 亚洲成人一区二区在线观看| 国产精品影视在线| 欧美色综合影院| 国产亚洲人成网站| 日本强好片久久久久久aaa| 国产a久久麻豆| 欧美一区二区三区四区在线观看| 国产亚洲va综合人人澡精品| 午夜精品福利在线| 99re6这里只有精品视频在线观看| 欧美在线观看禁18| 国产欧美一区二区精品婷婷| 亚洲一区二区三区中文字幕在线| 国内精品国产三级国产a久久| 色婷婷综合久久| 国产精品丝袜一区| 久久se精品一区二区| 欧美中文字幕一区二区三区亚洲| 久久久精品中文字幕麻豆发布| 无吗不卡中文字幕| 91麻豆福利精品推荐| 久久免费视频色| 久久av中文字幕片| 欧美一区在线视频| 亚洲桃色在线一区| 国产成人亚洲综合色影视| 日韩精品在线看片z| 亚洲在线视频一区| 色婷婷av一区二区三区之一色屋| 中文字幕不卡在线播放| 韩国中文字幕2020精品| 日韩三级精品电影久久久| 日韩国产欧美一区二区三区| 欧美三级视频在线观看| 亚洲已满18点击进入久久| 91麻豆123| 综合自拍亚洲综合图不卡区| 成人激情文学综合网| 国产日韩欧美激情| 成人深夜在线观看| 国产欧美一区二区精品忘忧草 | 成人永久看片免费视频天堂| 精品福利在线导航| 国产精品夜夜嗨| 国产亚洲欧洲997久久综合| 国产乱子伦一区二区三区国色天香| 91精品国产一区二区三区香蕉| 天堂成人免费av电影一区| 欧美精品第一页| 日本成人在线一区| 欧美成人精品高清在线播放| 国产综合成人久久大片91| 精品国产青草久久久久福利| 国产老肥熟一区二区三区| 亚洲国产精品黑人久久久| 成人av电影免费在线播放| 自拍偷拍亚洲欧美日韩| 在线视频一区二区免费| 日韩精品三区四区| 久久尤物电影视频在线观看| 成人三级在线视频| 亚洲韩国一区二区三区| 欧美一级片在线看| 国产一区二区三区免费在线观看| 国产精品免费网站在线观看| 91亚洲男人天堂| 琪琪一区二区三区| 国产亚洲人成网站| 欧美日韩一二区| 国产乱码精品一区二区三区忘忧草| 国产精品久久久久婷婷 | 亚洲国产一二三| 欧美va亚洲va香蕉在线| www.欧美亚洲| 午夜视黄欧洲亚洲| 国产精品久久毛片| 欧美一区二区高清| 91丨九色丨蝌蚪丨老版| 日韩精品一级二级 | 欧美三级日韩三级| 国产一区二区0| 亚洲在线中文字幕| 久久精品水蜜桃av综合天堂| 91久久精品一区二区二区| 国产综合色在线| 午夜影院在线观看欧美| 国产精品久久久久久久久免费桃花 | 亚洲亚洲精品在线观看| 久久精子c满五个校花| 欧美精品久久一区二区三区| 国产69精品久久久久毛片| 全部av―极品视觉盛宴亚洲| 国产精品第13页| 久久精品一区二区三区不卡| 69堂国产成人免费视频| 91丨九色porny丨蝌蚪| 激情图片小说一区| 香蕉影视欧美成人| 亚洲人吸女人奶水| 国产午夜精品福利| 久久免费的精品国产v∧| 欧美猛男gaygay网站| 在线观看不卡视频| 91美女在线观看| 91丝袜美腿高跟国产极品老师 | 91黄色免费观看| www.欧美日韩国产在线| 国产九色精品成人porny| 裸体一区二区三区| 日韩国产欧美视频| 五月天亚洲婷婷| 天天综合色天天综合| 亚洲一区二区三区影院| 亚洲精品国产a| 艳妇臀荡乳欲伦亚洲一区| 国产精品白丝在线| 国产精品的网站| 国产精品久久久久aaaa樱花 | 日韩午夜在线播放| 欧美精品久久一区| 91精品国产aⅴ一区二区| 欧美男同性恋视频网站| 3d动漫精品啪啪一区二区竹菊| 欧美性猛片xxxx免费看久爱| 欧美色倩网站大全免费| 欧美日韩一区不卡| 7777精品伊人久久久大香线蕉 | 日韩—二三区免费观看av| 午夜影院久久久| 美美哒免费高清在线观看视频一区二区 | 在线视频观看一区| 欧美中文字幕一区| 欧美日韩午夜在线| 日韩欧美一区二区免费| 亚洲精品一区二区三区四区高清| 日韩一级精品视频在线观看| 久久综合一区二区| 国产精品国产三级国产a| 亚洲精品成人悠悠色影视| 视频一区二区欧美| 韩国女主播成人在线| 99视频国产精品| 在线观看一区日韩| 精品欧美一区二区久久| 欧美国产精品一区| 亚洲午夜在线视频| 久久99最新地址| 97超碰欧美中文字幕| 91精品国产91综合久久蜜臀| 久久精品视频在线免费观看| 一区二区三区高清在线| 蜜臂av日日欢夜夜爽一区| 成人高清免费在线播放| 欧美顶级少妇做爰| 国产亚洲短视频| 天涯成人国产亚洲精品一区av| 黑人精品欧美一区二区蜜桃| 一本久久综合亚洲鲁鲁五月天| 欧美一区二区在线免费观看| 国产精品女同一区二区三区| 五月天丁香久久| av在线不卡免费看| 精品国产露脸精彩对白| 亚洲一区二区三区四区的| 国产福利一区在线| 欧美日韩视频一区二区| 国产精品视频yy9299一区| 久久不见久久见免费视频1| 91福利国产成人精品照片| 国产午夜精品一区二区 |