静态数码管显示

来源:互联网 发布:淘宝网卖美女尿qq号 编辑:程序博客网 时间:2024/05/18 03:54
一.程序功能:静态数码管显示0 1 2 3 4 5 6 7 8 9


二.知识点:
          1、数码管为共阳极。
           2、abcdefg. 转化为十六进制时从右往左8421 , 8421。

       3、调用子函数时要进行函数声明。

 4、共阴极:0 1 2 3 4 5 6 7 8 9 对应 :3fh 06h 5bh 4fh 66h 6dh 7dh 07h 7fh 6fh。


方法1、利用指针实现:



#include<reg52.h>#define  uint unsigned intuint array[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};uint *p;void delay(int x);int main(){while(1){  for(p=array; p<(array+10); p++)  {  P0=*p;delay(200);  }}   return 0;}void delay(int x){int a,b;for(a=x;a>0;a--)for(b=500;b>0;b--);}



方法二、基本方法:



#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar num;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98}; void delay(uint z);void main(){while(1){   for(num=0; num<10; num++){P0=table[num];delay(200);} }}void delay(uint z){    uint x,y;for(x=z; x>0; x--)for(y=600; y>0; y--);}




原创粉丝点击