久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1911|回復: 2
打印 上一主題 下一主題
收起左側

求大神指點一下 用74hc595和中斷驅動 一位數碼管; 幫忙給看下 萬分感謝

[復制鏈接]
跳轉到指定樓層
樓主

求大神指點一下   用74hc595和中斷驅動 一位數碼管;  幫忙給看下  萬分感謝
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit CP = P2^0;
sbit DA = P2^1;
sbit LE = P2^2;
uchar sec,a,b;
uchar code seg[] = {
    0xc0, 0xf9, 0xa4, 0xb0, 0x99,
    0x92, 0x82, 0xf8, 0x80, 0x10};
uchar dis_buff[1] = {0};
void write_595(uchar dat)//д??595
{
    uchar i;
    for(i = 0; i < 8; i++) {
      DA = dat & 0x80;
    CP = 0;
       CP = 1;
    dat <<= 1;
    }
}
void update(uchar sec) //
{  
   dis_buff[0] =seg[sec];     // sec ????1????????????????
}
void display()
{
  write_595(dis_buff[0]);  //dis_buff[0] ?е????  ????write_595;
  LE = 0;
  LE = 1;      //?????????????
}

void timer0_isr() interrupt 1   //?ж??????????
{  
TMOD = 0X01;
    TH0 = 0x4c;
EA = 1;
ET0 = 1;
TR0 = 1;
    a++;
if(a%5==0)
{
b = ~b;
update(); //??sec ????dis_buff[0]?У? ???磺sec = 1?  ??浽dis_buff[0]???У?
}      //???
    if(a == 20)
  {
  display(); //dis_buff[0] ?е????  ????write_595;
      a = 0;
   sec++;   
   }
   if(sec==9) sec = 0;  
    }



void timer0_init(void)
{
    TMOD = 0x01;//T0??????1
    TH0 = 0x4c; //50ms@11.0592MHz
    EA = 1;
ET0 = 1;
TR0 = 1;
}

void  main()
{
tiemr0_init();
while(1);
}


單位數碼管驅動.rar

26.12 KB, 下載次數: 5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:213173 發表于 2020-10-26 08:19 | 只看該作者
贅句多,語句順序不當。給你整理后運行正常。你仔細對比一下就能明白問題所在。

  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. sbit CP = P2^0;
  5. sbit DA = P2^1;
  6. sbit LE = P2^2;

  7. uchar sec,a;
  8. uchar code seg[] = {
  9.     0xc0,0xf9,0xa4,0xb0,0x99,
  10.          0x92,0x82,0xf8,0x80,0x90};

  11. void write_595(uchar dat)
  12. {
  13.         uchar i;
  14.         for(i = 0; i < 8; i++)
  15.         {
  16.                 DA = dat&0x80;
  17.                 CP = 0;
  18.                 CP = 1;
  19.                 dat <<= 1;
  20.         }
  21.         LE = 0;
  22.         LE = 1;
  23. }

  24. void timer0_isr() interrupt 1
  25. {  
  26.         TH0=0x4c;
  27.         TL0=0x00;
  28.         a++;
  29.         if(a == 20)
  30.         {
  31.                 a = 0;
  32.                 sec++;   
  33.         }
  34.         if(sec>9) sec = 0;  
  35.         write_595(seg[sec]);
  36. }

  37. void timer0_init(void)
  38. {
  39.         TMOD = 0x01;
  40.         TH0 = 0x4c; //50ms@11.0592MHz
  41.         TL0 = 0x00;
  42.         EA  = 1;
  43.         ET0 = 1;
  44.         TR0 = 1;
  45. }

  46. void  main()
  47. {
  48.         timer0_init();
  49.         while(1);
  50. }
復制代碼



回復

使用道具 舉報

板凳
ID:519743 發表于 2020-10-26 11:24 | 只看該作者
wulin 發表于 2020-10-26 08:19
贅句多,語句順序不當。給你整理后運行正常。你仔細對比一下就能明白問題所在。

好的  謝謝 我先看一下。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人免费 | 91精品国产一区二区三区 | 伊人最新网址 | 亚洲精品久久久蜜桃网站 | 羞羞网站在线免费观看 | 五月激情六月婷婷 | 国产一区二区免费 | 精品国产乱码久久久久久久久 | 亚洲成av人片在线观看无码 | 粉嫩一区二区三区国产精品 | 日韩成人一区 | 国际精品鲁一鲁一区二区小说 | 精品视频在线播放 | 亚洲欧美另类在线观看 | 婷婷福利视频导航 | 久草免费在线视频 | 国产精品一区二区三区在线播放 | 一区二区三区在线免费观看 | 天久久 | 免费视频一区二区 | 午夜精品一区二区三区免费视频 | 免费观看毛片 | 国产成人高清视频 | 一区二区三区免费看 | 国产精品欧美日韩 | 中文字幕日韩一区 | 91久久久久久久久久久 | 中日韩毛片 | 国产视频精品免费 | 日本福利一区 | 99精品视频在线观看免费播放 | 国产在线不卡 | 亚洲欧洲日本国产 | av大片| 久久一本 | 国产真实乱对白精彩久久小说 | 欧美精品一区二区三 | 夜久久| 精品美女| 91精品久久久久久久99 | 一区二区三区四区国产 |