单片机源程序如下:
#include #include #include "stdio.h" #include "delay.h" #define uchar unsigned char #define uint unsigned int char smg_zx[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d, 0x7d,0x07,0x7f,0x6f,0x76,0X38};// char smg_wx[]={0B00000001,0B00000010,0B00000100,0b00001000,0b00010000,0b00100000,0b01000000,0b10000000}; char buff[]={1,2,3,4,5,6,7,8}; uint cnt0=0,lc=0,dj=0,KS=11,ZJ=0; uchar mode=0; void delay_ms(unsigned int k) //8M MS级函数 { unsigned int i,j; for(i=0;i for(j=0;j<570;j++); } } ////多位数拆分函数///////*/ void xs_buff() { buff[0]=lc/10; buff[1]=lc%10; buff[2]=dj/10; buff[3]=dj%10; buff[4]=ZJ/100; buff[5]=ZJ/10%10; buff[6]=ZJ%10; buff[7]=KS; } void xs_smg() { static unsigned char posit=0; PORTA |= 0XFF; // turn off PORTA = ~ smg_wx[posit];//selecting led 7-segment PORTB = smg_zx[buff[posit]]; // delay_ms(2); if(posit++>=7)posit=0; } void keyscan() { if((PIND&0xf0)!=0xf0) { delaynms(20); if((PIND&0xf0)!=0xf0) { if((PIND&0x10)==0) //第一个按键 { if(dj++>=10)dj=0; KS=11; //L //++cnt_1; //00-FF } if((PIND&0x20)==0) //第二个按键 { mode=0; //--cnt_1;//00-FF SEI(); KS=10; //H } if((PIND&0x40)==0) //第三个按键 { //--cnt_1;//00-FF CLI(); KS=11; //L } if((PIND&0x80)==0) //第四个按键 { if(mode++>=2)mode=0;//第一次按下时结束计价,第二次时清零, KS=11; //L //--cnt_1;//00-FF CLI(); if(mode==2) {ZJ=0; lc=0;} } } while((PIND&0xf0)!=0xf0); } } void init_devices(void)//设备初始化函数 { PORTA = 0XFF;//内部上拉 DDRA = 0xFF;//输出 PORTB = 0XFF;//内部上拉 DDRB = 0xFF;//输出 PORTD = BIT(4)|BIT(5)|BIT(6)|BIT(7);//内部上拉 PORTD &= (~BIT(3)); DDRD = ~(BIT(3)|BIT(4)|BIT(5)|BIT(6)|BIT(7));//输入 /****外部事件计数*******/ MCUCR = 0x02; GICR = 0x80; SREG = 0x80; CLI(); //关中断 //SEI(); //开中断 } void main(void) { init_devices();//设备初始化 delaynms(300); //延时待系统稳定; while(1) { keyscan(); xs_buff(); xs_smg(); ZJ=lc*dj; } } /****外部事件计数*******/ #pragma interrupt_handler int1_isr:3 void int1_isr() { if(++cnt0>500){cnt0=0;if(lc++>=99)lc=0;} }
上一篇:AVR单片机串口红外线传输试验程序
下一篇:AVR 8515单片机遥控器 解码程序
推荐阅读最新更新时间:2024-11-17 20:14
设计资源 培训 开发板 精华推荐
- 技术直播【安森美功率器件在新能源市场中的应用】(9:30入场)
- 英飞凌开发板618大促:爆款清单揭秘,有好礼!
- 【边分享,边成长,11月有奖】EEWORLD优秀主题/回复第16期活动开始拉
- 限时秒杀,100本专业书籍——TI 中国大学计划20周年
- 2020 STM32全国研讨会火热报名中,新技术新方案等你收获,还有好礼拿!
- 免费申请| Microchip WBZ451 Curiosity
- 是德科技电子书,下载有礼进行时!
- 瑞萨电子最新触控微控制器R7F0C208入门套件免费申请,参与申请还能赢好礼!
- 直播|基于英特尔® Agilex™ FPGA F-Tile的以太网硬核IP详解及如何使用oneAPI对FPGA编程