九九热在线视频精品店_夜夜嗨网站_人人人爽人人爽人人av_日韩美在线观看_国产成人精品免费视频_国产精品久久久久久影院8一贰佰_狠狠插av_久艹在线观看_伊人久久噜噜噜躁狠狠躁_蜜臀av性色av_99久久国产露脸精品_亚洲成人视屏_女人下边被添全过视频_精品国产成人av在线免_性生活三级黄色片_色综合久久天天_成人在线视频网_激情四射婷婷_免费av片网站_忘忧草日本社区在线播放

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機(jī) >> 正文

單片機(jī)電子時(shí)鐘程序設(shè)計(jì)

作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2018/3/10
共用體除非必要,否則我們不推薦使用,枚舉的用法比較簡單,在本書 19 章的項(xiàng)目實(shí)踐中有很好的示例,這節(jié)課我們先來練習(xí)一下結(jié)構(gòu)體的使用。下邊這個(gè)程序的功能是一個(gè)帶日期的電子鐘,相當(dāng)于一個(gè)簡易萬年歷了,并且加入了按鍵調(diào)時(shí)功能。學(xué)有余力的同學(xué)看到這里,不妨先不看我們提供的代碼,自己寫寫試試。如果能夠獨(dú)立寫一個(gè)按鍵可調(diào)的萬年歷程序,單片機(jī)可以說基本入門了。如果自己還不能夠獨(dú)立完成這個(gè)程序,那么還是老規(guī)矩,先抄并且理解,而后自己獨(dú)立默寫出來,并且要邊默寫邊理解。

本例直接忽略了星期這項(xiàng)內(nèi)容,通過上、下、左、右、回車、ESC 這 6 個(gè)按鍵可以調(diào)整時(shí)間。這也是一個(gè)具有綜合練習(xí)性質(zhì)的實(shí)例,雖然在功能實(shí)現(xiàn)上沒有多少難度,但要進(jìn)行的操作卻比較多而且煩瑣,同學(xué)們可以從中體會到把繁雜的功能實(shí)現(xiàn)分解為一步步函數(shù)操作的必要性以及方便靈活性。簡單說一下這個(gè)程序的幾個(gè)要點(diǎn),方便大家閱讀理解程序。
  1. 把 DS1302 的底層操作封裝為一個(gè) DS1302.c 文件,對上層應(yīng)用提供基本的實(shí)時(shí)時(shí)間的操作接口,這個(gè)文件也是我們的又一個(gè)功能模塊了,我們的積累也越來越多了。
  2. 定義一個(gè)結(jié)構(gòu)體類型 sTime 用來封裝日期時(shí)間的各個(gè)元素,又用該結(jié)構(gòu)體定義了一個(gè)時(shí)間緩沖區(qū)變量 bufTime 來暫存從 DS1302 讀出的時(shí)間和設(shè)置時(shí)間時(shí)的設(shè)定值。需要注意的是在其它文件中要使用這個(gè)結(jié)構(gòu)體變量時(shí),必須首先再聲明一次 sTime 類型;
  3. 定義一個(gè)變量 setIndex 來控制當(dāng)前是否處于設(shè)置時(shí)間的狀態(tài),以及設(shè)置時(shí)間的哪一位,該值為 0 就表示正常運(yùn)行,1~12 分別代表可以修改日期時(shí)間的 12 個(gè)位;
  4. 由于這節(jié)課的程序功能要進(jìn)行時(shí)間調(diào)整,用到了 1602 液晶的光標(biāo)功能,添加了設(shè)置光標(biāo)的函數(shù),我們要改變哪一位的數(shù)字,就在 1602 對應(yīng)位置上進(jìn)行光標(biāo)閃爍,所以 Lcd1602.c在之前文件的基礎(chǔ)上添加了兩個(gè)控制光標(biāo)的函數(shù);
  5. 時(shí)間的顯示、增減、設(shè)置移位等上層功能函數(shù)都放在 main.c 中來實(shí)現(xiàn),當(dāng)按鍵需要這些函數(shù)時(shí)則在按鍵文件中做外部聲明,這樣做是為了避免一組功能函數(shù)分散在不同的文件內(nèi)而使程序顯得凌亂。
 
/***************************DS1302.c 文件程序源代碼*****************************/ 
#include <reg52.h> 
sbit DS1302_CE = P1^7; 
sbit DS1302_CK = P3^5; 
sbit DS1302_IO = P3^4; 
struct sTime { //日期時(shí)間結(jié)構(gòu)體定義 
unsigned int year; //年 
unsigned char mon; //月 
unsigned char day; //日 
unsigned char hour; //時(shí) 
unsigned char min; //分 
unsigned char sec; //秒 
unsigned char week; //星期 
}; 
/* 發(fā)送一個(gè)字節(jié)到 DS1302 通信總線上 */ 
void DS1302ByteWrite(unsigned char dat){ 
unsigned char mask; 
for (mask=0x01; mask!=0; mask<<=1){ //低位在前,逐位移出 
if ((mask&dat) != 0){ //首先輸出該位數(shù)據(jù) 
DS1302_IO = 1; 
}else{ 
DS1302_IO = 0; 
} 
DS1302_CK = 1; //然后拉高時(shí)鐘 
DS1302_CK = 0; //再拉低時(shí)鐘,完成一個(gè)位的操作 
} 
DS1302_IO = 1; //最后確保釋放 IO 引腳 
} 
/* 由 DS1302 通信總線上讀取一個(gè)字節(jié) */ 
unsigned char DS1302ByteRead(){ 
unsigned char mask; 
unsigned char dat = 0; 
for (mask=0x01; mask!=0; mask<<=1){ //低位在前,逐位讀取 
if (DS1302_IO != 0){ //首先讀取此時(shí)的 IO 引腳,并設(shè)置 dat 中的對應(yīng)位 
dat |= mask; 
} 
DS1302_CK = 1; //然后拉高時(shí)鐘 
DS1302_CK = 0; //再拉低時(shí)鐘,完成一個(gè)位的操作 
} 
return dat; //最后返回讀到的字節(jié)數(shù)據(jù) 
} 
/* 用單次寫操作向某一寄存器寫入一個(gè)字節(jié),reg-寄存器地址,dat-待寫入字節(jié) */ 
void DS1302SingleWrite(unsigned char reg, unsigned char dat){ 
DS1302_CE = 1; //使能片選信號 
DS1302ByteWrite((reg<<1)|0x80); //發(fā)送寫寄存器指令 
DS1302ByteWrite(dat); //寫入字節(jié)數(shù)據(jù) 
DS1302_CE = 0; //除能片選信號 
} 
/* 用單次讀操作從某一寄存器讀取一個(gè)字節(jié),reg-寄存器地址,返回值-讀到的字節(jié) */ 
unsigned char DS1302SingleRead(unsigned char reg){ 
unsigned char dat; 
DS1302_CE = 1; //使能片選信號 
DS1302ByteWrite((reg<<1)|0x81); //發(fā)送讀寄存器指令 
dat = DS1302ByteRead(); //讀取字節(jié)數(shù)據(jù) 
DS1302_CE = 0; //除能片選信號 
return dat; 
} 
/* 用突發(fā)模式連續(xù)寫入 8 個(gè)寄存器數(shù)據(jù),dat-待寫入數(shù)據(jù)指針 */ 
void DS1302BurstWrite(unsigned char *dat){ 
unsigned char i; 
DS1302_CE = 1; 
DS1302ByteWrite(0xBE); //發(fā)送突發(fā)寫寄存器指令 
for (i=0; i<8; i++){ //連續(xù)寫入 8 字節(jié)數(shù)據(jù) 
DS1302ByteWrite(dat[i]); 
} 
DS1302_CE = 0; 
} 
/* 用突發(fā)模式連續(xù)讀取 8 個(gè)寄存器的數(shù)據(jù),dat-讀取數(shù)據(jù)的接收指針 */ 
void DS1302BurstRead(unsigned char *dat){ 
unsigned char i; 
DS1302_CE = 1; 
DS1302ByteWrite(0xBF); //發(fā)送突發(fā)讀寄存器指令 
for (i=0; i<8; i++){ //連續(xù)讀取 8 個(gè)字節(jié) 
dat[i] = DS1302ByteRead(); 
} 
DS1302_CE = 0; 
} 
/* 獲取實(shí)時(shí)時(shí)間,即讀取 DS1302 當(dāng)前時(shí)間并轉(zhuǎn)換為時(shí)間結(jié)構(gòu)體格式 */ 
void GetRealTime(struct sTime *time){ 
unsigned char buf[8]; 
DS1302BurstRead(buf); 
time->year = buf[6] + 0x2000; 
time->mon = buf[4]; 
time->day = buf[3]; 
time->hour = buf[2]; 
time->min = buf[1]; 
time->sec = buf[0]; 
time->week = buf[5]; 
} 
/* 設(shè)定實(shí)時(shí)時(shí)間,時(shí)間結(jié)構(gòu)體格式的設(shè)定時(shí)間轉(zhuǎn)換為數(shù)組并寫入 DS1302 */ 
void SetRealTime(struct sTime *time){ 
unsigned char buf[8]; 
buf[7] = 0; 
buf[6] = time->year; 
buf[5] = time->week; 
buf[4] = time->mon; 
buf[3] = time->day; 
buf[2] = time->hour; 
buf[1] = time->min; 
buf[0] = time->sec; 
DS1302BurstWrite(buf); 
} 
/* DS1302 初始化,如發(fā)生掉電則重新設(shè)置初始時(shí)間 */ 
void InitDS1302(){ 
unsigned char dat; 
struct sTime code InitTime[] = { //2013 年 10 月 8 日 12:30:00 星期二 
0x2013,0x10,0x08, 0x12,0x30,0x00, 0x02 
}; 
DS1302_CE = 0; //初始化 DS1302 通信引腳 
DS1302_CK = 0; 
dat = DS1302SingleRead(0); //讀取秒寄存器 
if ((dat & 0x80) != 0){ //由秒寄存器最高位 CH 的值判斷 DS1302 是否已停止 
DS1302SingleWrite(7, 0x00); //撤銷寫保護(hù)以允許寫入數(shù)據(jù) 
SetRealTime(&InitTime); //設(shè)置 DS1302 為默認(rèn)的初始時(shí)間 
} 
}
DS1302.c 最終向外提供出與具體時(shí)鐘芯片寄存器位置無關(guān)的、由時(shí)間結(jié)構(gòu)類型 sTime 作為接口的實(shí)時(shí)時(shí)間的讀取和設(shè)置函數(shù),如此處理體現(xiàn)了我們前面提到過的層次化編程的思想。應(yīng)用層可以不關(guān)心底層實(shí)現(xiàn)細(xì)節(jié),底層實(shí)現(xiàn)的改變也不會對應(yīng)用層造成影響,比如說日后你可能需要換一款時(shí)鐘芯片,而它與 DS1302 的操作和時(shí)間寄存器順序是不同的,那么你需要做的也僅是針對這款新的時(shí)鐘芯片設(shè)計(jì)出底層操作函數(shù),最終提供出同樣的以 sTime 為接口的操作函數(shù)即可,應(yīng)用層無需做任何的改動。
 
/***************************Lcd1602.c 文件程序源代碼*****************************/ 
#include <reg52.h> 
#define LCD1602_DB P0 
sbit LCD1602_RS = P1^0; 
sbit LCD1602_RW = P1^1; 
sbit LCD1602_E = P1^5; 
/* 等待液晶準(zhǔn)備好 */ 
void LcdWaitReady(){ 
unsigned char sta; 
LCD1602_DB = 0xFF; 
LCD1602_RS = 0; 
LCD1602_RW = 1; 
do { 
LCD1602_E = 1; 
sta = LCD1602_DB; //讀取狀態(tài)字 
LCD1602_E = 0; 
} while (sta & 0x80); //bit7 等于 1 表示液晶正忙,重復(fù)檢測直到其等于 0 為止 
} 
/* 向 LCD1602 液晶寫入一字節(jié)命令,cmd-待寫入命令值 */ 
void LcdWriteCmd(unsigned char cmd){ 
LcdWaitReady(); 
LCD1602_RS = 0; 
LCD1602_RW = 0; 
LCD1602_DB = cmd; 
LCD1602_E = 1; 
LCD1602_E = 0; 
} 
/* 向 LCD1602 液晶寫入一字節(jié)數(shù)據(jù),dat-待寫入數(shù)據(jù)值 */ 
void LcdWriteDat(unsigned char dat){ 
LcdWaitReady(); 
LCD1602_RS = 1; 
LCD1602_RW = 0; 
LCD1602_DB = dat; 
LCD1602_E = 1; 
LCD1602_E = 0; 
} 
/* 設(shè)置顯示 RAM 起始地址,亦即光標(biāo)位置,(x,y)-對應(yīng)屏幕上的字符坐標(biāo) */ 
void LcdSetCursor(unsigned char x, unsigned char y){ 
unsigned char addr; 
if (y == 0){ //由輸入的屏幕坐標(biāo)計(jì)算顯示 RAM 的地址 
addr = 0x00 + x; //第一行字符地址從 0x00 起始 
}else{ 
addr = 0x40 + x; //第二行字符地址從 0x40 起始 
} 
LcdWriteCmd(addr | 0x80); //設(shè)置 RAM 地址 
} 
/* 在液晶上顯示字符串,(x,y)-對應(yīng)屏幕上的起始坐標(biāo),str-字符串指針 */ 
void LcdShowStr(unsigned char x, unsigned char y, unsigned char *str){ 
LcdSetCursor(x, y); //設(shè)置起始地址 
while (*str != '\0'){ //連續(xù)寫入字符串?dāng)?shù)據(jù),直到檢測到結(jié)束符 
LcdWriteDat(*str++); 
} 
} 
/* 打開光標(biāo)的閃爍效果 */ 
void LcdOpenCursor(){ 
LcdWriteCmd(0x0F); 
} 
/* 關(guān)閉光標(biāo)顯示 */ 
void LcdCloseCursor(){ 
LcdWriteCmd(0x0C); 
} 
/* 初始化 1602 液晶 */ 
void InitLcd1602(){ 
LcdWriteCmd(0x38); //16*2 顯示,5*7 點(diǎn)陣,8 位數(shù)據(jù)接口 
LcdWriteCmd(0x0C); //顯示器開,光標(biāo)關(guān)閉 
LcdWriteCmd(0x06); //文字不動,地址自動+1 
LcdWriteCmd(0x01); //清屏 
}
為了本例的具體需求,在之前文件的基礎(chǔ)上添加兩個(gè)控制光標(biāo)效果打開和關(guān)閉的函數(shù),雖然函數(shù)都很簡單,但為了保持程序整體上良好的模塊化和層次化,還是應(yīng)該在液晶驅(qū)動文件內(nèi)以函數(shù)的形式提供,而不是由應(yīng)用層代碼直接來調(diào)用具體的液晶寫命令操作。
/***************************keyboard.c 文件程序源代碼****************************/
(此處省略,可參考之前章節(jié)的代碼)
 /*****************************main.c 文件程序源代碼******************************/ 
#include <reg52.h> 
struct sTime { //日期時(shí)間結(jié)構(gòu)體定義 
unsigned int year; 
unsigned char mon; 
unsigned char day; 
unsigned char hour; 
unsigned char min; 
unsigned char sec; 
unsigned char week; 
}; 
bit flag200ms = 1; //200ms 定時(shí)標(biāo)志 
struct sTime bufTime; //日期時(shí)間緩沖區(qū) 
unsigned char setIndex = 0; //時(shí)間設(shè)置索引 
unsigned char T0RH = 0; //T0 重載值的高字節(jié) 
unsigned char T0RL = 0; //T0 重載值的低字節(jié) 
void ConfigTimer0(unsigned int ms); 
void RefreshTimeShow(); 
extern void InitDS1302(); 
extern void GetRealTime(struct sTime *time); 
extern void SetRealTime(struct sTime *time); 
extern void KeyScan(); 
extern void KeyDriver(); 
extern void InitLcd1602(); 
extern void LcdShowStr(unsigned char x, unsigned char y, unsigned char *str); 
extern void LcdSetCursor(unsigned char x, unsigned char y); 
extern void LcdOpenCursor(); 
extern void LcdCloseCursor(); 
void main(){ 
unsigned char psec=0xAA; //秒備份,初值 AA 確保首次讀取時(shí)間后會刷新顯示 
EA = 1; //開總中斷 
ConfigTimer0(1); //T0 定時(shí) 1ms 
InitDS1302(); //初始化實(shí)時(shí)時(shí)鐘 
InitLcd1602(); //初始化液晶 
//初始化屏幕上固定不變的內(nèi)容 
LcdShowStr(3, 0, "20 - - "); 
LcdShowStr(4, 1, " : : "); 
while (1){ 
KeyDriver(); //調(diào)用按鍵驅(qū)動 
if (flag200ms && (setIndex == 0)){ //每隔 200ms 且未處于設(shè)置狀態(tài)時(shí), 
flag200ms = 0; 
GetRealTime(&bufTime); //獲取當(dāng)前時(shí)間 
if (psec != bufTime.sec){ //檢測到時(shí)間有變化時(shí)刷新顯示 
RefreshTimeShow(); 
psec = bufTime.sec; //用當(dāng)前值更新上次秒數(shù) 
} 
} 
} 
} 
/* 將一個(gè) BCD 碼字節(jié)顯示到屏幕上,(x,y)-屏幕起始坐標(biāo),bcd-待顯示 BCD 碼 */ 
void ShowBcdByte(unsigned char x, unsigned char y, unsigned char bcd){ 
unsigned char str[4]; 
str[0] = (bcd >> 4) + '0'; 
str[1] = (bcd&0x0F) + '0'; 
str[2] = '\0'; 
LcdShowStr(x, y, str); 
} 
/* 刷新日期時(shí)間的顯示 */ 
void RefreshTimeShow(){ 
ShowBcdByte(5, 0, bufTime.year); 
ShowBcdByte(8, 0, bufTime.mon); 
ShowBcdByte(11, 0, bufTime.day); 
ShowBcdByte(4, 1, bufTime.hour); 
ShowBcdByte(7, 1, bufTime.min); 
ShowBcdByte(10, 1, bufTime.sec); 
} 
/* 刷新當(dāng)前設(shè)置位的光標(biāo)指示 */ 
void RefreshSetShow(){ 
switch (setIndex){ 
case 1: LcdSetCursor(5, 0); break; 
case 2: LcdSetCursor(6, 0); break; 
case 3: LcdSetCursor(8, 0); break; 
case 4: LcdSetCursor(9, 0); break; 
case 5: LcdSetCursor(11, 0); break; 
case 6: LcdSetCursor(12, 0); break; 
case 7: LcdSetCursor(4, 1); break; 
case 8: LcdSetCursor(5, 1); break; 
case 9: LcdSetCursor(7, 1); break; 
case 10: LcdSetCursor(8, 1); break; 
case 11: LcdSetCursor(10, 1); break; 
case 12: LcdSetCursor(11, 1); break; 
default: break; 
} 
} 
/* 遞增一個(gè) BCD 碼的高位 */ 
unsigned char IncBcdHigh(unsigned char bcd){ 
if ((bcd&0xF0) < 0x90){ 
bcd += 0x10; 
}else{ 
bcd &= 0x0F; 
} 
return bcd; 
} 
/* 遞增一個(gè) BCD 碼的低位 */ 
unsigned char IncBcdLow(unsigned char bcd){ 
if ((bcd&0x0F) < 0x09){ 
bcd += 0x01; 
}else{ 
bcd &= 0xF0; 
} 
return bcd; 
} 
/* 遞減一個(gè) BCD 碼的高位 */ 
unsigned char DecBcdHigh(unsigned char bcd){ 
if ((bcd&0xF0) > 0x00){ 
bcd -= 0x10; 
}else{ 
bcd |= 0x90; 
} 
return bcd; 
} 
/* 遞減一個(gè) BCD 碼的低位 */ 
unsigned char DecBcdLow(unsigned char bcd){ 
if ((bcd&0x0F) > 0x00){ 
bcd -= 0x01; 
}else{ 
bcd |= 0x09; 
} 
return bcd; 
} 
/* 遞增時(shí)間當(dāng)前設(shè)置位的值 */ 
void IncSetTime(){ 
switch (setIndex){ 
case 1: bufTime.year = IncBcdHigh(bufTime.year); break; 
case 2: bufTime.year = IncBcdLow(bufTime.year); break; 
case 3: bufTime.mon = IncBcdHigh(bufTime.mon); break; 
case 4: bufTime.mon = IncBcdLow(bufTime.mon); break; 
case 5: bufTime.day = IncBcdHigh(bufTime.day); break; 
case 6: bufTime.day = IncBcdLow(bufTime.day); break; 
case 7: bufTime.hour = IncBcdHigh(bufTime.hour); break; 
case 8: bufTime.hour = IncBcdLow(bufTime.hour); break; 
case 9: bufTime.min = IncBcdHigh(bufTime.min); break; 
case 10: bufTime.min = IncBcdLow(bufTime.min); break; 
case 11: bufTime.sec = IncBcdHigh(bufTime.sec); break; 
case 12: bufTime.sec = IncBcdLow(bufTime.sec); break; 
default: break; 
} 
RefreshTimeShow(); 
RefreshSetShow(); 
} 
/* 遞減時(shí)間當(dāng)前設(shè)置位的值 */ 
void DecSetTime(){ 
switch (setIndex){ 
case 1: bufTime.year = DecBcdHigh(bufTime.year); break; 
case 2: bufTime.year = DecBcdLow(bufTime.year); break; 
case 3: bufTime.mon = DecBcdHigh(bufTime.mon); break; 
case 4: bufTime.mon = DecBcdLow(bufTime.mon); break; 
case 5: bufTime.day = DecBcdHigh(bufTime.day); break; 
case 6: bufTime.day = DecBcdLow(bufTime.day); break; 
case 7: bufTime.hour = DecBcdHigh(bufTime.hour); break; 
case 8: bufTime.hour = DecBcdLow(bufTime.hour); break; 
case 9: bufTime.min = DecBcdHigh(bufTime.min); break; 
case 10: bufTime.min = DecBcdLow(bufTime.min); break; 
case 11: bufTime.sec = DecBcdHigh(bufTime.sec); break; 
case 12: bufTime.sec = DecBcdLow(bufTime.sec); 
default: break; 
} 
RefreshTimeShow(); 
RefreshSetShow(); 
} 
/* 右移時(shí)間設(shè)置位 */ 
void RightShiftTimeSet(){ 
if (setIndex != 0){ 
if (setIndex < 12){ 
setIndex++; 
}else{ 
setIndex = 1; 
} 
RefreshSetShow(); 
} 
} 
/* 左移時(shí)間設(shè)置位 */ 
void LeftShiftTimeSet(){ 
if (setIndex != 0){ 
if (setIndex > 1){ 
setIndex--; 
}else{ 
setIndex = 12; 
} 
RefreshSetShow(); 
} 
} 
/* 進(jìn)入時(shí)間設(shè)置狀態(tài) */ 
void EnterTimeSet(){ 
setIndex = 2; //把設(shè)置索引設(shè)置為 2,即可進(jìn)入設(shè)置狀態(tài) 
LeftShiftTimeSet(); //再利用現(xiàn)成的左移操作移到位置 1 并完成顯示刷新 
LcdOpenCursor(); //打開光標(biāo)閃爍效果 
} 
/* 退出時(shí)間設(shè)置狀態(tài),save-是否保存當(dāng)前設(shè)置的時(shí)間值 */ 
void ExitTimeSet(bit save){ 
setIndex = 0; //把設(shè)置索引設(shè)置為 0,即可退出設(shè)置狀態(tài) 
if (save){ //需保存時(shí)即把當(dāng)前設(shè)置時(shí)間寫入 DS1302 
SetRealTime(&bufTime); 
} 
LcdCloseCursor(); //關(guān)閉光標(biāo)顯示 
} 
/* 按鍵動作函數(shù),根據(jù)鍵碼執(zhí)行相應(yīng)的操作,keycode-按鍵鍵碼 */ 
void KeyAction(unsigned char keycode){ 
if ((keycode>='0') && (keycode<='9')){ //本例中不響應(yīng)字符鍵 
}else if (keycode == 0x26){ //向上鍵,遞增當(dāng)前設(shè)置位的值 
IncSetTime(); 
}else if (keycode == 0x28){ //向下鍵,遞減當(dāng)前設(shè)置位的值 
DecSetTime(); 
}else if (keycode == 0x25){ //向左鍵,向左切換設(shè)置位 
LeftShiftTimeSet(); 
}else if (keycode == 0x27){ //向右鍵,向右切換設(shè)置位 
RightShiftTimeSet(); 
}else if (keycode == 0x0D){ //回車鍵,進(jìn)入設(shè)置模式/啟用當(dāng)前設(shè)置值 
if (setIndex == 0){ //不處于設(shè)置狀態(tài)時(shí),進(jìn)入設(shè)置狀態(tài) 
EnterTimeSet(); 
}else{ //已處于設(shè)置狀態(tài)時(shí),保存時(shí)間并退出設(shè)置狀態(tài) 
ExitTimeSet(1); 
} 
}else if (keycode == 0x1B){ //Esc 鍵,取消當(dāng)前設(shè)置 
ExitTimeSet(0); 
} 
} 
/* 配置并啟動 T0,ms-T0 定時(shí)時(shí)間 */ 
void ConfigTimer0(unsigned int ms){ 
unsigned long tmp; //臨時(shí)變量 
tmp = 11059200 / 12; //定時(shí)器計(jì)數(shù)頻率 
tmp = (tmp * ms) / 1000; //計(jì)算所需的計(jì)數(shù)值 
tmp = 65536 - tmp; //計(jì)算定時(shí)器重載值 
tmp = tmp + 28; //補(bǔ)償中斷響應(yīng)延時(shí)造成的誤差 
T0RH = (unsigned char)(tmp>>8); //定時(shí)器重載值拆分為高低字節(jié) 
T0RL = (unsigned char)tmp; 
TMOD &= 0xF0; //清零 T0 的控制位 
TMOD |= 0x01; //配置 T0 為模式 1 
TH0 = T0RH; //加載 T0 重載值 
TL0 = T0RL; 
ET0 = 1; //使能 T0 中斷 
TR0 = 1; //啟動 T0 
} 
/* T0 中斷服務(wù)函數(shù),執(zhí)行按鍵掃描和 200ms 定時(shí) */ 
void InterruptTimer0() interrupt 1{ 
static unsigned char tmr200ms = 0; 
TH0 = T0RH; //重新加載重載值 
TL0 = T0RL; 
KeyScan(); //按鍵掃描 
tmr200ms++; 
if (tmr200ms >= 200){ //定時(shí) 200ms 
tmr200ms = 0; 
flag200ms = 1; 
} 
}
main.c 主文件,負(fù)責(zé)所有應(yīng)用層的功能實(shí)現(xiàn),文件比較長,還是那句話“不難但比較煩瑣”,希望對具體問題分析細(xì)化能力還不太強(qiáng)的同學(xué)們把這個(gè)文件多練習(xí)幾遍,學(xué)習(xí)一下其中把具體問題逐步細(xì)化并一步步實(shí)現(xiàn)出來的編程思想,多進(jìn)行此類練習(xí),鍛煉程序思維能力,將來遇到具體項(xiàng)目設(shè)計(jì)需求的時(shí)候,你很快就可以找到方法并實(shí)現(xiàn)它們了。
Tags:單片機(jī)電子時(shí)鐘,程序設(shè)計(jì),單片機(jī)時(shí)鐘,c語言  
責(zé)任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評論
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
主站蜘蛛池模板: 首钢长白机械有限公司| 东莞市鑫国丰机械有限公司| 上海百劲机械有限公司| 济南 建筑机械有限公司| 上海开隆冶金机械制造有限公司| 东莞高恩机械有限公司| 宁波北仑 机械有限公司| 重庆德运机械制造有限公司| 山西机械设备有限公司| 昆山 机械设备有限公司| 中海福陆重工有限公司招聘| 天津 机械有限公司| 八达重工机械有限公司| 盐城丰炜机械制造有限公司| 首钢东华机械有限公司| 金属制品有限公司起名| 山东万力起重机械有限公司| 宁波北仑 机械有限公司| 佛山新元机械有限公司| 河北德龙钢铁有限公司| 郑州包装机械有限公司| 杭州迪迪机械有限公司| 江苏普格机械有限公司| 京华机械设备有限公司| 广州市科展机械设备有限公司| 东莞市通盛机械有限公司| 山东神力起重机械有限公司| 上海冠隆阀门机械有限公司 | 浙江印刷机械有限公司| 浙江飞达机械有限公司| 上海春明机械制造有限公司 | 山东化工机械有限公司| 宝德机械国际有限公司| 商丘 机械设备有限公司| 新乡市法斯特机械有限公司| 东莞胜通机械有限公司| 西安金力特机械设备有限公司 | 南丰 机械有限公司| 无锡东元精密机械有限公司| 宁波方力机械有限公司| 金华机械 有限公司| 常熟 机械有限公司| 上海永德食品机械有限公司| 河南飞龙工程机械制造有限公司| 山东大启机械有限公司| 上海尼法机械有限公司| 安徽远鸿机械自动化有限公司| 纽科伦新乡起重机有限公司| 宁波星源机械有限公司| 景德镇 机械有限公司| 昆山圣源机械有限公司| 营口金辰机械有限公司| 广州市科展机械设备有限公司| 山西中阳钢铁有限公司| 佛山精诚机械有限公司| 江阴市礼联机械有限公司| 浙江华天机械有限公司| 无锡腾力机械有限公司| 陕西重型机械制造有限公司| 江苏科圣化工机械有限公司| 资阳 机械有限公司| 东源精密机械有限公司| 郑州市天赐重工机械有限公司| 河南起重机械有限公司| 江苏江河机械制造有限公司| 六安恒源机械有限公司| 沈阳重工食品有限公司| 宁波永博机械制造有限公司 | 山东大启机械有限公司| 三一重工昆山有限公司| 无锡振华机械有限公司| 天津伟业钢铁贸易有限公司| 山东重型机械有限公司| 河南豫工机械有限公司| 鸿江机械制造有限公司| 日照钢铁轧钢有限公司| 哈尔滨纳诺机械设备有限公司| 华盛机械制造有限公司| 江阴纺织机械有限公司| 博凯机械上海有限公司| 江阴市江顺机械有限公司| 大连地拓重工有限公司怎么样 | 东莞恒力机械有限公司| 富利源机械有限公司| 合肥亿恒机械有限公司| 自动化机械设备有限公司| 深圳市鑫宏伟机械设备有限公司| 川崎精密机械苏州有限公司| 山东矿山机械有限公司| 常州杰洋精密机械有限公司| 南京南特精密机械有限公司| 无纺布机械有限公司| 温州印刷机械有限公司| 安徽金庆龙机械制造有限公司| 重庆驰骋机械有限公司| 舞钢中加钢铁有限公司| 廊坊 包装机械有限公司| 东莞市大机械有限公司| 博兴县钢铁有限公司| 青岛华雷重工设备有限公司 | 青岛南牧机械设备有限公司| 上海精机械设备有限公司| 成机械设备有限公司| 东莞伟机械有限公司| 佛山机械设备有限公司| 四川依赛特机械制造有限公司| 昆明远桥机械有限公司| 浙江佳成机械有限公司| 洛阳鹏起实业有限公司怎么样| 安微博达重工有限公司| 通力机械制造有限公司| 上海竹达机械设备有限公司| 广州常富机械有限公司| 中实洛阳重型机械有限公司| 浙江科尔博机械有限公司| 北京城建重工有限公司| 河北金鼎钢铁有限公司| 德阳川广机械有限公司| 德大机械昆山有限公司| 瑞安市包装机械有限公司| 山东重特机械有限公司| 东莞大同机械有限公司| 日照机械制造有限公司| 武汉环卫机械有限公司| 广东韶关钢铁有限公司| 如皋市联创捏合机械有限公司| 泰钢钢铁贸易有限公司| 工程机械制造有限公司| 大连矢岛机械有限公司| 江苏冶金机械有限公司| 合肥浩凯机械有限公司| 首钢长治钢铁有限公司| 西安科迅机械制造有限公司| 迅得机械东莞有限公司| 山东六丰机械工业有限公司 | 元机械制造有限公司| 山东莱州机械有限公司| 常州宝菱重工机械有限公司| 五洋纺织机械有限公司| 上海胡鑫机械有限公司| 山东明天机械有限公司| 郑州同鼎机械设备有限公司| 潍坊中迪机械有限公司| 山东机械设备制造有限公司| 大连万阳重工有限公司| 上海起泽起重机械有限公司| 上海盾克机械有限公司| 阜新恒泰机械有限公司| 南京伟舜机械有限公司| 诚泰精密机械有限公司| 南通赛孚机械设备有限公司| 温州利捷机械有限公司| 山东旭升机械有限公司| 浙江顺得机械有限公司| 广州国伟机械有限公司| 临沂胜代机械有限公司| 济南威力机械有限公司| 河南人从众机械制造有限公司| 厦门市机械设备有限公司| 上海创灵包装机械制造有限公司| 南京斯坦福机械有限公司| 四川工程机械有限公司| 杭州金鸥机械有限公司| 天津金都钢铁有限公司| 温州华联机械有限公司| 广西玉柴重工有限公司| 常州朝康机械有限公司| 哈挺精密机械有限公司| 东莞液压机械有限公司| 哈尔滨 机械 有限公司| 无锡博雅德精密机械有限公司| 固精密机械有限公司| 蚌埠行星机械有限公司| 千机械制造有限公司| 江阴市博越机械有限公司| 无锡宝露重工有限公司| 郑州锦德润机械设备有限公司 | 青岛昌源隆纺织机械有限公司| 昌邑市机械有限公司| 石家庄钢铁有限公司| 河南乾坤工程机械有限公司| 辽宁泰威机械制造有限公司| 徐州液压机械制造有限公司| 上海神农机械有限公司| 重庆太强机械有限公司| 无锡永兴机械制造有限公司| 安庆佳乐机械有限公司| 郑州工程机械有限公司| 金格瑞机械有限公司| 宁波 机械 有限公司| 江苏羚羊机械有限公司| 温岭林大机械有限公司| 东莞市亿德机械设备有限公司| 苏州勤堡精密机械有限公司| 江苏华夏重工有限公司| 唐山盛财钢铁有限公司| 建筑工程机械租聘有限公司| 上海全驰机械有限公司| 青岛德利机械有限公司| 上海起鑫贸易有限公司| 广东恒联食品机械有限公司售后| 长沙众宇机械有限公司| 东莞市亚龙玻璃机械有限公司| 中材重型机械有限公司| 济南恒铭钢铁有限公司| 上海重型机械有限公司| 首钢东华机械有限公司| 机械有限公司 招聘| 东莞市瑞辉机械制造有限公司 | 常州儒邦机械有限公司| 南京康尼精密机械有限公司| 江西凯奥机械有限公司| 汉中朝阳机械有限公司| 山东金大丰机械有限公司| 浙江锦峰纺织机械有限公司| 台湾高明机械有限公司| 旭能机械制造有限公司| 宁波机械设备有限公司| 潍坊圣川机械有限公司| 长沙天映机械有限公司| 昆明 机械 有限公司| 协展机械工业有限公司| 市瑞港机械有限公司| 东阳机械制造有限公司| 上海起重机有限公司| 连云港 机械有限公司| 常州常矿起重机械有限公司| 上海 输送机械有限公司| 浙江启博机械有限公司| 江苏食品机械有限公司| 合肥明泰机械施工有限公司| 江苏江佳机械有限公司| 江山重工机械有限公司| 国研机械设备有限公司| 浙江鼎业机械设备有限公司 | 苏州市江南石化机械有限公司| 山东莱州机械有限公司| 无锡兆立精密机械有限公司| 青岛工程机械有限公司| 浏阳 机械有限公司| 江苏佳力起重机械制造有限公司| 山东重特机械有限公司| 佛山市钲昌机械设备有限公司 | 佛山松川机械设备有限公司| 洛阳翼明机械有限公司| 青岛锻压机械有限公司| 西门子机械传动 天津 有限公司| 汕头市伟力塑料机械厂有限公司 | 唐山九江钢铁有限公司| 石油机械制造有限公司| 山东曲阜机械有限公司| 洛阳瑞德机械有限公司| 临海市机械有限公司| 湛江市机械有限公司| 湖北襄玉机械有限公司| 亨内基机械上海有限公司| 威海柳道机械有限公司| 青岛青宏机械制造有限公司| 浙江建机工程机械有限公司| 徐州农丰机械有限公司| 天翔机械制造有限公司| 宝捷精密机械有限公司| 宁波思进机械有限公司| 上海华东制药机械有限公司| 浙江金华机械有限公司| 东莞大禹机械有限公司| 上海神农机械有限公司| 河南省新乡市矿山起重机有限公司| 四川开拓建筑机械租赁有限公司 | 洛北重工机械有限公司| 合肥福晟机械制造有限公司| 珠海康信精密机械有限公司| 南京阿特拉斯机械设备有限公司| 宁波钢铁有限公司工作| 江苏金鹰流体机械有限公司| 潍坊裕川机械有限公司| 常矿起重机械有限公司| 苏州鸿本机械制造有限公司| 临海机械有限公司招聘| 上海高敦精密机械有限公司| 深圳格瑞克机械有限公司| 湘潭丰弘机械制造有限公司| 青岛迪恩机械制造有限公司| 烟台万事达金属机械有限公司| 星光传动机械有限公司| 温州天马食品包装机械制造有限公司| 宁波力劲机械有限公司| 淄博 机械制造有限公司| 山东祥远机械有限公司| 众立机械制造有限公司| 泉州市工程机械有限公司| 江苏登福机械有限公司| 镇江机械设备有限公司| 济南科华机械有限公司| 上海万铂起重机械有限公司| 郑州锦德润机械设备有限公司| 青岛奥硕数控机械有限公司| 常州市锦益机械有限公司| 山东永峰钢铁有限公司| 上海板换机械设备有限公司| 上海红重机械装备有限公司 | 东莞智荣机械有限公司| 无锡鹰贝机械有限公司| 浙江美格机械有限公司| 徐州机械制造有限公司| 德阳 机械有限公司| 食品机械设备有限公司| 西安柳工机械有限公司| 南通宝钢钢铁有限公司| 浙江胜代机械有限公司| 哈尔滨机械有限公司| 山东中悦钢铁有限公司| 南阳市 机械有限公司| 十堰福堰钢铁有限公司| 江阴华西钢铁有限公司| 东莞市比奥机械有限公司| 威海柳道机械有限公司| 淄博捷达机械有限公司| 上海力克机械有限公司| 金韦尔机械有限公司| 沈阳维用精密机械有限公司 | 徐州随车起重机有限公司| 济南真诺机械有限公司| 东莞市兆恒机械有限公司| 合肥华运机械有限公司| 起重机制造有限公司| 济南格特机械设备有限公司| 抚顺机械制造有限公司| 广州领新机械实业有限公司| 河南省矿山起重机械有限公司| 唐山鑫鑫钢铁有限公司| 石家庄嘉祥精密机械有限公司| 东莞市鑫焘机械有限公司| 东莞鸿祥机械有限公司| 瑞迪机械实业有限公司| 安徽宇华机械制造有限公司| 江阴凯澄起重机械有限公司| 上海乔麦包装机械有限公司| 鑫鑫建筑机械有限公司| 常州精密机械有限公司| 永川海通机械有限公司| 金华巨鑫机械有限公司| 慈溪 机械 有限公司| 河北新利钢铁有限公司| 宁波液压机械有限公司| 天津海特传动机械有限公司| 浙江长江机械有限公司| 北京雄伟京发机械加工有限公司| 成都万欣邦达机械制造有限公司| 昆明 机械制造 有限公司| 济宁工程机械有限公司| 台山市机械厂有限公司| 常熟 机械 有限公司| 机械有限公司怎么注册| 河北展利机械有限公司| 河北输送机械有限公司| 河南云天起重机械有限公司 | 山西重工机械有限公司| 郑州企鹅粮油机械有限公司| 青岛金福鑫塑料机械有限公司| 东莞市森佳机械有限公司| 深圳精机械有限公司| 山东通佳机械有限公司| 韶瑞重工有限公司官网| 荏原机械淄博有限公司| 江苏鑫林钢铁有限公司| 杭州神钢建设机械有限公司| 浙江路杰机械有限公司| 武汉机械工程有限公司| 浙江金华机械有限公司| 浙江荣众机械有限公司| 广州卓远机械有限公司| 石家庄 机械 有限公司| 京西重工北京有限公司| 淮安机械制造有限公司| 沈阳凯力拓机械设备有限公司| 艾珍机械设备制造有限公司| 上海善能机械有限公司| 陕西重型机械制造有限公司| 东莞市嘉鲁特注塑机械有限公司 | 广州市金王机械设备有限公司| 山东宝星机械有限公司| 山推楚天工程机械有限公司| 河南机械设备有限公司| 河南奥创机械设备有限公司| 厦门天一精密机械有限公司| 上海德元机械设备有限公司 | 威海卓远机械有限公司| 常州双鸟起重机械有限公司| 临海正大机械有限公司| 宁波联成机械有限公司| 宁波利豪机械有限公司| 常州市永明机械制造有限公司| 南通明德重工有限公司| 新疆机械设备有限公司| 洛阳中收机械装备有限公司| 南京恩梯恩精密机械有限公司| 东莞市恩必信塑胶机械有限公司 | 四川工程机械有限公司| 苏州派普机械有限公司| 杭州力士机械有限公司| 济宁市福瑞得机械有限公司 | 富达机械制造有限公司| 张家港市机械制造有限公司| 河南黄河防爆起重机有限公司| 杭州兴达机械有限公司| 东莞市峰茂机械设备有限公司| 新乡市东振机械制造有限公司| 佛山陶瓷机械有限公司| 新乡 筛分机械有限公司| 平湖英厚机械有限公司| 动机械设备有限公司| 龙口中宇机械有限公司| 江苏东禾机械有限公司| 青岛 数控机械有限公司| 杭州天恒机械有限公司| 上海辰品食品机械有限公司| 浙江华球机械制造有限公司| 东莞宝科机械有限公司| 青岛新东机械有限公司| 浙江新飞机械有限公司| 瑞安市方泰机械有限公司| 厦门市机械有限公司| 深圳新添润彩印机械设备有限公司| 南通明诺机械有限公司| 上海豪德机械有限公司| 东莞市日东超声波机械有限公司| 济宁华珠机械有限公司| 上海机械刀片有限公司| 临沂市机械有限公司| 哈克农业机械装备制造有限公司 | 浙江杰豹机械有限公司| 徐州工程机械有限公司| 云南昆鼎机械设备有限公司| 无锡市双瑞机械有限公司| 洛阳博马农业工程机械有限公司| 西安 工程机械有限公司| 广州振通机械有限公司| 广州冠浩机械设备有限公司| 德州 机械有限公司| 河南人从众机械制造有限公司| 山东鑫弘重工有限公司| 杭州容瑞机械技术有限公司| 宁波市凯博数控机械有限公司 | 固安嘉峰机械有限公司| 昆明机械制造有限公司| 郑州一本机械设备有限公司| 青州市三联重工设备制造有限公司 | 昆山美和机械有限公司| 无锡力恩机械有限公司| 浙江瑞大机械有限公司| 江西柳工机械设备有限公司| 山东云光钢铁有限公司| 青岛顺德塑料机械有限公司| 品龙精工机械有限公司| 洛阳起重机厂有限公司| 京华机械设备有限公司| 锋机械设备有限公司| 济南工程机械有限公司| 苏州海骏自动化机械有限公司| 重庆远博机械有限公司| 天山重工机械有限公司| 深圳创能机械有限公司| 温州市凯驰包装机械有限公司| 徐州成日钢铁有限公司| 沈阳三重机械有限公司| 浙江陀曼精密机械有限公司| 北京永创通达机械设备有限公司 | 南京拓源钢铁有限公司| 青岛同三塑料机械有限公司| 晋工机械有限公司官网| 力士德机械有限公司| 江苏特佳机械有限公司| 昆山五金机械有限公司| 焦作巨航粮油机械有限公司| 江苏莱宝机械制造有限公司| 三联传动机械有限公司| 深圳塑胶机械有限公司| 富世华机械有限公司| 上海众和包装机械有限公司| 南京南特精密机械有限公司| 浙江瑞德森机械有限公司| 宁波力劲机械有限公司| 杭州 机械设备有限公司| 重庆机械有限公司招聘| 重庆磐达机械有限公司| 上海玉兆精密机械有限公司| 杭州恒宏机械有限公司| 深圳机械院建筑设计有限公司| 盐城中热机械有限公司| 潍坊山水环保机械制造有限公司| 江西中天机械有限公司| 上海松仕机械设备有限公司| 范县中鑫钢铁有限公司| 爱克苏州机械有限公司| 顺兴机械制造有限公司| 安徽涌诚机械有限公司| 宁波必沃纺织机械有限公司| 东莞市智科精密机械有限公司| 上海金湖机械有限公司| 威海欧东机械有限公司| 河北安丰钢铁有限公司| 徐州天地重型机械制造有限公司| 重庆明天机械有限公司| 浙江鼎力机械有限公司| 合肥金锡机械有限公司| 苏州星光精密机械有限公司| 烟台市利达木工机械有限公司 | 恒达机械制造有限公司| 济南 机械 有限公司| 上海鼎亚精密机械设备有限公司| 无锡通灵机械有限公司| 晶元精密机械有限公司| 重庆卡滨通用机械有限公司| 新疆八一钢铁有限公司| 山西高义钢铁有限公司| 江苏正合重工有限公司| 三一国杰机械有限公司| 济南 液压机械有限公司| 九江益鑫机械有限公司| 三菱重工空调有限公司| 杭州旭众机械设备有限公司| 上海雄风起重设备厂有限公司| 桂林橡胶机械有限公司| 朝阳重工机械有限公司| 上海龙工机械有限公司| 烟台 机械有限公司| 唐山宏润钢铁有限公司| 昆山市海进机械有限公司| 兰州机械设备有限公司| 苏州宇钻机械有限公司| 哈尔滨 机械 有限公司| 江苏金鹰流体机械有限公司| 昆山 机械 有限公司| 山东誉亚大豆机械制造有限公司| 武汉中轻机械有限公司| 河北文丰钢铁有限公司| 哈挺精密机械有限公司| 潍坊 机械有限公司| 温州市日力轻工机械有限公司| 温州包装机械有限公司| 湖南鼎峰机械有限公司| 河北金维重工有限公司| 溧阳布勒机械有限公司| 沈阳捷优机械设备有限公司| 百事德机械江苏有限公司| 浙江帅锋精密机械制造有限公司 | 华群数控机械有限公司| 瑞安市创博机械有限公司| 江苏常动机械有限公司| 成都的起重有限公司| 苏州全彩机械设备有限公司| 河北金鼎钢铁有限公司| 无锡锡南铸造机械有限公司| 濮阳 机械有限公司| 抚顺机械制造有限公司| 浙江鑫辉机械有限公司| 唐山 机械设备有限公司| 上海石化机械制造有限公司| 浙江开诚机械有限公司| 北默压缩机械有限公司| 德州液压机械有限公司| 龙口中宇机械有限公司| 沈阳重工食品有限公司| 柳州瑞利机械有限公司| 河北宏发机械有限公司| 南兴木工机械有限公司| 宁波辉旺机械有限公司| 无锡双益精密机械有限公司| 上海的纸箱机械有限公司| 百事德机械江苏有限公司| 浙江恒通机械有限公司| 启益电器机械有限公司| 广州起重机械有限公司| 唐山正丰钢铁有限公司| 友隆精密机械有限公司| 上海台新食品机械有限公司| 青岛如隆机械有限公司| 南京惠德机械有限公司| 河北华西钢铁有限公司| 瑞安市瑞博机械有限公司| 张家港市旺巴巴机械有限公司| 大方起重机器有限公司| 青岛华鑫克斯顿机械有限公司| 济宁山矿机械有限公司| 柳州丹顺机械有限公司| 苏州三维精密机械有限公司| 上海炬钢机械制造有限公司| 东莞市利瀚机械有限公司| 新兴移山天津重工有限公司| 贵州凯星液力传动机械有限公司| 江苏优轧机械有限公司| 武汉贝瑞克机械制造有限公司| 泰瑞机械有限公司待遇| 山东河山机械有限公司| 舞钢中加钢铁有限公司| 郑州锦德润机械设备有限公司| 大连典石精密机械有限公司 | 工程机械有限公司经营范围| 山东金奥机械有限公司| 天津 机械 有限公司| 铜陵富鑫钢铁有限公司| 元昆机械(昆山)有限公司| 青岛液压机械有限公司| 天津 起重有限公司| 机械化工工程有限公司| 河南矿山起重机有限公司销售电话 | 富世华全能常州机械有限公司| 攀枝花钢铁有限公司| 佐竹机械苏州有限公司| 工程机械制造有限公司| 杭州三瑞机械有限公司| 张家港市鑫港机械有限公司| 浙江歌德起重机有限公司| 包装机械设备有限公司| 张家口中煤嘉益机械制造有限公司 | 苏州海盛精密机械有限公司怎么样| 浙江流遍机械润滑有限公司| 山东贝特起重机有限公司| 郑州华隆机械制造有限公司| 浙江斯耐达机械工具有限公司 | 大连升隆机械有限公司| 机械有限公司经营范围| 广州联冠机械有限公司| 徐工工程机械有限公司| 东莞市兆恒机械有限公司| 河北冠能石油机械制造有限公司 | 上海普顺机械电器制造有限公司| 广州卓远机械有限公司| 大连胜龙包装机械有限公司| 中交西安筑路机械有限公司| 天津工程机械有限公司| 东莞市沃德精密机械有限公司| 邯郸新兴重型机械有限公司| 山西华强钢铁有限公司| 常州先电机械有限公司| 潞城兴宝钢铁有限公司| 广州市广花包装机械有限公司 | 山东起重机有限公司| 广州西力机械有限公司| 青岛昌源隆纺织机械有限公司| 莒县长运机械有限公司| 自动化机械设备有限公司| 卡骏机械设备有限公司| 宁波钢铁有限公司电话| 东莞包装机械有限公司| 鑫港机械制造有限公司| 上海辰品食品机械有限公司| 玉环博行机械有限公司| 东莞液压机械有限公司| 深圳市钢铁有限公司| 浙江胜祥机械有限公司| 潍坊凯隆机械有限公司| 杭州中亚机械有限公司招聘| 宁波必沃纺织机械有限公司| 武汉东泰盛机械有限公司| 众旭食品机械有限公司| 杭州定江机械有限公司| 机械(上海)有限公司| 鞍山机械设备有限公司| 苏州德扬数控机械有限公司| 卡麦龙机械有限公司| 江苏霸马机械有限公司| 北京包装机械有限公司| 济南金梭机械制造有限公司| 山东九环石油机械有限公司| 山东长城起重机械有限公司| 宁波威恩精密机械有限公司 | 温州中环机械设备有限公司| 长城重型机械制造有限公司| 江苏冠宇机械设备制造有限公司| 南阳鼎鑫钢铁有限公司| 保定市恒瑞游乐机械有限公司| 温州奋起皮业有限公司| 永胜机械工业有限公司| 河南丰泉机械有限公司| 上海应晓食品机械有限公司| 建湖液压机械有限公司| 邯郸包装机械有限公司| 大华机械制造有限公司| 威海欧东机械有限公司| 东莞市鼎祥通用机械设备有限公司| 南通科邦机械有限公司| 润源经编机械有限公司| 南阳东佳机械有限公司| 青岛辉特重工有限公司| 豪利机械苏州有限公司| 道依茨法尔机械有限公司| 上海恒麦食品机械有限公司| 济南钢铁 有限公司| 恒瑞机械制造有限公司| 盐城海德机械制造有限公司| 建筑工程机械租聘有限公司 | 苏州典艺精密机械有限公司| 东莞培锋精密机械有限公司| 黄石华旦机械制造有限公司| 浙江荣亿精密机械有限公司| 青岛华华机械有限公司| 华盛机械设备有限公司| 浙江机械制造有限公司| 珠海飞马传动机械有限公司| 常州精密机械有限公司| 广州市京龙工程机械有限公司| 江阴派格机械设备有限公司| 山东隆盛钢铁有限公司| 邹平县宏鑫机械制造有限公司| 漳州钜钢机械有限公司| 环保机械设备有限公司| 大连 精密机械有限公司| 瑞安市天晟包装机械有限公司| 芜湖机械制造有限公司| 温州市友田包装机械有限公司| 玛连尼 法亚机械有限公司| 保定锐腾机械制造有限公司| 杭州建明机械有限公司| 福清市机械有限公司| 萨克米机械有限公司| 鹤壁万丰矿山机械制造有限公司| 湖南天拓重工机械有限公司| 杭州武林机械有限公司| 河南嵩山重工有限公司| 山东顺达机械有限公司| 常熟机械制造有限公司| 上海沪工起重机械有限公司| 山东天路重工有限公司| 江苏羚羊机械有限公司| 三星机械制造有限公司 | 恒瑞机械制造有限公司| 中山市翠山机械制造有限公司| 潍坊裕川机械有限公司| 机械电子制造有限公司| 唐山国义钢铁有限公司| 丰诺植保机械制造有限公司| 成都 机械 有限公司| 郑州东方尚武食品机械有限公司| 江苏金鹰流体机械有限公司| 广州市机械有限公司| 广东富华机械装备制造有限公司| 丹阳荣嘉精密机械有限公司| 盐城市成功机械制造有限公司| 昆山精工机械有限公司| 烟台微特机械有限公司| 东莞市高臻机械设备有限公司| 郑州双合机械有限公司| 黄山三佳谊华精密机械有限公司| 山东钢铁有限公司招聘| 上海百劲机械有限公司| 湖南金塔机械制造有限公司| 安阳永兴钢铁有限公司| 裕民机械工业有限公司| 土平机械江苏有限公司| 新进精密机械苏州有限公司| 泰兴市立君机械设备有限公司 | 天门仙粮机械有限公司| 青州三和机械有限公司| 东莞恒力机械有限公司| 动力机械制造有限公司| 合肥海源机械有限公司| 常州斯太尔动力机械有限公司| 东莞市旭田包装机械有限公司 | 苏州晋日五金机械有限公司| 泉州明辉机械有限公司| 苏州阔泽精密机械有限公司| 沂水巨龙机械有限公司| 洛阳泰红农业机械有限公司| 三一国杰机械有限公司| 河北东方富达机械有限公司 | 余姚 机械 有限公司| 鹰普机械宜兴有限公司| 鼎泰盛机械有限公司| 丰润区钢铁有限公司| 昆荣机械(昆山)有限公司| 青岛纺织机械有限公司| 河北新钢钢铁有限公司| 宝鸡石油机械有限公司| 杭州杭顺机械有限公司| 机械(昆山)有限公司| 广州新浪爱拓化工机械有限公司 | 西安机械制造有限公司| 泰安恒大机械有限公司| 奉化南方机械有限公司| 庆达机械制造有限公司| 青岛重工机械有限公司| 青州包装机械有限公司| 无锡橡塑机械有限公司| 佛山包装机械有限公司| 江苏久盛机械设备有限公司 | 秦皇岛国阳钢铁有限公司| 阜新恒泰机械有限公司| 东莞宏起塑胶电子有限公司| 咸阳机械制造有限公司| 起帆电缆有限公司上市| 济南天助升降机械有限公司| 瑞达机械制造有限公司| 温岭宏业机械有限公司| 上海乔麦包装机械有限公司| 常州恒力机械有限公司| 威海精密机械有限公司| 北京明日之星玻璃机械有限公司| 无锡力恩机械有限公司| 机械有限公司 英文| 山东润通机械制造有限公司| 广州通泽机械有限公司| 无锡永兴机械制造有限公司| 邢台正佳机械制造有限公司| 河南真牛起重机有限公司| 山东瑞华工程机械有限公司| 安阳永兴钢铁有限公司| 宏鑫机械设备有限公司| 临沂园林机械有限公司| 唐山国义特种钢铁有限公司| 浙江汉克机械有限公司| 宁波美宁机械有限公司| 无锡中机械有限公司| 河南省机械有限公司| 大连起重矿山机械有限公司| 上海贝得尔石化机械设备有限公司 | 诺威起重设备苏州有限公司| 金格瑞机械有限公司| 秦皇岛安丰钢铁有限公司| 淮安华辉机械设备有限公司| 上海普顺机械电器制造有限公司| 温岭宏业机械有限公司| 无锡奥野机械有限公司| 佛山玻璃机械有限公司| 江苏甲钢钢铁有限公司| 长沙力诺机械有限公司| 无锡市锡恒机械有限公司| 济南章力机械有限公司| 浙江天联机械有限公司| 洛阳瑞德机械有限公司| 无锡建仪仪器机械有限公司| 格林策巴赫机械有限公司| 上海景林包装机械有限公司| 国研机械设备有限公司| 南京欧能机械有限公司| 江苏宇达机械有限公司| 河南 机械有限公司| 济南盛润机械有限公司| 北默压缩机械有限公司| 河北裕华钢铁有限公司| 德龙钢铁有限公司招聘| 浙江飞挺机械有限公司| 重庆驰骋机械有限公司| 广西南宁机械有限公司| 大连地拓重工有限公司| 上海德耐尔压缩机械有限公司| 上海鑫越包装机械有限公司| 江苏巨风机械制造有限公司| 全精密机械有限公司| 常州布勒机械有限公司| 定州市至信机械制造有限公司| 广州华劲机械有限公司| 大连工进机械制造有限公司| 大庆机械制造有限公司| 无锡 精密机械有限公司| 德州联合石油机械有限公司| 旭众食品机械有限公司| 信息技术有限公司起名| 湖州三一重工有限公司| 食品机械(上海)有限公司| 唐山化工机械有限公司| 南阳鼎鑫钢铁有限公司| 德蒙压缩机械有限公司| 东莞大兴发机械有限公司| 华电重工装备有限公司| 河南万泰机械有限公司| 广州善友机械设备有限公司| 昆山来运机械设备有限公司 | 重庆嘉木机械有限公司| 沈阳顺达重矿机械制造有限公司 | 新乡高服机械有限公司| 亿传玻璃机械有限公司| 北京恒博立华机械设备有限公司| 三门峡机械有限公司| 烟台工程机械有限公司| 苏州立注机械有限公司| 河北奥宇钢铁有限公司| 吴江精密机械有限公司| 武汉鑫金泽机械有限公司| 上海科峰机械有限公司| 杭州天扬机械有限公司| 玛连尼 法亚机械有限公司| 昆山拓可机械有限公司| 河南省时代起重机械有限公司| 德州佳永机械制造有限公司| 上海赛峰包装机械设备有限公司| 纸箱机械设备有限公司| 云南机械设备有限公司| 青岛给力机械有限公司| 制药机械设备有限公司| 合肥春华起重机械有限公司 | 无锡沃利数控机械有限公司| 青岛农业机械有限公司| 无锡橡塑机械有限公司| 郑州茂祥机械有限公司| 广东恒联食品机械有限公司售后| 江西鑫通机械制造有限公司| 青岛中鸿重型机械有限公司| 天津 机械制造有限公司| 江西省机械有限公司| 陕西 机械设备有限公司| 五谷酿机械有限公司| 烟台宏兴机械有限公司| 河北金维重工有限公司| 上海德托机械有限公司| 甘肃机械化建设工程有限公司| 廊坊德基机械有限公司| 陆丰机械郑州有限公司| 青岛欧普机械设备有限公司 | 力邦 机械有限公司| 绍兴 机械有限公司| 河南省浩业矿山机械有限公司| 创宝包装机械有限公司| 山东亚泰重型机械有限公司 | 盘起工业大连有限公司| 温州华联机械有限公司| 南通国盛精密机械有限公司| 河北安丰钢铁有限公司| 伊之密机械有限公司| 上海展仕机械设备有限公司| 浙江德迈机械有限公司| 山西天巨重工机械有限公司| 萍乡萍钢安源钢铁有限公司| 济宁五创机械有限公司| 苏州孚杰机械有限公司| 常州腾睿机械有限公司| 安徽格瑞德机械制造有限公司 | 河南永康机械有限公司| 东莞市兆恒机械有限公司| 广州惠辉机械设备有限公司| 山东金成机械有限公司| 浙江工程机械有限公司| 东莞丰堡精密机械有限公司| 山西新泰钢铁有限公司| 宜兴永康机械有限公司| 昆山奥德机械有限公司| 平湖成功机械有限公司| 青岛佳友包装机械有限公司| 建筑装饰有限公司起名| 雷肯农业机械有限公司| 东莞 精密机械有限公司| 湖州卓信机械有限公司| 南通牧野机械有限公司| 潍坊川泰机械有限公司| 宏远机械制造有限公司| 保定华光机械有限公司| 上海木工机械有限公司| 瑞安市天晟包装机械有限公司| 梧州沃华机械有限公司| 南京欧能机械有限公司| 江西协旭机械有限公司| 建友机械设备有限公司| 京雕精密机械有限公司| 张家港市港达机械有限公司| 无锡秉杰机械有限公司| 延边金科食品机械有限公司| 临工工程机械有限公司| 友佳精密机械有限公司| 包头吉宇钢铁有限公司| 重庆江增船舶重工有限公司| 青州三和机械有限公司| 上海戈扬包装机械有限公司| 淮安液压机械有限公司| 潍坊机械设备有限公司| 廊坊中建机械有限公司| 广东科杰机械自动化有限公司 | 山东天元建设机械有限公司| 机械有限公司怎么注册| 郑州华龙机械工程有限公司| 昆明呈钢钢铁有限公司| 南京利德盛机械有限公司| 矿山机械设备有限公司| 广州日森机械有限公司| 金鹰重型工程机械有限公司| 上海得力起重索具有限公司| 安徽威萨重工机械有限公司| 安徽中科光电色选机械有限公司 | 南京神鹏机械设备有限公司| 宁波市机械有限公司| 南通昭和机械有限公司| 连云港亚新钢铁有限公司| 上海宏挺机械设备制造有限公司| 东莞培锋精密机械有限公司| 石家庄机械制造有限公司| 苏州机械设备有限公司| 山东岳峰起重机械有限公司 | 厦门众达钢铁有限公司| 浙江易锋机械有限公司| 徐州利国钢铁有限公司| 青岛欧普机械设备有限公司| 湖南力诺机械有限公司| 江苏重型机械有限公司| 河南重型机械有限公司| 天津云飞机械有限公司| 山东博杰重型工程机械有限公司| 南皮县中顺环保机械有限公司| 佛山顺德区机械有限公司| 常州昊博机械有限公司|