久久久久久久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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品污www一区二区三区 | 精品日韩一区二区 | 久久综合久久久 | 99精品免费| 91 久久 | 亚洲一区二区三区在线播放 | 亚洲视频在线观看 | 久久久精品视频免费看 | 日韩一区二区三区在线观看 | 国产精品久久久久久久一区二区 | 视频一区中文字幕 | 91视频播放 | 亚洲国产成人精品女人久久久野战 | 蜜臀网| 热99在线| 在线欧美亚洲 | 成人久久网| 91精品国产91久久久久久不卞 | 香蕉视频久久久 | 午夜精品久久久久久久久久久久 | 亚洲一区有码 | 在线黄av| 天天激情综合 | 九九伊人sl水蜜桃色推荐 | 一区二区视频在线 | 欧美男人天堂 | 视频一区二区在线观看 | 日本在线你懂的 | 日韩欧美在线不卡 | 狠狠色狠狠色综合日日92 | 美女黄网 | 国产欧美一区二区三区久久 | 欧美一区二| 国产日韩欧美在线 | 欧美成人精品一区二区男人看 | 国产精品一区久久久 | 在线播放中文 | 免费观看一级特黄欧美大片 | 国产伦精品一区二区三区精品视频 | 久久成人免费视频 | 综合久久久 |