网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月25日漏签0天
单片机吧 关注:212,101贴子:1,047,706
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1 2 下一页 尾页
  • 38回复贴,共2页
  • ,跳到 页  
<<返回单片机吧
>0< 加载中...

劳烦各位大神看一下程序错在哪里?自己研究好久没弄出来。。。。

  • 只看楼主
  • 收藏

  • 回复
  • 厕所小虫
  • 少将
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include<reg52.h>
sbit SEG1=P3^7;
sbit SEG2=P2^0;
sbit SEG3=P2^1;
sbit SEG4=P2^2;
unsigned char i=0;
unsigned int cnt=0;
unsigned long sec=0;
unsigned char code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
unsigned char cache[4]={
0x3f,0x3f,0x3f,0x3f};
void main()
{
TMOD=1;
TH0=(65535-1000)/256;
TL0=(65535-1000)%256;
TR0=1;
while(1)
{
if(TF0=1)
{
TF0=0;
TH0=(65535-1000)/256;
TL0=(65535-1000)%256;
cnt++;
if(cnt==1000)
{
cnt=0;
sec++;
cache[0]=table[sec%10];
cache[1]=table[sec/10%10];
cache[2]=table[sec/100%10];
cache[3]=table[sec/1000%10];
}
if (i == 0)
{SEG1=1;SEG2=0;SEG3=0;SEG4=0; i++; P0=cache[0]; }
else if (i == 1)
{SEG1=0;SEG2=1;SEG3=0;SEG4=0; i++; P0=cache[1]; }
else if (i == 2)
{SEG1=0;SEG2=0;SEG3=1;SEG4=0; i++; P0=cache[2]; }
else if (i == 3)
{SEG1=0;SEG2=0;SEG3=0;SEG4=1; i=0; P0=cache[3]; }
}
}
}
开发板上数码管显示乱码。。。。


  • 厕所小虫
  • 少将
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


2025-08-25 06:41:09
广告
不感兴趣
开通SVIP免广告
  • 坤1994时代
  • 上尉
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
首先你得让大家知道程序是做什么的吧


  • 给爷们敬礼了
  • 中尉
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这程序应该编译不过去吧


  • q13706622
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
void main()
{
TMOD=1;
TH0=(65535-1000)/256;
TL0=(65535-1000)%256;
TR0=1;
应该少个EA=1;吧.


  • q13706622
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
if (i == 0)
{SEG1=1;SEG2=0;SEG3=0;SEG4=0; i++; P0=cache[0]; }
else if (i == 1)
{SEG1=0;SEG2=1;SEG3=0;SEG4=0; i++; P0=cache[1]; }
else if (i == 2)
{SEG1=0;SEG2=0;SEG3=1;SEG4=0; i++; P0=cache[2]; }
else if (i == 3)
{SEG1=0;SEG2=0;SEG3=0;SEG4=1; i=0; P0=cache[3]; }
每句中间加个延时看下


  • 厕所小虫
  • 少将
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include<reg52.h>
sbit SEG1=P3^7;
sbit SEG2=P2^0;
sbit SEG3=P2^1;
sbit SEG4=P2^2;
unsigned char i=0;
unsigned int cnt=0;
unsigned long sec=0;
unsigned char code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
unsigned char cache[4]={
0x00,0x00,0x00,0x00};
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
TMOD=1;
TH0=(65535-1000)/256;
TL0=(65535-1000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
if(cnt==1000)
{
cnt=0;
sec++;
cache[0]=table[sec%10];
cache[1]=table[sec/10%10];
cache[2]=table[sec/100%10];
cache[3]=table[sec/1000%10];
}
switch(i)
{
case 0 :SEG1=1;SEG2=0;SEG3=0;SEG4=0; i++; P0=cache[0];delay(5);break;
case 1 :SEG1=0;SEG2=1;SEG3=0;SEG4=0; i++; P0=cache[1];delay(5);break;
case 2 :SEG1=0;SEG2=0;SEG3=1;SEG4=0; i++; P0=cache[2];delay(5);break;
case 3 :SEG1=0;SEG2=0;SEG3=0;SEG4=1; i=0; P0=cache[3];delay(5);break;
}
}
}
void exter0() interrupt 1
{
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
cnt++;
}
还是不行啊。。。。。。。。。。


  • 流星雨LXN
  • 上尉
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
外部中断是最高级,应该是0不是1!


2025-08-25 06:35:09
广告
不感兴趣
开通SVIP免广告
  • 厕所小虫
  • 少将
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include<reg52.h>
sbit SEG1=P3^7;
sbit SEG2=P2^0;
sbit SEG3=P2^1;
sbit SEG4=P2^2;
unsigned char i=0;
unsigned int cnt=0;
unsigned long sec=0;
unsigned char code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
unsigned char cache[4]={
0xff,0xff,0xff,0xff};
void main()
{
TMOD=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
while(1)
{
if(TF0=1)
{TF0=0;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cnt++;
if(cnt==1000)
{
cnt=0;
sec++;
cache[0]=table[sec%10];
cache[1]=table[sec/10%10];
cache[2]=table[sec/100%10];
cache[3]=table[sec/1000%10];
}
switch(i)
{
case 0 :SEG1=1;SEG2=1;SEG3=1;SEG4=0; i++; P0=cache[0];break;
case 1 :SEG1=1;SEG2=1;SEG3=0;SEG4=1; i++; P0=cache[1];break;
case 2 :SEG1=1;SEG2=0;SEG3=1;SEG4=1; i++; P0=cache[2];break;
case 3 :SEG1=0;SEG2=1;SEG3=1;SEG4=1; i=0; P0=cache[3];break;
}
}
}
}
还是不行


  • 流星雨LXN
  • 上尉
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
oh 我看到了exter是外部的意思!这名字起得。。。


  • clouds_g
  • 中士
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
多想想你的代码的实现流程,程序的运行是否和你的想法一致,连逻辑关系都没搞清楚,无论做多少次修改都没有任何意义


  • Bansee
  • 少尉
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主这是什么语言


  • 希成空
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
TF0是什么,是变量吗?你用switch()语句想实现什么,我不是很明白,如果是显示的话试试用display()函数写,正如楼上所说,逻辑要弄明白,加油!


  • q13706622
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
改成 if(TF==1) 判断 不是赋值。
还有你这语言结构不好


2025-08-25 06:29:09
广告
不感兴趣
开通SVIP免广告
  • q13706622
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include<reg52.h>
sbit SEG1=P3^7;
sbit SEG2=P2^0;
sbit SEG3=P2^1;
sbit SEG4=P2^2;
unsigned char i,Time;
unsigned int cnt=0;
unsigned long sec=0;
unsigned char code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
unsigned char cache[4]={
0xff,0xff,0xff,0xff};
void Timer0Cofig();
void main()
{
Timer0Cofig();
while(1)
{
if(cnt==1000)
{
cnt=0;
sec++;
cache[0]=table[sec%10];
cache[1]=table[sec/10%10];
cache[2]=table[sec/100%10];
cache[3]=table[sec/1000%10];
}
switch(i)
{
case 0 :SEG1=1;SEG2=1;SEG3=1;SEG4=0; i++; P0=cache[0];break;
case 1 :SEG1=1;SEG2=1;SEG3=0;SEG4=1; i++; P0=cache[1];break;
case 2 :SEG1=1;SEG2=0;SEG3=1;SEG4=1; i++; P0=cache[2];break;
case 3 :SEG1=0;SEG2=1;SEG3=1;SEG4=1; i=0; P0=cache[3];break;
}
}
}
void Timer0Cofig()
{
TMOD = 0x01; //定时器0选择工作方式1
TH0 = 0x3C; //设置初始值,定时50MS
TL0 = 0xB0;
EA = 1; //打开总中断
ET0 = 1; //打开定时器0中断
TR0 = 1; //启动定时器0
}
void Timer0() interrupt 1
{
TH0 = 0x3C; //设置初始值
TL0 = 0xB0;
Time++;
if(Time == 20)
{
cnt ++;
Time = 0;
}
}


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 下一页 尾页
  • 38回复贴,共2页
  • ,跳到 页  
<<返回单片机吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示