/*#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;//中斷記數 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() //初始化函數 { 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() //主函數 { zkb=2; init(); while(1) { keyscan(); } } void time0(void) interrupt 1 //中斷函數 { 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 //中斷函數 { TH0=(65536-1000)/256; TL0=(65536-1000)%256; ++i; if(i>10) { i=0; }; if(i<=zkb) { P2_0=1; } else P2_0=0; }*/
標簽: 調光
上傳時間: 2016-07-02
上傳用戶:184890962
include<reg52.h> #define uint unsigned int #define uchar unsigned char uint temp,aa,wang,qian,bai,shi,ge; sbit dula=P2^6; sbit wela=P2^7; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void display( uint wang,uint qian,uint bai,uint shi,uint ge); void delay(uint z); void init(); void main() { init();//初始化子程序 while(1) { if(aa==20) { aa=0; temp++; if(temp==99999) { temp=0; } wang=temp/10000; qian=(temp-wang*10000)/1000; bai=(temp-wang*10000-qian*1000)/100; shi=(temp-wang*10000-qian*1000-bai*100)/10; ge=temp%10; } display(wang,qian, bai,shi,ge); } } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void display(uint wang,uint qian,uint bai,uint shi,uint ge) { dula=1; P0=table[wang]; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delay(1); dula=1; P0=table[qian]; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delay(1); dula=1; P0=table[bai]; dula=0; P0=0xff; wela=1; P0=0xfb; wela=0; delay(1); dula=1; P0=table[shi]; dula=0; P0=0xff; wela=1; P0=0xf7; wela=0; delay(1); dula=1; P0=table[ge]; dula=0; P0=0xff; wela=1; P0=0xef; wela=0; delay(1); } void init() { wela=0; dula=0; temp=0; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; } void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++; } include<reg52.h> #define uint unsigned int #define uchar unsigned char uint temp,aa,wang,qian,bai,shi,ge; sbit dula=P2^6; sbit wela=P2^7; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void display( uint wang,uint qian,uint bai,uint shi,uint ge); void delay(uint z); void init(); void main() { init();//初始化子程序 while(1) { if(aa==20) { aa=0; temp++; if(temp==99999) { temp=0; } wang=temp/10000; qian=(temp-wang*10000)/1000; bai=(temp-wang*10000-qian*1000)/100; shi=(temp-wang*10000-qian*1000-bai*100)/10; ge=temp%10; } display(wang,qian, bai,shi,ge); } } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void display(uint wang,uint qian,uint bai,uint shi,uint ge) { dula=1; P0=table[wang]; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delay(1); dula=1; P0=table[qian]; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delay(1); dula=1; P0=table[bai]; dula=0; P0=0xff; wela=1; P0=0xfb; wela=0; delay(1); dula=1; P0=table[shi]; dula=0; P0=0xff; wela=1; P0=0xf7; wela=0; delay(1); dula=1; P0=table[ge]; dula=0; P0=0xff; wela=1; P0=0xef; wela=0; delay(1); } void init() { wela=0; dula=0; temp=0; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; } void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++; } include<reg52.h> #define uint unsigned int #define uchar unsigned char uint temp,aa,wang,qian,bai,shi,ge; sbit dula=P2^6; sbit wela=P2^7; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void display( uint wang,uint qian,uint bai,uint shi,uint ge); void delay(uint z); void init(); void main() { init();//初始化子程序 while(1) { if(aa==20) { aa=0; temp++; if(temp==99999) { temp=0; } wang=temp/10000; qian=(temp-wang*10000)/1000; bai=(temp-wang*10000-qian*1000)/100; shi=(temp-wang*10000-qian*1000-bai*100)/10; ge=temp%10; } display(wang,qian, bai,shi,ge); } } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void display(uint wang,uint qian,uint bai,uint shi,uint ge) { dula=1; P0=table[wang]; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delay(1); dula=1; P0=table[qian]; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delay(1); dula=1; P0=table[bai]; dula=0; P0=0xff; wela=1; P0=0xfb; wela=0; delay(1); dula=1; P0=table[shi]; dula=0; P0=0xff; wela=1; P0=0xf7; wela=0; delay(1); dula=1; P0=table[ge]; dula=0; P0=0xff; wela=1; P0=0xef; wela=0; delay(1); } void init() { wela=0; dula=0; temp=0; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; } void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++; }
標簽: 矩陣式鍵盤
上傳時間: 2021-12-18
上傳用戶:2590813506
VIP專區-嵌入式/單片機編程源碼精選合集系列(12)資源包含以下內容:1. verilog 例子.2. mtd-snapshot-20041027.3. 非接觸ic卡讀寫程序.4. USB接口的鼠標驅動源程序.5. P89CXX 編程器電腦發送程序*.6. 看門狗自動采集數據.7. ACM-12864漢字液晶顯示驅動程序.8. 6221紅外遙控解碼程序.9. ZMODEM協議的實現.10. at91系列通過串口燒寫源程序.11. 介紹了如何來構件嵌入式系統.12. 網卡驅動程序.13. 通過遠程按電話鍵來控制被控處的繼電器動作.14. SM2965 ISP 電路及源代碼.15. LPC769 A_D例程1.16. 偉福環境下反匯編demo1.17. 在偉福環境下實現PLM51調用ASM51范例.18. 在偉福環境下實現PLM51調用PLM51范例.19. 在偉福環境下修改 Startup.a51 init.a51 以改變系統初始化過程.20. 一個8019網卡驅動程序.21. spi協議的驅動程序源代碼.22. c的源碼.23. 嵌入式WEB子程序.24. 24C64子程.25. 這是偶編寫的伺服系統一個數字PID調節程序.26. 步進馬達控制程序.27. 電動機控制程序.28. fft 變換C程序 不錯的.29. 標準DES算法430源程序.30. 看門狗X25045控制子程序.31. 點陣液晶12*128驅動.32. 點陣液晶12232驅動.33. fat16 in compact flash.34. The project demonstrates many Windows common controls, including the extensive use of image lists. T.35. 嵌入式系統的論文集錦.36. 同步串口SPI接口轉成異步RS-232.37. BF 533視頻輸出源代碼.38. BF533 與音頻解碼器連接回放代碼.39. lwipreadme.40. 嵌入式系統下語音壓縮編碼.
上傳時間: 2013-05-20
上傳用戶:eeworm
VIP專區-嵌入式/單片機編程源碼精選合集系列(152)資源包含以下內容:1. SST25系列編程方法.2. altera pci license al tera pci license.3. 關于嵌入式開發的詞匯表.4. PIC單片機控制12位高速串行DA(max538)產生階梯波.5. 關于MATLAB的GUI 程序設計的電子書.6. 通過61單片機顯示飛翔的小鳥.7. 61A的IRQ4中斷有三個中斷源:1KHz、2Kz和4KHz,每一個中斷分別控制與IOA0-IOA1、IOA2-IOA3和IOA4-IOA7相連的LED燈。.8. 基于ADI blackfin處理器的范例程序.9. 這是我在網上找到的一個關于數字濾波的方法集錦.10. 基于51單片機.11. 臺灣研華 PCM-3718HO 手冊 可用于嵌入式開發.12. 硬盤安裝Linux系統方法 boot.init 使用方法:顯示所有隱藏和受保護文件.13. Design of Image Collection System Based on High-speed PCI Bus基于PCI總線的高速圖像采集系統設計.14. 嵌入式LCD屏驅動.15. 在PCB設計中.16. 用ISD1700來實現讀溫度.17. AT89S52控制ZLG7289擴展鍵盤和數碼管顯示代碼.18. 4*4鍵盤C51單片機程序.本程序已經調試通過.19. 很好的數字電路設計ppt.20. PLC通過RS232BD與計算機串口通信程序.21. Minigui編程應用開發,介紹了嵌入式環境下圖形開發方法.22. 4個按鍵判斷指令防真實驗 4個按鍵判斷指令防真實驗.23. 運行程序.24. 在通訊領域中使用相當廣泛的HDLC.25. 2乘8按鍵掃描程序 4個IO口 74LS164串行數據端 時鐘端 兩個普通IO口.26. FLASH BIOS擦寫工具.27. high effeciency about embedded linux c.28. 基于linux下spi 轉 GM8142串口.29. BCD碼波盤 BCD碼波盤.30. 8通道溫度控制檢測 8通道溫度控制檢測.31. 51單片機串行口擴展鍵盤接口仿真 51單片機串行口擴展鍵盤接口仿真.32. 51單片機實現的電子密碼.33. 51定時器常用例子包括測頻率測脈寬產生波形.34. 8051雙機通信簡例 8051雙機通信簡例.35. 12864液晶滾動顯示.36. AD雙通道采集程序+proteus仿真.37. DS18B20+LED顯示的溫度計D S18B20+LED顯示的溫度計DS18B20+LED顯示的溫度計.38. DS1302+DS18B20的液晶顯示實時時鐘DS1 302+DS18B20的液晶顯示實時時鐘.39. DS1621高精度溫度測量模擬.40. 2006年下半年(11月)嵌入式系統設計師考試試題及答案.
上傳時間: 2013-04-15
上傳用戶:eeworm