历史上的今天
今天是:2025年01月18日(星期六)
2020年01月18日 | AVR单片机对数码管数据P0口与P2口的控制设计
2020-01-18 来源:elecfans
//数码管数据P0口,数码管控制P2口
#include
#include
#include
#include
#include
#define code PROGMEM
#define uchar unsigned char
#define uint unsigned int
code const ucharLED_7[16] = {0x28, 0x7E, 0xA2, 0x62, 0x74, 0x61, 0x21, 0x7A, 0x20, 0x60,0xff};//common of +
code const uchar position[8] = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

uchar TIme[4]; //时间计数
volaTIle uchar disp_buff[8]; //显示缓冲区
volaTIle uchar TIme_count = 0;
volatile uchar point_on = 0;
volatile uchar posit = 0;
volatile uchar time_10ms_ok = 0;
void time_to_dispbuff(void);
void time1_init(void);
void time0_init(void);
void display(void);
int main(void)
{
PORTA = 0xff;
DDRA = 0xff;
PORTC = 0xff;
DDRC = 0xff;
time[0] = 00;//1/10sec
time[1] = 30;//sec
time[2] = 59;//minute
time[3] = 23;//hour
time_to_dispbuff();
time1_init();
sei();
while(1)
{
if(time_10ms_ok)
{
time_10ms_ok = 0;
if(++time[0]》=100)
{
time[0] = 0;
point_on = ~point_on;
if(++time[1]》=60)
{
time[1] = 0;
if(++time[2]》=60)
{
time[2] = 0;
if(++time[3]》=24)
{
time[3] = 0;
}
}
}
}
time_to_dispbuff();
}
}
}
void time0_init(void)
{
TCCR0 = 0x05;
TCNT0 = 0xea;
TIFR |= 0x02;
TIMSK |= 0x02;
}
void time1_init(void)
{
TCCR1A = 0x00;
TCCR1B = 0x01;
TCNT1 = 0xa99a;
//TCNT1H = 0xa9;
//TCNT1L = 0x9a;
TIFR |= 0x80;
TIMSK |= 0x80;
}
SIGNAL(SIG_OVERFLOW1)
{
TCNT1 = 0xa99a;
display();
if(++time_count 》=5)
{
time_10ms_ok = 1;
time_count = 0;
}
}
void display(void)
{
PORTC = 0xff;
PORTA = pgm_read_byte(&led_7[disp_buff[posit]]);
if(point_on && ((posit==2)||(posit==4)||(posit==6)))PORTA &= 0x7f;
PORTC = pgm_read_byte(&position[posit]);
if(++posit》=8)posit = 0;
}
void time_to_dispbuff(void)
{
uchar i,j=0;
for(i=0;i《=3;i++)
{
disp_buff[j++] = time[i]%10;
disp_buff[j++] = time[i]/10;
史海拾趣
|
fpga的下载问题 我目前在使用altera 的cyclone EP28 ,在程序下载的过程中出现一个奇怪的问题。 使用quartusII打开programmer,点击start按钮,出现以下错误: Error: Can\'t access JTAG chain Error: Operation failed 我用的是开发板啊!J ...… 查看全部问答> |
|
case WM_CREATE: CreateWindow(TEXT(\"Combo Box\"),TEXT(\"\"), WS_VSCROLL | WS_BORDER | WS_VISIBLE | WS_CHILD, 100, 100, 205, 100, hWnd, (H ...… 查看全部问答> |
|
执行的代码如下: Dim strSQL As String dim strRemoteConnect as String strSQL = \"SELECT * from a\" strRemoteConnect=\"Provider=SQLOLEDB.1;data source=local;Initial Catalog=DBTest;user id=sa;password=sa\" Dim ceRDA As SSCE.Remo ...… 查看全部问答> |
|
我用的是320×240图形点阵液晶,现在可以在上面显示汉字了。 老板要求显示各种波形,请教高手那里可以找到这方面的资料,听说 要建立坐标系,还要研究各种图形的算法,有这么复杂吗?哪里能找 到这方面的资料? 谢谢您的关注!… 查看全部问答> |
|
最近是找工作的高峰期,请参加过面试得朋友谈谈如何从等消息中判断自己是否有戏和谈谈自己的面霸经历为后面的应届生介绍些经验。人生最痛苦的莫过于什么也不知道就是等消息~~~~~~~~~~~~~~~~~… 查看全部问答> |




