結(jié)合"61板"的三個(gè)按鍵完成帶有語(yǔ)音播報(bào)功能的電子鐘:、KEY1--按一下播放年、月、日,再按一下播放時(shí)、分 (I/O口A0) // 連續(xù)按3s,則進(jìn)入調(diào)整狀態(tài) 調(diào)整狀態(tài)下調(diào)整內(nèi)容的切換 // 2、key2--年、月、日、時(shí)、分的增加(I/O口A0) // 3、KEY3--年、月、日、時(shí)、分的減少(I/O口A0)
標(biāo)簽: KEY1 按鍵 語(yǔ)音播報(bào) 電子鐘
上傳時(shí)間: 2014-01-14
上傳用戶:qunquan
ARM7 LPC2368 鍵盤檢測(cè):按一下KEY1,L1燈亮,按一下key2,L2燈亮,按一下KEY3,L3燈亮,按一下KEY3,L4燈亮.
上傳時(shí)間: 2013-12-17
上傳用戶:頂?shù)弥?/p>
數(shù)碼時(shí)鐘顯示,用8位LED軟件譯碼動(dòng)態(tài)顯示,P0為字段碼,P2為位選碼,數(shù)碼管共陽(yáng), key0為位選鍵;key1為加“1鍵;key2為減“1”鍵。
上傳時(shí)間: 2013-12-16
上傳用戶:wangyi39
#include<reg52.h> #include<intrins.h> #define LED P0 sbit KEY0=P2^0; //定義按鍵輸入端口 A sbit KEY1=P2^1; //定義按鍵輸入端口 B sbit key2=P2^2; //定義按鍵輸入端口 C unsigned int Led_table[8]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; char Led_num=0; unsigned int num=0; //中斷計(jì)數(shù) void delayms(unsigned int x) { unsigned int i,j;
標(biāo)簽: 單片機(jī)
上傳時(shí)間: 2015-12-23
上傳用戶:kimyu
/*#include<reg52.h> #define uint unsigned int #define uchar unsigned char #define uchar unsigned char sbit K1=P3^4; sbit K2=P3^5; sbit ledr=P1^0; sbit ledg=P1^1; sbit ledb=P1^2; bit LEDDirection=0;//LED控制方向0:漸亮1:漸滅 char pwm=0; char pwmr=0; char scw=0;//中斷記數(shù) char tt=0; char n; void dealy(uint z); void Timer0Init(void) { TMOD=0x01; TH0=0xff; TL0=0x47; EX0=1; IT0=0; PX0=1; ET0=1; TR0=1; EA=1; } void main() { Timer0Init(); while(1){ if(K1==0) { dealy (1); if(K1==0) {TR0=1; ledr=0; dealy(5); TR0=0; } } if(K2==0) { dealy (1); if(K2==0) { while(1) { ledr=0; //亮 dealy(100-n*10); ledr=1; //熄 dealy(n*10); } } } } } void Time0Isr(void) interrupt 1 { // pwm=0; TH0=0xff; TL0=0x47; scw++; }*/ #include<reg52.h> #define uchar unsigned char bit LEDDirection=0; sbit P2_0=P1^0; sbit key1=P3^4; sbit key2=P3^5; sbit key3=P3^6; uchar zkb,i,t;// zkb指占空比 uchar pwm; void delay(uchar z) { uchar x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void init() //初始化函數(shù) { TMOD=0X01; TH0=(65536-1000)/256; TL0=(65536-1000)%256; EA=1; ET0=1; TR0=1; } void keyscan() //鍵盤掃描 { P3=0XFF; if(key1==0) { delay(5); if(key1==0) { while(!key1); if(zkb<9) { zkb++; } } } if(key2==0) { delay(5); if(key2==0) { while(!key2); if(zkb>0) { zkb--; } } } if(key3==0) {TR0=1; delay(5); if(key3==0) {while(!key3); if((zkb<=9)&&(0==LEDDirection)) { zkb++; if(zkb>9) { LEDDirection=1; zkb=9; } } if((zkb>=0 )&&(1==LEDDirection)) { zkb--; if(zkb<0 ) { LEDDirection=0; zkb=0 ; //dealy(3000); } } } //pwm=pwmr; } } void main() //主函數(shù) { zkb=2; init(); while(1) { keyscan(); } } void time0(void) interrupt 1 //中斷函數(shù) { TH0=(65536-200)/256; TL0=(65536-200)%256; ++i; if(i>10) { i=0; }; if(i<=zkb) { P2_0=1; } else P2_0=0; } /*void time0(void) interrupt 0 //中斷函數(shù) { TH0=(65536-1000)/256; TL0=(65536-1000)%256; ++i; if(i>10) { i=0; }; if(i<=zkb) { P2_0=1; } else P2_0=0; }*/
標(biāo)簽: 調(diào)光
上傳時(shí)間: 2016-07-02
上傳用戶:184890962
用的是沁恒CH552e淘寶買的評(píng)估板,USB中斷上傳程序用的是沁恒提供的做了些修改。程序使用2個(gè)端點(diǎn)一個(gè),端點(diǎn)1作為普通鍵盤,端點(diǎn)2作為多媒體按鍵,有詳細(xì)注釋多媒體按鍵報(bào)告,以下是主函數(shù)內(nèi)容。/****主函數(shù)****/main(){ CfgFsys( ); //CH552時(shí)鐘選擇配置 mDelaymS(5); //修改主頻等待內(nèi)部晶振穩(wěn)定,必加 ConfigT0(2); //配置2ms T0中斷 USBDeviceInit(); //USB設(shè)備模式初始化 EA = 1; //允許單片機(jī)中斷 UEP1_T_LEN = 0; //預(yù)使用發(fā)送長(zhǎng)度一定要清空 UEP2_T_LEN = 0; //清空端點(diǎn)2發(fā)送長(zhǎng)度 FLAG = 0; //清空USB中斷傳輸完成標(biāo)志 Ready = 0; LED_VALID = 1; //給一個(gè)默認(rèn)值 P1_DIR_PU &= 0xE0; //在MOD_OC為0時(shí) p1.5 p1.6 P1.7為推挽輸出 P1_MOD_OC = P1_MOD_OC & ~0xE0; //3個(gè)口的bit4 = 0 p1.5 p1.6 P1.7設(shè)置為推挽輸出 P1_DIR_PU = P1_DIR_PU | 0xE0; //3個(gè)口的bit4 = 1 p1.5 p1.6 P1.7設(shè)置為輸出 key1 = 1; key2 = 1; key3 = 1; while(1) { KeyDrive(); //按鍵驅(qū)動(dòng) }}
上傳時(shí)間: 2022-05-15
上傳用戶:
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1