定时器控制数码管扫描显示

来源:本站
导读:目前正在解读《定时器控制数码管扫描显示》的相关信息,《定时器控制数码管扫描显示》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《定时器控制数码管扫描显示》的详细说明。
简介:本文给大家分享了定时器控制数码管扫描显示代码。

************************************************************************************ 功能:定时器控制两位数码管扫描显示 器件:STC12C5A32S2 两个数码管************************************************************************************/#include "config.h "#define uint unsigned  int#define uchar unsigned char#define ulong unsigned longint num;   // 显示数据int FrontDot = 0; // 个位显示int BehindDot = 0; // 小数显示uint xms = 0;  // 毫秒数uint LEDDATA0[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};uint LEDDATA1[10] = {0xbf, 0x86, 0xdb, 0xcf, 0xe6, 0xed, 0xfd, 0x87, 0xff, 0xef};//  延时约(0.001 * n)秒void delay(unsigned int n){      int i;     ulong msNum = 923;  // 指令循环923次为一秒      for(i = 0; i < n; i++){          while(msNum--);     }}void timer0() interrupt 1{     TH0 = 0xfc;     // 重要!!第一次计数满后会从0开始计数,应该在中断程序中重设计数初值     TL0 = 0x65;               xms++;     if(xms == 1000){          num++;          if(num > 99) num = 0;          FrontDot = num / 10;          BehindDot = num % 10;          xms = 0;     }  }// 定时器0初始化void timer0_init(){     TMOD = 0x01;     // 设定定时器0为工作方式1,中断只需一次设定     TH0 = 0xfc;     // 设定计数初值     TL0 = 0x65;     EA = 1;      // 开总中断     ET0 = 1;      // 开定时中断0      TR0 = 1;      // 启动定时器0,计数满后执行中断服务程序timer0()}// 主函数void main(void){     int x=0;     num = 0;     P0_0 = 0;     P0_1 = 0;     P0_2 = 0;     P0_3 = 0;     P0_4 = 0;      timer0_init();     for(;;){         if(x++ > 100)x=0;         switch(x%2)         {               delay(100);               case 0:                             P0_4 = 0;                                // 关闭                            P2 = LEDDATA0[BehindDot];   // 设置数字                            P0_3 = 1;                                // 开启                            break;               case 1:                             P0_3 = 0;                            P2 = LEDDATA1[FrontDot];                            P0_4 = 1;                            break;          }      } } 

提醒:《定时器控制数码管扫描显示》最后刷新时间 2024-03-14 00:57:41,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《定时器控制数码管扫描显示》该内容的真实性请自行鉴别。