求用一片74hc595加单片机驱动一个4位数码管的动态扫描程序!!! 跪求一位74HC595驱动四位数码管的程序 谢谢

\u8dea\u6c42\u4e00\u4f4d74HC595\u9a71\u52a8\u4e00\u4e2a\u56db\u4f4d\u4e03\u6bb5\u6570\u7801\u7ba1\u7684\u7a0b\u5e8f

sbit dat=P2^0; //595\u6570\u636e
sbit clock=P2^1; //595\u65f6\u949f\u4fe1\u53f7
sbit so=P2^2;//595\u9501\u5b58\u4fe1\u53f7
sbit gate=P1^4; //154\u95e8\u63a7\u4fe1\u53f7

/**\u673a\u5185\u7801\u53d1\u9001\u5b50\u7a0b\u5e8f**/ \u6ce8\u628a\u4e00\u7ec4\u6570\u636e\uff088\u4f4d\uff09\u53d1\u9001\u51fa\u53bb
void send8bit(unsigned int n)
{
for(q=0;q<8;q++)
{
dat=!((_cror_(disbuf[n],q))&0x01);//\u53f3\u79fb(7-q)\u4f4d\uff0c\u4ece\u4f4e\u4f4d\u5230\u9ad8\u4f4d\u53d6\u3002\u5373595\u53d1\u9001\uff0c
clock=0;
clock=1; //\u5bc4\u5b58\u5668\u65f6\u949f\u4e0a\u8df3\u6cbf\uff0c\u5c06\u4e00\u4f4d\u6570\u636e\u5b58\u5165\u79fb\u4f4d\u5bc4\u5b58\u5668\u3002
}
}
//\u53d1\u9001\u51e0\u4f4d \u81ea\u5df1\u9009\u62e9
for(i=1;i<=31;i+=2)
{

send8bit(i+32); //\u7531\u4e8e\u4f7f\u7528\u79fb\u4f4d\u5bc4\u5b5874hc595,\u5148\u53d1\u9001\u4e00\u5217\u7684\u4e0b\u534a\u90e8\u5206
send8bit(i-1+32); //\u540e\u53d1\u9001\u4e00\u5217\u7684\u4e0a\u534a\u90e8\u5206\uff0c\u7b2c2\u4e2a\u5b57

send8bit(i); //\u7531\u4e8e\u4f7f\u7528\u79fb\u4f4d\u5bc4\u5b5874hc595,\u5148\u53d1\u9001\u4e00\u5217\u7684\u4e0b\u534a\u90e8\u5206
send8bit(i-1); //\u540e\u53d1\u9001\u4e00\u5217\u7684\u4e0a\u534a\u90e8\u5206\uff0c\u7b2c1\u4e2a\u5b57\u3002


so=0;
so=1; //\u4ea7\u751f\u4e0a\u5347\u6cbf\u9501\u5b58\u4fe1\u53f7
lie(); //\u4e00\u4e2a\u5b57\u7684\u4e0a\u534a\u90e8\u5206\u548c\u4e0b\u534a\u90e8\u5206\u53d1\u9001\u5b8c\u6bd5\u70b9\u71c3\u8be5\u5217\u3002
delay(); //\u8c03\u7528\u5ef6\u65f6\u5b50\u7a0b\u5e8f
P2=P2|0x1f; //\u5173\u5217\u663e\u793a
}

\u5148\u5224\u65ad\u6570\u7801\u7ba1\u662f\u5171\u9633\u8fd8\u662f\u5171\u9634\uff0c\u7528\u5355\u7247\u673a\u56db\u4e2aIO\u53bb\u9a71\u52a8\u4f4d\u9009\u3002
\u518d\u7528\u4e09\u6761(\u6216\u56db\u6761\u5305\u62ec\u8f93\u51fa\u4f7f\u80fd\u8f93\u51fa\u63a7\u5236)\u53bb\u9a71\u52a8595

下面是595的程序,给你参考一下,根据这个程序来写数码管显示就很简单了。
#define u8 unsigned char   
#define u16 unsigned int   
sbit MR=P1^6; //寄存器清0,避免数据错位   
sbit RCK=P1^5; //并行输出时钟   
sbit DS=P1^4; //数据线   
sbit CLK=P1^3; //移位输入时钟   
void writ_595(u8 dat)   
{
  u8 i;   
MR=0; //寄存器清0,避免数据错位   
MR=1;   
for(i=0;i<8;i++)   
{   
CLK=0;   
if((dat&0x80) == 0x80)   
DS = 1; //串行数据输出   
else   DS = 0;   
CLK=1; //移位输入时钟,上升沿输入   
dat<<=1;   
}   
RCK=0; //并行输出时钟   
RCK=1;    
}   该子函数可以直接调用,比如writ_595(0xfe);Q0-Q7脚则输出对应的二进制码

你好!都要显示什么数字呢

好搞啊,可以仿真出来的

  • 姹傜敤涓鐗74hc595鍔犲崟鐗囨満椹卞姩涓涓4浣嶆暟鐮佺鐨勫姩鎬佹壂鎻忕▼搴!!!_鐧惧害...
    绛旓細CLK=1; //绉讳綅杈撳叆鏃堕挓锛屼笂鍗囨部杈撳叆 dat<<=1;} RCK=0; //骞惰杈撳嚭鏃堕挓 RCK=1;} 璇ュ瓙鍑芥暟鍙互鐩存帴璋冪敤锛屾瘮濡倃rit_595锛0xfe锛夛紱Q0-Q7鑴氬垯杈撳嚭瀵瑰簲鐨勪簩杩涘埗鐮
  • 74hc595涓鍗曠墖鏈
    绛旓細閮藉彲浠ョ殑锛屽彲浠ョ敤杞欢妯℃嫙鏃跺簭銆傚氨鍍24C01涓鏍凤紝鎺ュ湪鍗曟満鏅欼O鍙d笂涔熻兘瀹炵幇鏁版嵁鐨勪繚瀛橈紝涓嶈姹鍗曠墖鏈蹇呴』鏈塈IC鎺ュ彛
  • 07_IO鎵╁睍(涓茶浆骞)-74HC595_51鍗曠墖鏈鍏ラ棬
    绛旓細鍦ㄥ涔51鍗曠墖鏈鐨勮繃绋嬩腑锛岄亣鍒癐O鎵╁睍鐨勮棰橈紝74HC595鑺墖鏃犵枒鏄竴涓噸瑕佺殑鐜妭銆備綔涓轰竴娆8浣嶄覆琛岃緭鍏ャ佸苟琛岃緭鍑虹殑浣嶇Щ缂撳瓨鍣紝74HC595鍦↙ED鐐归樀鎺у埗涓彂鎸ョ潃鑷冲叧閲嶈鐨勪綔鐢ㄣ傝鎴戜滑涓璧锋繁鍏ョ悊瑙h繖涓姱鐗囷紝鐪嬬湅瀹冩槸濡備綍杩炴帴鍜屾搷浣滅殑銆74HC595鑺墖璇﹁В74HC595锛岃繖涓皬宸х殑鑺墖锛屾嫢鏈15涓鑴氾紝鍖呮嫭QA鍒癚H鐨勫苟琛屾暟...
  • 51鍗曠墖鏈哄姞74hc595椹卞姩澶氫釜鏁扮爜绠¢潤鎬佹樉绀虹殑绋嬪簭璁捐
    绛旓細1銆侀鍏堟暟鐮佺鍒嗕负1浣嶏紝4浣嶏紝8浣嶏紝4浣嶅拰8浣嶇殑鍙堝垎涓哄叡闃村拰鍏遍槼鏁扮爜绠°2銆佸叡闃虫暟鐮佺锛屽嵆闃虫瀬鍏ㄩ儴杩炴帴鍦ㄤ竴璧凤紝鍗曠墖鏈鎺ュ彛缁欎綆鐢典綅鍗冲彲鐐逛寒瀵瑰簲鐨勬浣嶃3銆佸彲鍒╃敤MCS-51绯诲垪鍗曠墖鏈虹殑鑺墖AT89C52鐨凱3.4,P3.5,P3.6,P3.7杩涜璁℃椂骞跺湪鏁扮爜绠′笂鏄剧ず鏃堕棿锛屼綔涓烘寜閿殑鍏ュ彛銆4銆佸叡闃存暟鐮佺锛屽嵆闃存瀬鍏...
  • 姹備竴涓74HC595椹卞姩鍥涗綅鍏鏁扮爜绠$殑鍗曠墖鏈绋嬪簭,瑕佹眰鏈変袱涓弬鏁扮殑鏄剧ず...
    绛旓細int code shu[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};int t,temp,bai,shi,ge;void display(int,int,int);void delay(int);void init();void main(){ init();while(1){if(t==20){t=0;temp++;if(temp==100)temp=0;bai=temp/100;shi=temp%100/10;ge...
  • 鎬庝箞鐢鍗曠墖鏈鎺у埗74hc595,鍋氭垚娴佹按鐏?
    绛旓細/*灏嗘樉绀烘暟鎹佸叆74HC595鍐呴儴绉讳綅瀵勫瓨鍣 */ /***/ void Write(void){ uchar j ;for (j=0 ;j< ;8 ;j++){ temp << = 1 ;DAT=CY ;CLK=1 ; //涓婂崌娌垮彂鐢熺Щ浣 _nop_() ;_nop_() ;CLK=0 ;} } /***/ /***
  • 鍗曠墖鏈鎺у埗74hc595 涓茶仈闂,璺繃鐨勬湅鍙嬭繘鏉ュ潗浼氬惂
    绛旓細绗竴涓595鐨勬暟鎹緭鍏ョ14鑴氭帴鍗曠墖鏈锛9鑴氭帴涓嬩竴涓595鐨14鑴 涓句緥锛氬鏋滀綘鏈1涓595鑺墖鎸変笂杩扮數璺帴鍦ㄤ竴璧枫傛椂搴忓涓嬶細鍙戦佹暟鎹殑鏈楂樹綅鍑虹幇鍦595鐨14鑴氫笂锛11鑴氭潵涓笂鍗囨部鑴夊啿锛屽悓涓婇8娆¤剦鍐诧紝鎶婅鍙戦佺殑鏁版嵁鍙戦佸嚭鍘汇傝寰楃涓涓剦鍐叉槸鏁版嵁鐨勬渶楂樹綅锛岀浜屾鑴夊啿鏄暟鎹殑绗7浣嶏紝渚濇绫绘帹銆傚...
  • 鏈汉鏈変竴鍧鍗曠墖鏈寮鍙戞澘,鐜板湪鎯鐢74hc595鍋氬垪椹,2803鍋氳椹,绋嬪簭涓婂簲璇...
    绛旓細涓鏉℃槸杈撳嚭浣胯兘绾匡紝鍏蜂綋鍝潯浣犳煡鎵嬪唽锛屽ぇ灞忔槸涓琛屼竴琛屾壂鐨勶紝鎵浠ヤ綘闇瑕佺敤N鐗595涓茶捣鏉ョ敤锛屼綔涓哄垪椹憋紝鍏蜂綋濡備笅 鍗曠墖鏈涓茶閫佸嚭鏁磋鏁版嵁->595閿佸瓨->杈撳嚭浣胯兘->2803鏈浣胯兘->鍗曠墖鏈洪佷笅琛屾暟鎹->595閿佸瓨-> 2803鍏ㄩ儴澶辨晥锛堣繖鐐瑰緢閲嶈锛->595杈撳嚭浣胯兘-.>2803涓嬭浣胯兘锛屼緷娆″惊鐜傚笇鏈涘浣犳湁鐢ㄣ
  • 74HC595鍋氱殑8*8鍙岃壊鐐归樀鐢ㄥ崟鐗囨満鎬庝箞缂栫▼?
    绛旓細缂栧啓锛氶倱妞胯柂 鏃堕棿锛2006骞1鏈20鏃 鏅 閭锛歭[email protected] //595杩炵骇杈撳嚭鏁版嵁锛138琛岄┍鍔ㄣ侾0_1涓虹Щ鍔ㄩ熷害楂橀/*鐐归樀鏄剧ず姹夊瓧绋嬩覆鍙h緭鍑哄瓧绗︽暟鎹紝//P2鍙h緭鍑鸿鎵弿淇″彿,P2_7杈撳嚭595閿佸瓨淇″彿銆*/ define uchar unsigned char define uint unsigned int include <REG51.H> include <CODE...
  • 鍗曠墖鏈 鎯鐢74HC595鎺у埗8浣峫ed鐏 鏈夋暟鎹緭鍏ュ埌595涓 鍙槸8浣峫ed鐏竴鐩...
    绛旓細鍙傝冭繖涓 include<reg52.h> define uint unsigned int define uchar unsigned char sbit sh_cp=P2^0;sbit ds=P2^1;sbit st_cp=P2^2;void delay(){ uint a=20000;//鎱㈢偣鍙互鐪嬫竻宸ヤ綔杩囩▼ while(a--);} void main(){ uchar b,datah,datal;datah=0xc0;datal=0xf0;for(b=0;b<8;b++...
  • 扩展阅读:色谱柱ymc ... 74hc595手册 ... 国产液相色谱 ... 色谱 ... 色谱柱入口 ... 多个74hc595使用 ... 74hc595全部高电位 ... 74hc595芯片资料 ... 74hc595是如何控制点阵的 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网