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

標題: 單片機秒表顯示設計流程圖與心得體會 [打印本頁]

作者: 飃一壘    時間: 2018-4-23 18:01
標題: 單片機秒表顯示設計流程圖與心得體會
新手關於單片機的一個小程序


流程圖
Protues仿真圖


心得體會
在這次實驗過程中,有個于我來說比較難的地方,對于按鍵如何讓其對數碼管的控制可以做到隨時控制,一開始設計的程序對讓數碼管顯示,然后把按鍵服務放在定時中斷函數里。這樣數碼管就能做到隨時的改變時間了,我發現小組合作十分有用,和別人交流可以很大程度上拓展你的思維,對完善程序有著很大的幫助!

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

  2. #define uchar unsigned char

  3. sbit key1=P3^7;

  4. sbit key2=P3^2;

  5. bit   m=0;

  6. uchar t=0,i=0,k=0;

  7. uchar  n=0;

  8. void main()

  9. {

  10.   uchar code led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//建立數模

  11.   TMOD=0x01;//定時器模式選擇

  12.               P0=~0xff;

  13.               P2=~0xff;

  14.   TH0=0x3c;

  15.   TL0=0xb0; //定時器賦初值

  16.               TH1=0x3c;

  17.               TL1=0xb0;

  18.   EA=1;

  19.   ET0=1;

  20.   TR0=1;

  21.               ET1=1;//定時中斷初始化

  22.               TR1=1;

  23.               IE0=1;

  24.               EX0=1;//中斷初始化

  25.               while(1)

  26.               {if(k>0)

  27.               {            

  28.               if(m)

  29.               {

  30.               m=0;

  31.               P0=led_mod[i/10];

  32.               P2=led_mod[i%10];//數碼管顯示

  33.               i++;

  34.               if(i==100) i=0;

  35.               }}}}

  36. void T0_srv (void) interrupt 1 using 1 //定時中斷函數        

  37. {  t++;

  38. if(t==20){t=0;m=1;}

  39. TH0=0x3c;TL0=0xb0;

  40. }

  41. void T1_srv (void) interrupt 3{

  42. if(~key1){

  43. k++;

  44. TR0=~TR0;

  45. }

  46. }

  47. void INT0_srv (void) interrupt 0    //中斷函數(INTO)

  48. {

  49. if(~key2){

  50. if(~key2)

  51. {

  52. i=0;

  53. while(~key2);

  54. }

  55. }

  56. }
復制代碼

完整的Word格式文檔51黑下載地址:
實驗三 余江虎 B16040321.docx (110.87 KB, 下載次數: 21)






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