51单片机定时器简单示例
2018-06-18 04:03:48来源:未知 阅读 ()
第一次写博客这玩意,不太会,算了,直接粘代码吧。
1 #include <reg52.h> 2 #include <intrins.h> //头文件,将会用到循环右移 3 //宏定义 4 #define uchar unsigned char 5 #define uint unsigned int 6 //位、变量声明 7 sbit led1 = P1^0; 8 sbit dula = P2^6; 9 sbit wela = P2^7; 10 uchar counter_ms, counter_s, led_flow = 0xfe; 11 uchar code digitron_data[] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f }; 12 //延时函数 13 void delay(uint z) 14 { 15 uint x, y; 16 for (x = 0; x < z; x++) 17 for (y = 0; y < 114; y++); 18 } 19 //流水灯函数 20 void display_led () 21 { 22 while(1) { 23 led_flow = _cror_(led_flow, 1); 24 P1 = led_flow; 25 delay(500);//调用延时函数 26 } 27 } 28 //数码管函数 29 void display_digitron(uchar i) 30 { 31 uchar tens, ones; 32 tens = i / 10;//求模得到十位 33 ones = i % 10;//求余得到个位 34 35 P0 = 0xff;//使所有数码管熄灭 36 wela = 1; 37 P0 = 0xfe; 38 wela = 0; 39 40 dula = 1; 41 P0 = digitron_data[tens]; 42 dula = 0; 43 delay(1); 44 45 P0 = 0xff; 46 wela = 1; 47 P0 = 0xfd; 48 wela = 0; 49 50 dula = 1; 51 P0 = digitron_data[ones]; 52 dula = 0; 53 delay(1); 54 } 55 //定时器初始化函数 56 void timer_init() 57 { 58 TMOD = 0x10;//TMOD的地址是0x89,不能被8整除,只能对字节操作,不能位操作 59 TH1 = 0x4c; 60 TL1 = 0x00; 61 TR1 = 1; //TCON的地址是0x88,可以对位操作 62 } 63 //主函数main 64 void main() 65 { 66 timer_init();//调用定时器初始化函数 67 while(1) { 68 if (TF1 == 1) { 69 TF1 = 0; 70 TH1 = 0x4c; 71 TL1 = 0x00; 72 counter_ms++; 73 } 74 if (counter_ms == 20) {//counter_ms累加20次是1秒 75 counter_ms = 0; 76 counter_s++; 77 } 78 if (counter_s ==60) {//counter_s累加60次是1分钟 79 wela = 1; 80 P0 = 0xff; 81 wela = 0; 82 TR1 = 0; 83 display_led();//调用流水灯函数 84 /* 85 led_flow = _cror_(led_flow, 1); 86 P1 = led_flow; 87 delay(500); 88 */ 89 } else { 90 display_digitron(counter_s);//调用数码管函数 91 } 92 } 93 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 加边的无向图--并查集 2020-04-10
- 排兵布阵 2020-02-21
- 二叉树(四)二叉堆 2020-02-03
- 一款简单的C++猜数字游戏(新手必学) 2019-12-10
- 《大话设计模式》之简单工厂模式 2019-11-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash