单片机开发板 计算器 电梯 密码锁 万年历 交通灯课程设计宝贝及程序.docx
《单片机开发板 计算器 电梯 密码锁 万年历 交通灯课程设计宝贝及程序.docx》由会员分享,可在线阅读,更多相关《单片机开发板 计算器 电梯 密码锁 万年历 交通灯课程设计宝贝及程序.docx(41页珍藏版)》请在咨信网上搜索。
开发板 实 验 报 告 设 计 课 题:基于单片机的简易计算器 指 导 老 师: 班 级: 学 号: 姓 名: 一 设计内容和目的 本次实验的任务就是要以51系列单片机为核心实现一个简易计算器计算器,它的结构非常简单,外部主要由4*4矩阵键盘和一个液晶显示屏构成,内部由一块AT89C51单片机构成,通过软件编程可实现简单加减乘除。目的:做自己喜欢的实验,提高自学能力。 二 方案论证 经分析,计算器电路包括三个部分:显示电路、4*4键扫描电路、单片机微控制电路。具体如下: ⒈) LCD显示电路 LCD1602作为一个成熟的产品,使用简单,模式固定,便于移植到各种类型的程序,但是初学者往往要注意结合LCD本身的时序图来完善初始化程序。又以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,故采用LCD. ⒉) 4*4键盘扫描电路(中断式,扫描式,反转式) 用户设计行列键盘接口,一般常采用3 种方法读取键值。一种是中断式,外两种是扫描法和反转法。 中断式:在键盘按下时产生一个外部中断通知CPU,并由中断处理程序通过不同的地 址读取数据线上的状态,判断哪个案件被按下。本实验采用中断式实现用户键盘接口。 扫描法:对键盘上的某一行送低电平,其他行为高电平,然后读取列值。若列值中有一 位是低,则表明该行与低电平对应列的键被按下;否则,扫描下一行。 反转法:先将所有行扫描线输出低电平,读列值。若列值有一位是低,则表明有键按下, 读列值;然后所有列扫描线输出低电平,再读行值。根据读到的值组合就可以查表1 得到的 键码。 这个就仁者见仁智者见智了,不过如果熟悉了扫描式,建议果断升级自己的硬件(很简单加个74LS08与门),故采用节省CPU的中断式扫描电路。 ⒊) 单片机微控制电路 微控制电路就是以AT89C51为核心的控制核心,主要注意晶振电路的接法和复位电路的接法。 三 硬件电路的设计 2.1 硬件设计电路框图 51系列单片机系统 4*4键盘 LCD显示 晶振电路 复位电路 线路原理框图 2.2 硬件设计电路的元件清单 器件名称 数量 AT89C51 1 按键 17 74LS08 1 10K电阻 9 电容22uF 1 LCD1602 1 晶振12MHz 1 电容30pF 2 5K电位器 1 2.3 硬件设计电路图 将4*4的键盘直接接在P1口上,用P0口作为LCD的显示输出,P3.2口的INT0作为外部中断位。 2.4 硬件设计的补充说明 四 软件设计程序及描述 本程序组成可分为3个模块:矩阵键盘模块,LCD显示模块,和运算模块(源程序见底页) 开始 初始化参数 初始化LCD显示 有键输入? 读取键码 LCD显示 数字键 清零键 功能键 状态清零 输入数值 数值送显示缓冲 Y N 等待数值输入 结果送显示缓冲 根据上次功能键和输入的数据计算结果 本次功能键? 等待数值输入 结果送显示缓冲 等待数值输入 结果送显示缓冲 五 硬软件的调试及方法 我个人遇到的主要问题出现在LCD1602上,要不是我自己买了块新的LCD恐怕我的结论,就只能在软件仿真实现了。 硬件上:在不加芯片调试时,LCD1602只显示一排全黑,一般说明该元件是好的。(但也不一定,我那时就一直认为我的元件没坏);给15,16管脚分别接上+5v和0v,测试背光是否完好;给VEE接上电位器,检查对比度是否可调; 一般LCD易出现的现象,我再做实验的时候遇到过以下几种情况: 状态1 上电之后,1602的第一行全黑,即16个5x7黑块 产生原因:液晶根本就没有进行初始化操作,需要检查连线或者程序。运气不好的情况下就是整块LCD是坏的。 状态2 屏上显示两排灰格 产生原因:程序中对液晶初始化不正常,应是部分初始化指令没有正常接收,建议按照标准初始化步骤调整程序,或者调整指令之间的延时(加大一些试试)----补充:也有可能是对比度太大,建议优先调整对比度电阻 状态3 显示乱码 这是我在实验室组合版上做的,原因是接线问题 状态3 正确显示 六 实验结果与性能达标 我的计算器只能准确进行得数为0~9的四则运算。 1.加法计算 2.减法计算 3.乘法计算 4.除法计算 5.字符显示 实物与仿真不一致。这就是传说中的BUG了。我不明白。 七 实验改进与心得体会 很明显我的计算器处理数据及显示存在太大的局限性,我觉得主要还是我对程序中的运算模块理解不深,这点仍需大大加强。 这个实验给我的感觉,硬件和软件上都不是很难。我的焊工也不马虎,即使难看了点,但只要软件能行,就能完美运行。可惜,我就败在LCD1602,从学校拿了两块,幸好最后实在没办法,自己买了一块。最终证实我之前的实验就是LCD的损坏。没知识真可怕,我不懂真正排查LCD的好坏。不过也因祸得福,我在磕磕碰碰中,固执的认为LCD是好的,反而使我对LCD初始化,LCD字符显示,3种不同的矩阵键盘扫描的方法,及软件上的巧妙技巧有了更好的了解。我在这次实验上,感觉收获的更多. 下面是源代码: #include<reg51.h> #define CLEARSCREEN LCD_write_command(0x01) #define uint unsigned int #define uchar unsigned char /**************定义接口************************/ #define LCDIO P0 #define KEYBOARD P1//保留 sbit LCD1602_RS=P2^0; sbit LCD1602_RW=P2^1; sbit LCD1602_EN=P2^2; /************************************************/ code uchar mayuan[16]={'0','1','2','3','4','5','6','7','8','9','0','/','*','-','+','='};//不错,这个比较明了 unsigned char code keycode[]={0x11,0x21,0x41,0x81,0x12,0x22,0x42,0x82, 0x14,0x24,0x44,0x84,0x18,0x28,0x48,0x88};//键盘编码值() int i,j,k=1,s;// int t,t1,t2,a[];// void delay(uchar);//延时 /**************定义函数************************/ void LCD_init(void);//初始化函数 void delay_nms(unsigned int n);//延时函数 void LCD_write_command(unsigned char command);//写入指令函数 void LCD_write_dat(unsigned char dat);//写入数据函数 void delay_10ms(); initial(); uchar keyscan();//键盘扫描函数 calc(uchar);//计算函数 uchar num,temp,key,keynum; void main()//主函数 { LCD_init(); delay_nms(100); while(1) { initial();//有中断 KEYBOARD =0xf0;//键盘的列值全置高电平 } } /**********************************开中断***************************************/ initial() { EA=1;//总开关 EX0=1;//中断方式0开启 IT0=0; } /*******************************************************************************/ /*********************************中断函数************************************/ void inter0() interrupt 0 { unsigned char n; delay_10ms();//延时 if(INT0==0)//没键按下 { EX0=0;//关中断 n=keyscan(); calc(n); EX0=1;//开中断 KEYBOARD=0xf0;//键盘的列值全置高电平 } } /************************************************************************/ calc(uchar n) { if(n<10)//键值小于10 { t1=t1*10+n; LCD_write_command(0x00);//写命令语句 LCD_write_dat(mayuan[n]);//写数据函数 } else { if(n==10){LCD_init();t1=0;t2=0,t=0;k=1;} else{ if(n<15){ t2=t1;t1=0;j=n; LCD_write_command(0x00); LCD_write_dat(mayuan[n]);} else{ LCD_write_command(0x00); LCD_write_dat(mayuan[n]); switch(j){ case 11: t=t2/t1; break; case 12: t=t2*t1; break; case 13: t=t2-t1; break; case 14: t=t2+t1; break; } if(t<=9){ LCD_write_command(0x00); LCD_write_dat(t+48);} if(t>9) { while(t>9) { s=t%10; t=t/10; a[k]=s; k++; } if(t<=9){ LCD_write_command(0x00); LCD_write_dat(t+48);} for(i=k-1;i>=1;i--) { LCD_write_command(0x00); LCD_write_dat(a[i]+48); } } } } } } /*****************************************键盘扫描函数************************************/ uchar keyscan()//键盘扫描 { KEYBOARD=0xf0;//键盘的列值全置高电平 delay_10ms();//延时 if(KEYBOARD!=0xf0)//有键按下 { temp=KEYBOARD;//保存键盘此刻的键植 delay_10ms();//延时 if(KEYBOARD==temp)//再次确认键盘是否被按下 { uchar i; KEYBOARD=0x0f;//键盘的行值全置高电平 delay_10ms();//10MS时间延时 keynum=temp | KEYBOARD;//保存键盘的行值 while(KEYBOARD!=0x0f);//松手检测 for(i=0;i<16;i++) if(keycode[i]==~keynum) return (i); } } return -1; } /******************************************************************************/ /********** 延时**********************/ void delay_nms(unsigned int n) { unsigned int i=0,j=0; for (i=n;i>0;i--) for (j=0;j<10;j++); } void delay_10ms()//10MS延时 { unsigned char i,j; for(i=0;i<10;i++) for(j=0;j<120;j++); } /**************************************/ /**************写指令函数********************************/ void LCD_write_command(unsigned char command) { LCDIO=command; LCD1602_RS=0; LCD1602_RW=0; LCD1602_EN=0; LCD1602_EN=1; delay_nms(10); } /***************************************************/ /****************写数据函数************************/ void LCD_write_dat(unsigned char dat) { LCDIO=dat; LCD1602_RS=1; LCD1602_RW=0; LCD1602_EN=0; delay_nms(1); LCD1602_EN=1; } /****************************************************/ /************初始化函数****************/ void LCD_init(void) { CLEARSCREEN;//clear screen LCD_write_command(0x38);//set 8 bit data transmission mode LCD_write_command(0x0c);//open display (enable lcd display) LCD_write_command(0x80);//set lcd first display address CLEARSCREEN;//clear screen } /****************************************************/ 为了方便初学者学习LCD,特留下字符显示代码,电路图与本实验一致。已通过实物测试,绝对没问题。 #include <reg51.h> unsigned char table1[]={0x03,0x07,0x0f,0x1f,0x1f,0x1f,0x1f,0x1f, 0x18,0x1E,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f, 0x07,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f, 0x10,0x18,0x1c,0x1E,0x1E,0x1E,0x1E,0x1E, 0x0f,0x07,0x03,0x01,0x00,0x00,0x00,0x00, 0x1f,0x1f,0x1f,0x1f,0x1f,0x0f,0x07,0x01, 0x1f,0x1f,0x1f,0x1f,0x1f,0x1c,0x18,0x00, 0x1c,0x18,0x10,0x00,0x00,0x00,0x00,0x00};//心图案 unsigned char table[]={0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00};//字符℃ #define CLEARSCREEN LCD_write_command(0x01) /**************定义接口************************/ #define LCDIO P0 sbit LCD1602_RS=P2^0; sbit LCD1602_RW=P2^1; sbit LCD1602_EN=P2^2; /**************定义函数************************/ void LCD_write_command(unsigned char command);//写入指令函数 void LCD_write_dat(unsigned char dat);//写入数据函数 void LCD_set_xy( unsigned char x, unsigned char y );//设置显示位置函数 void LCD_dsp_char( unsigned x,unsigned char y,unsigned char dat);//显示一个字符函数 void LCD_dsp_string(unsigned char X,unsigned char Y,unsigned char *s);//显示字符串函数 void LCD_init(void);//初始化函数 void delay_nms(unsigned int n);//延时函数 /********************************************/ /************初始化函数****************/ void LCD_init(void) { CLEARSCREEN;//clear screen LCD_write_command(0x38);//set 8 bit data transmission mode LCD_write_command(0x0c);//open display (enable lcd display) LCD_write_command(0x80);//set lcd first display address CLEARSCREEN;//clear screen } /****************************************************/ /**************写指令函数********************************/ void LCD_write_command(unsigned char command) { LCDIO=command; LCD1602_RS=0; LCD1602_RW=0; LCD1602_EN=0; LCD1602_EN=1; delay_nms(10); } /***************************************************/ /****************写数据函数************************/ void LCD_write_dat(unsigned char dat) { LCDIO=dat; LCD1602_RS=1; LCD1602_RW=0; LCD1602_EN=0; delay_nms(1); LCD1602_EN=1; } /****************************************************/ /***************设置显示位置**************************/ void LCD_set_xy( unsigned char x, unsigned char y ) { unsigned char address; if (y == 1) address = 0x80 + x; else address =0xc0+ x; LCD_write_command(address); } /***************************************************/ /****************显示一个字符**********************/ void LCD_dsp_char( unsigned x,unsigned char y,unsigned char dat) { LCD_set_xy( x, y ); LCD_write_dat(dat); } /**********************************************/ /***************显示字符串函数***************/ void LCD_dsp_string(unsigned char X,unsigned char Y,unsigned char *s) { LCD_set_xy( X, Y ); while (*s) { LCD_write_dat(*s); s ++; } } /***********************************************/ /********** 延时**********************/ void delay_nms(unsigned int n) { unsigned int i=0,j=0; for (i=n;i>0;i--) for (j=0;j<10;j++); } /**************************************/ /***********主函数**************/ void main(void) { unsigned char i,j,k,tmp; LCD_init(); delay_nms(100); tmp=0x40;//设置CGRAM地址的格式字 k=0; for(j=0;j<8;j++) { for(i=0;i<8;i++) { LCD_write_command(tmp+i); // 设置自定义字符的 CGRAM 地址 delay_nms(2); LCD_write_dat(table1[k]); // 向CGRAM写入自定义字符表的数据 k++; delay_nms(2); } tmp=tmp+8; } LCD_dsp_string(1,1,"LCD TEST ");//在第一行第一列显示"LCD TEST" LCD_dsp_string(1,2,"SUCCESSFUL ");//在第二行第一列显示"SUCCESSFUL" for (i=0;i<4;i++) { LCD_dsp_char( 12+i,1,i);//在第一行第12列位置显示心图案的上半部 delay_nms(1); } for (i=4;i<8;i++) { LCD_dsp_char( 12+i-4,2,i);//在第二行第12列位置显示心图案的下半部 delay_nms(1); } while (1); } /********************************************************************/ 3.1 硬件连接 图3-1所示为简易计算器的电路原理图。P3口用于键盘输入,接4*4矩阵键盘,键值与键盘的对应表如表----所示,p0口和p2口用于显示,p2口用于显示数值的高位,po口用于显示数值的低位。 图3-1 简易计算器电路原理图 键值与功能对应表 键值 0 1 2 3 4 5 6 7 8 9 + - × / = ON/C 功能 0 1 2 3 4 5 6 7 8 9 + - × ÷ = 清零 表3-1 3.2 计算器的软件设计 #include<reg51.h> //头文件 #define uint unsigned int // #define uchar unsigned char sbit lcden=P2^3; //定义引脚 sbit rs=P2^4; sbit rw=P2^0; sbit busy=P0^7; char i,j,temp,num,num_1; long a,b,c; //a,第一个数 b,第二个数 c,得数 float a_c,b_c; uchar flag,fuhao;//flag表示是否有符号键按下,fuhao表征按下的是哪个符号 uchar code table[]={ 7,8,9,0, 4,5,6,0, 1,2,3,0, 0,0,0,0}; uchar code table1[]={ 7,8,9,0x2f-0x30, 4,5,6,0x2a-0x30, 1,2,3,0x2d-0x30, 0x01-0x30,0,0x3d-0x30,0x2b-0x30}; void delay(uchar z) // 延迟函数 { uchar y; for(z;z>0;z--) for(y=0;y<110;y++); } void check() // 判断忙或空闲 { do{ P0=0xFF; rs=0; //指令 rw=1; //读 lcden=0; //禁止读写 delay(1); //等待,液晶显示器处理数据 lcden=1; //允许读写 }while(busy==1); //判断是否为空闲,1为忙,0为空闲 } void write_com(uchar com) // 写指令函数 { P0=com; //com指令付给P0口 rs=0; rw=0; lcden=0; check(); lcden=1; } void write_date(uchar date) // 写数据函数 { P0=date; rs=1; rw=0; lcden=0; check(); lcden=1; } void init() //初始化 { num=-1; lcden=1; //使能信号为高电平 write_com(0x38); //8位,2行 write_com(0x0c); //显示开,光标关,不闪烁*/ write_com(0x06); //增量方式不移位 显竟獗暌贫 柚? write_com(0x80); //检测忙信号 write_com(0x01); //显示开,光标关,不闪烁 num_1=0; i=0; j=0; a=0; //第一个参与运算的数 b=0; //第二个参与运算的数 c=0; flag=0; //flag表示是否有符号键按下, fuhao=0; // fuhao表征按下的是哪个符号 } void keyscan() // 键盘扫描程序 { P3=0xfe; if(P3!=0xfe) { delay(20); 延迟20ms if(P3!=0xfe) { temp=P3&0xf0; switch(temp) { case 0xe0:num=0; break; case 0xd0:num=1; break; case 0xb0:num=2; break; case 0x70:num=3; break; } } while(P3!=0xfe); if(num==0||num==1||num==2)//如果按下的是'7','8'或'9 { if(j!=0) { write_com(0x01); j=0; } if(flag==0)//没有按过符号键 { a=a*10+table[num]; } else//如果按过符号键 { b=b*10+table[num]; } } else//如果按下的是'/' { flag=1; fuhao=4;//4表示除号已按 } i=table1[num]; write_date(0x30+i); } P3=0xfd; if(P3!=0xfd) { delay(5); if(P3!=0xfd) { temp=P3&0xf0; switch(temp) { case 0xe0:num=4; break; case 0xd0:num=5; break; case 0xb0:num=6; break; case 0x70:num=7; break; } } while(P3!=0xfd); if(num==4||num==5||num==6&&num!=7)//如果按下的是'4','5'或'6' { if(j!=0) { write_com(0x01); j=0; } if(flag==0)//没有按过符号键 { a=a*10+table[num]; } else//如果按过符号键 { b=b*10+table[num]; } } else//如果按下的是'/' { flag=1; fuhao=3;//3表示乘号已按 } i=table1[num]; write_date(0x30+i); } P3=0xfb; if(P3!=0xfb) { delay(5); if(P3!=0xfb) { temp=P3&0xf0; switch(temp) { case 0xe0:num=8; break; case 0xd0:num=9; break; case 0xb0:num=10; break; case 0x70:num=11; break; } } while(P3!=0xfb); if(num==8||num==9||num==10)//如果按下的是'1','2'或'3' { if(j!=0) { write_com(0x01); j=0; } if(flag==0)//没有按过符号键 { a=a*10+table[num]; } else//如果按过符号键 { b=b*10+table[num]; } } else if(num==11)//如果按下的是'-' { flag=1; fuhao=2;//2表示减号已按 } i=table1[num]; write_date(0x30+i); } P3=0xf7;- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机开发板 计算器 电梯 密码锁 万年历 交通灯课程设计宝贝及程序 单片机 开发 交通灯 课程设计 宝贝 程序
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【xrp****65】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【xrp****65】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【xrp****65】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【xrp****65】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文