历史上的今天
今天是: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
}
}
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
}
}
}
史海拾趣
|
1)精通c/c++编程语言,编程习惯良好 2)熟悉软件开发开发流程,有较强的设计能力和文档编写能力 3)较强的团队意识和沟通能力 4)熟悉sqlite数据库(可选) 5)熟悉GSM或者3G协议(可选) 6)熟悉Wince操作系统及其开发平台(可选) ...… 查看全部问答> |
|
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 ...… 查看全部问答> |
|
用示波器测试UART0的管脚,无波形。UART0和MII复用,故将MII的PINMUX屏蔽,而使用PINMUX3设置,经内核启动信息,查看UART0中断配置正常,并通过ehco \"test\">/dev/ttyS0,然后输入cat /proc/tty/driver/serial,发现TX发送数据增加,但无法测试到 ...… 查看全部问答> |
|
2012年IIC展于2月23日至25日在深圳会展中心举办,这是电子元器件原厂代理商和电子工程师的盛事,也是电子行业的风向标事件。阿牛哥在IIC展会第一天参加TriQuint新产品会议,TriQuint将分别针对移动设备的前端射频解决方案和针对基站集成的最新研发 ...… 查看全部问答> |
|
请求各位给我一个简单点的CPLD开发板原理图,我想学硬件电路和CPLD最小系统,请各位给我发到sxfyzhengtao@sina.com 谢谢各位了!… 查看全部问答> |




