欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11947|回復: 9
收起左側

51單片機時鐘程序,初始時間為23時59分55秒,24時自動歸零

  [復制鏈接]
ID:336422 發(fā)表于 2018-5-23 13:22 | 顯示全部樓層 |閱讀模式
51單片機時鐘程序,定時中斷,初始時間為23時59分55秒,24時自動歸零

實驗三 定時/計數(shù)器實驗
一、實驗目的
(1)掌握定時器/計數(shù)器的工作原理;
(2)掌握用C 語言程序實現(xiàn) LED動態(tài)顯示的方法;
(3)掌握C 程序下定時中斷程序設計調試方法。
二、實驗內容
(1)熟悉Proteus 軟件,了解軟件的結構組成與功能;
(2)熟悉uVision3 編譯軟件,了解軟件的結構組成與功能;
(3)學習C51 語言的程序設計方法;
(4)用定時器/計數(shù)器 T0 實現(xiàn) 200ms 定時,控制 LED 閃爍;定時器/計數(shù)器 T1 實現(xiàn)
1 秒定時,在數(shù)碼管上顯示 2位數(shù)字,每秒加 1。
三、實驗步驟
(1)按照下圖,在 ISIS 中繪制電路原理圖;
(2)在uVision3 中編寫 C51 程序;
(3)利用uVision3 的編譯調試功能檢查程序的語法和邏輯錯誤;
(4)下載可執(zhí)行文件,在 Proteus 中觀察仿真結果,檢驗程序的正確性。

0.png
0.png
單片機源程序如下:
  1. #include<reg51.h>
  2. unsigned char code LED[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  3. unsigned char hour=23,min=59,sec=59;
  4. unsigned char num1=0,num2=0;
  5. sbit led1=P1^0;
  6. void display(unsigned char,unsigned char,unsigned char);

  7. void delay(unsigned int time)
  8.         {
  9.                 unsigned int j = 0;
  10.                 for(;time>0;time--)
  11.                         for(j=0;j<125;j++);
  12.         }

  13. void main(void)
  14.         {
  15.         TMOD=0x11;
  16.         TH0=(65536-50000)/256;
  17.         TL0=(65536-50000)%256;
  18.         TH1=(65536-50000)/256;
  19.         TL1=(65536-50000)%256;
  20.         EA=1;
  21.         ET0=1;
  22.         ET1=1;
  23.         TR0=1;
  24.         TR1=1;
  25.         while(1)
  26.         {
  27.         display(hour,min,sec);
  28.         }
  29. }


  30. void display(unsigned char hour,unsigned char min,unsigned sec)
  31. {
  32.        
  33.         P0=LED[hour/10];
  34.         P2=0xfe;
  35.         delay(1);
  36.         P2=0xff;
  37.        
  38.         P0=LED[hour%10];
  39.         P2=0xfd;
  40.         delay(1);
  41.         P2=0xff;
  42.        
  43.         P0=LED[min/10];
  44.         P2=0xfb;
  45.         delay(1);
  46.         P2=0xff;
  47.        
  48.         P0=LED[min%10];
  49.         P2=0xf7;
  50.         delay(1);
  51.         P2=0xff;
  52.        
  53.         P0=LED[sec/10];
  54.         P2=0xef;
  55.         delay(1);
  56.         P2=0xff;
  57.        
  58.         P0=LED[sec%10];
  59.         P2=0xdf;
  60.         delay(1);
  61.         P2=0xff;
  62. }

  63. void T0_time() interrupt 1
  64. {
  65.         TH0=(65536-50000)/256;
  66.         TL0=(65536-50000)%256;
  67.         num1++;
  68.         if(num1==4)
  69.         {
  70.         num1=0;
  71.         led1=!led1;
  72.         }
  73. }

  74. void T1_time() interrupt 3
  75. {
  76.         TH1=(65536-50000)/256;
  77.         TL1=(65536-50000)%256;
  78.         num2++;
  79.         if(num2==20)
  80.         {
  81.         num2=0;
  82.         sec++;
  83.         if(sec==60)
  84. ……………………

  85. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
實驗三 定時器.zip (203.16 KB, 下載次數(shù): 171)




評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:404480 發(fā)表于 2018-9-30 19:10 | 顯示全部樓層
本帖最后由 ponuyy 于 2018-10-2 01:57 編輯

如果用7SEG-MPX8的話,這個程序需要怎么改,就是把第三個和第五個數(shù)碼管改成橫杠顯示,程序怎么搞
回復

使用道具 舉報

ID:568590 發(fā)表于 2019-6-21 09:13 | 顯示全部樓層
謝謝大佬 感激不盡
回復

使用道具 舉報

ID:570304 發(fā)表于 2019-6-23 21:50 | 顯示全部樓層
感覺還可以
回復

使用道具 舉報

ID:622411 發(fā)表于 2019-10-12 08:52 來自觸屏版 | 顯示全部樓層
為什么源碼和仿真都打不開???
回復

使用道具 舉報

ID:759356 發(fā)表于 2020-5-23 19:14 | 顯示全部樓層
挺好的。
回復

使用道具 舉報

ID:762863 發(fā)表于 2020-5-27 20:47 | 顯示全部樓層
是真的寫的好!
回復

使用道具 舉報

ID:315554 發(fā)表于 2020-5-28 11:03 | 顯示全部樓層
學習了,謝謝分享,代碼看著寫得很好,
回復

使用道具 舉報

ID:772139 發(fā)表于 2020-6-7 20:07 | 顯示全部樓層
感謝大佬 感激
回復

使用道具 舉報

ID:772139 發(fā)表于 2020-6-7 20:08 | 顯示全部樓層
感謝大佬 幫了我大忙了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表