欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

C51單片機+單個74HC595動態(tài)掃描4位數(shù)碼管(原理圖+實物制作+源碼)

查看數(shù): 9471 | 評論數(shù): 5 | 收藏 9
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2018-12-8 13:20

正文摘要:

先上原理圖 為了不占貼子長度, 源碼貼在二樓

回復(fù)

ID:630309 發(fā)表于 2020-6-6 07:41
下載學習,謝謝
ID:621733 發(fā)表于 2019-10-10 14:48
下載學習學習,謝謝
ID:21568 發(fā)表于 2019-6-13 11:34
仿真后不成功,可能程序有問題請指導(dǎo)。
ID:142652 發(fā)表于 2019-2-15 21:41
謝謝分享的資料
ID:424598 發(fā)表于 2018-12-8 13:21
  1. /***********74HC595動態(tài)掃描4位數(shù)碼管************/
  2. //MCU:AT89S52RC
  3. //晶振:11.0592M.
  4. //采用4位數(shù)碼管
  5. /***************************************************/
  6. #include<reg51.h>
  7. #include <INTRINS.H>
  8. #define uint unsigned int
  9. #define uchar unsigned char
  10. #define nop() _nop_();_nop_();

  11. sbit CLK=P2^0; //74HC595的11引腳
  12. sbit DAT=P2^1; //74HC595的14引腳
  13. sbit RCLK=P2^2;        //74HC595的12引腳
  14. sbit CS1=P2^3; //數(shù)碼管段位COM1(公共端)即數(shù)碼管的12腳
  15. sbit CS2=P2^4; //數(shù)碼管段位COM2(公共端)即數(shù)碼管的9腳
  16. sbit CS3=P2^5; //數(shù)碼管段位COM3(公共端)即數(shù)碼管的8腳
  17. sbit CS4=P2^6; //數(shù)碼管段位COM4(公共端)即數(shù)碼管的6腳

  18. //本程序支持4位共陽和共陰數(shù)碼管(包插四位時鐘)可根據(jù)你的數(shù)碼管是共陰還是共陽,開啟下面匹配的tab[]
  19. //                 0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F   全亮 全滅
  20. //uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00,0xff}; //共陽數(shù)碼管 不顯示0xff 全亮0x00 只顯示點0x7f
  21. uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0xff,0x00}; //共陰數(shù)碼管 不顯示0x00 全亮0xff 只顯示點0x80
  22. uchar t;
  23. uchar count = 0;

  24. /* //延時函數(shù)
  25. void delay(uchar z)
  26. {
  27.         uchar x,y;
  28.         for(x=z;x>0;x--)
  29.                 for(y=120;y>0;y--);
  30. }
  31. */

  32. //寫數(shù)碼管函數(shù)
  33. void write595(unsigned char word,uchar k1)
  34. {
  35.         uchar num,c; //變量
  36.         if(k1==1){ //如果k1的值為1,則點亮時鐘數(shù)碼管的:點(如果是普通的四位數(shù)碼管,則點亮第二位的小數(shù)點)
  37.                 num=tab[word]|0x80; //關(guān)鍵就在|0x80
  38.         } else {
  39.                 num=tab[word];
  40.         }
  41.         //循環(huán)8個LED
  42.         for(c=0;c<8;c++)
  43.         {
  44.            CLK=0;
  45.            DAT=num&0x80;
  46.            num=num<<1;
  47.            CLK=1;
  48.         }
  49.         RCLK=0;
  50.         //nop();
  51.         //nop();
  52.         RCLK=1;
  53. }

  54. void select1(void)
  55. { //第一位數(shù)碼管
  56.         CS1=0;
  57.         CS2=1;
  58.         CS3=1;
  59.         CS4=1;
  60. }

  61. void select2(void)
  62. { //第二位數(shù)碼管
  63.         CS1=1;
  64.         CS2=0;
  65.         CS3=1;
  66.         CS4=1;
  67. }

  68. void select3(void)
  69. { //第三位數(shù)碼管
  70.         CS1=1;
  71.         CS2=1;
  72.         CS3=0;
  73.         CS4=1;
  74. }

  75. void select4(void)
  76. { //第四位數(shù)碼管
  77.         CS1=1;
  78.         CS2=1;
  79.         CS3=1;
  80.         CS4=0;
  81. }

  82. void init() //啟動定時器
  83. {
  84.     TMOD=0X01;
  85.     TH0=(65535-46080)/256;
  86.     TL0=(65535-46080)%256;
  87.     ET0=1;
  88.     EA=1;
  89.     TR0=1;
  90. }

  91. void T0_time() interrupt 1 //定時器
  92. {     
  93.         if (count == 20) {
  94.                 t++;
  95.                 count = 0;
  96.         } else {
  97.                 ++count;
  98.         }
  99. }

  100. int main(void) //主程序
  101. {   
  102. //unsigned char i;
  103.         init(); //啟動定時器
  104.         while(1)
  105.    { //無限循環(huán)
  106.            if(t>9) {t=0;} //當t>9,則初始為0
  107.            write595(t,0); //要寫的值
  108.            select1(); //顯示第一位數(shù)碼管  
  109.            //for(i=0;i<10;i++) _nop_();  
  110.            write595(t+1,1); //要寫的值
  111.            select2(); //顯示第二位數(shù)碼管
  112.            write595(t+2,0); //要寫的值
  113.            select3(); //顯示第三位數(shù)碼管
  114.            write595(t+3,0); //要寫的值
  115.            select4(); //顯示第四位數(shù)碼管
  116.    }
  117. }
復(fù)制代碼


小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表