標(biāo)題: 單片機數(shù)碼顯示學(xué)號的程序 [打印本頁]

作者: yzb813169284    時間: 2019-7-1 09:48
標(biāo)題: 單片機數(shù)碼顯示學(xué)號的程序
掌握74LS164驅(qū)動數(shù)碼管顯示和用C51編寫顯示函數(shù)的方法。能夠使數(shù)碼管上顯示的數(shù)據(jù)以左移的方式顯示出自己學(xué)號的全部(每隔1S鐘左移一位) 


單片機源程序如下:
  1. #include <reg51.h>        //頭文件

  2. #define uchar unsigned char

  3. #define uint  unsigned int  //宏定義   

  4. uchar disbuf[12];

  5. uchar aa,bb;

  6. void sx(void);

  7. void delay(uint z)          //延時1ms函數(shù)

  8. {

  9. uint i,j;

  10. for(i=0;i<z;i++)

  11. for(j=0;j<121;j++);

  12. }

  13. void intimer1(void) interrupt 2    //外部中斷1中斷服務(wù)函數(shù)

  14. {

  15. for(aa=0;aa<12;aa++)

  16. {

  17. disbuf[aa]=17;

  18. }                        //清顯示


  19. }

  20. void display(void)  //顯示函數(shù)

  21. {

  22. uchar s,n;

  23. code uchar  tab[]={0x88,0Xbe,0Xc4,0X94,0Xb2,0X91,0X81,0Xbc,0X80,0X90,

  24. 0xa0,0x83,0xc9,0x86,0xc1,0xe1,0xa2,0xff}; //數(shù)碼管顯示數(shù)據(jù)字型碼表

  25. for(s=0;s<=11;s++)

  26. {

  27. SBUF=tab[disbuf[s]];    //送顯示數(shù)據(jù)

  28. for(n=0;n<4;n++)

  29. delay(250);            //軟件延時1s鐘

  30. }

  31. }

  32. void main(void)

  33. {

  34. EA=1;

  35. EX1=1;

  36. do

  37. {

  38. for(bb=0;bb<12;bb++)

  39. {

  40. disbuf[bb]=17;

  41. }                  //將顯示數(shù)據(jù)清零

  42. delay(2);            //延時2MS

  43. sx();              //送顯示函數(shù)

  44. display();          //顯示函數(shù)

  45. }while(1);

  46. }

  47. void sx(void)          //送顯示函數(shù)

  48. {


  49. disbuf[0]=0;      //顯示數(shù)據(jù)的第1位

  50. disbuf[1]=9;      //顯示數(shù)據(jù)的第2位

  51. disbuf[2]=1;      //顯示數(shù)據(jù)的第3位

  52. disbuf[3]=0;    //顯示數(shù)據(jù)的第4位

  53. disbuf[4]=1;    //顯示數(shù)據(jù)的第5位

  54. disbuf[5]=0;    //顯示數(shù)據(jù)的第6位

  55. disbuf[6]=1;    //顯示數(shù)據(jù)的第7位

  56. disbuf[7]=3;    //顯示數(shù)據(jù)的第8位

  57. disbuf[8]=2;    //顯示數(shù)據(jù)的第9位

  58. disbuf[9]=17;

  59. disbuf[10]=17;

  60. disbuf[11]=17;  //最后三位用于與下一次顯示數(shù)據(jù)區(qū)分開

  61. }
復(fù)制代碼


作者: 176565    時間: 2020-9-17 15:04
你這個程序不亮啊





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1