欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
一個單片機定時器控制流水燈小程序
[打印本頁]
作者:
cyccyccyc
時間:
2018-11-2 17:42
標題:
一個單片機定時器控制流水燈小程序
新人報到!
前段時間自己寫了這個小程序,也不知算不算入門,歡迎各位大佬指正。
單片機源程序如下:
#include <reg51.h>
#include "intrins.h"
#include "common.h"
#define FOSC 11059200ul
#define T0_H (65536-(50*FOSC)/(12*1000))/256
#define T0_L (65536-(50*FOSC)/(12*1000))%256
uint16_t i = 0;
uint16_t i1 = 0;
uint16_t i2 = 0;
uint16_t i3 = 0;
bit ayan = 0;
bit byan = 0;
bit cyan = 0;
sbit LED0 = P2^3;
sbit LED1 = P2^4;
sbit LED2 = P2^5;
sbit LED3 = P1^0;
sbit LED4 = P1^1;
sbit LED5 = P1^2;
sbit LED6 = P1^3;
sbit LED7 = P1^4;
sbit LED8 = P1^5;
sbit LED9 = P1^6;
sbit LED10 = P1^7;
sbit KEY1 = P2^0;
sbit KEY2 = P2^1;
uint16_t t=1;
uint16_t t1=0;
void delay_ms(uint16_t dly);
void time();
void main()
{
P1 = 0xfe;
time();
while(1)
{
if(t1==0)
{
delay_ms(1000);
P1 = _crol_(P1,1);
}
if(KEY1 == 0)
{
delay_ms(10);
while(!KEY1);
t=!t;
}
if(t==0)
{
if(ayan)
{
ayan = 0;
LED0 = !LED0;
}
if(byan)
{
byan = 0;
LED1 = !LED1;
}
if(cyan)
{
cyan = 0;
LED2 = !LED2;
}
}
if (t == 1)
{
LED0 = 1;
LED1 = 1;
LED2 = 1;
}
if(!KEY2)
{
delay_ms(10);
while(!KEY2);
t1=!t1;
}
if(t1== 1)
{
delay_ms(1000);
P1 = _cror_(P1,1);
}
}
}
void time(){
TMOD=0x01;
TH0=T0_H;
TL0=T0_L;
EA=1;
ET0=1;
TR0=1;
}
void timer0() interrupt 1 {
TH0 = T0_H;
TL0 = T0_L;
if(++i1 >=10){
i1 = 0;
ayan = 1;
}
if(++i2 >= 20){
i2=0;
byan = 1;
}
if(++i3 >= 100){
i3=0;
cyan = 1;
}
}
void delay_ms(uint16_t dly){
uint8_t i;
while(dly--)
for(i = 110; i > 0; i--);
}
復制代碼
所有資料51hei提供下載:
定時器流水燈小程序.zip
(5.13 KB, 下載次數: 16)
2018-11-2 17:39 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1