用PROTEUS仿真单片机与七段数码管

发布时间:2024-08-09  

设计要求:

用七段数码管显示数字0~9

(代码来源于指导书)

#include


void cct_init(void);

void delay(int);

void DisplayOn7Segment(char);


int main(void)

{

   char ch = '0';              // Character to be displayed on 7seg


   cct_init();                 // Make all ports zero    


   while(1)           

   {

    DisplayOn7Segment(ch);      // Display ch on 7seg

    delay(30000);              // About 1 sec delay


    switch(ch)                  // Update ch with new value to be displayed

    {

        case '0':    ch = '1';  break;

        case '1':    ch = '2';  break;

        case '2':    ch = '3';  break;

        case '3':    ch = '4';  break;

        case '4':    ch = '5';  break;

        case '5':    ch = '6';  break;

        case '6':    ch = '7';  break;

        case '7':    ch = '8';  break;

        case '8':    ch = '9';  break;

        case '9':    ch = '0';  break;

    

    

        default: ch = '0';  break;

    }

   }

}


void cct_init(void)

{

    P0 = 0x00;   

    P1 = 0x00;   

    P2 = 0x00;   

    P3 = 0x00;  

}


void delay(int a)

{

   int i;

   for(i=0;i}


void DisplayOn7Segment(char ch)   // ch can have a value from '0' to 'F' only

{

    switch(ch)

    {

        case '0':    P2 = 0x3F;  break;

        case '1':    P2 = 0x06;  break;

        case '2':    P2 = 0x5B;  break;

        case '3':    P2 = 0x4F;  break;

        case '4':    P2 = 0x66;  break;

        case '5':    P2 = 0x6D;  break;

        case '6':    P2 = 0x7D;  break;

        case '7':    P2 = 0x07;  break;

        case '8':    P2 = 0x7F;  break;

        case '9':    P2 = 0x6F;  break;

    


        default: P2 = 0x3F;  break;

    }    

}


以上为共阴极

然后共阳极的不确定对不对,但是能运行,仅供参考吧

放一下代码,只是更改了一些数值,生成的hex文件还是可以用的

#include

void cct_init(void);

void delay(int);

void DisplayOn7Segment(char);

int main(void)

{

   char ch = '0';              // Character to be displayed on 7seg

   cct_init();                 // Make all ports zero    

   while(1)           

   {

    DisplayOn7Segment(ch);      // Display ch on 7seg

    delay(30000);              // About 1 sec delay

    switch(ch)                  // Update ch with new value to be displayed

    {

        case '0':    ch = '1';  break;

        case '1':    ch = '2';  break;

        case '2':    ch = '3';  break;

        case '3':    ch = '4';  break;

        case '4':    ch = '5';  break;

        case '5':    ch = '6';  break;

        case '6':    ch = '7';  break;

        case '7':    ch = '8';  break;

        case '8':    ch = '9';  break;

        case '9':    ch = '0';  break;

        default: ch = '0';  break;

    }1

   }

}

void cct_init(void)

{

    P0 = 0x00;   

    P1 = 0x00;   

    P2 = 0x00;   

    P3 = 0x00;  

}

void delay(int a)

{

   int i;

   for(i=0;i}

void DisplayOn7Segment(char ch)   // ch can have a value from '0' to 'F' only

{

    switch(ch)

    {

        case '0':    P2 = 0xC0;  break;

        case '1':    P2 = 0xF9;  break;

        case '2':    P2 = 0xA4;  break;

        case '3':    P2 = 0xB0;  break;

        case '4':    P2 = 0x99;  break;

        case '5':    P2 = 0x92;  break;

        case '6':    P2 = 0x82;  break;

        case '7':    P2 = 0xF8;  break;

        case '8':    P2 = 0x80;  break;

        case '9':    P2 = 0x90;  break;

        default: P2 = 0xC0;  break;

    }    

}


大概就是这个样子吧


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    打开上面的一个拨码开关会出现亮一排灯,把电阻去掉就可以用了,这里大家知道点阵是怎么回事就好了,电路按照软件中能工作的方式进行。 异常的电路,但是能在仿真软件中正常工作 接下来我们在上面一个字符“1......
    相关的语法,就能够将8051玩起来。   很多人初学单片机是通过仿真软件,这样确实成本最低,但是缺点也很明显,对硬件没有一个直观的感受,并且搭出来的电路通常无法应用到实际中,反而会将仿真软件中......
    电路中各元件引脚显示的电平状态,检查软件逻辑上是否存在问题。再确认没有问题之后,开始进入仿真的环节。 点击左下角运行之后,电机显示0转速,数码管也显示速度为0000,右下角显示电机状态的LED灯全灭。如图......
    想不明白为何他这么固执。 当我后面慢慢接触32位的单片机多了,开发的产品多了,我才真正体会到了仿真的好处。 毫不夸张地说,用好仿真,你的开发效率至少提高3倍,这里说的不是仿真软件。 拿stm32单片......
    及以上 S7-1200 PLCSIM仿真范围 S7-PLCSIM 目前不支持以下工艺模块: 计数 PID 控制 运动控制 如果你在项目中,使用了以上工艺模块,在仿真时可能要出错。 仿真软件S7......
    、74LS30 或74LD686、74LS00、7805等集成芯片的功能表及相关参数和引脚图,同时掌握稳压电源的整流、滤波、稳压工作原理并懂得电路设计,最后要灵活运用MulTIsim仿真软件检测模块功能。 ......
    将各路温度数据送上位机处理。系统采用Proteus仿真软件设计的仿真电路如图2所示,此时LED显示的是第3路温度值。 2.1 测温电路设计 采用8 片DS18B20 组成多路测温电路。DS18B20内部......
    【51单片机】七段数码管显示实验+详细讲解;前言 继上次仿真实验——【51单片机】矩阵键盘线反转法实验仿真之后,尽管也对点阵LED进行了学习,但是,点阵LED的显示效果不佳(仿真时的色彩、明亮......
    的调整优化后,我们最终确定的天线模式尺寸如下。 图3  PCB天线完整模型 天线性能测试 现在,ZM602的PCB天线已经设计完成,那么这款天线的性能是否达到了我们的设计要求呢?我们在仿真软件中对天线进行仿真......
    计利用protues8.7软件实现仿真设计,具体如图。 注1:请使用protues8.7直接打开资料中的工程文件(资料中已说明打开方式),若要求使用其他版本软件,请谨慎购买! 注2:由于仿真软件限制,仿真......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>