1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標題: 單片機驅動74hc164秒表顯示的仿真和源程序 [打印本頁]

作者: longgyue    時間: 2018-7-15 10:25
標題: 單片機驅動74hc164秒表顯示的仿真和源程序
單片機74hc164秒表仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include<iom16v.h>
  2. #include<macros.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. #define CP_L PORTC&=~BIT(0)
  6. #define CP_H PORTC|=BIT(0)

  7. #define DATA_L PORTC&=~BIT(1)
  8. #define DATA_H PORTC|=BIT(1)

  9. uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,
  10.                            0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  11. uint num=0;

  12. void delay_ms()
  13. {
  14. uint i;
  15. for(i=0;i<1141;i++);
  16. }

  17. void delay(uchar time)
  18. {
  19. uint i;
  20. for(i=0;i<time;i++)
  21. delay_ms();
  22. }

  23. void send_data(uchar data)
  24. {
  25. uint i;

  26. for(i=0;i<8;i++)
  27. {
  28.    CP_L;
  29.    if(data&0x80)
  30.    DATA_H;
  31.    else
  32.    DATA_L;
  33.    CP_H;
  34.    data<<=1;
  35. }

  36. }
  37. //定時1秒
  38. void Timer1_init()
  39. {
  40. TCCR1A=0X00;
  41. TCCR1B=0X04;//256分頻
  42. TCNT1H=0x85;
  43. TCNT1L=0xED;
  44. }

  45. #pragma interrupt_handler miao:9
  46. void miao()
  47. {
  48. TCNT1H=0x85;
  49. TCNT1L=0xED;
  50. if(num==60)
  51.   num=0;
  52.   num++;
  53. }

  54. void Display(uchar i,uchar j)
  55. {
  56. send_data(j);

  57. PORTC&=~BIT(i);
  58. delay(10);
  59. PORTC|=BIT(i);
  60. }


  61. void main()
  62. {
  63. DDRC=0XFF;
  64. Timer1_init();
  65. TCNT1H=0x85;
  66. TCNT1L=0xED;
  67. TIMSK|=BIT(2);
  68. SREG|=BIT(7);
  69. while(1)
  70. {
  71.   Display(2,table[num%10]);
  72.   Display(3,table[num/10]);
  73. }
  74. }
復制代碼

所有資料51hei提供下載:
74hc164_miao.rar (28.65 KB, 下載次數: 23)







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