完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
问题1:time_counter为什么要自加到40,在晶振为4MHZ时自加一次时间怎样算啊?
问题2:在void display(void)函数里最后为什么要PORTC =0xff关闭所有数码管,直接更不吗,我删除后的确不行,是什么原因 #include #include char time[3]; char dis_buff[6]; flash char led_7[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x7F,0x6F}; bit point_on; flash char position[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf}; char time_counter; void time_to_di***uffer(void) { char i,j=0; for(i=0;i<2;i++) { dis_buff[j++] = time % 10; dis_buff[j++] = time / 10; } } void display(void) { char i; for(i=0;i<=5;i++) { PORTA = led_7[dis_buff]; if (point_on && (i==2||i==4)) PORTA |= 0x80; PORTC = position; delay_ms(2); PORTC =0xff; } } void main() { PORTA=0x00; //初始化POTA DDRA=0xFF; PORTC=0x3F; //0011 1111 DDRC=0x3F; //0011 1111,PORT0-PORT5输入 time[2] = 23; time[1] = 58; time[0] = 55; time_to_di***uffer(); while(1) { display(); if(++time_counter >=40) { time_counter = 0; point_on=~point_on; if(++time[0]>=60) { time[0] = 0; if(++time[1]>=60) { time[1] = 0; if(++time[2]>=24) time[2] = 0; } time_to_di***uffer(); } delay_ms(13); } } } |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
387 浏览 0 评论
2002 浏览 0 评论
【每周推荐】采用11代Intel CPU,基于youyeetoo X1开发板搭建少儿AI智能STEAM积木平台
1001 浏览 0 评论
3235 浏览 2 评论
【youyeetoo X1 windows 开发板体验】+ 影音处理和AI模型移植
2876 浏览 5 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
6754 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-16 11:15 , Processed in 0.675132 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号