存储器实验总结
❶ 实训总结通用版5篇范文
实训从时空上分,有校内实训和校外实训,包括教学见习、教学实训和生产实训.实训 总结 怎么写呢?下面是我给大家带来的实训总结通用版,希望对您有所帮助!
实训总结通用版1
20__年新学期的开始,我们进行了为期两个星期的校内实习。两个星期的实习生活是辛苦的、紧张、美好的,也是很有意义的。实习期间,我们新分成的小组别在指导老师的带领下,在校领导、其他老师的支持和指导下,轰轰烈烈的展开了校内实习活动。作为体育校内实习生,我一直以教师身份严格要求自己,处处注意言行和仪表,并紧记实习守则,尊重学校领导和指导老师,虚心听取他们的意见,学习他们的 经验 ,主动完成指导老师布置的任务。现在,我的实习工作得了比较圆满的成功。 对此,本人甚感欣慰。下面就我校内实习的主要工作进行总结:
在实习期间,我主要完成了3方面的工作:一是见习,实习开始我们主要是听取其他老师的讲课,并认真的记下来听课记录,学习 教学 方法 和吸取教学经验。 二是亲自上课,在老师的指导下,认真准备所需的上课教案,体会和发现自己上技术课的不足之处,通过指导老师和同学们的相互讨论纠错,自己取得了极大的进步。三是及时与指导老师和其他实习生进行经验交流不断完善自我。
我们实习的课程大多数围绕球类等专业课展开教学,我的实习的假象对象是中小学生。他们活泼好动,教学要从他们的实际出发,结合这个年龄的生理心理特点,寻求一条让他们感到容易理解和接受的教学方法,对于初为人师的实习生,这是有一定难度的。
由于我们刚从大学学生角色进入中学教师角色,会有意无意的把大学老师的教学方法、模式带入中学课堂。并没有考虑到教学对象及环境的不同致使教学方法与大学有很大的不同所以一开始并不适应,总是有意无意地习惯于大学老师的教学模式,教的很快,一节45分钟的内容30分钟就讲完了,可学生的学习效果并不高,很多动作教完了,学生还是没有掌握。当然在后来不断的实践和指导老师的帮助讲解下,我们也逐渐学习了中学的教学方法、模式,教学效果也随之会好了起来。
作为一个教师,也许你的课讲得很透彻、明白,也许你对学生如慈母般关爱,也许你是个俊男靓女,但具备任何一个条件,都不会使你在学生中的地位更高,我们需要具备的是综合素质、为人师表。你既不能是学生口中的法西斯,也不能是他们眼中的和事佬,要让学生真正的服你,只有去挖掘你的人格魅力。什么叫“人格魅力”了。
第一:幽默机制。
幽默可以给人带来笑声,无论在课堂上还是在课外活动时,任何一个学生都不喜欢那种死气沉沉的压抑的氛围。适时的发挥你的幽默,会得到意想不到的效果,学生也会因此而喜欢你。
第二:丰富的知识储备。
教师的主要任务是教。都说给学生一杯水,教师要有一桶水。实际上教师更应作长流水。课上,你可能想象不到学生会问出怎样的问题,所以不仅在备课时要多看教材以及一些学术着作,平时更要多读专业书籍,以丰富自己的知识储备。 第三:衣着整齐、干净、得体。
作为年轻人,这一方面应该是最值得注意的。年轻有年轻的资本,我们是教师,不能穿奇装异服,不能梳怪诞发型,这是基本要求。但我们完全没必要穿得很严肃,很正式,很古板。而应该是青春的、充满活力的。此外,我们一定要时刻注意自己的形象,时刻都要保持整洁,给学生清新自然亲切的感觉,这样学生也愿意和你接触。
第四:灵活的语言艺术。
现在的学生已经在逐渐形成自己的处事方法,这也就决定了教师既不能生硬的说教,也不能一味的哀求。在同学们说话闹翻天时,我不知所措。刚开始我声色俱厉地向他们大喊,但是他们连听都听不见。如果怒目以对,也许良久他们才能看到我。所以就要一开始说话吸引住学生的注意力,不给他们自己聊的机会。
其次,通过本次的实习,我在各多方面都得到了很大的提高:
第一、通过实习,掌握了一些基本的教学方法和教学技能,提高了教学效果和教学水平。在一次次的教学实践中,在一次次的和指导老师的交流的过程中,我的教学水平和对教学认识已经提高了许多。
第二、通过实习,增强了教师的责任感和荣誉感。教师承担着“教书育人”和培养祖国未来人才的重任,因而他是光荣的。
第三、通过实习,增强了交际能力和口头表达能力。如何处理与老师及同小组同学的关系。在这个相处的过程中也提高了自身的交际与沟通能力。为今后的工作打下了良好的基础。
针对自身在实习中的不足所指出的努力方向:
1、培养自己应用所学的 教育 理论观察分析教育问题的能力。可能的话,进行教育调查,这样将更有利于自己的教学。
2、每次课后应认真进行自我分析,虚心听取其他教师的意见,及时写好课后小结。
以上就是我自己在教育实习之中的一些收获。我相信在实习中,我们大家都付出了很多,同时也得到学到的更多。这段时光对于想致力于教育事业的人来说,这是一个开始,应该让它变成一段美好的回忆;而对于那些无心致力于教育事业的人来说,这是第一次也许是最后一次做老师,相信也会是人生中一段美好的回忆。
实训总结通用版2
为期来两个星期的电子商务实训课在今天结束了。
说实在的时间过得很快,因为这两个星期很多公共假期,校运会、亚运会开幕的假期冲掉了我们实训的一些课,短短的时间里,我们并不可能充分地完全掌握电子商务的知识,但起码我们对它有深入一层的认识了。实训期间,我们最先接触到的是“网络营销能力秀活动”,在这个平台上,我们可以看到更多别人对网络营销的简解和建议,从中可以学到很多自己没接触过的知识。
之后我们通过注册淘宝、易趣、拍拍的帐号,对比它们网站之间的异与同,分析它们在网页设计上的特点才知道原来同是购物网站,但确定的网站定位、服务人群等方面的不一样,就会造成网站对网民影响力的不同。这是一个长期积累经验的过程,选择的方向很重要,所以网络营销并不像我们想象中的那么简单,并不是单单在网上注册一家网店就可以完成任务,它需要网店方向的定位、网店后期的管理、网店的推广等。
同时这也是一个作业接着不断来的实训,体验感受、网站分析 报告 、与卖家客户人员的网络客户分析报告、第三方物流公司选择的分析报告,这些作业都需要我们亲自去事件或者上网去调查、去了解才可以完成的作业。虽然同学们抱怨生不断,但我们清楚,完成这些作业最大的得益者不是老师而是我们自己,毕竟自己亲自实践过比别人说得在多都要好,完成这些作业不仅仅是完成作业,是一种网络营销体验的过程,也是思想的一种拓展。
两个星期的实训并不能让我们完全了解网络营销,之后需要我们自己更多的关注和学习。
实训总结通用版3
实训又到要结束的时候了。在实训期间基本了解数控铣床的功能和分类,数控铣床的结构及主要指令。了解了数控铣床的常用刀具和数控的加工指令。
熟悉了数铣编程指令、程序格式、编程方法。而后我对于刀具半径的补偿功能的不了解对于我之后的学习带来了许多的困难。之后我了解到如果直接按工件轮廓线编程,在加工工件内轮廓时候,实际的轮廓线将大了一个刀具半径;在加工工件外轮廓时候则刚好相反。然后随着时间的推移我又学习到刀具长度补偿、固定循环加工、子程序、宏程序。通过6周的实训期间。我了解到现代机械行业的未来,并且熟悉到了数铣方面的知识,更为重要的是让我知道了自己在数铣方面的知识太少而且学习的不积极,学习应该脚踏实地,不能马马虎虎,就像是数铣编程一样的性质。不能错半点,程序方面错了一点点,工件就可能会没用了,刀具、机床、人生安全都保证不了的损伤。
所以在这方面的解决办法我想应该是通过自己对于知识的掌握于操作技能方面的加强,才能够是有效的避免这类事情的发生。这让我总结到了数铣是一个细心稳重的工作,不能容下半点马虎。在这次数铣的实训期间,老师对我们的严格要求,要求每次实训结束后打扫卫生、遵守 安全生产 章程等。培养了劳动观点,安全生产观念、最重要的是自觉性,现在我就在想当我们面临步入社会的难题,即将就业了,就业单位就不会像老师那样的点点滴滴细致的要求我们将工件做好,就不会像学校这样的多的机会来学习,更多的是需要我们去观察、学习。如果连上面的条件都难以达到的话,那么在社会上的困难会比现在的要难的多。
就从现在要对面多事情的苦难要迎难而上,不能像现在的样子每天都是混混噩噩的度过,这段时间我会永远的记得,在我最低迷的时候,最无所事事的时间段内。不管以后会是什么样子,每天都要给予自己最大的勇气。
六周的实训给我带来的难以忘记的记忆,他会是我以后的动力,学习到的东西我会选择将他写下。这不仅仅是实操与仿真给我带来的专业知识,更多的是在以后的人生我该要如何去书写他。对自己情况的了解是从实训第二周开始的,从编程开始的,一开始就对专业知识的轻视,认为其很是简单,但是到了现在我清楚的知道,数铣编程并不是那么简单能学好的,学点皮毛太过简单,真想要学得好就不是那么简单的。实训期间,彭四海老师和其他三位老师傅的敬业、严谨精神也让我们敬佩。
只要工件有什么不足之处,老师都会细心的指出来,老师还会一次又一次地给同学演示如何操作,直到同学真正清楚。这种精神值得我们每一个人学习。在我们自己操作机床时,老师都会在机床旁看着,如有操作不正确时老师都会及时的指出来,避免发生安全事故。我觉得机加实训对我自己来说非常有意义,非常实在。它给我的大学生活添上了出色的一笔。它让我更贴近技术工人的生活,让我增长了更多的专业知识,让我熟悉到自己的优点与不足。最后借此机会我谢谢两位老师的细心教导。谢谢您们教育我的各种知识。
实训总结通用版4
光阴似箭,日月如梭。为期四个礼拜的plc实训已近结束,但我们对plc的学习始终没有结束。虽然学习的时间说长不长,说短不短,但这段时间我确确实实收获了不少,无论从方面为人处事,还是专业课的学习方面都有了很大层次的提升。
首先我想 说说 我们的专业老师,我个人觉得他是我见过最为负责的一个任课老师,无论从 言行举止 到行为动作无从不让我感到崇敬,上课的时候他喜欢从我们的角度去考虑问题,不管我们懂或不懂他都要讲到我们懂为止,由此可见他的耐心是多么的好;其次他尊重任何同学的 学习态度 ,不管你是学或不学你都要从严要求自己,不要扰乱他人,不要扰乱课堂秩序,教会你为人处事的道理等;再次他喜欢从职业的角度来审视我们的学习态度,教导我们企业是需要什么样的人才,什么样的人才企业才会保留,不管你是听或不听你都要听进去且要有所收获,有所感悟,他也经常讲一些他在企业时的想法与感受,通过自己的亲身经历来教导我们,以在企业中实际的举例来说服我们在坐的每位同学,他就是我们可亲、可爱、幽默、落落大方、有才干、有实力的讲师———朱光耀。
虽然学习了四周的plc但我们的学习始终建立在基础学习之上,其中我们的学习以西门子S7——200系列为主学习包括plc的分类、组成、编程方法、注意事项等等。
1、plc的组成它是由电源、CPU、输入、输出、通讯、存储器等;
2、plc的分类从大体方面分为点数和形状,其中点数包括小、中、大型机;形状包括整体式、模块;
3、编程方法主要是以基本编程方法与顺控指令编程、移植法为主;
4、注意事项书写梯形图的基本规则:
a、线圈不能与左母线直接相连;
b、触点不能直接与右母线相连;
c、编程的时候上重下轻,左重右轻等等;我们做过的项目有三相异步电动机的正、反转;电动机星——三角降压启动控制;c620与c6140车床线路控制的改造;四节传送带的顺控指令编程;交通灯的基本指令与顺控指令编程;简易彩灯的顺控指令编程等等。学过的指令有置位指令、复位指令、传送指令、状态存储器s、中间存储器M等等;
其中最为重要的是PLC的编程步骤要求;
1、I/O分配表;+
2、硬件接线图;
3、程序编辑;
其次对plc控制要求分析以三相异步电动机正、反转为例;
1、按下正转按钮电动机正转,按下反转按钮电动机反转,按下停止按钮电动机停止;
2、确定输入、输出信号且需考虑预留量其中输入信号包括按钮、热继电器、行程开关、传感器;输出信号包括交流接触器、电灯既不是输入也不是输出的是KT、KA,KT用T37替代、KA用M替代;
3、硬件选型;
4、I/O分配表;
5、硬件接线图;
6、实物图接线;
7、程序编辑(编程);
8、机器调试;作为我们新手常常采用的是移植法也称转换法,它的适用范围有限只能是适用现有继电器的改造,像c620、c6140等。
实训总结通用版5
站在长城脚下,我们有说不尽的千言万语,看着茫茫云雾,我们似乎想对长城说:我的——中国梦!看着若隐若现的房屋,看着远处信号灯还闪烁着迷离的灯光,你是否想高声呐喊:我有梦想,有美丽的梦想?这是发自动内心的呐喊,这是发自内心的心声,这是发自内心的激情。
在学校领导的高度重视下,我们数控车工实训取得了良好的成绩,使学生学习了数控车编程理论,同时大大提高了实际操作能力,增强学生的安全文明生产的意识和企业意识。
本学期我担任了学生的数控车间实习实训指导教学工作。开学完成了实习实训教学计划,根据教学计划开展实习实训。主要担任15届机械班,长达一学期的数控车工实训任务。针对学校教学安排,拟定教学计划,根据学生实际情况进行实训指导。至今,学生的车间实训已经圆满结束了。这短短的一个学期的实训,使我体会到做一位老师的乐趣,体会到了一个作为老师的责任和义务。对本次实训情况及效果总结如下:
一、实训目的:
1、为了完成理论与实际操作的结合、提高学生与社会的沟通能力,进一步提高学生的思想觉悟、实践能力,尤其是观察、分析和解决问题的实际工作能力,以便把学生培养成为社会所需要的高素质的技能型人才。实习实训重在运用教学成果,检验学习效果,激发学生学习兴趣,根据学生自身情况,促进学生理论与实践的结合,加快学生理论知识转化为扎实操作技能。
2、培养学生的实际操作能力,而这种实际操作能力的培养单靠课堂教学是远远不够的,必须从课堂走向实作车间,因为学生面临的是社会就业。让学生通过亲身实践,了解实际的机械加工原理和工艺过程,熟悉工厂管理的基本环节,达到加工要求,进行实件加工。用实践去体会一个从事机械加工工人的基本素质和要求,以培养自己的适应能力、组织能力、协调能力和分析解决实际问题的工作能力。
少年强则国强,少年兴则国兴,作为新时代的中职生,我们应记住自己的历史使命,记住祖国的未来需要我,为实现中国的伟大复兴而努力,树立正确的世界观,人生观,价值观,提高思想道德修养和科学 文化 修养,做有理想有道德有文化有纪律的四有公民。
二、实训效果
1、实训期间我们的实训指导工作是以“安全第一”为思想教育指导,严格要求我们的学生要注意安全问题,要严格遵守车间市场的 规章制度 。采取课前讲安全、课中复强调。实习期间,没有学生出现过受伤或者其他安全事故。
2、通过直接参与加工的运作过程,学到了实践知识,同时进一步加深了对理论知识的理解,达到理论联系实际,使理论与实践知识都有所提高,到达了实训基本目的。首先是让学生了解、复习理论知识。熟悉数控车(GSK928TE数控系统)的基本操作方法及编程,接着是数控车床的实际操作,有了理论学习的基础,操作机床变的简单易懂,保证在一周的时间,学生便可独力完成部分简单的实践操作,随着操作技能的提升,从难到易进行实体加工。把握校企合作的契机,推荐部分学生在校园企业中进行产品生产,增强学生企业意识。本期实训在领导的大力支持下、学生们的共同努力下圆满地完成了教学实践任务,学生基本达到中级工以上水品。这次的实训,提高了学生的实际工作能力,为今后学习以及将来的工作奠定了一定的基础,同时取得了一些宝贵的实践操作经验。
3、本次实训最大的成功是每个学生都能独立的完成课件安排,还能独立的设计、编程、制造工艺品类零件加工。每一个作品都对他们有着实训的纪念意义。激发今后学习的积极性。
4、学生的实习实训总结,每天每周我们都进行大小总结。课堂教学、课后交流。通过学生的总结,了解了学生对本次实训的态度,可以看出学生都很珍惜这次的实作机会,并收获了许多书本上没有的知识。
“中国梦”不是一句空话,需要我们的实际行动。一万年太久,只争朝夕。爱国不应只是空谈,我们应付诸于行动,那么作为职业学校的一名学生我们应把爱国之志转化成爱国之行?我认为我们能做的有很多,比如:我们应遵守法律法规,这应是起码的要求。学好专业知识,加强锻炼,以便将来报效祖国,为祖国健康工作五十年。
三、展望未来
一步登天做不到,一步一个脚印能做到;一鸣惊人有困难,一股劲做好一件事还可以。每天进步1%,是小成功到大成功的日积月累,是实现人生目标的最佳路径。每天进步1%,贵在每天,难在每天。每天都超越昨天,日有所进,月有所变,用心写好进步1%的加号,让青春厚重而充实。让我们用行动实现中国梦。
这学期的工作取得的成绩是显而易见的,圆满完成教学上的安排,这些都是学校领导对本期实训工作的大力支持和同学们的积极配合,才能取得这么耀眼的成绩。成绩只能是过去、经验,将在下期的工作中不断创新,力争更上一层楼。
实训总结通用版5篇 范文 相关 文章 :
★ 大学生实习总结报告万能模板
★ 2021优秀大学生个人实习总结通用版
★ 应届大学生个人实习总结(通用版)五篇
★ 毕业实习总结报告通用5篇
★ 通用版大学生实习心得体会范例5篇
★ 2021大学生实训报告1500字通用
★ 2021实习期工作总结通用版5篇
★ 2021顶岗实习工作总结通用范文5篇
★ 实习结束个人工作总结通用模板范文2020【5篇】
★ 实习个人工作总结通用版范文2020【5篇】
❷ 总结在存储器窗口观察内部数据存储器、外部数据存储器窗口、程序存储器窗口的
摘要 亲很高兴为您解答这个问题我已经帮您找到答案希望对您有帮助。 程序存储器:一般程序存储器一般采用只读存储器,因为这种存储器在电源关闭后,仍能保存程序(此特性成为非遗失性),在系统上电后CPU可去除这些指令重新执行。只读存储器简称ROM,ROM中的信息一旦写入,就不能随意更改,特别是不能在程序运行过程中写入新的内容,故称为只读存储器 数据存储器:RAM(Random Access Memory) 随机存储器。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。 按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。
❸ 计算机组装与维护实训报告总结 6000字急用!!!
只找到这个!改成xp就行了
计算机组装实习报告
WIN98安全设置
(1).对系统进行安全设置的基本思路
公用微机的操作者一般分为三大类:第一类是系统管理员,系统管理员拥有对系统的绝对控制权,一般来说没有必要对系统管理员的权限进行限制;第二类是普通用户,普通用户使用计算机完成各种工作,因此必须获得一定的权限,不过也要防止普通用户超越权限或破坏系统;第三类为非法入侵者,入侵者根本无权使用计算机,对入侵者一定要将系统的一切功能全部屏蔽。
按照这个思路,首先必须对Windows 98的正常操作人员(包括超级用户)进行设置,将操作人员名单全部输入到系统中,然后分别对他们的权限进行适当设置,这样既保证了他们的安全,又禁止他们越权操作,最后便是采取措施,防止非法用户“入侵”,确保系统安全。
(2).微机操作人员的设置
Windows 95系统是一个多用户操作系统,但它在用户管理方面却非常混乱,非法入侵者甚至可以在启动时通过密码确认框直接添加新的用户,这对控制系统带来了很大的不便。不过Windows 98对此进行了改进,它提供了用户名的选择性登录功能,所以可事先将所有用户全部添加到系统中,然后由系统在启动时将这些用户列表显示出来,不同用户从中选择自己的用户名并输入相应的密码之后即可以自己的名义启动系统,而非法用户则无法通过密码确认框直接创建新用户,他们只能通过按下“取消”按钮或Esc键来进入系统。这样,机器便能明确地区分正常用户(包括超级用户和普通用户)与非法入侵者——通过登录框选择用户名并输入密码进入的是正常用户,使用“取消”按钮进入的是非法入侵者,可以据此分别对他们的权限进行限制。
须要说明的是,Windows 98在默认情况下仍然采用与Windows 95相同的“老式”用户名登录方式,我们想要使用用户名选择性登录方式则应执行如下步骤:
下面1~4步骤主要用于在Windows 98中设置用户名及密码,若用户已经设置过,则可跳过这些步骤,直接从第5步开始。
1.双击Windows 98“控制面板”中的“密码”图标,打开“密码属性”设置框。
2.复选“用户可自定义首选项及桌面设置,登录时,Windows将自动启用个人设置”选项。
3.根据需要决定是否选择将“开始”菜单添加到用户的自定义设置中(一般应选择“是”),然后单击“确定”按钮,接着根据屏幕提示设置适当的用户密码。
4.单击“确定”按钮退出设置框。
重新启动计算机,此时系统就会弹出一个常规性的密码设置窗口,可输入刚设置的用户名及密码,按正常方式启动Windows 98。
5.启动“控制面板”,双击“网络”图标,打开“网络”设置框。
6.在“网络”设置框中选择“配置”选项卡。
7.从“主网络登录”列表框中选择“Microsoft友好登录”选项。
8.单击“确定”按钮并重新启动计算机。
此后,Windows 98启动时弹出的密码设置框就会发生根本性的变化,它会将所有已经添加的用户名全部以列表方式显示出来,广大用户只须在“选择用户名”列表框中选择自己的名称,然后再在“密码”框中输入相应的密码即可启动各自的系统配置。
执行上述步骤之后,系统安装用户(超级用户)已经被添加到了Windows 98中,接下来就应将操作用户(普通用户)添加到Windows 98中。由于采用选择性登录方式,系统不允许直接在Windows 98的用户登录窗口中创建新的用户,必须通过双击“控制面板”中的“用户”图标,打开“添加用户”窗口,并在“添加用户”向导的帮助下逐步将本台计算机上所有普通用户的用户名及密码逐一添加到系统中(此后就会出现在Windows 98的启动登录框中),然后就可以分别对这些用户的权限进行设置了。
(3).对超级用户权限的设置
对超级用户而言,其操作权限一般不应作太多限制(否则谁来对系统进行控制呢?),不过仍须对电源管理、屏幕保护等功能设置必要的密码,以维护自己离机时系统的安全,防止其他用户非法入侵。为此,我们可重新启动计算机,当系统弹出用户登录框时选择自己的名字并输入相应的密码,采用超级用户身份登录系统,然后根据需要分别对有关密码进行设置。
为Windows 98的电源管理功能设置密码
1.单击“开始”按钮,然后依次选择“设置”、“控制面板”,启动Windows 98的控制面板。
2.双击“控制面板”中的“电源管理”图标,打开“电源管理属性”设置框。
3.从“电源管理属性”设置框中选择“高级”标签。
4.复选“计算机退出待机状态时提示输入密码”选项。
5.选择“电源管理属性”设置框中的“电源方案”标签。
6.在“系统等待状态”列表框中选择计算机在没有操作多长时间之后自动启动电源管理功能(即进入“挂起”状态),主要有“从1分钟之后”到“从不”等多种选项,我们应根据需要选择不同的选项,建议选择“从10分钟之后”。
7.为关闭监视器和关闭硬盘设置合适的时间间隔。
8.单击“确定”按钮,关闭“电源管理属性”设置框。
这样就启动了Windows 98的电源管理功能,并为其设置了保护的密码,今后如果用户在指定的时间(10分钟)内没有对计算机进行任何操作(包括移动键盘和鼠标),计算机就将自动进入“挂起”状态,以便节省电力消耗(单击“开始”按钮并选择“关闭系统”命令,然后从弹出的“关闭系统”对话框中选择“将您的计算机转入睡眠状态”也可达到同样的目的),而后用户通过敲击键盘或移动鼠标来激活计算机时,系统将会要求用户输入密码,不输入密码将不能返回正常状态,这就进一步保护了用户数据的安全。注意的是,Windows 98电源管理功能并没有自己单独的密码,它的密码与用户的启动密码相同!
为屏幕保护程序设置密码
1.用鼠标右键单击桌面空白处,然后从弹出的快捷菜单中执行“属性”命令,打开“显示属性”设置框。
2.单击“屏幕保护程序”标签,然后从“屏幕保护程序”列表框中选择所需的屏幕保护程序,复选“密码保护”选项。
3.单击“更改”按钮,打开“更改密码”对话框,重复两次输入密码并单击“确定”按钮,关闭“更改密码”对话框。
4.单击“设置”按钮,对屏幕保护的有关功能进行适当设置:在“等待”框中设置多长时间不使用计算机后系统自动启动屏幕保护(一般可选择5分钟)。
5.单击“确定”按钮,保存设置并关闭“显示属性”设置框。
这样,就达到了为屏幕保护设置密码的目的。此后只要离开计算机(即不操作计算机)的时间达到5分钟,系统就会自动启动屏幕保护程序,而当用户移动鼠标或敲击键盘想返回正常工作状态时,系统就会打开一个密码确认框,只有输入正确的密码之后才能返回系统,不知道密码的用户将无法进入工作状态,从而保护了数据的安全。须要说明的是,部分设计不完善的屏幕保护程序没有屏蔽系统的Ctrl+Alt+Del组合键,非法用户只要按下Ctrl+Alt+Del键即可强行将这些屏幕保护程序关闭,从而使其失去应有的保护作用。判断一个屏幕保护程序是否屏蔽了Ctrl+Alt+Del组合键,可采用如下办法:为其设置密码后激活它,然后移动鼠标,打开它的密码确认框,再按下Ctrl+Alt+Del键。若能弹出“关闭程序”对话框则表明该程序没有屏蔽Ctrl+Alt+Del键,不能使用;若无法弹出“关闭程序”对话框则表明该程序屏蔽了Ctrl+Alt+Del键,可放心使用。
现在还有个问题,屏幕保护最快只能在用户离开1分钟之后自动启动,这就存在一个时间差的问题!解决的方法是,可以打开Windows 98的SYSTEM子目录,找到相应的屏幕保护程序(*.SCR文件),将它们拖曳到桌面上,选择弹出菜单中的“在当前位置创建快捷方式”命令,在桌面上为这些屏幕保护程序建立一个快捷方式。此后,在离开计算机时双击这个快捷方式即可快速启动屏幕保护。
另外,利用屏幕保护程序的密码保护功能,还可令Windows 98一启动就自动运行屏幕保护程序,此后只有输入密码才能启动计算机。不过此功能绝对不能通过Windows 98的“启动”程序组来实现(Windows 98“启动”程序组中的所有程序在启动时都可通过按下Ctrl键跳过,从而无法启动屏幕保护功能),只有通过修改注册表数据才能确保设置万无一失。具体步骤为:
1.运行regedit命令,
2.展开HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run分支
3.在Run主键中新建一个名为“密码确认”的字符串值
4.双击新建的“密码确认”字符串,打开“编辑字符串”对话框
5.在“编辑字符串”对话框的“键值”栏中输入相应的屏幕保护程序名及所在的路径。
通过这样的设置,此后每次启动Windows 98时屏幕保护程序都会自动运行(利用Ctrl键试图跳过启动程序和按Ctrl+Alt+Del试图强行关闭系统都无能为力),只有在输入密码之后才能使用,从而确保了系统的安全。
禁止光盘的自动运行功能
光盘的自动运行功能会带来麻烦。Windows 98具有自动运行光盘的功能,当在光驱中插入CD之后,CD会自动进行播放,而当插入根目录中带有AUTORUN.INF文件的光盘之后,光盘也会自动运行。Windows 98的屏幕保护功能并没有禁止光盘的自动运行功能,也就是说即使处于屏幕保护程序密码的控制之下,用户在插入一张根目录中含有AUTORUN.INF文件的光盘之后,系统仍会自动运行,这就给恶意攻击者带来了可乘之机(据说市面上已经出现了一种专门用于破解屏幕保护程序密码的自动运行光盘,插入该光盘后,系统就会自动对屏幕保护功能的密码进行分析并破译出密码,然后再将密码写到软盘上,接下来……),因此必须将光盘的自动运行功能关闭,让屏幕保护真正发挥它应有的安全保护作用。关闭光盘的自动运行功能,可以按如下步骤操作:
1.单击“我的电脑”图标,然后从弹出的快捷菜单中执行“属性”命令,打开“系统属性”设置框
2.单击“设备管理器”标签
3.展开CDROM分支,从中选择用户所使用的光驱
4.单击“属性”按钮,打开光驱属性设置框
5.单击“属性”标签
6.取消“自动插入功能”选项
7.连续单击两次“确定”按钮,保存设置并退出所有对话框。
执行上述步骤后,无论谁在光驱中插入根目录中含有AUTORUN. INF文件的光盘之后,系统都不会自动运行。
(4).对普通用户权限的限制
对这些用户,一方面应根据工作需要赋予他们适当的权限,如启动计算机,打开相应的应用程序,对自己的数据文件进行拷贝、删除等操作,以保证他们工作的正常开展,另一方面,为了防止他们对系统进行修改而破坏整个系统,必须对他们的权限进行必要的限制,如不允许他们使用控制面板中的某些设置项目以防任意修改系统,不允许使用注册表编辑器、隐藏系统文件所在的分区以防意外等。
对普通用户权限进行设置的步骤为:
启动Windows 98,系统弹出启动登录框后从中选择须要限制其权限的普通用户,并输入相应的密码,以该用户的身份进入系统。参照超级用户的有关步骤对电源管理、屏幕保护等项目设置密码,然后根据需要对他们的权限进行必要的限制(注意,由于工作原因,不同普通用户可能须要拥有不同的操作权限,因此在对他们的权限进行设置时必须根据实际情况有选择地加以限制),最后将启动密码、电源管理及屏幕保护的密码通知相应用户,要求其独立对这些初识密码进行更改。所以,对相应用户权限的限制工作也告完成,此后即可由他们在限制的权限内正常对计算机进行操作。对普通用户的权限进行限制的措施主要包括:
删除“开始”菜单中的有关命令和项目
为了防止用户利用Windows 98“开始”菜单上的“查找”、“运行”等命令来运行一些特殊的应用程序,必须采用适当方法将它们删除:
对“开始”菜单中“收藏夹”选项的操作:
1.运行Regedit命令
2.展开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer分支
3.在Explorer主键下新建一个名为NoFavoritesMenu的DWORD值,双击该值,在“编辑DWORD值”对话框中将键值由0改为1
4.单击“确定”按钮,关闭“编辑DWORD值”对话框,重新启动Windows 98,“开始”菜单中的“收藏夹”选项就会消失。
对“开始”菜单中“文档”选项的操作:
在Explorer主键下新建一个名为“NoRecentDocsHistory”的DWORD值,并将其值修改为1,则“文档”菜单中的内容不能被修改;在Explorer主键下新建一个名为“ClearRecentDocs OnExit”的DWORD值,并将其值修改为1,则每次退出系统时,Windows 98将自动清除文档菜单中的历史记录,在Explorer主键下新建一个名为“NoRecentDocs Menu”的二进制值,并将其值修改为“01 00 00 00”,则“文档”菜单将从Windows的“开始”菜单中消失。
对“开始”菜单中“运行”选项的操作:
利用上面相同的方法,在Explorer主键下新建一个名为“NoRun”的DWORD值,并将其值修改为1,则“运行”命令将从Windows 98的“开始”菜单中消失。
对“开始”菜单中“设置”选项的操作:
利用上面相同的方法,在Explorer主键下新建一个名为“NoSetFolders”的二进制值,并将其值修改为“01 00 00 00”,则“设置”子菜单将从Windows 98的“开始”菜单中消失;在Explorer主键下新建一个名为“NoSetTaskbar”的二进制值,并将其值修改为“01 00 00 00”,将不能再对Windows 98的任务栏属性进行设置(前面设置了“NoSetFolders”二进制值之后,Windows 98的“设置”菜单不复存在,不过仍可通过右击Windows 98任务栏,并执行“属性”命令打开“任务栏”属性对话框,这显然不能满足关闭“任务栏”属性的要求,而设置此参数后,右击任务栏的方法也将失效)。
对“开始”菜单中“查找”选项的操作:
利用上面相同的方法,在Explorer主键下新建一个名为“NoFind”的DWORD值,并将其值修改为1,“开始”菜单中的“查找”子菜单就会消失。
对“开始”菜单中“关闭系统”选项的操作:
利用上面相同的方法,在Explorer主键下新建一个名为“NoClose”的DWORD值,并将其值修改为1,“关闭系统”命令就将从“开始”菜单中消失。
对“开始”菜单中“注销”选项的操作:
利用上面相同的方法,在Explorer主键下新建一个名为“NoLogOff”的二进制值,并将其值修改为“01 00 00 00”,则“注销”命令将从Windows 98的“开始”菜单中消失。
取消用户的环境设置:
利用上面相同的方法,在Explorer主键下新建一个名为“NoSaveSettings”的二进制值,并将其值修改为“01 00 00 00”,此后每次退出Windows 98时系统都不会保存用户对环境所作的设置。
经过上述设置后,可以满足不同用户的需要。
隐藏“开始”菜单中的应用程序
对于普通用户,可能要防止他们使用某些应用程序,这时就应采用下面的方法将Windows 98“开始”菜单中的应用程序隐藏起来:
1.用鼠标右键单击“开始”菜单,从弹出的快捷菜单中执行“打开”命令,打开“Start Menu”文件夹窗口
2.在“Start Menu”文件夹窗口中找到希望隐藏的应用程序的快捷方式。
3.右击该快捷方式,然后从弹出的快捷菜单中执行“属性”命令,打开相应快捷方式的属性设置框。
4.复选“隐藏”选项,然后单击“确定”按钮,关闭所有对话框。
此后,这些隐藏的快捷方式就会从Windows 98的“开始”菜单中消失,从而在一定程度上达到了保密的目的(取消这些快捷方式的隐藏属性后即可令其重新显示)。
删除“网上邻居”等系统图标
基于某些特殊需要,可能要禁止普通用户使用桌面上的“网上邻居”、“我的文档”、“回收站”等系统图标,而它们又不能采用常规方法删除。为此,可执行如下步骤:
1.运行注册表编辑器Regedit打开注册表
2.展开注册表的HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\Namespace主键
3.此时可以从NameSpace 主键中看到“网上邻居”、“我的文档”、“回收站”等分支,只须删除这些分支即可达到删除桌面上相应系统图标的目的。
在图形界面下隐藏某个驱动器图标
为防止普通用户的破坏,希望将保存系统文件的磁盘分区(如C盘)以及光驱、软驱等隐藏起来,为此可以进行下面的操作:
1.运行注册表编辑器Regedit打开注册表
2.展开注册表的HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer分支
3.用鼠标右键单击桌面空白处,然后执行快捷菜单中“新建”子菜单中的“二进制值”命令,创建一个名为“NoDrives”的二进制值。该二进制值(“NoDrives”)就是用于设置是否隐藏某个驱动器的,它由四个二进制字节构成(缺省值为00 00 00 00),每个字节的每一位都分别对应一个磁盘驱动器的盘符。当某位为1时,资源管理器及“我的电脑”中的相应驱动器图标即会隐藏起来。驱动器的值是这样确定的:A~Z的值依次为2的0至25次方,把要禁止的驱动器的值相加,转换为十六进制,就是NoDrives的键值。如要禁止A、D、E,则为1+8+16=25,转换为十六进制数19,修改NoDrives的值为“19 00 00 00”即可。
完成上述操作后,相应的磁盘驱动器图标就会从Windows 98的图形界面中消失,无论是从“资源管理器”、“我的电脑”及有关文件的打开、关闭对话框还是在其它外挂文件管理器(如Windows Commander等)中都无法发现这些隐藏了的磁盘分区的踪迹,从而满足了防止普通用户对系统文件进行破坏的需要,同时也使得他们不能使用任何外来程序(光驱、软驱都不能访问,光驱的自动运行功能又被禁止,还能安装、运行其它程序吗?),很好地保护了系统的安全。
❹ 单片机ram 存储器读写实验
这个不太好解答了。
楼主问的应该是ROM吧?
RAM是内存,掉电丢数据的。
一般储存器是指ROM,掉电不会丢失数据。
而单片机也太笼统了,好多品牌和型号呢,51和STM32用的比较多,不知道楼主要哪种的例程?
还有就是ROM也分很多呀,可以是FLASH,也可以使EPPROM等等~~~
当然不管是什么ROM,大部分都有一个特性是要先擦除后写入~~~而且擦除的速度比较慢。
给个采纳呗~
❺ 存储器实验 1.指出本实验中存储器的实际容量有多大,为什么
8086/8088系统中,存储器为什么要分段?一个段最大为多少字节?最小为多少字节?
解:分段的主要目的是便于存储器的管理,使得可以用16位寄存器来寻址20位的内存空间。一个段最大为64KB,最小为16B。
❻ 微机原理课程总结心得
一学期的微机原理与应用课程,从基础知识与实验应用两方面,让我全面而深入地了解了计算机、单片机。
计算机工作原理部分最为精妙之处在于,在数字电路的基础上引入了预先可存储的指令、规范化的指令集与由门电路组成的控制器,这是硬件与软件的衔接,“冯诺依曼机”的出现为静态的硬件电路赋予可编程、可操作的未来。基于这一理念,微机控制技术、指令执行方式得到了长足的飞跃,出现了操作系统与集成化单片机。
单片机简单的微机系统,集成了CPU、存储器、IO结构,配合精简的操作系统(预设的指令集),接入特殊的外设易于实现特定的功能。接口技术从寻址方式、指令系统、中断操作开始讲解,让我了解到单片机系统中汇编语言与机器码的交互方式;而后的时钟、串口、ADC模块,则赋予单片机极高的工程价值。
❼ 操作系统存储管理实验
#include<stdio.h>#include <dos.h>#include<stdlib.h>#include<conio.h>#include<iostream.h>
#define n 10 /*假定系统允许的最大作业数为n,假定模拟实验中n值为10*/ #define m 10 /*假定系统允许的空闲区表最大为m,假定模拟实验中m值为10*/ #define minisize 100 /*空闲分区被分配时,如果分配后剩余的空间小于minisize,则将该空闲分区全部分配,若大于minisize,则切割分配*/
struct { float address; /*已分配分区起始地址*/ float length; /*已分配分区长度,单位为字节*/ int flag; /*已分配区表登记栏标志,用"0"表示空栏目*/ }used_table[n]; /*已分配区表*/
struct { float address; /*空闲区起始地址*/ float length; /*空闲区长度,单位为字节*/ int flag; /*空闲区表登记栏标志,用"0"表示空栏目,用"1"表示未分配*/ }free_table[m]; /*空闲区表*/
void allocate(char J,float xk) /*给J作业,采用最佳分配算法分配xk大小的空间*/ { int i,k; float ad; k=-1;
for(i=0;i<m;i++) /*寻找空间大于xk的最小空闲区登记项k*/ if(free_table[i].length>=xk&&free_table[i].flag==1) if(k==-1||free_table[i].length<free_table[k].length) k=i; if(k==-1)/*未找到可用空闲区,返回*/ { printf("无可用空闲区\n"); return; }
/*找到可用空闲区,开始分配:若空闲区大小与要求分配的空间差小于minisize大小,则空闲区全部分配;若空闲区大小与要求分配的空间差大于minisize大小,则从空闲区划出一部分分配*/ if(free_table[k].length-xk<=minisize) { free_table[k].flag=0; ad=free_table[k].address; xk=free_table[k].length; } else { free_table[k].length=free_table[k].length-xk; ad=free_table[k].address+free_table[k].length; } /*修改已分配区表*/ i=0; while(used_table[i].flag!=0&&i<n) /*寻找空表目*/ i++;
if(i>=n) /*无表目可填写已分配分区*/ { printf("无表目填写已分分区,错误\n");
/*修正空闲区表*/ if(free_table[k].flag==0) /*前面找到的是整个空闲分区*/ free_table[k].flag=1; else {/*前面找到的是某个空闲分区的一部分*/ free_table[k].length=free_table[k].length+xk; return; } } else {/*修改已分配表*/ used_table[i].address=ad; used_table[i].length=xk; used_table[i].flag=J; }
return; }/*主存分配函数结束*/
void reclaim(char J) /*回收作业名为J的作业所占主存空间*/ { int i,k,j,s,t; float S,L;
/*寻找已分配表中对应登记项*/ s=0; while((used_table[s].flag!=J||used_table[s].flag==0)&&s<n) s++;
if(s>=n)/*在已分配表中找不到名字为J的作业*/ { printf("找不到该作业\n"); return; }
/*修改已分配表*/ used_table[s].flag=0;
/*取得归还分区的起始地址S和长度L*/ S=used_table[s].address; L=used_table[s].length; j=-1;k=-1;i=0;
/*寻找回收分区的空闲上下邻,上邻表目k,下邻表目j*/ while(i<m&&(j==-1||k==-1)) { if(free_table[i].flag==1) { if(free_table[i].address+free_table[i].length==S)k=i;/*找到上邻*/ if(free_table[i].address==S+L)j=i;/*找到下邻*/ } i++; }
if(k!=-1) if(j!=-1) /* 上邻空闲区,下邻空闲区,三项合并*/ { free_table[k].length=free_table[j].length+free_table[k].length+L; free_table[j].flag=0; } else /*上邻空闲区,下邻非空闲区,与上邻合并*/ free_table[k].length=free_table[k].length+L; else if(j!=-1) /*上邻非空闲区,下邻为空闲区,与下邻合并*/ { free_table[j].address=S; free_table[j].length=free_table[j].length+L; } else /*上下邻均为非空闲区,回收区域直接填入*/ { /*在空闲区表中寻找空栏目*/ t=0; while(free_table[t].flag==1&&t<m) t++; if(t>=m)/*空闲区表满,回收空间失败,将已分配表复原*/ { printf("主存空闲表没有空间,回收空间失败\n"); used_table[s].flag=J; return; } free_table[t].address=S; free_table[t].length=L; free_table[t].flag=1; } return; }/*主存回收函数结束*/
int main( ) { int i,a; float xk; char J;
/*空闲分区表初始化:*/ free_table[0].address=10240; /*起始地址假定为10240*/ free_table[0].length=10240; /*长度假定为10240,即10k*/ free_table[0].flag=1; /*初始空闲区为一个整体空闲区*/ for(i=1;i<m;i++) free_table[i].flag=0; /*其余空闲分区表项未被使用*/
/*已分配表初始化:*/ for(i=0;i<n;i++) used_table[i].flag=0; /*初始时均未分配*/
while(1) { printf("选择功能项(0-退出,1-分配主存,2-回收主存,3-显示主存)\n"); printf("选择功项(0~3) :");
scanf("%d",&a); switch(a) { case 0: exit(0); /*a=0程序结束*/
case 1: /*a=1分配主存空间*/ printf("输入作业名J和作业所需长度xk: "); scanf("%*c%c%f",&J,&xk); allocate(J,xk); /*分配主存空间*/ break;
case 2: /*a=2回收主存空间*/ printf("输入要回收分区的作业名"); scanf("%*c%c",&J); reclaim(J); /*回收主存空间*/ break;
case 3: /*a=3显示主存情况*/ /*输出空闲区表和已分配表的内容*/ printf("输出空闲区表:\n起始地址 分区长度 标志\n"); for(i=0;i<m;i++) printf("%6.0f%9.0f%6d\n",free_table[i].address,free_table[i].length, free_table[i].flag); printf(" 按任意键,输出已分配区表\n"); getch(); printf(" 输出已分配区表:\n起始地址 分区长度 标志\n"); for(i=0;i<n;i++) if(used_table[i].flag!=0) printf("%6.0f%9.0f%6c\n",used_table[i].address,used_table[i].length, used_table[i].flag); else printf("%6.0f%9.0f%6d\n",used_table[i].address,used_table[i].length, used_table[i].flag); break;
default:printf("没有该选项\n"); }/*case*/ }/*while*/
return 1;}
❽ 使用Transact-SQL创建函数和存储过程的实验感想
函数和存储过程对SQL SERVER来说有很大的区别:
1.在SQL SERVER2K以前,没有自定义函数UDF,只有系统函数。
2.无论系统函数和UDF,在系统启动是就进行编译并加载,所以UDF的效率比SP要高,SP只是在调用时才加载(扩展的存储过程除外)。
3.有些函数getdate,exec..都在UDF里不能用!
4.函数必须有返回值,SP则不一定。
5.函数可以包括在FROM子句中,SP则不可以。
6.在SQL SERVE2K中SP可以DEBUG,UDF不可以。 用户定义函数
函数是由一个或多个 Transact-SQL 语句组成的子程序,可用于封装代码以便重新使用。Microsoft® SQL Server™ 2000 并不将用户限制在定义为 Transact-SQL 语言一部分的内置函数上,而是允许用户创建自己的用户定义函数。
可使用 CREATE FUNCTION 语句创建、使用 ALTER FUNCTION 语句修改、以及使用 DROP FUNCTION 语句除去用户定义函数。每个完全合法的用户定义函数名 (database_name.owner_name.function_name) 必须唯一。
必须被授予 CREATE FUNCTION 权限才能创建、修改或除去用户定义函数。不是所有者的用户在 Transact-SQL 语句中使用某个函数之前,必须先给此用户授予该函数的适当权限。若要创建或更改在 CHECK 约束、DEFAULT 子句或计算列定义中引用用户定义函数的表,还必须具有函数的 REFERENCES 权限。
在函数中,区别处理导致删除语句并且继续在诸如触发器或存储过程等模式中的下一语句的 Transact-SQL 错误。在函数中,上述错误会导致停止执行函数。接下来该操作导致停止唤醒调用该函数的语句。
❾ c语言实验报告心得
c语言实验心得:
1、只有频繁用到或对运算速度要求很高的变量才放到data区内,如for循环中的计数值。
2、其他不频繁调用到和对运算速度要求不高的变量都放到xdata区。
3、常量放到code区,如字库、修正系数。
4、逻辑标志变量可以定义到bdata中。
在51系列芯片中有16个字节位寻址区bdata,其中可以定义8*16=128个逻辑变量。这样可以大大降低内存占用空间。定义方法是: bdata bit LedState;但位类型不能用在数组和结构体中。
5、data区内最好放局部变量。
因为局部变量的空间是可以覆盖的(某个函数的局部变量空间在退出该函数是就释放,由别的函数的局部变量覆盖),可以提高内存利用率。当然静态局部变量除外,其内存使用方式与全局变量相同;
6、确保程序中没有未调用的函数。
在Keil C里遇到未调用函数,编译器就将其认为可能是中断函数。函数里用的局部变量的空间是不释放,也就是同全局变量一样处理。这一点Keil做得很愚蠢,但也没办法。
7、如果想节省data空间就必须用large模式。
将未定义内存位置的变量全放到xdata区。当然最好对所有变量都要指定内存类型。
8、使用指针时,要指定指针指向的内存类型。
在C51中未定义指向内存类型的通用指针占用3个字节;而指定指向data区的指针只占1个字节;指定指向xdata区的指针占2个字节。如指针p是指向data区,则应定义为: char data *p;。还可指定指针本身的存放内存类型,如:char data * xdata p;。其含义是指针p指向data区变量,而其本身存放在xdata区。
以前没搞过C51,大学时代跟单片机老师的时候也是捣鼓下汇编,现在重新搞单片机,因为手头资料不多,找到一些C51的程序,发现里面有这些关键字,不甚明了,没办法只好找了下,发现如下描述:
从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型,这样将有利于提高程序执行效率(此问题将在后面专门讲述)。与ANSI-C稍有不同,它只分SAMLL、COMPACT、LARGE模式,各种不同的模式对应不同的实际硬件系统,也将有不同的编译结果。
在51系列中data,idata,xdata,pdata的区别
data:固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。
idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编中的语句为:mox ACC,@Rx.(不重要的补充:c中idata做指针式的访问效果很好)
xdata:外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。
pdata:外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movx ACC,@Rx读写。这个比较特殊,而且C51好象有对此BUG,建议少用。但也有他的优点,具体用法属于中级问题,这里不提。
三、有关单片机ALE引脚的问题
"单片机不访问外部锁存器时ALE端有正脉冲信号输出,此频率约为时钟振荡频率的1/6.每当访问
外部数据存储器是,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲."这句话是不是有毛
病.我觉得按这种说法,应该丢失3个ALE脉冲才对,我一直想不通是怎么回事,希望大虾们帮帮我.
小弟感激涕零.
答:
其他所有指令每6个机器周期发出一个ALE,而MOVX指令占用12个机器周期只发出一个ALE
四、如何将一个INT型数据转换成2个CHAR型数据?
经keil优化后,char1=int1/256,char2=int1%256或char1=int1>>8,char2=int1&0x00ff效率是一样的。
五、在KEIL C51上仿真完了,怎样生成HEX文件去烧写??
右键点项目中Target 1,选第二个,在OUTPUT中选中CREAT HEX
六、typedef 和 #define 有何不同??
typedef 和 #define 有何不同》》》 如
typedef unsigned char UCHAR ;
#define unsigned char UCHAR ;
typedef命名一个新的数据类型,但实际上这个新的数据类型是已经存在的,只不过是定义了
一个新的名字.
#define只是一个标号的定义.
你举的例子两者没有区别,但是#define还可以这样用
#define MAX 100
#define FUN(x) 100-(x)
#define LABEL
等等,这些情况下是不能用typedef定义的
七、请问如何设定KELC51的仿真工作频(时钟)
用右键点击左边的的target 1,然后在xtal一栏输入
八、不同模块怎样共享sbit变量,extern不行?
把SBIT定义单独放到一个.H中,每个模块都包含这个.h文件
九、C51中对于Px.x的访问必须自己定义吗?
是的。
如sbit P17 = 0x97;即可定义对P1.7的访问
十、SWITCH( )语句中表达式不可以是位变量对吗?
可以用位变量:
#include
#include
void main()
{
bit flag;
flag=0;
switch(flag)
{
case '0':{printf("0\n");break;}
case '1':{printf("1\n");break;}
default:break;
}
}
bit 变量只有两种状态,if 语句足够啦,!!!
十一、const常数声明占不占内存???
const 只是用来定义“常量”,所占用空间与你的定义有关,如:
const code cstStr[] = {"abc"};
占用代码空间;而如:
const char data cstStr[] = {"abc"};
当然占用内存空间。
另外,#define 之定义似乎不占用空间。
十二、philips的单片机P89C51RD+的扩展RAM在C51中如何使用?
试一试将auxr.1清0,然后在c语言中直接声明xdata类型的变量
十三、BUG of Keil C51
程序中用如下语句:
const unsigned char strArr[] = {"数学"};
结果发现strArr[] 内容为 {0xCA,0xD1,0xA7},真奇怪!
凡是有0xfd,则会通通不见了,所以只能手工输入内码了,例如 uchar strArr[]=
{0xCA,0xfd,0xd1,0xa7}(用Ultraedit会很方便)。
十四、Keil C51中如何实现代码优化?
菜单Project下Option for target "Simulator"的C51.
看到Code optimization了吗?
十五、请教c的!和 ~ 符号有甚区别??
!是逻辑取反,~是按位取反。
十六、c51编程,读端口,还要不要先输出1?
我怎么看到有的要,有的不要,请高手给讲讲,到底咋回事?谢了
要输出1的,除非你能保证之前已经是1,而中间没有输出过其他值。
十七、当定时器1(T1)用于产生波特率时,P3^5还是否可以用作正常的I/O口呢?
p3.5完全可以当普通的io使用
十八、C51中 INT 转换为 2个CHAR?
各位高手:
C51中 INT 转换为 CHAR 如何转换诸如:
X = LOW(Z);
Y = HIGH(Z);
答:
x=(char)z;
y=(char)(z>>8);
十九、如果我想使2EH的第7位置1的话,用位操作可以吗?
现在对位操作指令我一些不太明白请各位多多指教:
如 SETB 07H 表示的是20H.7置1,对吗?(我在一本书上是这么看到的)
那么如果我想使2EH的第7位置1的话,象我举的这个例子怎么表示呢?谢谢!
SETB 77H
setb (2eh-20h)*8+7
20h-2fh每字节有8个可位操作(00h-7fh),其它RAM不可位直接操作
二十、char *addr=0xc000 和char xdata *addr=0xc000有何区别?
char *addr=0xc000;
char xdata *addr=0xc000;
除了在内存中占用的字节不同外,还有别的区别吗?
char *addr=0xc000; 是通用定义,指针变量 addr 可指向任何内存空间的值;
char xdata *addr=0xc000; 指定该指针变量只能指向 xdata 中的值;
后一种定义中该指针变量(addr)将少占用一个存储字节。
uchar xdata *addr=0xc000;指针指向外ram;
如果:data uchar xdata *addr=0xc000;指针指向外ram但指针本身存在于内ram(data)
中
以此类推可以idata uchar xdata *addr=0xc000;pdata uchar xdata *addr=0xc000;
data uchar idata *addr=0xa0;.........
二十一、while(p1_0)的执行时间?
假设,P1_0为单片机P1口的第一脚,请问,
while(P1_0)
{
P1_0=0;
}
while(!P1_0)
{
P1_0=1;
}
以上代码,在KEIL C中,需要多长时间,执行完。能具体说明while(P1_0)的执行时间吗?
仿真运行看看就知道了,
我仿真了试了一下,约14个周期
二十二、怎样编写C51的watchdog程序?
各位大虾,我用KEIL C51 编写了一个带外部开门狗的程序,可程序无法运行起来,经过查
找,发现程序在经过C51编译后,在MAIN()函数的前部增加了一端初始化程序,等到进入
主程序设置开门狗时,开门狗已经时间到,将我的程序复位了,请问我怎样才能修改这一端
初始花程序,使他一运行,就设置开门狗?
可以在startup.a51中加入看门狗刷新指令,当然用汇编,然后重新编译startup.a51
,将他和你的程序连接即可。新的startup.a51会自动代替系统默认的启动模块。
二十三、keil C51 怎样把修改的startup.a51 加到工程文件中
直接加入即可
注意不要改动?STACK,?C_START,?C_STARTUP等符号。startup.a51直接加入项目,不用修改也可。可在内面自己修改汇编的一些限制或堆栈指针。
二十四、关于波特率的设置
我在设定串口波特率时发现一个问题:在晶体震荡器为11.0592MHz时,若设9600BPS的话,
TH1=0XFD,TL1=0XFD,而要设19200BPS的话,TH1、TL1有否变化,如果没变,为什么?
如果变了,又为什么?(因为我看书上俩个是一样的),希望大家点拨。
答:
当电源控制寄存器(PCON)第BIT7(SMOD)为1时波特率加倍。
TH1和TL1的值不变.
二十五、如何在C中声明保留这部分RAM区不被C使用?
我不知道在C源程序中怎么控制这个,但在汇编程序中加入下面一段就行:
DSEG AT 20H
AA: DS 10
这样C51就不会占用20H--29H了
或者在c51里这样定义:
uchar data asm_buff[10] _at_ 0x20;
二十六、问浮点运算问题
我在用C51时发现它对传递浮点参数的个数有限制,请问:
1)参数是以全局变量的形式传递的,请问以全局变量的形式传递的参数也有限制吗?
2)这种传递浮点参数的限制有多少呢?
3)float*float的结果是float类型还是double类型?能否直接赋值给float类型的变量?
答:
由于KEIL C51的参数传递是通过R0-R7来传递的,所以会有限制。
不过KEIL提供了一个编译参数,可以支持更多参数的传递。具体
的内容见KEIL的PDF文档。
我建议你把多个要传递的参数定义到指针或结构体中去,传递参
数通过指针或结构进行,这样好一些。
第3个问题回答是YES,你自己试试不就知道了。
二十七、如何在某一个地址定义ram
用_at_ 命令,这样可以定位灵活一点的地址
uchar xdata dis_buff[16] _at_ 0x6020 ;//定位RAM
将dis_buff[16]定位在0x6020开始的16个字节
二十八、keil c中,用什么函数可以得到奇偶校验位?
例如32位数据,将四个字节相互异或后检查P即可,若耽心P被改变,可用内嵌汇编。
#include
unsigned char parity(unsigned char x){
x^=x;
if(P)return(1);
else return(0);
}
unsigned char parity2(unsigned int x){
#pragma asm
mov a,r7
xrl ar6,a
#pragma endasm
if(P)return(1);
else return(0);
}