數(shù)顯可編程延時(shí)模塊可模擬量輸入產(chǎn)品使用手冊_第1頁
數(shù)顯可編程延時(shí)模塊可模擬量輸入產(chǎn)品使用手冊_第2頁
數(shù)顯可編程延時(shí)模塊可模擬量輸入產(chǎn)品使用手冊_第3頁
數(shù)顯可編程延時(shí)模塊可模擬量輸入產(chǎn)品使用手冊_第4頁
數(shù)顯可編程延時(shí)模塊可模擬量輸入產(chǎn)品使用手冊_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、數(shù)顯可編程延時(shí)模塊可模擬量輸入產(chǎn)品使用手冊功能描述:此工業(yè)級板的作用是,模塊供電后,數(shù)碼管顯示設(shè)定數(shù)值,板子有兩個(gè)獨(dú)立按鍵,客戶可根據(jù)需求自定義編程其功能??蓪?shí)現(xiàn)的功能:定時(shí)輸出控制、計(jì)數(shù)器技術(shù)控制、05V模擬量輸入控制、按鍵控制數(shù)碼管顯示、開關(guān)量輸入控制?!竞喴f明】1、 板子尺寸:長72mmX寬42mmX高18mm二、主要器件:STC12C2052AD單片機(jī)、數(shù)碼管、繼電器三、工作電壓:有6V至24V四、板子功耗:小于150mA五、特點(diǎn):         1、具有繼電器輸出信號指示功能。 &

2、#160;       2、供電即可工作,具有電源指示燈。         3、多種工作模式。         4、如果您會(huì)單片機(jī),可以根據(jù)自己需要,任意編程,我們可提供參考程序和相關(guān)資料。          5、兩個(gè)按鍵任意調(diào)節(jié)和編程功能。

3、0;         6、繼電器吸合時(shí)間10ms 釋放時(shí)間15ms。         7、可以和72MM卡槽板配合安裝在DIN導(dǎo)軌上。 8、繼電器觸點(diǎn)干接點(diǎn)輸出,可以控制交流或者直流250V以內(nèi)任何負(fù)載。 9、端子采用螺旋壓接端子            10、工作溫度-40度至 +70度 11、工作濕度 10

4、% 80%RH 12、四周有4個(gè)固定安裝孔 13、具有電磁抗干擾能力 14、板子穩(wěn)定工作可靠      【標(biāo)示說明】【接線說明】【原理圖】【元件清單】【PCB圖】【應(yīng)用舉例】【測試程序】#include<STC12C2052AD.h> /庫文件#include<intrins.h>#define uchar unsigned char /宏定義字符型變量#define uint unsigned int/宏定義整型變量/* IO口初始化*/sbit P10=P10;/數(shù)碼管段sbit P11=P11;/數(shù)碼管段

5、sbit P12=P12;/數(shù)碼管段sbit P13=P13;/數(shù)碼管段sbit P14=P14;/數(shù)碼管段sbit P15=P15;/數(shù)碼管段sbit P16=P16;/數(shù)碼管段sbit P32=P32;/數(shù)碼管位sbit P33=P33;/數(shù)碼管位sbit P35=P35;/數(shù)碼管位sbit AIN1=P17;/信號輸入sbit key1=P30;/按鍵輸入sbit key2=P31;/按鍵輸入sbit OUT=P37; /繼電器輸出code uchar seg7code10=0x84,0xf6,0x8a,0xa2,0xf0,0xa1,0x81,0xb6,0x80,0xa0; /顯示段碼

6、數(shù)碼管字跟/* 定義 ISP/IAPEEPROM 命令*/sfr IAP_DATA = 0xE2; sfr IAP_ADDRH = 0xE3;sfr IAP_ADDRL = 0xE4;sfr IAP_CMD = 0xE5;sfr IAP_TRIG = 0xE6;sfr IAP_CONTR = 0xE7;#define CMD_IDLE 0jm#define CMD_READ 1#define CMD_PROGRAM 2#define CMD_ERASE 3#define ENABLE_IAP 0x83/SYSCLK<12MH#define IAP_ADDRESS 0x0000/存儲(chǔ)地址v

7、oid IapIdle();/禁用 ISP/IAPEEPROM functionmake 單片機(jī) 在 一 安全 狀態(tài)uchar IapReadByte(uint addr);/讀數(shù)據(jù)void IapProgramByte(uint addr, uchar dat);/寫數(shù)據(jù)void IapEraseSector(uint addr);/擦除數(shù)據(jù)static uchar presstime=0;/用于延時(shí)uint tcnt1=0;/用于刷新數(shù)碼管uint bainum1,shinum1,genum1;/數(shù)碼管上顯示uint bainum11=0,shinum11=0,genum11=0;/用于傳

8、到數(shù)碼管上顯示uint kf0=1,if0=0;/按鍵用的標(biāo)志位uint kt0=0;/按鍵用的標(biāo)志位uint keynum=0;/數(shù)碼管的位uint datas=0;uchar date1,date2;bit flag_eeprom1=1;/掉電存儲(chǔ)的標(biāo)志位uint inum1=0;/觸發(fā)端子用的計(jì)數(shù)uchar inum11=0,inum12=0;/掉電存儲(chǔ)uint date;extern void p31s();/將p3口的235置為1void keycan();void keyflag();/按鍵結(jié)束調(diào)用void displaynum();/將數(shù)字傳到數(shù)碼管上顯示void saveeep

9、ro();void savedate();/* 定時(shí)器初始化*/void timer0_1init(void)/定時(shí)配置TMOD=0x11;/將定時(shí)器0,1都設(shè)置為模式1TL0 = 0xCD;/設(shè)置定時(shí)器0時(shí)間為2msTH0 = 0xF8;/設(shè)置定時(shí)器0的初始值TR0=1;/開啟定時(shí)器0TR1=1;/開啟定時(shí)器1EA=1;/開總中斷ET0=1;/開定時(shí)器0的中斷/* 延時(shí)函數(shù)*/void delay(uchar t) uchar i,j; for(i=0;i<t;i+) for(j=13;j>0;j-); ; /* 主函數(shù)*/void main()uchar k;P1M0=0X80

10、;/強(qiáng)推挽輸出P1M1=0X7F;/強(qiáng)推挽輸出timer0_1init();/定時(shí)器配置inum11= IapReadByte(0x01);/讀取存儲(chǔ)的值inum12= IapReadByte(0x02);date1= IapReadByte(0x03);/讀取存儲(chǔ)的值date2= IapReadByte(0x04);date=date1*100+date2;inum1=inum11*100+inum12; bainum11=inum1/100; shinum11=inum1/10%10; genum11=inum1%10; while(1)keycan();k=100;if(AIN1=0)d

11、elay(k);if(AIN1=0)date+;while(!AIN1);delay(k);if(date>=999)date=999; if(key2=0)delay(k);if(key2=0)date=0; /* 按鍵函數(shù)*/void keycan()/按鍵if(keynum=0)/當(dāng)按鍵值等于0的時(shí)候調(diào)用顯示displaynum(); if(key1=0)/當(dāng)按鍵1按下date=0;/計(jì)數(shù)值清零if(kf0)/當(dāng)標(biāo)志位kf0=1的時(shí)候進(jìn)行if(presstime>50)/當(dāng)時(shí)間值大于一百的時(shí)候kf0=0;/標(biāo)志位kf0=0kt0=1;/標(biāo)志位kt0=0if0=1;presst

12、ime=0;/時(shí)間清零,重新進(jìn)行keynum+;/數(shù)碼管的位 if(keynum=4)/當(dāng)位到7則置位0 keynum=0;if0=0; else/當(dāng)按鍵松開keyflag();displaynum();/按鍵1結(jié)束 if(key2=0)if(kf0)if(presstime>50)kf0=0;kt0=1;presstime=0;flag_eeprom1=1;/掉電存儲(chǔ)的標(biāo)志位改為1,進(jìn)行存值操作switch(keynum)case 0:if(if0=1)if0=0;elseif0=1;break;case 1:bainum11+;/數(shù)碼管一加加if(bainum11>9)/當(dāng)數(shù)碼

13、管一加加到9時(shí)置為1bainum11=0;break;case 2:shinum11+;if(shinum11>9)shinum11=0;break;case 3:genum11+;if(genum11>9)genum11=0;break;default:break;elsekeyflag();displaynum();if(flag_eeprom1=1)/加掉電存儲(chǔ),必需加到這,不然有一些小問題 flag_eeprom1=0; saveeepro();/掉電存儲(chǔ)/松開按鍵進(jìn)行顯示/* 將數(shù)字傳到數(shù)碼管上顯示*/void displaynum()/將數(shù)字傳到數(shù)碼管上顯示if (if

14、0=0)/當(dāng)if0=0時(shí)num1三個(gè)數(shù)碼管進(jìn)行顯示/AIN1=1;if(date>=inum1)OUT=0; else OUT=1;genum1=date%10;/個(gè)位shinum1=date/10%10;/十位bainum1=date/100;/百elsebainum1=bainum11;shinum1=shinum11;genum1=genum11;inum1=bainum11*100+shinum11*10+genum11;/將num1三個(gè)數(shù)碼管的值付給inum void saveeepro()/掉電存儲(chǔ) inum1=bainum11*100+shinum11*10+genum11

15、;/將num1三個(gè)數(shù)碼管的值付給inum inum11=inum1/100;/把int型的值拆分到char型 inum12=inum1%100; IapEraseSector(0); /擦除扇區(qū) IapProgramByte(0x01,inum11);/寫入數(shù)據(jù) IapProgramByte(0x02,inum12);/寫入數(shù)據(jù)void savedate() date1=date/100;/把int型的值拆分到char型 date2=date%100; / IapEraseSector(0); /擦除扇區(qū) IapProgramByte(0x03,date1);/寫入數(shù)據(jù) IapProgramB

16、yte(0x04,date2);/寫入數(shù)據(jù)/* 定時(shí)器*/void timer0(void)interrupt 1 /定時(shí)器0 /500等于1秒TL0 = 0xCD;/重新設(shè)置定時(shí)器0時(shí)間為2msTH0 = 0xF8;/重新設(shè)置定時(shí)器0的初始值tcnt1+;/用于刷新數(shù)碼管presstime+;switch(tcnt1)/數(shù)碼管部分 case 1: p31s(); P1=seg7codebainum1;if(keynum=1 | keynum=0)P32=0;break; case 2: p31s(); P1=seg7codeshinum1;if(keynum=2 | keynum=0)P33

17、=0;break; case 3: p31s(); P1=seg7codegenum1; if(keynum=3 | keynum=0)P35=0;break; default: tcnt1=0; p31s(); break; /定時(shí)器0結(jié)束void p31s()/將p3口的235置為1P32=1;P33=1;P35=1;void keyflag()/按鍵結(jié)束調(diào)用,按鍵的建議使用,這樣可以減小code,但是觸發(fā)的不建議 if(kt0)/當(dāng)標(biāo)志位kt0=1的時(shí)候進(jìn)行 if(presstime>50)/當(dāng)時(shí)間值大于一百的時(shí)候kf0=1;/標(biāo)志位kf0=1kt0=0;/標(biāo)志位kt0=0 pre

18、sstime=0;/時(shí)間清零,重新進(jìn)行 /* 讀寫EEPROM 命令*/void IapIdle()/禁用 ISP/IAPEEPROM functionmake 單片機(jī) 在 一 安全 狀態(tài) IAP_CONTR = 0; /IAP_CMD = 0; /IAP_TRIG = 0; /IAP_ADDRH = 0x80; /IAP_ADDRL = 0; /uchar IapReadByte(uint addr)/讀數(shù)據(jù) uchar dat; IAP_CONTR = ENABLE_IAP; IAP_CMD = CMD_READ; IAP_ADDRL = addr; IAP_ADDRH = addr >> 8; IAP_TRIG = 0x46; IAP_TRIG = 0xb9; _nop_(); dat = IAP_DATA; IapIdle(); return dat;void IapProgramByte(uint addr, uchar dat)/寫數(shù)據(jù) IAP_CONTR = ENABLE_IAP; IAP_CMD = CMD_PROGRAM; IAP_ADDRL = addr; IA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論