作业帮 > 综合 > 作业

小弟编了个最简单的动态数码管程序,但用Protues仿真,没结果,大家看我程序哪里错了,还是protues画错了?

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/11 08:58:39
小弟编了个最简单的动态数码管程序,但用Protues仿真,没结果,大家看我程序哪里错了,还是protues画错了?
#include
#include
#include
sbit gao=P0^6;
sbit di=P0^7; //根据tx-1c板子写的显示部分
unsigned code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(unsigned int j)
{
unsigned char i;
for(;j>0;j--)
for(i=0;i
小弟编了个最简单的动态数码管程序,但用Protues仿真,没结果,大家看我程序哪里错了,还是protues画错了?
1,while(1)后面的大括号没关系,只有一个display(5,4)可以不加{ }
2,你的位选 怎么没接?还有你的限流电阻不知多大?10K?用500欧就可以了.
3,动态显示的要点;开位选 ,送段码,延时,关位选 .再下一位.这样做一定不会错.
void display(unsigned int m,int n)
{   
    gao=0;
    //di=1;
 P2=table[m];
 delay(5);
 //gao=1;
 di=0;
 P2=table[n];
 delay(5);
 di=1;   //关位选 改到延时后面.
   }