完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
给别人弄的60S倒计时,数码管显示,需要的看看。
#include #define uint unsigned int #define uchar unsigned char ***it P2_2 = P2^2; ***it P2_3 = P2^3; //***it dula=P2^6; //***it wela=P2^7; ***it beep=P1^4; ***it start_key=P3^2; static unsigned char second=60; //uchar j,k,a1,a0,s=60; uint m; //uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, // 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,//数码管 0xf8,0x80,0x90}; ////////////////////////////////////// void delay(uint nms) { uint i,j; for(i=nms;i>0;i--) for(j=125;j>0;j--); } ////////////////////////////////// void display() { P0=table[second/10]; P2_2 = 0; delay(5); P2_2 = 1; P0=table[second%10]; P2_3 = 0; delay(5); P2_3 = 1; } /////////////////////////////////////////// void Timer0Init(void) //50毫秒@11.0592MHz { // AUXR &= 0x7F; //定时器时钟12T模式 TMOD &= 0xF0; //设置定时器模式 TMOD |= 0x01; //设置定时器模式 TL0 = 0x00; //设置定时初值 TH0 = 0x4C; //设置定时初值 EA=1; ET0=1; TR0=1; } /////////////////////////////////////////// void main() { uchar a; Timer0Init(); while(1) { key_scan(); for(a=100;a>0;a--) { display(); } if(second==0) { TR0=0;//时间到,定时器关闭 beep=0;//蜂 delay(300); beep=1;//蜂 } } } ///////////////////////////////////////////////// void timer0() interrupt 1 { TL0 = 0x00; //设置定时初值 TH0 = 0x4C; //设置定时初值 m++; if(m==20) { m=0; second--; } } |
|
|
|
644 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1819 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1262 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1136 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1357 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12023 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 01:30 , Processed in 0.475084 second(s), Total 64, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号