給大家共享一個中穎單片機實現繼電器控制的源碼:- /**************************************************************************************************
- 說明;繼電器控制使用了12V外部電源,所以在使用時連接仿真器的同時還要外接12V電源從J1輸入,不然在下載時會
- 彈出一個檢測到未上電的對話框.
- 本程序的功能: 使用定時器1產生中斷使繼電器周期性的斷開閉合
- 要求:打開撥碼開關J11的1腳
- **************************************************************************************************/
- #include <sh88f516.h>
- unsigned char i=0;
- bit time1flag;
- main()
- {
- char i,j=0;
- CLKCON = 0x00;
- P4M0 = 0x00;
- P4M1 = 0x10; //P4_7推挽輸出模式
- TMOD = 0x10; //定時器工作方式1,16位
- TH1 = 0xF6; //(65536-1536)/16M=4ms
- TL1 = 0x00;
- TR1 = 1; //開始計數
- ET1 = 1; //打開定時器1中斷
- EA = 1; //打開總中斷
-
-
- while(1)
- {
- if(time1flag)
- {
- time1flag = 0;
- i++;
- if(i>10)
- {
- i=0;
- P4_7 = ~P4_7; //Relay control bit
- }
-
- if(j<11)
- {
- P1_5=~P1_5;
- P1_4=~P1_4;
- j++;
- P1_7=~P1_7;
- P1_6=~P1_6;
-
- }
- P1_2=~P1_2;
- P1_3=~P1_3;
- }
-
-
- }
- }
- void TIME1_INT() interrupt 3 //定時器1的中斷號為3.
- {
-
- ET1 = 0; //close定時器1中斷
- TH1 = 0x06; //(65536-1536)/16M=4ms
- TL1 = 0x00; //(65536-1536)/16M=4ms
- i++;
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

壓縮包里面包含有中穎單片機sh88f516常用功能的源碼,中文注釋都很詳細
下載地址:http://www.zg4o1577.cn/bbs/dpj-98300-1.html
|