




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第三章C51編程設計及應用實例3.1C51程序設計基礎3.2軟件延時3.3流水燈程序主要內容:本章教學計劃:
理論+實踐教學12學時本章教學重點:掌握C51程序設計基礎掌握軟件延時方法掌握流水燈控制程序3.1.1進制轉換
二進制、十進制和十六進制十進制 二進制 十六進制0 0b0000 0x01 0b0001 0x12 0b0010 0x23 0b0011 0x34 0b0100 0x4…… …… ……9 0b1001 0x910
0b1010 0xA11 0b1011 0xB12 0b1100 0xC13 0b1101 0xD14 0b1110 0xE15 0b1111 0xF16 0b00010000 0x1017
0b00010001 0x11…… …… ……3.1C51程序設計基礎1)C語言的數(shù)據(jù)類型及范圍(P25)3.1.2數(shù)據(jù)與運算符數(shù)據(jù)2)C51語言的數(shù)據(jù)類型及范圍(P25)3)常量常量分為有不同的類型:0、1、-5稱為整型常量;3.14159、-12.34稱為實型常量;‘a’、‘A’稱為字符型常量常量的定義形式為#define常量名常量例如:#definePI3.14159定義:程序運行過程中,不能改變的量。常量名一般用大寫3.1.2數(shù)據(jù)與運算符4)變量
位變量:bitb1,b2,b3;整型變量;inta,b;浮點型變量;floatx,y;字符型變量:charch1,ch2;定義:程序運行過程中,可以改變的量。變量分為有不同的類型,定義形式如下:縮寫變量的數(shù)據(jù)類型#defineucharunsignedchar#defineuintunsignedint1)C51的優(yōu)先級及結合方向優(yōu)先級:當運算對象兩側都有運算符時,執(zhí)行運算的先后次序。按運算符的高低來執(zhí)行。例:先乘除、后加減。結合方向:一個運算對象兩側的運算符的優(yōu)先級相同時的運算順序。分左右結合兩種。例:a+b+c-d左結合-(-(-5))右結合C語言基本運算符(P34)2)C51算術運算符及表達式C51的算術運算符有5種:+-*/%加法運算符或正值符號減法運算符或負值符號乘法運算符除法運算符求余運算符除法有兩種:整除:兩個運算對象為整數(shù)時;普通除法:兩個運算對象中有一個為實數(shù)時。優(yōu)先級:先乘除求余、后加減(小括號的優(yōu)先級最高)結合方向:除正負號外,其它都是左結合算術表達式:由算術運算符連接起來的式子3)C51關系運算符及表達式C51的關系運算符有6種:<><=>===!=小于大于小于等于大于等于等于注意:等于和賦值不要混淆。關系運算符的結果是0或1優(yōu)先級:<,>,<=,>=同優(yōu)先級,==,!=同優(yōu)先級,但前者高于后者結合方向:全部左結合不等于例如:若a=5,b=3,c=1則a>bb+c<ad=a>bf=a>b>c關系表達式:由關系運算符連接起來的式子4)C51邏輯運算符及表達式C51有三種邏輯運算符:!&&||邏輯非邏輯與邏輯或“!”是單目運算符,&&和||是雙目運算符。邏輯表達式:用邏輯運算符連接起來的式子。優(yōu)先級:!最高,&&次之,||最低。結合方向:!是右結合,&&和||是左結合。邏輯表達式的結果是“0”或“1”。Note:邏輯運算中,所有非0值都當作邏輯值“1”。例如:若a=4,b=5!aa||ba&&b!a&&b邏輯表達式的計算順序當由多個邏輯運算符構成的邏輯表達式中,并不是所有的邏輯運算符都被執(zhí)行,只是在必須執(zhí)行下一個邏輯表達式的值時,才執(zhí)行該運算符。對邏輯與&&,只有當左邊的表達式的不為0時,才繼續(xù)往后運算,直到有一個為0為止或計算完畢為止。例:若a=1,b=2,c=3,d=4,m=1,n=1
表達式:(m=a>b)&&(n=c<d)
表達式:(m=a>b)||(n=c<d)對邏輯或||,只有當左邊的表達式的不為1時,才繼續(xù)往后運算,直到有一個為1為止或計算完畢為止。5)C51位操作及表達式C51提供了如下位操作運算符:
&按位與;|按位或;優(yōu)先級高于邏輯運算符^按位異或;~接位取反:優(yōu)先級次于!<<位左移;>>位右移;除了按位取反運算符~以外,以上位操作運算符都是兩目運算符,即要求運算符兩側各有一個運算對象。注意:位運算符只能是整型或字符型數(shù)。不能為實型數(shù)據(jù)。優(yōu)先級低于算術運算符5.1)按位反運算符~~是一個單目運算符,用來對一個二進制數(shù)按位進行取反,即0變1,1變0。例若a=F0H=11110000B則表達式:a=~a值為0F
即a:11110000
~00001111(0FH)~運算符的優(yōu)先級比別的算術運算符、關系運算符和其它運算符都高。
例如~a&b的運算順序為先作~a再作&運算。優(yōu)先級次于!。5.2)按位與運算符&
運算規(guī)則:參加運算的兩個運算對象,若兩者相應的位都為1,則該位結果值為1,否則為0。即0&0=00&1=01&0=01&1=1例若a=54H=01010100Bb=3BH=00111011B則表達式:c=a&b的值為10H即a:01010100
b:&00111011c:=00010000(10H)5.2)按位與運算符&按位與&的作用:用作指定位的清零用法:指定位用0,其他位用1,該數(shù)與目標數(shù)進行按位與的運算(0的位置對應清零位置)例子:P1=P1&0xof的作用?P1=P1&0xof,即P1=(P1&00001111),結果是高四位清零原因:任意數(shù)和0進行&運算后為0,任意數(shù)和1進行&運算后該數(shù)不變5.2)按位與運算符&練習把端口P2的低四位置0把端口P3的前兩位置0把端口P0的后兩位置0把端口P0的各位間隔置05.3)按位或運算符|
運算規(guī)則:參加運算的兩個運算對象,若兩者相應的位中,只要有一個為1,則該俠結果為1。即0|0=00|1=11|0=11|1=1例若a=30H=00110000Bb=0FH=00001111B則表達式:c=a|b的值為3FH
即a:00110000
b:|0000111100111111(3FH)5.3)按位或運算符|按位或|的作用:用作指定位進行置1用法:指定位用1,其他位用0,該數(shù)與目標數(shù)進行按位或的運算(1的位置對應置1的位置)例子:P1=P1|0xof的作用?P1=P1|0xof,即P1=(P1|00001111),結果是低四位置1原因:任意數(shù)和1進行或運算后為1,任意數(shù)和0進行或運算后該數(shù)不變練習把端口P2的低四位置1把端口P3的前兩位置1把端口P0的后兩位置1把端口P0的各位間隔置15.4)異或運算符^運算規(guī)則:參加運算的兩個運算對象,若兩者相應的位值相同,則結果為0;若兩者相應的位相異,則結果為1。即0^0=0
0^1=11^0=1
1^1=0例a=A5H=10100101b=37H=00110111則表達式:c=a^b的值為92H
即a:10100101
^b:0011011110010010(92H)特點:按位異或可以將指定位取反。5.4)異或運算符^按位異或^的作用:用作指定位進行取反用法:指定位用1,其他位用0,該數(shù)與目標數(shù)進行按位異或的運算(1的位置對應取反的位置)例子:P1=P1^0xof的作用?P1=P1^0xof,即P1=(P1^00001111),結果是低四位取反原因:任意數(shù)和1進行異或運算后結果取反,任意數(shù)和0進行異或運算后該數(shù)不變5.4)異或運算符^練習把端口P2的低四位取反把端口P3的前兩位取反把端口P0的后兩位取反把端口P0的各位間隔取反5.5)位左移和位右移運算符(<<,>>)
(優(yōu)先級次于算術運算符)位左移、位右移運算符<<、>>,用來將一個數(shù)的各二進制位的全部左移或右移若干位,移位后,空白位補0,而溢出的位舍棄。例若a=EAH=11101010B則表達式:a=a<<2,將a值左移兩位,其結果為A8H。(左邊位舍棄,右邊位補零)
表達式:a=a>>2,將a值右移兩位,其結果為3AH。(右邊位舍棄,左邊位補零)循環(huán)左移和循環(huán)右移注意(P46)單片機中經常會用到循環(huán)左移和循環(huán)右移,只能用函數(shù)實現(xiàn)(使用時,程序中必須包含#include<intrins.h>一行)_crol_,_cror_;將char型變量循環(huán)左移、右移指定位數(shù)后返回_irol_,_iror_;將int型變量循環(huán)左移、右移指定位數(shù)后返回eg:LedTemp=_crol_(LedTemp,1);//循環(huán)左移eg:位移運算符的例子main(){unsignedchara=0xc3,b,c;intn=2;b=a<<(8-n);c=a>>n;a=c|b;}答案:b=0b11000000c=0b00110000a=0b11110000=0xF06)自增、自減運算符(++,--)
(優(yōu)先級高于算術運算符)
作用是使變量的值增1或減1,如:++i,--i(在使用i之前,先使i的值加(減)1)如果i的原值為3a)j=++i;(i的值先變成4,再賦給j,j的值為4)
i++,i--(在使用i之后,使i的值加(減)1)b)j=i++;
(先將i的值3賦給j,j的值為3,然后i變?yōu)?)例2.1.2:寫出程序運行的結果。
#include<stdio.h>voidmain(){
int
i,j,m,n;
i=8;j=10;
m=++i;n=j++;’
printf(“%d,%d,%d,%d\n”,i,j,m,n);}7)復合運算符凡是二目運算符都可以與賦值運算符“=”組合在一起,稱為復合運算符。C51提供有10種符合賦值運算符:+=、-=、*=、/=、%=、&=、|=、^=、>>=、<<=例如:a=a+b可寫為a+=ba=a<<3可寫為a<<=3for語句
for(表達式1;表達式2;表達式3)
{語句1;語句2;
……
語句n;}
語句格式:循環(huán)體表達式1—
循環(huán)初始表達式,用于進入循環(huán)體前為循環(huán)變量賦初值由算術、賦值、邏輯和逗號表達式構成。表達式2
—
循環(huán)控制表達式,用于控制循環(huán)體語句的執(zhí)行次數(shù)由關系表達式或邏輯表達式構成。表達式3
—
修改循環(huán)變量表達式,即每循環(huán)一次使得表達式1的值就要變化一次。由算術、賦值、邏輯或逗號表達式構成
語句功能:
當表達式2
的值為真時執(zhí)行循環(huán)體中各語句。3.1.3for與while循環(huán)語句它的執(zhí)行過程如下:
(1)
先求解表達式1。
(2)
求解表達式2,若其值為真(值為非0),則執(zhí)行for語句中指定的內嵌語句,然后執(zhí)行下面第(3)步。若為假(值為0),則結束循環(huán),轉到第(5)步。
(3)
求解表達式3。
(4)
轉回上面第(2)步驟繼續(xù)執(zhí)行。
(5)
循環(huán)結束,執(zhí)行for語句下面的一個語句。for語句的用法for語句的一般形式(用法1)for(表達式1;表達式2;表達式3){ (需要執(zhí)行的語句);}例如:for(i=0;i<2;i++){j++}for語句的用法用法2:for(i=0;i<30000;i++);(延時)用法3:for(;;)(即不設初值,不判斷條件(認為表達式2為真值),循環(huán)變量不增值。無終止地執(zhí)行循環(huán)體。死循環(huán))while語句
先計算表達式的值并判斷,若表達式值為“真”(即非零值),則執(zhí)行循環(huán)體中的語句;然后再計算再判斷,如此重復,直到表達式值為“假”(即0值)時,則跳出循環(huán)語句格式:
while(條件表達式){語句1;語句2;
……語句n;}
循環(huán)體語句功能:當條件表達式的值為真時重復執(zhí)行循環(huán)體中各語句。
語句說明:條件表達式是關系表達式,邏輯表達式,賦值表達式
while語句的用法
(如果沒有花括號的話,則while循環(huán)語句的范圍只是到while后面的第一個分號處)函數(shù)的簡單介紹函數(shù)定義的一般形式:函數(shù)值類型函數(shù)名(形式參數(shù)列表){函數(shù)體}1、函數(shù)值類型2、函數(shù)名3、形式參數(shù)列表4、函數(shù)體5、main函數(shù)(必須有且唯一)6、語句注釋//3.1.4函數(shù)(P42)3.1.4函數(shù)(P42)函數(shù)的聲明形式對應數(shù)學里的函數(shù):自變量->參數(shù)因變量->返回值調用原則:函數(shù)可相互調用(main函數(shù)除外),但不能嵌套定義函數(shù)的執(zhí)行順序:從main函數(shù)進入,調用其他函數(shù)后,在main函數(shù)結束3.1.4函數(shù)(P42)函數(shù)的聲明形式參數(shù):形參:函數(shù)定義時的參數(shù)實參:使用時的參數(shù)返回值:默認為整型無返回值可加void3.1.4函數(shù)(P42)函數(shù)的聲明形式函數(shù)調用:種類:本身的庫函數(shù)以及自定義的函數(shù)被調用的函數(shù)放在前面(或在主函數(shù)前先定義,P42-43)變量作用域:全局變量:作用在程序文件里局部變量:作用在函數(shù)里3.1.4函數(shù)(P43)函數(shù)的聲明形式變量生存期:全局變量:直到程序的退出局部變量:直到函數(shù)的退出3.1.5特殊功能寄存器的關鍵字sfr(P29)P25表2-3:對比C語言里的數(shù)據(jù)類型單片機特有的類型:bit,sbit,sfr,sfr163.1.5特殊功能寄存器的關鍵字sfr(P29)數(shù)據(jù)存儲器存儲結構的分析:(P23圖2-8(b))0000-FFFFH為片外存儲片外數(shù)據(jù)存儲器利用P2,P0口作為地址總線(共16根)(AT89C51)片內數(shù)據(jù)存儲:00H-7FH,80-FFH區(qū)間用于特殊功能寄存器SFR3.1.5特殊功能寄存器的關鍵字sfr(P29)00-7FH的片內數(shù)據(jù)存儲器劃分為3個區(qū):00-1FH:通用寄存器區(qū)20-2FH:可位尋址區(qū)30-7FH:用戶RAM區(qū)P24圖2-9存儲器區(qū)域的對應分析3.1.5特殊功能寄存器的關鍵字sfr(P29)SFR:用以控制定時器、計數(shù)器、串口、I/O口及其它部件。
特殊功能寄存器的名字,在C51程序中,全部大寫。SFR的地址為80-FFH,容量為:15*16+15-8*16+1=128字節(jié)尋址方式:位尋址部分字節(jié)尋址字尋址AT89C51單片機的所有特殊功能寄存器及初值(見P30表2-7)例如:P0-P3的地址分別為80H,90H,A0H,B0H3.1.5特殊功能寄存器的關鍵字sfr(P31)操作和賦值方式:對寄存器地址對應的端口進行操作例子:把90H位置設置為FFH,參照表2-7,90H對應P1端口,即:讓P1的8個端口全置1推廣:1.將A0H置00H?2.將80H置aaH?3.將B0H置10H?3.1.5特殊功能寄存器的關鍵字sfr(P31)SFR的定義方式(P31)(三個關鍵字:sfr,sfr16和sbit)與P1的賦值語句不同:P1=0x90;:賦值sfrP1=0x90;:P1端口寄存器地址為90HSFR定義的為數(shù)值,‘=’后不能有計算表達式頭文件(提供了特殊功能寄存器的定義)51單片機:#include<reg51.h>52單片機:#include<reg52.h>3.1.5特殊功能寄存器的關鍵字sfrSFR的定義方式(P31)sfr與sfr16的區(qū)別:sfr:8位數(shù)據(jù)訪問sfr16:16位數(shù)據(jù)訪問(字尋址)sfr16直接定義低8位地址,高8位續(xù)低8位地址例子:sfr16T2=0xcc表示(AT89C52中的定時器2)T2低8位地址:oxcc;T2高8位地址:oxcd;3.1.5特殊功能寄存器的關鍵字sfrSFR的定義方式(P31)具有位運算功能的SFR用‘sbit’定義定義方式:(比較P31-P32的三種定義方式)1.先基地址再子地址的方式:P31(1)2.直接基地址上的子地址:P32(2)3.地址直接賦值P32(3)實例:P32第一種方法:
sfrP1=0x80;sbitred=P1^0;sbityellow=P1^1;sbitgreen=P1^2;第二種方法:
sbitred=0x80^0;sbityellow=0x80^1;sbitgreen=0x80^2;第三種方法:
sbitred=0x80;sbityellow=0x81;sbitgreen=0x82;1、sbit的定義形式:3.1.5特殊功能寄存器的關鍵字sfr3.1.5特殊功能寄存器的關鍵字sfr定義位變量的bit和sbit的區(qū)別(1)bit不指定地址的話地址隨機(片內RAM中位尋址區(qū))sbit一般用于確定的地址,一般有基地址和‘^’的衍生位(P32的幾個實例)(2)bit一般用于判斷的標志位(類似bool類型)sbit一般用于SFR中可位尋址端口,否則要求變量存儲器類型為‘bdata’(20H~2FH:可位尋址內部RAM區(qū))3.1.5特殊功能寄存器的關鍵字sfr定義位變量的bit和sbit的區(qū)別bit類型(位變量)bit定義位變量,值為0或1作用(類似布爾變量)1.條件是/否的判斷(如循環(huán),分支語句)2.燈亮/暗,高/低電平燈實際量的表示3.1.5特殊功能寄存器的關鍵字sfr‘^’操作符的位位置的最大值char/uchar:8位,位位置的最大值:0-7int/uint/short/ushort:16位,位位置的最大值:0-15long/ulong:32位,位位置的最大值:0-31位位置的最大值的范圍與取值范圍的含義不同char位位置的最大值:0-7…….51單片機延時常用辦法3.2軟件延時for語句循環(huán)一次消耗8個機器周期的時間51單片機延時常用辦法3.2軟件延時幾個常用概念:振蕩周期:振蕩源周期,由晶體本身決定;時鐘周期:包含2個振蕩周期,分別為:節(jié)拍P1:完成算術邏輯操作;節(jié)拍P2:完成寄存器之間的數(shù)據(jù)傳輸;機器周期:包含6個時鐘周期包含的時鐘周期:S1,S2,S3,S4,S5,S6包含的節(jié)拍(振蕩周期):12個:S1P1,S1P2,…….,S6P1,S6P251單片機延時常用辦法3.2軟件延時機器周期:完成一條指令的時間,時間不確定,MCS-51單片機為1-4個機器周期(P17);相互關系:1機器周期=6時鐘周期=12振蕩周期;計算:當晶體頻率為12MHz時,對應的振蕩周期,時鐘周期,機器周期分別是多少?(P17)/***************************************************/#include<reg52.h>//包含特殊功能寄存器定義的頭文件#defineucharunsignedchar//預定義voiddelay(uchar);//函數(shù)聲明sbitLED=P1^0;//位地址聲明,定義P1.0為LED/***************************************************/voidmain(void)//主函數(shù),任何一個C程序有且僅有一個主函數(shù){
//{}是成對出現(xiàn)的,這里表示函數(shù)的起始與結束
while(1)//死循環(huán),(程序空間可容納代碼量),讓程序停//留在所希望的狀態(tài)下,不要亂運行{LED=!LED;//取反后送到LED端口;分號表示一條語句結束
delay(255);delay(255);//調用延時函數(shù),延時510ms}}/****************************************************/voiddelay(ucharx)//延時函數(shù){uchark;while(x--)for(k=0;k<125;k++);}/*****************************************************/回顧:流水燈實驗8個LED發(fā)光二極管,分別對應單片機IO口的P1.0到P1.7口,8個單片機IO口組成一個字節(jié),在程序編寫過程中,可以直接用P1來進行操作。C語言的8位二進制數(shù)代表了8個IO口例如:P1=0xfe;0b11111110
0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F.P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.01111111
02.3流水燈程序流水燈控制圖2-11中的單片機可以是AT89C51系列的單片機,也可以是任意的51內核的單片機,其中8個LED采用共陽極的連接方法,即8個LED的公共端是接在正電源上的,此時當單片機的P1各端口如果是輸出低電平時,LED亮,當各端口輸出高電平時,LED滅。下面的程序給出了8個LED燈循環(huán)顯示,即LED燈按照順序一個一個點亮的程序。/*****************************************************/#include<reg52.h>//定義特殊功能寄存器庫#include<intrins.h>//定義循環(huán)左移、右移等函數(shù)庫#defineucharunsignedchar//預定義#defineuintunsignedintvoiddelay(uchar);//函數(shù)聲明/*****************************************************/voidmain(void){ucharLedTemp;LedTemp=0xfe;//初始值while(1){P0=LedTemp;//送值到端口LedTemp=_crol_(LedTemp,1);//循環(huán)左移delay(255);delay(255);delay(255);delay(255);//延時}}/**************************************************/voiddelay(ucharx)//延時函數(shù){uchark;while(x--)for(k=0;k<125;k++);}/**************************************************/本程序的功能是將8個LED循環(huán)點亮,中間延時大約1秒(假設晶體振蕩器的頻率是11.0592MHz)。送給P1端口的變量LedTemp的初始值為0xfe,寫成二進制為11111110,因為是低電平LED點亮,所以只有一個LED燈被點亮,送完第一次的值后,LedTemp循環(huán)左移,循環(huán)后的二進制代碼是11111101,延時大約1秒后,將新的LedTemp的值送P1端口,LedTemp再循環(huán)左移后二進制代碼為11111011,這樣不斷的運行,8各LED燈就循環(huán)向左顯示,LED燈就循環(huán)的跑起來了。作業(yè)1、將流水燈左移理解透徹后,獨立完成流水燈右移操作。2、修改程序并實現(xiàn):依次1和5燈亮,然后2和6燈亮,然后3和7燈亮,然后4和8燈亮,之后循環(huán)3、獨立完成一個左移到頭接著右移,右移到頭接著左移的花樣流水燈程序。注意是:P0口#include<reg51.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharuchar
i,LEDtemp;voiddelay(ucharx);voidmain(){
LEDtemp=0xfe;while(1){//向
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專題5.3 平面向量的數(shù)量積(原卷版)-2024年高考數(shù)學一輪復習精講精練寶典(新高考專用)
- 幼兒游戲教學案例
- 人教版(2024)七年級英語下冊Unit 6 學情調研測試卷(含答案)
- 路基拼寬施工方案
- 隧道風機房施工方案
- 2025年新高考地理全真模擬試卷4(含答案解析)
- 2025年高考地理二輪復習:綜合題答題技巧(含練習題及答案)
- 幕墻防火防雷施工方案
- Unit 6 reading2 教學設計 2024-2025學年譯林版(2024)七年級英語上冊
- 小學課本劇一年級《小白兔和小灰兔》-劇本
- C型鋼檢驗報告
- 江西省房屋建筑與裝飾工程消耗量定額及統(tǒng)一基價表
- 衛(wèi)生保潔管理方案及措施
- 部編人教版五年級下冊小學語文第二單元全套教學課件 (含口語、習作及園地課件)
- GB4789.2-2022食品安全國家標準 食品微生物學檢驗 菌落總數(shù)測定
- 第5章 海洋資源開發(fā)與管理
- 工業(yè)氣體企業(yè)公司組織架構圖職能部門及工作職責
- 全員安全風險辨識評估活動實施方案(8頁)
- 小升初個人簡歷表
- 電工每日巡查簽到表
- 小學二年級心理健康教育-打開心門交朋友-(11張PPT)ppt課件
評論
0/150
提交評論