日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

lesson3 数码管静态显示及定时器和中断应用

發布時間:2024/4/17 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lesson3 数码管静态显示及定时器和中断应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、電容幫助晶振起振。

2、發光二極管LED(Light Emitting Diode),液晶LCD(Liquid Crystal Display)。

3、數碼管原理:

?

4、中斷系統:中斷發生——中斷響應和中斷服務——中斷返回。(中斷嵌套)

5、優點:1.分時操作;2.實時響應;3.可靠性高。

6、80C51單片機的中斷優先級有三條原則:CPU同時接收到幾個中斷時,首先響應優先級別最高的中斷請求。

正在進行的中斷過程不能被新的同級或低優先級的中斷請求所中斷。

正在進行的低優先級中斷服務,能被高優先級中斷請求所中斷。

為了實現上述后兩條原則,中斷系統內部設有兩個用戶不能尋址的優先級狀態觸發器。其中一個置1,表示正在響應高優先級的中斷,它將阻斷后來所有的中斷請求;另一個置1,表示正在響應低優先級中斷,它將阻斷后來所有的低優先級中斷請求。

7、中斷響應條件:1.中斷源有中斷請求;2.次中斷源的中斷允許為1;3.CPU開中斷(EA=1)。

8、定時/計數器:一、定時/計數器的結構

定時/計數器的實質是加1計數器(16位),由高8位和低8位兩個寄存器組成。TMOD是定時/計數器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動和停止及設置溢出標志。

View Code 1 #include<reg52.h>
2 #include<intrins.h>
3 unsigned char code shu[]={0x3f,0x06,0x5b,0x4f,0x66,
4 0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//顯示數0123456789ABCDEF
5 unsigned int tt0,tt1,i,j,a;

6 unsigned char code hello[]={0x76,0x79,0x38,0x38,0x3f,};//顯示HELLO
7 /*void qd0()
8 {
9 TMOD=0X01;//設置定時器0為工作方式1
10 TH0=(65536-50000)/256;
11 TL0=(65536-50000)%256;
12 ET0=1;//開定時器0
13 TR0=1;//啟動定時器0
14 } */

15 void qd1()
16 {
17 TMOD=0X11;
18 TH1=(65536-50000)/256;
19 TL1=(65536-50000)%256;
20 ET1=1;
21 TR1=1;
22 }
23 /*void liushui(unsigned char temp)
24 {
25 P1=_crol_(temp,1);
26 } */

27 void delay(unsigned int b)
28 {
29 while(b--);
30 }
31 void main()
32 {
33 EA=1;//開總中斷
34 P2=0;i=7;j=0;

35 P0=shu[i];
36 tt0=0;tt1=0;P1=0XFE;
37 TMOD=0X11;//設置定時器0為工作方式1
38 TH0=(65536-50000)/256;

39 TL0=(65536-50000)%256;
40 TH1=(65536-50000)/256;
41 TL1=(65536-50000)%256;
42 ET0=1;//開定時器0
43 ET1=1;

44 TR0=1;//啟動定時器0
45 TR1=1;

46 while(1)
47 {
48 if (tt0==10)
49 {
50 tt0=0;
51 P1=_crol_(P1,1);
52 if (i==0)
53 {
54 j++;
55 if (j%2==1) P1=0;
56 else P1=0xff;
57 }
58 if (j==6) while(1)
59 {
60 for (a=0;a<5;a++)
61 {
62 P2=a+1;
63 P0=hello[a];
64 delay(50);
65 }
66 }
67
68 }
69 if (tt1==2)
70 {
71 tt1=0;
72 if (i>0)i--;
73 P0=shu[i];
74 }
75 }
76 }
77 void d0() interrupt 1
78 {
79 TH0=(65536-50000)/256;
80 TL0=(65536-50000)%256;
81 tt0++;
82 }
83 void d1() interrupt 3
84 {
85 TH1=(65536-50000)/256;
86 TL1=(65536-50000)%256;
87 tt1++;
88 }

注:1、匯編終于看完了,整整十天,好爽啊。。。。

2、單片機的前幾章算是復習,筆記比較粗糙。

3、再次,我使用的開發板不是視頻教程里面的

轉載于:https://www.cnblogs.com/quantumplan/archive/2012/03/20/2407289.html

總結

以上是生活随笔為你收集整理的lesson3 数码管静态显示及定时器和中断应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。