两位数码管动态显示从0-99自加。
内容包含:keil+protues
适合刚接触单片机的同学;
有什么单片机的问题大家也可以留言评论!
单片机源程序如下:
- //两位数码管的加减
- #include "reg52.h"
- #include "intrins.h"
- unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,
- 0x92,0x82,0xf8,0x80,0x90}; //0~9的数组 (共阳极)
- /*
- 定义 uint uchar
- */
- typedef unsigned int uint;
- typedef unsigned char uchar;
- sbit smg1 = P2^0;
- sbit smg2 = P2^1;
- void delay(uint z) //延时函数(不准确)
- {
- uint x,y;
- for(x=0;x<z;x++)
- for(y=0;y<110;y++);
- }
- void main(void) //主函数
- {
- uchar i,j;
- while(1)
- {
- for(i = 0;i < 99;i++) //0~99
- {
- for(j = 0;j < 30;j++) //让一个数字闪烁多遍
- {
- P0 = 0XFF; //消影
- smg1 = 0;
- smg2 = 1;
- P0 = table[i%100/10];
- delay(10);
- P0 = 0XFF; //消影
- smg1 = 1;
- smg2 = 0;
- P0 = table[i%100%10];
- delay(10);
- }
- }
- }
- }
复制代码
所有资料51hei提供下载:
数码管动态显示0-99加.rar
(90.87 KB, 下载次数: 186)
|