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

標題: 求各位大佬幫幫小弟啦 3個單片機問題 [打印本頁]

作者: KESSEN    時間: 2017-8-11 09:27
標題: 求各位大佬幫幫小弟啦 3個單片機問題
C求各位大佬幫幫小弟啦~


現在我有三個問題:
1.如何用AT89c52控制三個led小燈用不同頻率閃爍?我用定時器只能做到兩個,第三個定時器我不會開

2.如何用AT89C52做一個按鍵控制LED1602A顯示的程序,這個我是純小白,學的時間太短了。。
3.程序我燒到單片機里后,如何和三個led小燈連接到一起才不會吧單片機燒掉。。。




感謝各位大佬!!!

作者: yzwzfyz    時間: 2017-8-11 10:16
太浪費資源了,一個定時器就可以搞定了
作者: KESSEN    時間: 2017-8-11 14:13
yzwzfyz 發表于 2017-8-11 10:16
太浪費資源了,一個定時器就可以搞定了

大佬可不可以詳細地說一下呢~
我是新手,搞不太懂
作者: 哈2哈哈哈哈哈1    時間: 2017-8-11 17:15
你可以調PWM
作者: hange_v    時間: 2017-8-11 17:56
只用一個定時器計數,再來三個變量每次計數器滿了就加一,三個變量達到設定數值(三個設定數值由你的頻率決定)就切換燈的狀態。第二個問題寫好1602的驅動,根據按鍵顯示值。第三個用三極管,單片機IO口接基極。
作者: 小白@    時間: 2017-8-11 18:01
 太浪費資源了,一個定時器就可以搞定了
作者: 小白@    時間: 2017-8-11 18:01
第三個用三極管,單片機IO口接基極
作者: zl2168    時間: 2017-8-11 19:43
一個定時器就可以
作者: hange_v    時間: 2017-8-12 22:02
看我以前傳的51自學筆記,里面有1602例程,我自己寫的。http://www.raoushi.com/bbs/dpj-85237-1.html
作者: 大叔很可愛    時間: 2017-8-12 22:29
用一個定時器,每0.1毫秒加一,對三個小燈設定一個值,用if函數控制,低于相應的值就高電平,超過就低電平。
作者: hawklm    時間: 2017-8-12 22:59
開一個定時器,每10毫秒三個小燈的計數值累加一次,然后判斷計數值,到了閾值就變化一次(亮滅)
作者: 微笑達    時間: 2017-8-12 23:38
論壇大神多,幫你頂帖等待。
作者: dzbj    時間: 2017-8-12 23:48
1. 樓上前輩都回答了 同上
2. 網上有很多手把手的教材 你下一個跟著做就行了 我就是這么學的
3. 簡單的可以從vcc分別串聯3個電阻到3個led 每個10K 這樣一個led的電流也就幾毫安 三個一起也不會燒片子 復雜一點的就要加驅動 用三極管 mosfet或者2303都可以
作者: 驅蚊燈    時間: 2017-8-13 05:53
//液晶1602(帶字庫)顯示測試程序// #include<reg51.h> #define uint unsigned int #define uchar unsigned char        //宏定義 uchar code table[]=" LU LIE QI "; uchar code table1[]="WWW.LAOWANG.COM"; sbit LCD_RS=P2^6;          //位定義 sbit LCD_RW=P2^5; sbit LCD_EN=P2^7; uchar num;           //定義全局變量 //延時程序===1ms// void delay_1ms(uint mas) {         uint i,j;         for(i=0;i<mas;i++)         for(j=0;j<110;j++); } void write_com(uchar com)  //  寫命令 {         LCD_RS=0;         LCD_RW=0;         P0=com;         delay_1ms(5);         LCD_EN=1;         delay_1ms(5);         LCD_EN=0; } void write_data(uchar dadt) //寫數據 {         LCD_RS=1;         P0=dadt;         delay_1ms(5);         LCD_EN=1;         delay_1ms(5);         LCD_EN=0;  } void init()  //初始化函數 {         LCD_EN=0;         write_com(0x38);        //顯示模式設置16X2,5X7點陣,8位數據口         write_com(0x0f);        //開顯示、開關標、關標閃爍         write_com(0x06);        //關標加一         write_com(0x01);        //清屏         write_com(0x80+0x10);        //數據指針位置         } //=====主函數======// void main() {         init();                  for(num=0;num<10;num++)         {                         write_data(table[num]);                         delay_1ms(20);                                          }         write_com(0x80+0x50);         for(num=0;num<15;num++)         {                         write_data(table1[num]);                         delay_1ms(20);                                          }         for(num=0;num<16;num++)         {                 write_com(0x18);                 delay_1ms(500);                 }         while(1); }




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