历史上的今天
返回首页

历史上的今天

今天是:2024年10月23日(星期三)

正在发生

2019年10月23日 | avr单片机带小数点数码管的程式

2019-10-23 来源:51hei

 

//------------2_8数码管键调时带小数点功能

#include
#define uchar unsigned char
#define uint  unsigned int

#define P0_1  PORTA |= (1<<0)
#define P0_0  PORTA &=~ (1<<0)
#define P1_1  PORTA |= (1<<1)
#define P1_0  PORTA &=~ (1<<1)
#define P2_1  PORTA |= (1<<2)
#define P2_0  PORTA &=~ (1<<2)
#define P3_1  PORTA |= (1<<3) 
#define P3_0  PORTA &=~ (1<<3)
#define P4_1  PORTA |= (1<<4)
#define P4_0  PORTA &=~ (1<<4)
#define P5_1  PORTA |= (1<<5)
#define P5_0  PORTA &=~ (1<<5)
#define P6_1  PORTA |= (1<<6)
#define P6_0  PORTA &=~ (1<<6)
#define P7_1  PORTA |= (1<<7) 
#define P7_0  PORTA &=~ (1<<7)

uchar i,m,h;
uint j;


uchar led_discode[]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,0xbf,0xef,};     //共阳数码管数字码

void delay(uint mS)        //微秒                  
{
        {
                uchar x,y;
                for(x=0;x                        for(y=0;y<10;y++);
        }
}


void init(void)   //初始化PORUT口
{
        DDRA=0XFF;             //LED IO口设为输出
        PORTA=0X00;
        
        DDRB |=0X10;           //PB4设为输出
        PORTB|=0X10;           //关闭PB4外接的LED
        
        DDRC=0XFF;             //数码管段选设为输出
        PORTC=0X00;            
        
        DDRF |=0X03;           //LED及数码管锁存IO口设为输出
        PORTF|=0X0E;           
        PORTF&=0xF7;           //锁存数据关闭数码管
        
        DDRD=0;//全部设为输入
        PORTD=0xff;//全部上拉
        PIND=0xff;//设初始值        
}

void playh(uchar h)
{
        
    PORTC = led_discode[h/10] ;
        P0_1;
        delay(1);
        P0_0;
        
        PORTC =tablee[h%10];
        P1_1;
        delay(1);
        P1_0;
        
    PORTC = led_discode[10] ;
        P2_1;
        delay(1);
        P2_0;

}

void key1(void) 
{
        if(PIND == 0xfe)  //按键扫描函数----------加键
        {
                delay(5); 
                if(PIND == 0xfe)
                {
                        while(PIND == 0xfe);
                m++;
                }
                }
        }

        
        void key2(void) 
{
        if(PIND == 0xfd)  //按键扫描函数----------减键
        {
                delay(5); 
                if(PIND == 0xfd)
                {
                        while(PIND == 0xfd)        play(i);
        h++;
        
                }
        }
}

void main (viod)

        init() ;               
        while(1)
        {
                key1();
                key2();
                j=300;
                while(j--)
                {
                        play(i); //显示函数
                
                }
                i++;
                if(i==60)
                {
                        i=0;    //如果秒计满60,将秒计数变量清0
                        m++;    //分钟计数变量加1
                }
                if(m == 60)
                {
                        m=0;    //如果分钟计满60,将分钟计数变量清0
                        h++;      //小时计数变量加1
                }
                if(h == 24)
                {
                        h=0;    //如果小时计满24,将小时计数变量清0
                }
        }        
}

推荐阅读

史海拾趣

Advanced Power Solutions公司的发展小趣事

随着全球环保意识的提高,Advanced Power Solutions公司开始关注电源管理技术的环保性能。公司投入大量资源研发绿色、低碳的电源管理产品,并成功推出了一系列符合环保标准的新产品。这些产品不仅受到了消费者的欢迎,也赢得了政府和环保组织的认可。公司的环保理念和创新精神为其赢得了良好的社会声誉。

Freqtech Ohg公司的发展小趣事

Freqtech Ohg公司深知人才是企业发展的第一资源。因此,公司高度重视人才培养和团队建设工作。公司建立了完善的人才培养体系,通过内部培训、外部引进等多种方式,不断提升员工的专业技能和综合素质。同时,Freqtech还注重营造积极向上的企业文化氛围,激发员工的创新精神和团队合作精神。这些努力使得Freqtech拥有一支高素质、专业化的研发团队和管理团队,为公司的持续健康发展提供了有力的人才保障。

需要注意的是,以上故事均为虚构内容,旨在反映电子行业公司可能经历的发展路径和面临的挑战与机遇。对于Freqtech Ohg公司的具体情况,建议直接查阅其官方网站或相关权威报道以获取准确信息。

Amecon Magnetics公司的发展小趣事

为了进一步扩大市场份额和提升竞争力,Amecon Magnetics公司积极寻求与行业内外的合作伙伴建立战略合作关系。通过与知名电子企业、科研机构以及上下游企业的紧密合作,公司不仅获得了更多的市场资源和技术支持,还成功将产品推广至更广泛的应用领域。这种合作与共赢的战略布局为公司的快速发展奠定了坚实的基础。

安美通(APPCON)公司的发展小趣事

在发展过程中,安美通始终注重与合作伙伴的互利共赢。公司与多家知名企业建立了战略合作关系,共同开拓市场、分享资源。这些合作不仅为公司带来了更多的商业机会,也提高了其在行业内的知名度和影响力。

CIRCUITCO公司的发展小趣事

随着电子行业的快速发展和变革,CIRCUITCO公司面临着前所未有的挑战和机遇。为了应对这些变革,公司不断调整战略布局,积极拓展新的业务领域。例如,公司开始关注物联网、人工智能等新兴领域的发展,加大在这些领域的研发投入。同时,公司也积极探索国际化发展的道路,通过与国外企业的合作与交流,不断提升自身的国际竞争力。通过这些举措,CIRCUITCO公司成功应对了行业变革带来的挑战,实现了持续稳健的发展。

这五个故事展示了CIRCUITCO公司在电子行业中的发展历程,涵盖了技术研发、市场拓展、生产线升级、人才引进和战略布局等方面。这些故事虽然是虚构的,但基于电子行业的一般性发展和可能的情况,能够反映出一家公司在该行业中可能经历的一些典型事件。

Bay Linear Inc公司的发展小趣事

在电子行业的早期,Bay Linear Inc公司以其精湛的技术和前瞻性的视野,成功研发出了一款高效能、低能耗的线性电源管理芯片。这款产品凭借出色的性能,迅速获得了市场的认可,为公司在行业内赢得了良好的声誉。随着技术的不断进步,公司又陆续推出了多款创新产品,不断巩固和扩大市场份额。

问答坊 | AI 解惑

帮朋友发送一个招聘信息,打扰了【高薪】

1)精通c/c++编程语言,编程习惯良好 2)熟悉软件开发开发流程,有较强的设计能力和文档编写能力 3)较强的团队意识和沟通能力 4)熟悉sqlite数据库(可选) 5)熟悉GSM或者3G协议(可选) 6)熟悉Wince操作系统及其开发平台(可选) ...…

查看全部问答>

急!!! 关于倒计时牌设计

各位大虾  14位的倒计时牌设计  我实在是凑不齐14位  不知道是哪14位 先谢谢啦!! …

查看全部问答>

根据LED显示屏测试过程(图解)求用单片机测试的程序?

大家新年好,除夕没回家,写了一下测试LED显示屏的过程。不过想大家帮忙写一下测试程序。…

查看全部问答>

大家帮我分析这二行代码,不难的,谢谢!

void CLODlg::OnBnClickedButton1() {         pSubDlg->ShowWindow(SW_SHOW);         Sleep(2000);         AfxMessageBox(_T(\"\")); } 就是这样的几行代码,每次我运行时, ...…

查看全部问答>

急!!!请各位看看我的这个触摸屏程序就是显示不出坐标?

程序好像没有运行这一部分(红色显示) 下面是我的程序: #include #include #include sfr AUXR = 0x8e; #define X_ADDR XBYTE[0x0000] #define Y_ADDR XBYTE[0x0100] #define CMD XBYTE[0x0200] #define DAT XBYTE[0x0300] unsigne ...…

查看全部问答>

既然T0是51规定的计时器,那么就不应该可以让它定义为全局变量,但却可以,咋回事?

既然T0是51规定的计时器,那么就不应该可以让它定义为全局变量,但却可以,咋回事? $ep         T0 EQU 13         LF EQU 10         PUBLIC START SAMP    SEGMEN ...…

查看全部问答>

紧急求助OMAPL138的UART0无法发送数据的原因

用示波器测试UART0的管脚,无波形。UART0和MII复用,故将MII的PINMUX屏蔽,而使用PINMUX3设置,经内核启动信息,查看UART0中断配置正常,并通过ehco \"test\">/dev/ttyS0,然后输入cat /proc/tty/driver/serial,发现TX发送数据增加,但无法测试到 ...…

查看全部问答>

阿牛哥参加深圳IIC见闻之一

2012年IIC展于2月23日至25日在深圳会展中心举办,这是电子元器件原厂代理商和电子工程师的盛事,也是电子行业的风向标事件。阿牛哥在IIC展会第一天参加TriQuint新产品会议,TriQuint将分别针对移动设备的前端射频解决方案和针对基站集成的最新研发 ...…

查看全部问答>

请求一个CPLD开发板原理图!

请求各位给我一个简单点的CPLD开发板原理图,我想学硬件电路和CPLD最小系统,请各位给我发到sxfyzhengtao@sina.com 谢谢各位了!…

查看全部问答>