2019年5月31日 星期五

戒瞋

1.吾日三省吾身
2.感謝他增進您的修行
3.瞋是心中火
4.無能的人才生氣
5.今天做多少好事
6.今天產生多少慈悲心
7.語言反省

2019年5月26日 星期日

107年 8051


#include <at89x52.h>
char seg7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0XFF};
char seg_data[]={0xa4,0xc0,0xf9,0x80};
char seg_data1[]={0xc0,0x82,0xc0,0x90};
char seg_data2[]={0x82,0xf8,0x80,0x90};
char left_move[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
char increase[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};
char increase2[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};
char scanline=0x80;
sbit sw1=P3^2;//left
sbit sw2=P3^3;//right

int k=0,x=0;

void delay_1ms(int x)
{
int i,j;
for(i=0;i<x;i++)
  for(j=0;j<114;j++)
       ;
}
void debouncer()
{
int i,j;
for(i=0;i<20;i++)
  for(j=0;j<114;j++)
       ;
}
void init()
{
int i;
for(i=0;i<2;i++)
{
P2=0x00;P1=0X00;P3=0x0F;P0=0X00;delay_1ms(200);
P2=0xff;P1=0XFF;P3=0xFF;P0=0XFF;delay_1ms(200);
}
P2=seg7[k];
}
main()
{
init();
   while(1)
{
if (sw1==0)
   {
debouncer();
while(sw1==0);
debouncer();
k=k+1;
if (k>9) k=0;
}
if (sw2==0)
{
debouncer();
while(sw2==0);
debouncer();
k=k-1;
if (k<0) k=9;
}
   if (k==1)
{
//P2=0x00;
P3=P3|0XF0;
P2=seg7[k];
       P1=0x00;delay_1ms(200);
P1=0xff;delay_1ms(200);
   // LED  循環不斷閃爍
  }
if (k==2)
{
     int i;
P3=P3|0XF0;
P2=seg7[k];
for(i=0;i<=7;i++)
{
P1=~left_move[i];delay_1ms(200);
}
}
//LED  單顆左移,
if (k==3)
{
      int i;
P3=P3|0XF0;
P2=seg7[k];
{
   for(i=7;i>=0;i--)
   {
   P1=~left_move[i];delay_1ms(200);
   }
}
}
//LED  單顆右移
if(k==4)
{
       int i;
P3=P3|0XF0;
P2=seg7[k];
for(i=0;i<=7;i++)
  {
  P1=~increase[i];delay_1ms(200);
  }
   //  LED  左移漸亮(逐一多顆亮)
  }
if (k==5)
{
   //LED 右移漸亮(逐一多顆亮)
       int i;
P3=P3|0XF0;
P2=seg7[k];
for(i=0;i<=7;i++)
{
P1=~increase2[i];delay_1ms(200);
}
}
if (k==6)
{
int i,j;
P2=seg7[k];
// for(j=0;j<=100;j++)
// {
//   scanline=0x80;
//   for(i=0;i<=3;i++)
//   {
// P0=0x00;//要先關掉四位數七段顯示器,否則無法正常顯示
// P3=scanline;
// P0=~seg_data[i];delay_1ms(4);
// scanline=scanline>>=1 ;
//    }
//   }
// for(j=0;j<=100;j++)
// {
//   scanline=0x80;
//   for(i=0;i<=3;i++)
//   {
// P0=0x00;//要先關掉四位數七段顯示器,否則無法正常顯示
// P3=scanline;
// P0=~seg_data1[i];delay_1ms(4);
// scanline=scanline>>=1 ;
//    }
//   }
// 四位七段出現 2018  及 0609 交替顯示。
}
if (k==0)
{
P2=seg7[k];
      P0=0xFF;P1=0xFF;
//LED、 四位、七段均需熄滅

}
if (k==7)
{
P2=seg7[10];
      P0=0xFF;P1=0xFF;
//LED、 四位、七段均需熄滅

}
if (k==8)
{
P2=seg7[10];
      P0=0xFF;P1=0xFF;
//LED、 四位、七段均需熄滅

}
if (k==9)
{
P2=seg7[10];
      P0=0xFF;P1=0xFF;
//LED、 四位、七段均需熄滅

}

 }
}




































































2019年5月25日 星期六

金剛薩埵百字明咒

百字明咒

明就仁波切持誦:

嗡 邊雜薩埵薩瑪雅 瑪努巴拉雅 邊雜薩埵喋諾巴 地札則卓美巴哇 蘇埵卡唷美巴哇 蘇波卡唷美巴哇 阿努惹多美巴哇 薩哇悉地美札雅剎 薩哇嘎瑪速札美 積當希哩呀 咕嚕吽 哈哈哈哈 後 巴嘎溫 薩哇達他嘎達 邊雜瑪美穆雜 邊雜巴哇 瑪哈薩瑪雅 薩埵 阿
金剛薩埵心咒:嗡 邊雜薩埵吽

慧律法師持誦:

嗡。乏資拉薩埵。三昧耶。麻納巴拉耶。乏資拉。薩埵諦。奴巴諦茶。笛兒作。莫巴瓦。蘇多使藥。莫巴瓦。蘇巴使藥。莫巴瓦。阿奴拉給都。莫巴瓦。薩兒乏。錫的。莫巴兒牙茶。薩兒乏。葛兒麻。蘇札莫。汁多。釋利養。古魯。吽。哈哈哈哈火。巴葛乏。薩兒乏。達他葛達。乏資拉。沒木喳。乏資拉。巴乏。麻訶三昧耶。薩埵阿吽怕。阿(二十一遍)

常誦此咒有下列功德:

◎能懺悔及消除無始以來之罪業。
◎能止一切惡念,令不增長。
◎能破除一切煩惱。
◎能增長無量無邊之福智。
◎能生種種功德,於修法後,能加誦此咒若干遍,所有修法時,偶有過失錯誤遺漏之處,諸佛菩薩不將為咎。
◎隨願所求,事事如意。 .
『此為密咒要灌頂,才有傳承加持力!』
註:若無灌頂者於持誦前唸大輪金剛陀羅尼二十一遍亦可(教念網頁)
何謂心月輪?
教念視頻慧律法師持誦百字明咒
教念視頻明就仁波切親誦百字明咒

2019年5月22日 星期三

戒邪淫


問:下面這個同修問,我想戒邪淫,但好難戒。請問有什麼方法可以幫我戒除?
答:現在這個社會可以說淫風日熾,引誘、誘惑又特別的多,即使是學了佛的人,如果自己定功不強,難免都會受誘惑,也可能會做出錯事。怎麼辦?最重要,自己要加強修持的功夫,還是講這三個根的問題,這是一個綜合的一套修學的系統。我們應該有固定的早晚課,有健康的作息制度,因為人作息符合自然,早起早睡,他的陽氣足,自然就欲望會淡化愈是陰氣盛的人,欲望就會愈多。所以古人講,精,精氣神的精,精要是滿就少欲,神要是足就少睡,氣要是足就少言。要懂得健康的作息。
   第二個,應該對治自己的煩惱習氣,看這些方面的戒淫的書籍。我在這裡推薦,
一個是「欲海回狂」,周安士先生《安士全書》裡面第三篇。有人曾經也都啟請說讓我來講,但是我現在找不出這個時間,希望你們自己回去看,特別是年輕人,這部書實在是太好了!你只要耐心的、細細的看,不要求快,你看的過程中,那個煩惱自自然然就會淡化。看一遍就等於消一遍的業障,看十遍,消十遍業障。最好把它擺在自己的案頭,每天像當固定功課一樣看上一段。那裡面講的理事因果都講得非常圓滿,人知道有因果,不敢造這些惡業,特別是「萬惡淫為首」,這種惡業所感得的果報是最慘烈的。我曾經也講過這方面的專題,我記得講《文昌帝君陰騭文》,我講了總共一百小時,其中講戒淫這方面的,我專門用兩個小時,一節課的時間來講戒淫專集。在講到《朱子治家格言》裡面講的「見色而起淫心,報在妻女」,這也講了很長的篇幅,大概也差不多是兩小時,都可以用來參考。   這個戒律是根本大戒,要知道淫不僅是萬惡之首,而且是生死輪迴的根本,「一切眾生皆以淫欲而正性命」。為什麼你會來六道受生?因為你有淫欲。只要你不是佛菩薩再來的,你是六道眾生,你肯定會有,不管你多清淨,你都會有。凡夫這是無始劫來的習氣,要斷不容易,斷了,那就是阿羅漢果了。沒證阿羅漢之前,那都得謹小慎微,要防止,要克制怕它決堤,怕它現行。而這個煩惱很容易犯,又很難斷,根深柢固,所以修行人真的要對治。你看《楞嚴經》上佛教阿難要修三昧,要出塵勞,第一個「清淨明誨」就教他戒淫。一般我們講五戒,殺、盜、淫、妄、酒,淫擺在第三位,殺擺在第一,那是對普通人來講。但是對真正修行人,對阿難尊者這樣的,他想這一生出三界,那佛就跟他講實話了,第一個得斷淫。「必使婬機,身心俱斷,斷性亦無,於佛菩提,斯可希冀」,你才可能說得到菩提。  包括你要往生也是要斷,《無量壽經》裡講得很清楚,你們自己看看第二十五品「往生正因」,它講的十善,「一不殺生,二不偷盜,三不淫欲」,它沒有講「不邪淫」,跟《十善業道經》裡講的不一樣,《無量壽經》講的比《十善業道經》講的要高。《十善業道經》是人天法,講不邪淫,不邪淫就是夫妻以外的不可以做,夫妻之間還可以。可是《無量壽經》上講的「不淫欲」,這個欲是指心中的欲望,沒有說一定要事。如果是夫妻之間,對方沒有學佛,自己求往生,那我自己要求自己,不是要求對方,跟家裡人相處懂得恆順眾生,自己要求自己沒有這個念頭。當然如果沒成家的,那就不必找麻煩了,你真想往生,何必搞那麼多煩惱?這是佛跟我們講的實話,這是對一個真正想出三界的人講的話,對一般人只是講倫理道德,講因果,講你好好做人。所以懂得這個道理,我們要認真對治這無始來最根本的煩惱。包括我自己本人也是,尤其在這方面多下功夫,我自己也是業障深重,煩惱也是很重,大概是跟這個社會的眾生當然是共業所感,現在眾生這個業就很重。我們自己要對治,那真的是把它當作第一個事情來防範。

我現在每天晚上功課,我自己給自己加的「蕅益大師戒淫文」,蕅益大師《靈峰宗論》裡面專門有一篇「戒婬文」,字數不多,大概也就是三、四百字,天天晚上念一部,提醒自己。蕅益大師講戒淫也是專門對修行人講的,都是要必使淫機身心俱斷。淫機,機是指細小的念頭都要斷盡,不僅要斷身淫,還要斷心淫,念頭都不能有,這個才可能入三摩地,你才能可能得到念佛三昧。   所以持戒為本,很重要,這個戒不僅是身行的戒,更重要是心地上的戒。有志者事竟成,你不妨也可以把這些戒淫的文章書籍當作每天的功課來做,日積月累,它會有很大的效果。你的印象深刻了,你待人處事接物當中一下就能提得起來。你印象不深,薰習得不久、不夠,那你很容易被境界轉。這是一點心得體會,供您參考。


蕅益大師戒淫文

人知殺生之業最慘,不知邪淫業尤慘也;人知殺生之報最酷,不知邪淫報尤酷也。蓋種種受生,肇端淫慾;種種造罪,托因有生:淫為生本,生為罪本。是故三途劇苦,人世余殃,淫意才萌,一切俱起。淫習難斷,如火燎原:於極臭處,謬為香美;與極穢處,謬為潔淨。隨處苟合,何異畜生?非道染觸,過於雞犬!此在稍有良心者,便應痛絕,奈何聰明學識之士,甘此喪心無恥耶!

一念欲心,是鐵床銅柱因;一念愛心,是積寒堅冰因。況具行非法,滅理亂常,塵沙劫數,不足盡其辜,千萬億言,不足數其惡。須發大慚懼、大誓願:

寧火炙刀剜,終不與一切男女欲心相觸;
寧碎身粉骨,終不與一切男女污穢交遘。

設忘正念,更犯前非,必遭毒害橫災,生身陷入地獄。以茲猛決,善自要心,時時懺除往業,切切悔過自新,庶白法可修。而又勤觀經論格言,以策廢忘;精修對治觀行,以除毒本。不然,縱有多智禪定現前,必落魔道,永無出期。矧世智辯聰,曾非大器,隨業直墜,百劫千生,受諸燒煮,尚不成魔,安能成佛?尚失人身,安能往生?請於靜時,仔細思之,於對境努力防之;不然,諸佛無下手處,善友其奈爾何哉!


Arduino





























































byte adNUM = 16; // 宣告有幾個廣告燈變化
byte ledPin[] = { 9, 8, 7, 6, 5, 4,3,2};  // 宣告 LED 的接腳 I/O 陣列
int delaytime = 100;   // 延遲時間預設為 100 ms
int ad[] = {0x81,0x42,0x24,0x18,0x24,0x42,0x81,0x00,0x81,0xc3,0xe7,0xff,0xe7,0xc3,0x81,0x00 };
int i,j;            // for迴圈的計數變數

// the setup routine runs once when you press reset:
void setup() {             
  // initialize the digital pin as an output.
  for (i=0; i<8; i++)
  {  pinMode(ledPin[i], OUTPUT);
     digitalWrite(ledPin[i], HIGH);
  }
  // 設定串列埠的鮑率為 9600 bps
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
 // 判斷串列埠緩衝區有無資料
  if (Serial.available()) {
    delaytime=Serial.parseInt();      // 從串列埠緩衝區中讀取下一個有效的整數資料
    Serial.print(delaytime);          // 在 Serial Monitor 中顯示訊息
    Serial.println(" ms");            // ms
  }
  for (i=0; i<adNUM; i++)
  {  OutPort(ad[i]);
     delay(delaytime);               // wait for a second
  }
}

// 將指定的資料依序顯示在 LED 上
void OutPort(byte dat) {
  for (j=7; j>=0; j--) {
    if (dat % 2==1)    // 除 2 的餘數代表要取出 dat 的最低位元狀態
      digitalWrite(ledPin[j], HIGH);  // LED off
    else
      digitalWrite(ledPin[j], LOW);   // LED on
    dat=dat >> 1;      // dat 右移一個位元, 繼續偵測其它位元狀態
  }
}







例:pili燈左右來回跑




























































































/*  使用查表法的廣告燈程式    */
byte adNum = 12; // 宣告有幾個廣告燈變化
byte ledPin[] = { 2,3,4,5,6,7,8,9};  // 宣告 LED 的接腳 I/O 陣列
int delaytime = 2000;   // 延遲時間預設為 100 ms
byte adTable[] = {
             0b11000000,
             0b01100000,
             0b00110000,
             0b00011000,
             0b00001100,
             0b00000110,
             0b00000011,
             0b00000110,
             0b00001100,
             0b00011000,
             0b00110000,
             0b01100000,
             };
int i,j,k;            // for迴圈的計數變數
// the setup routine runs once when you press reset:
void setup()
{
  // put your setup code here, to run once:
  for(i=0;i<8;i++)
  {
    pinMode(ledPin[i],OUTPUT);
    digitalWrite(ledPin[i],HIGH);
  }
}
void outPort(byte dat)
{
  for(j=0;j<8;j++)
  {
    if(dat %2==0) digitalWrite(ledPin[j],HIGH);
    else digitalWrite(ledPin[j],LOW);
    dat=dat/2;
  }
}

void loop() {
  // put your main code here, to run repeatedly:
  for(k=0;k<adNum;k++)
  {
   outPort(adTable[k]);delay(delaytime);
  }
}
範例2:
/*  使用查表法的廣告燈程式    */
byte adNum = 15; // 宣告有幾個廣告燈變化
byte ledPin[] = { 2,3,4,5,6,7,8,9};  // 宣告 LED 的接腳 I/O 陣列
int delaytime = 2000;   // 延遲時間預設為 100 ms
byte adTable[] = {
             0b00000001,
             0b00000011,
             0b00000111,
             0b00001111,
             0b00011111,
             0b00111111,
             0b01111111,
             0b11111110,
             0b11111100,
             0b11111000,
             0b11110000,
             0b11100000,
             0b11100000,
             0b11000000,
             0b10000000,
             };
int i,j,k;            // for迴圈的計數變數
// the setup routine runs once when you press reset:
void setup()
{
  // put your setup code here, to run once:
  for(i=0;i<8;i++)
  {
    pinMode(ledPin[i],OUTPUT);
    digitalWrite(ledPin[i],HIGH);
  }
}
void outPort(byte dat)
{
  for(j=0;j<8;j++)
  {
    if(dat %2==0) digitalWrite(ledPin[j],HIGH);
    else digitalWrite(ledPin[j],LOW);
    dat=dat/2;
  }
}

void loop() {
  // put your main code here, to run repeatedly:
  for(k=0;k<adNum;k++)
  {
   outPort(adTable[k]);delay(delaytime);
  }
}





























































2019年5月15日 星期三

四位元七段顯示器 & 三用電表量法


1.A1015S屬於 PNP


2.c9012屬於 PNP









#include "at89x52.h"
char P3table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int counter=0;
int j=0;
int time=20;
char bcd[]={0,0};
char P2table[]={1,2};
void delay(int cnt)
{
int i,j;
for(i=0;i<cnt;i++)
for(j=0;j<114;j++);
}
void blink()
{
int i,j;
for(i=0;i<3;i++)
{
P1=0xfe;delay(1000);
P1=0xff;delay(1000);
}
}

main()
{
IE=0X8a;
TMOD=0x10;
TH0=(8192-5000)/32;
TL0=(8192-5000)%32;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TR0=1;
TR1=1;
while(1);
}
void int_T0(void) interrupt 1
{
TH0=(8192-5000)/32;
TL0=(8192-5000)%32;
P3=P3table[bcd[j]];
P2=~P2table[j];
j++;
if(j==2)
j=0;
}
void int_T1(void) interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
time--;
if(time==0)
{
time=20;
counter++;
if(counter==10)
P3=0xFF;//關閉閃爍三次
TR0=0;
    TR1=0;
blink();
}
bcd[0]=counter/10;
bcd[1]=counter % 10;
}
}
例:控制第二腳亮滅






































一、sbit定義特殊功能寄存器的位元變數
 bitsbit都是C51擴展的變數類型。
典型應用是:sbit P0_0=P0^0;//即定義P0_0P0口的第1位,以便進行位操作
bitint char之類的差不多,只不過char=8, bit=1位而已。都是變數,編譯器在編譯過程    
 中分配位址。


二、BDATA  D:20H~2FH  片內RAM位尋址區
bdata如何使用它呢?
若程序需要8個或者更多的bit變量,如果你想一次性給8個變量賦值的話就不方便了,(舉個例子說說它的方便之處,想更深入的了解請在應用中自己琢磨)又不可以定義bit數組,只有一個方法
char bdata MODE;
sbit MODE_7 = MODE^7;
sbit MODE_6 = MODE^6;
sbit MODE_5 = MODE^5;
sbit MODE_4 = MODE^4;
sbit MODE_3 = MODE^3;
sbit MODE_2 = MODE^2;
sbit MODE_1 = MODE^1;
sbit MODE_0 = MODE^0;
8bit變量MODE_n 就定義好了這是定義語句,Keilc 的特殊數據類型。記住一定要是sbit不能bit MODE_0 = MODE^0;





















































































































































































algorithm

 #include <iostream> #include <string.h> using namespace std; int main(int argc, char** argv)  { for(int j=2;j<=100;j++)//j...