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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1826|回復: 6
收起左側

單片機共陰雙8實現0-99秒表 編譯ok,但是無法點亮

[復制鏈接]
ID:932984 發表于 2021-9-14 20:37 | 顯示全部樓層 |閱讀模式
#include<reg52.h>        
unsigned char code ledchar[10]={                  
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x0f,0x6f};                     
unsigned char ledbuff[2]={0xff,0xff};
unsigned char i=0;     
unsigned int cnt=0;   
unsigned char flag1s=0;                        
void main()
{
unsigned int sec = 0;  
EA=1;
TMOD=0x01;            
TH0=0xfC;              
TL0=0x67;
ET0=1;
TR0=1;
while(1)
{
  if(flag1s==1)      
  {
   flag1s=0;
   sec++;
        ledbuff[0]=ledchar[sec%10];
        ledbuff[1]=ledchar[sec/10%10];
   }
}
}
void yb() interrupt 1
{
TH0=0xfC;              
TL0=0x67;
cnt++;
if(cnt>=1000)
{
  cnt=0;
  flag1s=1;
}
P0=0x00;
switch(i)
{
  case 0:P1=0xfe;i++;P0=ledbuff[0];break;
  case 1:P1=0xfd;i=0;P0=ledbuff[1];break;
  default:break;
}
}

此程序運行OK,但是無法點亮,請高手指點那里有問題,謝謝啦!


回復

使用道具 舉報

ID:161164 發表于 2021-9-14 22:03 來自手機 | 顯示全部樓層
既然無法點亮,又如何得知程序運行OK?
回復

使用道具 舉報

ID:624769 發表于 2021-9-14 22:04 | 顯示全部樓層
看你的代碼
TH0=0xfC;              
TL0=0x67;
以及
TMOD=0x01;         
你用的應該是 11.0592晶振 + 89C51的單片機
那么, P0 口 是沒有高電平輸出的,你必須要給P0口加上上拉電阻才能點亮數碼管。
回復

使用道具 舉報

ID:213173 發表于 2021-9-14 22:30 | 顯示全部樓層
P0要接上拉電阻。段碼數組有誤。
  1. #include<reg52.h>        
  2. unsigned char code ledchar[10]={                  
  3. 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};                     
  4. unsigned char ledbuff[2]={0x3f,0x3f};
  5. unsigned char i=0;     
  6. unsigned int cnt=0;   
  7. unsigned char flag1s=0;                        
  8. void main()
  9. {
  10.         unsigned int sec = 0;  
  11.         EA=1;
  12.         TMOD=0x01;            
  13.         TH0=0xfC;              
  14.         TL0=0x67;
  15.         ET0=1;
  16.         TR0=1;
  17.         while(1)
  18.         {
  19.                 if(flag1s==1)      
  20.                 {
  21.                         flag1s=0;
  22.                         sec=++sec%60;
  23.                         ledbuff[0]=ledchar[sec%10];
  24.                         ledbuff[1]=ledchar[sec/10%10];
  25.                 }
  26.         }
  27. }
  28. void yb() interrupt 1
  29. {
  30.         TH0=0xfC;              
  31.         TL0=0x67;
  32.         cnt++;
  33.         if(cnt>=1000)
  34.         {
  35.           cnt=0;
  36.           flag1s=1;
  37.         }
  38.         P0=0x00;
  39.         switch(i)
  40.         {
  41.                 case 0:P1=0xfe;i++;P0=ledbuff[0];break;
  42.                 case 1:P1=0xfd;i=0;P0=ledbuff[1];break;
  43.                 default:break;
  44.         }
  45. }
復制代碼
回復

使用道具 舉報

ID:57657 發表于 2021-9-14 23:02 | 顯示全部樓層
188610329 發表于 2021-9-14 22:04
看你的代碼
TH0=0xfC;              
TL0=0x67;

上拉電阻是STC89等老型號才需要,現在的STC8都是寄存器控制的。
回復

使用道具 舉報

ID:584814 發表于 2021-9-15 08:26 | 顯示全部樓層
編譯ok只表示程序結構和命令格式等全部符合編程規范,屬于political correctness。
至于是否能點亮或達到設計要求,要看程序內容及硬件接連等,屬于措施得當。
最后說一下程序運行OK,低一層意思是程序能運行無阻礙就OK,高一層次是按照設計目標出結果OK。
目前看來你的程序只在低層次OK(編譯ok)而已,高一層次包括程序和硬件(僅軟件呵呵)都OK才可以。
回復

使用道具 舉報

ID:624769 發表于 2021-9-15 21:50 | 顯示全部樓層
npn 發表于 2021-9-14 23:02
上拉電阻是STC89等老型號才需要,現在的STC8都是寄存器控制的。

他頭文件 是:Reg52.h  
TMOD = 0x01;

你說,除了說明他用的是 STC89C52, STC90C52 這類,還能是什么?

STC8 的話,更不談了,他連 PxMx 的設置都沒,想點亮LED?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩国产三级 | 天天躁日日躁狠狠躁2018小说 | 欧美日韩精品一区二区天天拍 | 国产乱人伦精品一区二区 | 欧美一区二区免费 | 在线中文视频 | 亚洲欧美在线免费观看 | 久久亚洲一区二区 | 国产在线一区观看 | 成人在线播放网站 | 自拍第一页 | 免费国产黄 | 久草新在线 | 男女性毛片 | 国产精品不卡 | 亚洲高清免费 | 九九导航 | 九九热免费视频在线观看 | 免费观看a级毛片在线播放 黄网站免费入口 | 欧美久久久 | 中文字幕在线一区二区三区 | 亚洲精品一区中文字幕乱码 | 国产电影一区二区在线观看 | 在线观看中文字幕 | 国产高清免费视频 | 日韩电影免费在线观看中文字幕 | 99re热精品视频国产免费 | 中文字幕在线观看一区二区 | 国产这里只有精品 | 91久久精品国产免费一区 | 国产精品久久久久久久久久久久 | 四虎影院欧美 | 最近日韩中文字幕 | 伊人色综合久久天天五月婷 | 91久久精品国产91久久性色tv | 91电影在线 | 久久久久99 | 日韩无 | www.久久久.com| 亚洲性视频 | 日韩精品久久久久 |