编程工作记录
① 编程人员岗位职责
编程人员岗位职责(通用9篇)
在现在社会,需要使用岗位职责的场合越来越多,岗位职责是指一个岗位所需要去完成的工作内容以及应当承担的责任范围,职责是职务与责任的统一,由授权范围和相应的责任两部分组成。到底应如何制定岗位职责呢?以下是我帮大家整理的编程人员岗位职责(通用9篇),希望对大家有所帮助。
编程人员岗位职责1
职责描述:
1、负责机器人示教编程、离线编程。
2、完成项目产品工艺测试。
3、提供客户售前、售后技术支持服务。
4、上级交办的工作。
任职要求:
1、大专以上学历,模具制造、数控加工、机电一体化、电气自动化等相关专业;
2、专业知识扎实,思维活跃,逻辑性强;
3、有cnc编程或机器人编程工作经验优先。
4、具备较强的学习能力,吃苦耐劳;
5、具有团队合作精神,自律性强。
编程人员岗位职责2
岗位职责:
1.根据生产任务,合理编制cnc程序和cnc机台的操作,以确保模具生产进度;
2.严格控制cnc加工工件表面光洁度与尺寸的精确度,以保证模具的质量;
3.及时跟踪cnc加工的模具、工件,以避免错误的`发生;
4.cnc铣程式及相关加工异常处理;
5.积极配合各部门的工作;
6.有良好的团队合作精神和强烈的工作责任心;
7.执行力强,善于沟通。
任职要求:
1.中专及以上学历,机械模具相关专业;
2.三年以上相关工作经验;
3.熟练操作fanuc系统;
4.工作细致耐心,服从领导安排,积极配合加班;
5.有塑胶模具独立编程经验优先;
编程人员岗位职责3
岗位职责:
1、良好的沟通技巧和学习能力,较强的执行力;
2、有良好的团队合作意识,能承受一定的工作压力!
岗位描述:
1、在上级的领导和监督下定期完成量化的工作要求;
2、能独立处理和解决所负责的任务,负责公司新产品的研发和设计;
3、根据开发进度和任务分配,完成相应模块软件的设计、开发、编程任务;
编程人员岗位职责4
岗位职责:
1、热爱编程,调试和相关技术,想从事软件开发行业工作的;
2、较强的逻辑分析和独立解决问题能力;
3、富有团队精神,责任感和沟通能力。
任职资格:
1、18到28周岁,大专及以上学历优先;
2、具有较强的学习接受能力;
3、对计算机感兴趣,热爱it行业者优先;
4、有经验直接上岗,没有经验的前期有人带(可接受转行,零基础可培养);
5、可接受优秀应届生。
编程人员岗位职责5
职责描述:
1、数控车床或加工中心的调试验收
2、根据客户产品进行车床或加工中心试加工
3、协助业务部门参加展会,展会期间进行加工演示以及与客户进行现场技术交流
任职要求:
1、中专、技校、高中学历及以上学历,机械类相关专业毕业
2、从事产品编程加工5年以上的工作经验,会ug等三维编程优先考虑。
3、懂加工中心和数控编程调试者为佳。
4、本岗位全国出差较多,公司给予出差补贴
编程人员岗位职责6
岗位要求:
1、机电一体化专业,偏电类;
2、熟练使用plc编程软件;
3、具备相关的电力知识;
4、参加过本专业竞技大赛可优先。
岗位职责:
1、入职前六个月需进入机加工熟悉设备操作和工艺流程;
2、前期负责简单的绘图、编程、组装工作;
3、主要工作是负责推进公司设备自动化项目。
编程人员岗位职责7
岗位职责:
1、负责网站功能架构、前端界面、后台开发、系统架构设计、网站规划和实施;
2、负责网站开发过程中的管理、协调和推进工作,解决各类重点问题和难点问题;
3、负责网站上线后的改进、提升页面相应速度等后端相关工作;
4、负责网站美工和界面优化;
5、网站后台数据库的设计及维护。
任职要求:
1、大专以上学历,计算机相关专业,1年以上网站系统编程经验;
2、精通网站编程开发语言,熟练运用web页面开发技术,如html、css、javascript;
3、有独立完成网站架构建设的项目开发成功经验,熟悉网站架构整体运营;
4、有良好的沟通与理解能力,执行力强,有较强的团队意识。
编程人员岗位职责8
1.负责加工中心机床的操作、维护与日常保养,熟悉加工中心组机床的性能与基本构造;
2.服从生产安排进行产品试制及批量生产,按图纸要求对产品进行处理确保产品质量;
3.能看懂图纸及相关工艺技术文件,协助分析,处理和解决质量问题,并提出改进方案;
4.与质检部门积极配合,发现量具有失准现象及时通知其主管,由质检部校对;
5.按要求填写加工中心机床及产品的文件及资料,做好生产操作记录、设备保养记录;
6.完成上级委派的其他任务;
7.做好交接班工作(若有不明白之处应以书面形式交代清楚),白天领班 还需把夜班所要做的工件、工具、材料等备好;
8.严格遵守作业指导书及相关安全规定进行作业。 每天加工好的成品必须吹干净残渣、油水等后按照标准摆放整齐;
9.严格的按照6s标准要求,每天将自己负责区域内的6s工作做好,保证工作场所干净整洁、工具摆放整齐
编程人员岗位职责9
1、主要负责数控加工中心cnc编程,机床数量,分别mazak,fanuc,操作系统机床,车铣分别为四轴、六轴、七轴;
2、根据工艺员编制的工艺指导书结合图纸进行cnc编程,对不合理的地方提出改进方案;
3、负责刀具排位,根据程序操作,选择刀具、夹具、量具,并负责工装额设计;
4、根据cnc标准进行工时测试,能够核算定额工时;
5、能够解决处理cnc加工过程中所出现的异常,从而对程序的校对;
6、负责操机加工零部件。
;② 【VB编程】如何记录用户上次操作的信息
最简单的就是用txt文件记录,把想要的数据或操作记录下
③ 2021年程序员个人工作总结
【篇一】2021年程序员个人工作总结
来公司担任程序员一职已一年多时间,在这一年时间里,我学到了很多东西。每个人都是在不断的总结中成长,在不断的审视中完善自己。在这一年里自己也是在总结、审视中脚踏实地地完成好本职工作,现将这一年的工作总结如下:
一、思想方面燃顷
严格按照一个程序员应有的素养要约束自已,爱岗敬业,具有强烈的责任感和事业心,积极主动认真的学习专业知识,工作态度端正,认真负责,听从公司的安排,积极配合_完善ERP系统,任劳任怨。
二、工作方面
热爱自己的本职工作,能够正确认真的对待每一项工作,工作投入,热心为大家服务,认真遵守劳动纪律,按时上下班,有效利用工作时间,坚守岗位,需要加班完成工作按时加班加点,保证工作能按时完成。在这一年里,我本着把工作做的更好这样一个目标,开拓创新意识,积极圆满的完成了以下本职工作:
1、配合_开发并完善SRM系统。
2、独自开发_SAP日志维护系统。
三、存在不足
一公司领导以及部门领导同事的帮助和指教,使我的工作有了很大提高,当然我还存在着很多不足之处,处理问题思路简单,不够成熟,工作中容易产生急躁情绪,需要更深入学习专业知识,提高自己的昌睁工作水平。
【篇二】2021年程序员个人工作总结
新的一年即将到来,回首20XX年我很荣幸的进入了公司,加入了XX游戏开发团队,进入了一个大家庭。在公司的半年使我真正的从学生时代过度到了一个社会人,下面对自己20XX年进去公司大半年的工作情况进行总结。
一、在工作中主要存在的问题有
1、由于开始对业务需求不是很熟悉,所以了解程序开发的过程中多次出现因为需求的原因,而不断修改返工的情况。
2、在开发中,用到了很多新的技术,由于开发时间紧促,发现的问题不能马上解决,但是开发的过程,同时也是学习的过程,通过不断的学习和总结,遇到的问题都得到了很好的解决。
3、在工作阶段,有时比较偏向自己的工作方便,忽略了其它同事工作上的量和难易。有的功能自己怎么方便怎么写。加大了其它同事的工作量,大家都需要相互配合。
二、在工作中的教训
1.工作的条理不够清晰,要分清主次和轻重缓急,在开发时间仓皮迅陆促的情况下,事情多了,就一定要有详实而主次分明的计划,那些需要立即完成,那些可以缓缓加班完成,在这方面还有很大的优化空间。
2、对流程、业务需求不够熟悉,在工作中因为流程或业务需求的问题而不知道如何下手的情况有点多,包括错误与缺漏还有当时设计考虑的不到位的地方,对于这块的控制力度显然不够,平时总是在开发,但说到底对业务很熟悉才是项目很好完成的前提。
3、学习的知识不够广泛,一个项目中,涉及的技术往往有多种,知识多了,就会灵活变通,以后我会加强这方面的学习。
4、缺乏工作经验。
三、在工作中的收获
1、语言知识做软件的一种工具,更好的软件是站在玩家的立场上用心的设计,让用户使用更方便、更快捷。
2、利用技术实现软件的功能只是软件的表面,认识问题、分析问题、解决问题才是最重要的。
3、养成总结反思的习惯,并有意识地提炼日常工作成果,在实施上认真的总结工作精英,为以后的实施工作打基础。
4、不论是做事还是做程序,一定要有清晰的思路,要认真仔细的去做,要有耐心和信心。
四、工作计划
1、要提高工作的主动性,做事干脆果断,不拖泥带水。
2、工作要注重实效、注重结果,一切工作围绕着目标完成。
3、要提高大局观,是否能让其他人的工作更顺畅作为衡量工作的标尺。
4、把握一切机会提高专业能力,加强平时知识总结工作。
5、精细化工作方式的思考和实践。
6、虚心请教优秀的同事,向他们学习技术和经验。
其实作为一个新员工,所有的地方都是需要学习的,多听、多看、多做、多想、多沟通,向每一位员工学习他们身上的优秀工作习惯,丰富的专业技能,配合着实际工作不断的进步,不论在什么环境下,我都相信这两点:一是三人行必有我师,二是天道酬勤。
在参加工作的短短半年中,我深刻的体会到,把自己所有的精力都投入进去,技术工作都不可能做到完美程度,毕竟技术工作太过繁杂,但多付出一点,工作就会优化一些,这就需要认认真真沉下心去做事情,就是公司所提倡的企业精神:职业做事,诚信做人。
【篇三】2021年程序员个人工作总结
从我20XX年x月x日进入公司到现在已经过去一年了,从一名刚刚结束实习的学生到一名独立的开发人员,角色改变了,职责也改变了。虽然已经预计了工作之中会有很多困难,可是在实际的项目开发中,自己所遇到远远不止自己想象之中的那么简单、单纯。在开发过程中,难题一个接一个的出现,要做到满足公司的产品需求,成为一名合格的程序开发人员,这个过程还很漫长。每天我都在勉励自己,要好好学,好好做,以后会好的。在此同时我衷心感谢公司给我提供了学习的机会和平台,这也使我对以后的日子多了些许的信心。
一、工作回顾
在我进入公司的这一年里,我陆续接触了公司的gps平台,智能手表定位,_铁路局车站消防综合管理系统,_金融款箱管理系统,_保卫处的管理系统,指挥中心的视频监控系统,并在这期间为__制作了一个展示型企业网站。在刚进入公司的那段时间里,我从没有接触过网络摄像机,对于网络摄像机根本没有任何概念,在公司的培养下我逐渐熟悉了各种摄像机,现在拿到_的摄像机开发包,可以很熟练的进行二次开发。在工作之余,我也在努力的学习,和别人交流,学习先进的开发技术,请教别人开发技术问题。
二、主要问题
1、由于开始对业务需求不是很熟悉,所以在写需求分析与了解所要开发的过程中多次出现因为需求的原因,而不断修改、返工的情况。在同_金融交流的时候,这个问题多次困扰着我,对方的需求不明,每次交流的过程中都在变更需求,从而导致了效率比较低的问题。
2、在开发中,用到很多我所不知道或很多我知道但不太熟悉的领域,在这个领域内,我需要不断的学习。
3、在工作阶段,有时比较偏向自己的工作方便,忽略了其他同事的工作上的量与难易。有的功能自己怎么方便怎么写,如今公司在不断壮大,我们部门人员在不断的`增加,这样是不利于多人合作的。
4、工作的条理性不够清晰,要分清主次和轻重缓急;在开发时间很仓促的情况下,事情多了,就一定要有详实而主次分明的计划,哪些需要立即完成,哪些可以缓缓加班完成,在这方面还有很大的优化空间。
5、学习的知识不够广泛;一个项目中,涉及的技术往往有多种,知识多了,就会灵活变通,以后我会加强这方面的学习。
三、工作心得
1、每一个项目在开始着手的第一步,一定要和客户把需求沟通清楚,只有了解了项目的需求,才有可能真正做好一个项目。我们需要向客户提出要求客户提供所有涉及该项目的资料,每次与客户见面都需要熟悉业务与程序的最少一至两个程序员随时记录需求。
2、工作中,有一个无论是技术,还是经验都比较让人肯定的前辈带领,将任务详细化,详细到,每个页面、甚至是一个页面中的图片什么时候做好,做到什么程度,这样把工作进度有计划有方向的赞定下来,做事很有效率。和_,_等人合作时候一定注意要多项工作同步进行,保证每个子模块都能同步运行。
3、每天的工作小结真的很重要,这让我们每天都有计划的知道自己干了什么,不是漫无目的的工作,所以我们应该养成,日记、周记、月记、年记的工作习惯。
4、工作并不是一成不变的,也许有一天你要去其他岗位帮忙,所以同事之间的技术要互相学习,也许有一天,公司需要你发挥其他的技能帮忙,所以互相学习也是很重要的。自己的工作不能仅仅局限于编程。
④ 数控编程员岗位职责
数控编程员岗位职责(精选14篇)
在不断进步的时代,岗位职责使用的频率越来越高,制定岗位职责可以减少违章行为和违章事故的发生。想必许多人都在为如何制定岗位职责而烦恼吧,以下是我精心整理的数控编程员岗位职责,仅供参考,欢迎大家阅读。
数控编程员岗位职责 篇1
1、熟练使用UG CAD/CAM软件,熟悉精密模具加工工艺,熟悉FANUC操作系统,熟悉机床指令代码;
2、根据模具维修计划,进行CNC编程,合理调用刀具及对应的进给和转速,保证数控设备加工操作的准确与安全;
3、按照模具团队的文书作业标准,对各项文件进行整理、存档,确保图纸信息的安全性;
4、协助模具技术团队参与改善缺陷产品的模具检修建议,提出合理性方案;
5、协助三次元测量工作,提出合理的测量方案;
6、完成上级分配的其他工作任务。
数控编程员岗位毕大职责 篇2
1、按时完成加工任务,保证所加工产品的质量和一次合格率。
2、建立标准化的作业指导书。
3、参与现场工艺改善及加工刀具的选用及申报。
4、做好本职岗位的5S,做好设备的日常点检及日常保养。
5、负责加工中心的编程、调试及操作,负责数控车床的编程、调试及操作。
6、没有主职岗位的工作时,服从领导的其他工作任务安排,按时完成领导交办的其他工作事宜。
数控编程员岗位职责 篇3
1、负责模具的整个CNC制造过程中加工质量、加工效率、成本控制、出错控制负全部责任。
2、监督CNC车间工作环境,工具整理、机台保养及维护培养操作员各项操作技能,减少不必要的错误,不断提高其做事积极性,树立起工厂是我家的理念。
3、铜公尺寸检测(目前三台机只有一个编程,希望此项工作能由其他人来做)。
4、有新模、手板等及时订购所需材料,并尽快出好程序以便工件尽早上机。
5、安排CNC各项工作流程,保证机床更高效率运作,积极配合各个部门各项工作。
6、不定期清点仓库刀具、铜料等,及时申购或备用所需要的刀具、铜料等。
7、负责EDM外加工的报价及跟进。
8、用心做最好!
数控编程员岗位职责 篇4
1、每天按时上班,需穿工衣、带厂牌等。
2、到指定工作场所认真的做好交接班工作(若有不明白之处应以书面形式交代清楚),白天领班还需把夜班所要做的工件、工具、材料等备好。服从领班安排,按照领班分配的工作任务,保证按时、按质、按量的完成各项任务。
3、按照在桐烂制品制程检验标准,做完的工件需在机上认真、真实的做好自检(包括基准、光洁度、产品外形、尺寸、字码等),检查OK才下机并在程序单上签名。
4、在工作时间或工作区域禁止大声喧哗、嬉笑等,扰乱工作秩序、影响工作或他人的行为(如串岗聊天、吃零食、玩手机、处理私人事务)
5、在操作机床时严禁把安全门打开操作,严格遵守作业指导书及相关安全规定进行作业。每天加工好的成品必须吹干净残渣、油水等后按照标准摆放整齐,领班检查后送各相关部门。
6、严格的按照8S标准要求,每天将自己负责区域内的8S工作做好,保证工作场所干净整洁、工具摆放整齐。
数控编程员岗位职责 篇5
一、操作员的检查工作:
1、做好有尺寸控制或是精度要求高的,一定要做到锣到可以卡数时先卡数,没有问题情况下再继续加工(这点非常重要)。
2、做好事前上机的准备工作及检查工作,做好加工完成的检查工作。
3、做好当班的质量及技术工作的指导。
4、做好当班工作记录(下班前必须做好的工作)。铜公加工完成,要做对尺寸的检查工作,要按程序单上的编号打在铜公的'合适位置,放到指定的位置(质检区)。另外做上记录一件铜料的尺寸多少,内有的铜公编号及数量必须如实填报并电脑记录。
5、加局数漏工速度的提升!在加工速度提升的前提下必须是保证质量的要求!检查程式用的刀具是否合理!程式加工的不顺畅的一定要告知程式员更改!
二、工具的管理:
a)每天换刀具由主管(组长)换领。遣失、恶意损坏工具按原价赔偿。
b)工具要摆放整齐,决不能到处乱放,在哪里拿的工具用后一定要放回原处。未经同意本部门的工具不能借给他人使用(借了还回时必须检查)。借了他人的工具、使用后要完整无损及时归还。请爱惜工具!每三个的月尾盘点工具一次!
c)休息或不加班时间要将工具收集一起锁好,该浸油的要用干净的切削液浸好。用时清干净再用,特别是刀头的锥形位置要经常清理!做好防锈工作。
d)操作员的更新工具要清点!并做上记录!合理的使用工具!
三、空气压缩机的使用及保养:
a)每天放水2次,放水位置有:压缩机的气缸、空气净化器、空气滤水器、机床滤水器!如果刚好是交接班时间为准备下班人员放水,放了水才下班,当班人员轮流值日!每天的放水时间如下:09:00第一次;14:00第二次;
b)每天白班值日员检查压缩机内的工作油是否足够(压缩机油工作油的标准为、油镜圆的一半多1.5mm),是否需添加!
c)每个月缩机保养(换压缩机油、清理过滤网)工作!
四、废料的整理:
铜、铁屑必须归类;放到指定的位置。
数控编程员岗位职责 篇6
1、编制cnc加工程序(ug);
2、安排加工流程和工艺3、配合工程师改进设计与工艺候选人要求;
3、负责各类模具零件的机加工工艺按排;
4、NC和EDM用辅助工装的设计;
5、编写产品加工程序,保证机床运转;
6、对操机人员进行技术指导;
7、整理相关技术文件。
数控编程员岗位职责 篇7
1、负责新产品导入,工艺开发,程序编写,夹具开发,新产品试产跟踪和异常处理;
2、生产流程、生产工艺优化和改善;
3、协助调机人员调机与外协工厂的技术支持和异常处理;
4、部门内部工作上的协助,跨部门沟通和相关工作的对外沟通;
5、主管安排的其他工作。
数控编程员岗位职责 篇8
岗位职责:
1、热爱编程,调试和相关技术,想从事软件开发行业工作的;
2、较强的逻辑分析和独立解决问题能力;
3、富有团队精神,责任感和沟通能力。
任职资格:
1、18到28周岁,大专及以上学历优先;
2、具有较强的学习接受能力;
3、对计算机感兴趣,热爱it行业者优先;
4、有经验直接上岗,没有经验的前期有人带(可接受转行,零基础可培养);
5、可接受优秀应届生。
数控编程员岗位职责 篇9
职责描述:
1、数控车床或加工中心的调试验收
2、根据客户产品进行车床或加工中心试加工
3、协助业务部门参加展会,展会期间进行加工演示以及与客户进行现场技术交流
任职要求:
1、中专、技校、高中学历及以上学历,机械类相关专业毕业
2、从事产品编程加工5年以上的工作经验,会ug等三维编程优先考虑。
3、懂加工中心和数控编程调试者为佳。
4、本岗位全国出差较多,公司给予出差补贴
数控编程员岗位职责 篇10
工作职责:
1、根据《零件工艺过程卡》、零件3d图档和零部件的加工要求,对零件进行cnc工时评估,工艺规划、刀具规划;
2、及时跟踪、总结、分析所预估工时的准确性,为机器产能排产提供准确可靠的依据;
3、合理、及时地评估零件加工工时,确保加工进度;
4、如果在工作中发现加工不合理等现象,及时分析、总结并反馈给相关部门人员,以促进加工效率的改进和提升;
5、负责新产品、量产产品工装、治具的制作、准备和产品换线前的工装设备拆卸及按指定区域放置管理
6、负责新产品的开发、打样产品的生产技术项目按时跟踪、处理
7、与技术部门协调处理技术难题,积极提供有关方案,及时处理现场问题,负责产品加工异常问题的分析、处理
8、标准零件的标准工艺制作及程序编辑定期优化;
9、产品毛坯件尺寸的定制,备料;
10、根据产品设计合理的夹具,夹具维护及编码,刀具管;
11、对编辑好的程序审核优化;
12、完成上级委派的其他任务,协助主管进行效率的提升和质量的改善
数控编程员岗位职责 篇11
工作职责:
1 、对cnc主管的安排的加工图纸、和治具工艺设计要按制作要求设计,按加工工艺编写刀路。
2 、加工前要跟踪设备,夹具,刀具,材料是否到位,做到
3、安排cnc各项工作流程,保证机床更高效率运作,积极配合各个部门各项工作
4、随时保持自已的工作台文件摆放整齐,干净。
5、每天要将文件按要求日期分类,备一份到公共盘里面。
工作规程:
1 、接到派工单后,认真了解制作要求,和审核加工图纸。
2 、确定制作方案和加工工艺。
3 、按之前确定好的方案设计治具,或编写加工路径。
4 、认真检查编好的加工程序,确认无误后交到操机组长,由操机组长按排加工。
5 、在加工过程要经常查看加工情况,是否有异发生,发生异发应及时纠正。
数控编程员岗位职责 篇12
岗位职责:
1、负责网站功能架构、前端界面、后台开发、系统架构设计、网站规划和实施;
2、负责网站开发过程中的管理、协调和推进工作,解决各类重点问题和难点问题;
3、负责网站上线后的改进、提升页面相应速度等后端相关工作;
4、负责网站美工和界面优化;
5、网站后台数据库的设计及维护。
任职要求:
1、大专以上学历,计算机相关专业,1年以上网站系统编程经验;
2、精通网站编程开发语言,熟练运用web页面开发技术,如html、css、javascript;
3、有独立完成网站架构建设的项目开发成功经验,熟悉网站架构整体运营;
4、有良好的沟通与理解能力,执行力强,有较强的团队意识。
数控编程员岗位职责 篇13
岗位要求:
1、机电一体化专业,偏电类;
2、熟练使用plc编程软件;
3、具备相关的电力知识;
4、参加过本专业竞技大赛可优先。
岗位职责:
1、入职前六个月需进入机加工熟悉设备操作和工艺流程;
2、前期负责简单的绘图、编程、组装工作;
3、主要工作是负责推进公司设备自动化项目。
数控编程员岗位职责 篇14
职责描述:
1、负责机器人示教编程、离线编程。
2、完成项目产品工艺测试。
3、提供客户售前、售后技术支持服务。
4、上级交办的工作。
任职要求:
1、大专以上学历,模具制造、数控加工、机电一体化、电气自动化等相关专业;
2、专业知识扎实,思维活跃,逻辑性强;
3、有cnc编程或机器人编程工作经验优先。
4、具备较强的学习能力,吃苦耐劳;
5、具有团队合作精神,自律性强。
;⑤ 程序员用来做笔记的软件有哪些推荐
推荐三个好用的笔记软件给大家。
1、有道云笔记有道云笔记+Markdown语法。优点是手机、电脑可同步使用,而且关键免费。
2、visual studio code一款功能强大的记录软件,可装插件。
3、DocRun 算力笔记可以展示代码,支持交互运行代码 c++/python/js/matlab/R。
作为一个超级爱分享,爱记录,爱总结,外加爱记录的程序员,真的是会经常用到一些非常好用的笔记软件或者工具,所以,我可以给大家推荐一下,我自己是如何做笔记的,都用到了哪些软件?
首先,我先说一下,我是脊弊一个 MBP 的忠实粉丝,所以我的电脑就是 Macbook Pro ,所以分享和推荐给大家的做笔记的软件都是基于苹果电脑的。(PS :苹果电脑真的非常好用)
首先,记笔记最重要的是什么?其实,记笔记最重要的是可以随时随地非常方便的把自己想记录的内容,马上记录下来。那么,Unclutter 这款软件真的是非常的好用。非常方便的调出来做笔记,只要你点击复制,自己生成 历史 记录。简直不能太方便了。我简单介绍一下它。
Unclutter 本身是一个多功能的隐藏菜单,里面包含 Clipboard(剪切板),File Storage(存储区域),Notes(随手记)三个功能区,当你用鼠标或是 Trackpad 从屏幕顶部向下滑动时,Unclutter 菜单就会落下来,接下来的操作就会非常容易了。
看到了吗?最左边是剪切板,中间是文件存储区,最右边是 notes 随手记。你只要使用复制或者剪切功能,复制文字的话,它都会自动复制到剪切板上。如果你复制的是图片,就会自动存储在文件存储区。
另外,你想做的笔记和内容,可以直接在最右边的随手记上记录,可以生成记录的 历史 列表,非常的方便。
显示这个面板的方式非常简单,把鼠标放在屏幕顶部,双指向下滑就能下拉启动该工具;反之,双指向上滑动则是收回工具。
Typora 这款软件就不用我过多的介绍了吧?被称为世界上排版最美的 MarkDown 工具。
我们随手把自己记录的笔记记录下来以后,下一步该怎么办呢?肯定是要学习总结,整理成文章啦。整理文章,我个人最喜欢用的当然是 MarkDown 这样轻量级的标记语言做的排版。那么我就会用 Typora (注:这款工具也有 windows 版本)。
Typora 是一款好用极简免费的跨平台 Markdown 编辑器,软件使用这款软件能够帮助用户轻松将文本转换到 HTML,软件从底层向上设计,软件支持 markdown 的标准语法,同时这款软件还支持动态预览功能,一键预览,让一切都变得如此干净、纯粹,是一款不可多得的优质 markdown 编辑器。
我个人非常喜欢这款软件,尤其是再配搭图床工具,可以直接把图片上传搞定,简直不要太方便了。
其实,我个人不太喜欢有道云笔记,为知笔记,以及印象笔记这样的软件的,因为我感觉大部分使用它收藏了之后,大家可能就忘了,很少打开这样的笔记工具去学习和看了。
我使用使用随手记,直接在桌面上呼之欲出能够让我看到今天总结的东西的软件,配合上写作软件,让我效率很高。因为,我需要把笔记,及时整理成文章,然后发布在博客上,只有,把笔记整理成文章,才能转化成自己的语言和知识,这是一个提高和学习的过程。
而不仅仅是使用各种收藏类的笔记软件,把他们收藏了之碰铅后,就不再管了,可能过几天你都能把记录的笔记都忘樱吵族了。而我推荐的这两款工具,是随时都可以调出来马上看到和使用的,尤其是 Unclutter 这款工具,在电脑上,往下呼之欲出,马上就能看到,再学习和整理。我认为,这才是记笔记正确的方式。
这也是我学习的方式。
都2020年,全面云时代了,还软件,还编辑器[泪奔]。就连微软的宇宙第一IDE都要推出web版本了,各位技术人员能不能专业点,跟进一下时代潮流!十万阿里人都在使用的技术文档工具“语雀”了解一下,在线记录,不用安装,支持技术人员常用的各种格式,免费使用,markdown文档,代码,脑图,表格,uml,图片,视频,office等等。支持十人团队协同编辑,实时分享,用完这个,我相信你会把你电脑上的这云笔记那笔记软件,各种编辑器全部卸载[灵光一闪]。什么?在线编辑器,没网干不了活?!5G都来了,你告诉我你没网,你转行吧[大笑]
程序员做笔记的软件?听起来好像程序员很特殊似的。不过稍微想想,在记笔记的方面,程序员还真有一个特殊之处——他们的笔记,很多是嵌在代码里,当做注释写的。
注释之外,还有项目规划、大脑清理、头脑风暴、参考资料、进度追踪之类的笔记。这些内容我用OneNote来做。因为OneNote的层级结构做得特别好,很符合理工男的逻辑思维习惯。
所以回到题目, 我的推荐是:程序相关的直接记到代码里,思维相关的记到OneNote里。
稍微展开说几句:
1、程序相关的笔记直接记到代码里。
程序员要不要写代码注释,这是一个争论已久的话题。争论的本质,其实是“相不相信自己的长期记忆力”,以及“相不相信代码本身就是注释”。我个人不相信长期记忆力,所以要写注释。但我又偏向于好的代码,本身就是自解释的,不需要写注释。
如果带项目,考虑到团队协作,这个争论往往是以“写注释”告终的。写程序时候的思路、坑、用到的算法、需要注意的事情、后续改进的地方,都可以直接用注释的形式写到代码里。这样其他接手项目的程序员,可以更容易理解你的代码。
那么,程序员用什么软件写代码,也就是用什么软件做编程笔记了。我试用过很多,最后还是更喜欢Sublime Text.
2、思维相关的记到OneNote里。
其实跟项目相关的思考,大部分内容还是不方便记到代码中的,我会记到微软的OneNote里。
跟项目没有关系的,只要是思考和学习内容,都可以记到OneNote里。我现在已经把OneNote作为我的文档中心,只有在不得已的情况下,才输出成单独的文档。你现在看到的这篇问答也是在OneNote里写出来的。
在一个统一的内容管理软件中处理文档,简直太方便了。定位、查找、复制、整理,统统很容易。
OneNote最大的好处,是它的多重分类层级。大致分为笔记本、分区组、分区、页面、子页面几个层级。它的分类导航排列在工作区四周,本身有很强的提示功能,很容易能够把分类做得井井有条。我个人感觉,OneNote的分类效果,远比在资源管理器里直接用文件夹做分类好得多。
OneNote另一个杀手锏,是多平台同步。我现在做笔记已经全天候无死角了。PC、Pad、笔记本、手机,统统自动同步。能够随时记笔记,可以说是笔记软件最重要的功能了,这方面OneNote做的不错。
对了,OneNote还是免费的,不但软件免费,还提供25G的云存储空间,还有微软出品的品质保证。有人说OneNote的云同步太慢,我实测很久,感觉完全够用。真的不够用了,还有商业化的解决方案可供选择。
3、零散的想法用讯飞的语音输入,记到各种“快速笔记”中。
OneNote自带一个“快速笔记”——没有分类的笔记。你有了一个突然冒出来的想法,可以先记录下来,以后再整理。这个快速笔记也是多平台同步的,很方便后续的加工处理。
不管何时,只要你有了想法,就可以用手机呼出快速笔记,说出你的想法,用讯飞输入法识别成文字,记录下来。如果希望直接记录语音也没问题,OneNote本身就支持。
总结一下吧:
程序猿的笔记,程序相关的,大部分记到代码中,小部分记到OneNote中。其他笔记,都记到OneNote中,构建自己的个人知识体系。有了零散的想法,也可以通过“快速笔记”第一时间记录下来,免得遗忘。
一句话:OneNote真是个好用的东西,即便你不是程序员,也应该考虑考虑它。
我推荐一款:Evernote(印象笔记),非常好用且功能强大的一款笔记软件。
我推荐它有以下几个理由:
多个设备之间同步印象笔记有PC端和移动端,电脑编辑以后,手机上可以立马看到。平时外出需要记录问题的时候,拿出手机就可以记录。回到家以后打开PC端的印象笔记,立马就可以看到通过手机记录的内容。并且支持多个手机和多个PC之间相互同步。
这也是它最大的优点。平常我们需要写各种技术文档。有时候领导要求我们做成PPT给其它同事演示分享,而程序员是非常讨厌做PPT。印象笔记解决了程序员这一痛点。用印象笔记写完文档以后,可以直接以PPT的形式演示,无需在制作额外的PPT。
印象笔记可以直接画思维导图,用思维导图进行头脑风暴或信息梳理,激发灵感,高效梳理思路。还能在导图中与笔记巧妙联动,让信息串链起来,或是一键为笔记本生成思维导图目录,高效连结相关信息资料。
支持MarkDown语法Markdown 是一种轻量级的标记语言,用简洁的语法代替排版,我们程序员非常喜欢使用这种语法。 其常用的标记符号不超过十个,相对于更为复杂的 HTML 标记语言来说,Markdown 十分的轻量,学习成本也不需要太多,且一旦熟悉这种语法规则,会有沉浸式编辑的效果。印象笔记Markdown支持CommonMark和GFM标准。
此外,印象笔记还支持 音频笔记、拍照笔记、多人协作、收藏网页和文章等功能,是团队协作和个人工作的最佳选择。不过,印象笔记的高级功能需要付费使用。
用过notion、印象笔记、有道云笔记、石墨文档、语雀。其实就两个严格来说不是笔记软件,是协同办公。但是语雀很好用,就是语雀客户端丑一些,但是挺好用的。目前在用语雀
为了找到合适程序员的笔记软件,我试用过很多,如OneNote,Notion,有道云笔记,Quiver,MWeb,语雀,GoodNotes还有Notability。
最后我的选择 电脑端用语雀 , iPad端用Notability+备忘录 。
OneNote 的功能非常强大,各种平台也都支持,可以说是综合实力最强的一个了。但是对于我来说最大的问题是打开速度太慢,再加上服务器在国外,网速也很感人,对于我来说,这点很致命,导致我还是放弃了它。
Notion 这个软件网上评价都很好,但是一个 全选功能只能选中当前块 让我放弃了。
有道云笔记 体验基本都还不错,但是在Markdown中插入图片要购买会员就没有再试了。
Quiver 和 MWeb 有些相似,本地笔记的功能够用,也都支持Markdown格式,但是不同电脑之间同步会比较麻烦,只能用云盘或者是自建git仓库。
语雀 是我经过挑选之后最后选择的,编辑器对于各种功能的支持都有,还支持团队编辑,可以查看 历史 版本比较差异,程序员用来建立知识库或者是团队文档库都很不错。
由于语雀对于移动端不支持,所以在iPad上我比较了GoodNotes和Notability,最后选择了Notability,至于选择的原因可以看我的另一篇回答,里面有说到。
当然,这只是我接触体验过的笔记软件中的比较,仅供参考,也许还有我没有接触过的更好用的笔记软件。
云端的有免费的有道笔记,OneNote, 付费的印象笔记,为知笔记,总体来说,如果你笔记整体内容比较少的话,这四个用起来都差不多,但是如果笔记整体比较大,内容很多,超过几千条,那免费的就最好用OneNote,付费的就用为知笔记。如果你只是在本地电脑上使用,那就推荐使用myBase,功能很强大,几乎是不二的选择
作为一个持续学习的程序员,笔记必不可,而我使用的笔记软件,主要有2个,分别是印象笔记、有道云笔记,下分别简单介绍下,也大同小异,看个人喜好选择了:
一、印象笔记1.支持多端云同步
可以在ios、Android、window、Mac、ipad、web页面等形式,编写你的笔记
但这既是印象笔记的优点,也是印象笔记的缺点,就是超过2个端,需要支付会员,才能同步其他端。
2.操作简单。
3.window下使用,当笔记内容过多时,软件经常卡崩溃,之前因此弃坑。
二、有道云笔记1.支持多端云同步
可以在ios、Android、window、Mac、ipad、web页面等形式,编写你的笔记
2.界面优雅
3支持多级存储(印象笔记只支持2级)
即你可以创建一个文件夹,文件夹下面再创建文件夹,类似的window的操作,分多级来存储分类你的笔记。
4.大厂支持
这是互联网大厂网易旗下的产品,有保障。
在互联网还不发达的时代,无论是哪一行的从业人员,对于会议的介绍,知识点的整理都是习惯性的记录在笔记本上,随身携带上面记满了密密麻麻的备忘录,用完的记事本是一本接一本,到了近几年随着互联网的发展,网上的云端笔记也越来越多,所以选择一款适合自己的云笔记显得尤为重要。
我是在14年踏入程序员这个行业,对于常用的语法还有函数是真心的记不住,但是在那个时候也没有经验,就在电脑上新建个记事本,把遇到的问题以及解决问题的方法记下来,我记得当时还随身携带着U盘,到其他电脑上再把文件拷出来,后来就传到360云盘,等到换了电脑也能直接从360云盘上下载来下。
也许很多人觉得我的这个过程很繁琐,但这也是那几年我最常用的一种做笔记方式,我相信也会有和我有相同经历的小伙伴吧,不管是笔记还有常用的软件就是保存在360云盘上,但是过了几年360云盘突然宣布不再免费提供个人版,这让我们这些个人用户一下慌了神,在免费下载日之前着急忙慌的开始备份资料,已经不记得当时丢失了多少资料,最后随着时间的流逝,当时做的笔记也都无从查找了,对于自己来说也是一笔损失。
那时间来到最近两三年,我发现我身边的同事都把服务器的信息或者常用的账号密码保存的很清晰,我就问他用的是什么软件, 从这时开始,有道云笔记走进了我的世界,一经使用我就对这款软件爱不释手。
有道云笔记是网易旗下的一款在线保存文档笔记的一款产品,无论是在界面的设计,还是功能的使用中,对于我来说都能够满足大部分的需求,我常用在电脑编辑, 每天到公司第一件事就是先登录有道云,因为每天有太多的资料账号去登录,先打开有道云的网页,在用到其他资料的时候就可以很清晰的找到所需信息 ,并且支持手机端APP同步,如果在外出差不方便打开电脑,在手机上做完笔记就可以一键保存了。
除了有道云笔记之外,我这边了解到的常用笔记还有 印象笔记、腾讯文档、WPS文档等等 ,其实都可以满足各种做笔记的需求,最后希望大家能找到一款适合自己的笔记,有效的提高自己的工作效率。
⑥ 程序员的工作内容主要是什么
程序员的职能:
程序员(英文Programmer)是从事程序开发、程序维护的专业人员。
一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,穗伏弊特别是在中国。
软件从业人员分为初猜族级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。
程序的含义:
计算机程序(Computer Program),港、台译做电脑程式。计算机程序是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。
它以某些程序设计语言编写,运行于某种目标结构体系上。
程序就如同以英语(程序设计语言)写作的文章,要让一个懂得英语的人(编译器)同时也会阅读这篇文章的人(结构体系)来阅读、理解、标记这篇文章。
一般以英语文本为基础的计算机程序要经过编译、链接而成为人难以解读,但可轻易被计算机所解读的数字格式,然后放入运行。
程序是一个指令序列。
(6)编程工作记录扩展阅读:
程序员的日常工作:
1、确认通过审查方案的目标,输入数据,分析师,监事,和客户的输出要求的项目要求。
2、安排项目要求在编程序列分析要求;准备工作流程图和使用计算机知识的能力,题材,编程语言和逻辑图。
3、编码工作流程的信息转换成计算机语言的项目要求。
4、通过输入编码信息的厅备计算机程序。
5、确认程序操作进行测试,修改程序序列和/或代码。
6、准备写操作指令供用户参考。
7、保持历史记录,通过记录方案的制定和修订。
8、维护客户的信心和保护保密的业务。
9、技能/资格:一般的编程技巧,分析信息,解决问题,软件算法设计,软件性能优化,注重细节,软件设计,软件调试,软件开发基础,软件文档,软件测试。
⑦ EDA课程设计,用VHDL编程做出租车计费器
课程设计内容与要求
1,用开关按键表示脉冲,每个脉冲代表100米,10个脉冲1公里,每公里1.4元,能同步显示里程和费用;
2,低于2公里5元计费,高于2公里总费用=起步费用+(里程-2公里)*里程单价+
等候时间*等后单价;
3,等候时间大于2分钟,按每分钟1.3元计费;
4,可以设定起步价和里程单价。
一、设计原理与技术方法:
包括:电路工作原理分析与原理图、元器件选择与参数计算、电路调试方法与结果说明;
软件设计说明书与流程图、软件源程序代码、软件调试方法与运行结果说明。
根据设计要求,系统的输入信号clk,计价开始信号start,等待信号stop,里程脉冲信号fin。系统的输出信号有:总费用数C0—c3,行驶距离k0—k1,等待时间m0—m1等。系统有两个脉冲输入信号clk_750k,fin,其中clk_750k将根据设计要求分频成14hz,15hz和1hz分别作为公里计费和超时计费的脉冲。两个控制输入开关start,stop;控制过程为:start作为计费开始的开关,当start为高电平时,系统开始根据输入的情况计费。当有乘客上车并开始行驶时,fin脉冲到来,进行行驶计费,此时的stop需要置为0;如需停车等待,就把stop变为高电平,
并去除fin输入脉冲,进行等待计费;当乘客下车且不等待时,直接将start置为0,系统停止工作;价格开始归为起步价5.0元。
整个设计由分频模块,计量模块,计费模块,控制模块和显示模块五个部分组成。
其中计量模块是整个系统实现里程计数和时间计数的重要部分;控制模块是实现不同计费方式的选择部分,根据所设计的使能端选择是根据里程计费还是根据等待时间计费,同时设计通过分频模块产生不同频率的脉冲信号来实现系统的计费。计量模块采用1hz的驱动信号,计费模块采用14hz,13hz的驱动信号;计量模块每计数一次,计量模块就实现14次或者13次计数,即为实现计时的1.3元/min,计程时的1.4元/km的收费。组成框图如下所示:
1.百进制模块:
实现百米脉冲的驱动信号,元件框图如图3所示:
图3 百进制模块框图
源程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity jin is
port(start,clk2: in std_logic; --秒脉冲
a: out std_logic_vector(3 downto 0));
end jin;
architecture rt1 of jin is
signal count_1:std_logic_vector(3 downto 0);
begin
a<=count_1;
process(start,clk2)
begin
if(start='0')then
count_1<="0000";
elsif(clk2'event and clk2='1')then
if(count_1="0111")then
count_1<="0000";
else
count_1<=count_1+'1';
end if;
end if;
end process;
end rt1
2.计费模块
; 实现里程和等候时间的计费并输出到显示,元件框图4如下:
图4 计费模块框图
源程序如下:
Library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
entity jifei is
port(clk2:in std_logic; --计费驱动信号
start:in std_logic; --计费开始信号
c0,c1,c2,c3:buffer std_logic_vector(3 downto 0));
end jifei;
architecture rt1 of jifei is
begin
process(clk2,start)
begin
if start='0'then c3<="0000";c2<="0000";c1<="0101";c0<="0000"; --起步价5元
elsif clk2'event and clk2='1'then
if c0="1001" then c0<="0000";
if c1="1001" then c1<="0000";
if c2="1001" then c2<="0000";
if c3="1001" then c3<="0000";
else c3<=c3+1;
end if;
else c2<=c2+1;
end if;
else c1<=c1+1;
end if;
else c0<=c0+1;
end if;
end if;
end process;
end rt1;
3.公里模块
实现历程的计数和输出计费脉冲,元件框图5如下:
图5 公里模块框图
源程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity gongli is
port(clk1,start: in std_logic; --百米脉冲
k1,k2,k3,k4: out std_logic_vector(3 downto 0); --里程显示
temp2 : out std_logic);
end gongli;
architecture rt1 of gongli is
signal count_1: std_logic_vector(3 downto 0);
signal count_2: std_logic_vector(3 downto 0);
signal count_3: std_logic_vector(3 downto 0);
signal count_4: std_logic_vector(3 downto 0);
begin
k1<=count_1;
k2<=count_2;
k3<=count_3;
k4<=count_4;
process(start,clk1)
begin
if(start='0')then
count_1<="0000";
count_2<="0000";
count_3<="0000";
count_4<="0000"; ---公里清零
elsif(clk1'event and clk1='1')then
if(count_1="1001")then --公里计数器
count_1<="0000";count_2<=count_2+1;temp2<='1';
if(count_2="1001")then
count_2<="0000";count_3<=count_3+'1';
if(count_3="1001")then
count_3<="0000";count_4<=count_4+'1';
end if;
end if;
else
count_1<=count_1+'1';temp2<='0';
end if;
end if;
end process;
end rt1;
4.输出模块
实现所有数据的输出,元件框图6如下:
图6 输出模块框图
源程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity shuchu is
port(y: in std_logic_vector(3 downto 0);
e: out std_logic_vector(6 downto 0));
end shuchu;
architecture rt1of shuchu is
begin
process
begin
case y is
when"0000"=>e<="0111111";
when"0001"=>e<="0000110";
when"0010"=>e<="1011011";
when"0011"=>e<="1001111";
when"0100"=>e<="1100110";
when"0101"=>e<="1101101";
when"0110"=>e<="1111101";
when"0111"=>e<="0000111";
when"1000"=>e<="1111111";
when"1001"=>e<="1100111";
when others=>e<="0000000";
end case;
end process;
end rt1;
5.显示模块
实现所有数据的显示,元件框图7如下:
图7 显示模块框图
源程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity xianshi is
port(start: in std_logic;
a:in std_logic_vector(3 downto 0); --选择信号
c1,c2,c3,c4,out1,out2,out3,out4:in std_logic_vector(3 downto 0); --里程显示,时间显示输入
y:out std_logic_vector(3 downto 0)); --里程显示,时间显示输出
end xianshi;
architecture rt1 of xianshi is
begin
process
begin
if(start='0')then
y<="0000";
else case a is
when "0000"=> y<=c1 ;
when "0001"=> y<=c2 ;
when "0010"=> y<=c3 ;
when "0011"=> y<=c4 ;
when "0100"=> y<=out1 ;
when "0101"=> y<=out2;
when "0110"=> y<=out3 ;
when "0111"=> y<=out4;
when others =>y<= "0000";
end case;
end if;
end process;
end rt1;
6.dian模块
图8 dian模块框图
源程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity dian is
port(a: in std_logic_vector(3 downto 0);
e: out std_logic);
end dian;
architecture rt1 of dian is
begin
process
begin
case a is
when "0001"=>e<='1';
when "0101"=>e<='1';
when others=>e<='0';
end case;
end process;
end rt1;
三、中各个模块设计分析
系统总体顶层框图如下:
系统总体顶层框图
程序最终功能实现波形仿真
1. 分频模块
由于实验箱上没有14hz和13hz的整数倍时钟信号,因此采用频率较大的750khz进行分频,以近似得到14hz,13hz和1hz的时钟频率。通过以上三种不同频率的脉冲信号实行出租车行驶,等待两种情况下的不同计费。模块元件如下:
分频模块框图
源程序如下:
Library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
entity fenpin is
port(clk_750k:in std_logic; --系统时钟
clk_14:buffer std_logic; --14分频
clk_13:buffer std_logic; --13分频
clk_1 : buffer std_logic); --1分频
end fenpin ;
architecture rt1 of fenpin is
signal q_14:integer range 0 to 53570; --定义中间信号量
signal q_13:integer range 0 to 57691;
signal q_1:integer range 0 to 749999;
begin
process(clk_750k)
begin
If(clk_750k' event and clk_750k='1')then
If q_14=53570 then q_14<=0;clk_14<=not clk_14;
else q_14<=q_14+1;
end if; --得14hz频率信号
If q_13=57691 then q_13<=0;clk_13<=not clk_13;
else q_13<=q_13+1;
end if; --得13hz频率信号
If q_1=749999 then q_1<=0;clk_1<=not clk_1;
else q_1<=q_1+1;
end if; --得1hz频率信号
end if;
end process;
end rt1;
2. 计量模块
计量模块主要完成计时和计程功能。
计时部分:计算乘客的等待累积时间,当等待时间大于2min时,本模块中en1使能信号变为1;当clk1每来一个上升沿,计时器就自增1,计时器的量程为59min,满量程后自动归零。
计程部分:计算乘客所行驶的公里数,当行驶里程大于2km时,本模块中en0使能信号变为1;当clk每来一个上升沿,计程器就自增1,计程器的量程为99km,满量程后自动归零。
元件框图为:
计量模块框图
计量模块仿真波形为:
源程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity jiliang is
port(start:in std_logic; --计费开始信号
fin:in std_logic; --里程脉冲信号
stop:in std_logic; --行驶中途等待信号
clk1:in std_logic; --驱动脉冲
en1,en0:buffer std_logic; --计费单价使能信号
k1,k0:buffer std_logic_vector(3 downto 0); --行驶公里计数
m1,m0:buffer std_logic_vector(3 downto 0)); --等待时间计数
end jiliang;
architecture rt2 of jiliang is
signal w:integer range 0 to 59; --计时范围0~59
begin
process(clk1)
begin
if(clk1'event and clk1='1')then
if start='0' then
w<=0;en1<='0';en0<='0';m1<="0000";
m0<="0000";k1<="0000";k0<="0000";
elsif stop='1' then --计时开始信号
if w=59 then
w<=0;
else w<=w+1;
end if;
if m0="1001" then
m0<="0000";
if m1="0101" then
m1<="0000";
else m1<=m1+1;
end if;
else m0<=m0+1;
end if;
if stop='1' then en0<='0';
if m1&m0>"00000001" then en1<='1'; --若等待时间大于2min则en1置1
else en1<='0';
end if;
end if;
elsif fin='1' then --里程计数开始
if k0="1001" then k0<="0000";
if k1="1001" then k1<="0000"; --计程范围0~99
else k1<=k1+1;
end if;
else k0<=k0+1;
end if;
if stop='0' then
en1<='0';
if k1&k0>"00000001" then
en0<='1'; --若行使里程大于2km,则en0置1
else en0<='0';
end if;
end if;
end if;
end if;
end process;
end rt2;
3. 控制模块
本模块主要是通过计量模块产生的两个不同的输入使能信号en0,en1,对每个分频模块输出的14hz,13hz的脉冲进行选择输出的过程;本模块实现了双脉冲的二选一;最终目的为了计费模块中对行驶过程中不同的时段进行计价。
模块元件如下:
控制模块框图
控制模块仿真波形为:
源程序如下:
Library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
entity kong is
port(en0,en1:in std_logic; --使能选择信号
clk_in1:in std_logic; --14分频输入信号
clk_in2:in std_logic; --13分频输入信号
clk_out:out std_logic); --输出信号
end kong;
architecture rt3 of kong is
begin
process(en0,en1)
begin
if en0='1' then --实现二选一功能
clk_out<=clk_in1;
elsif en1='1' then
clk_out<=clk_in2;
end if;
end process;
end rt3;
4.计费模块
当计费信号start一直处于高电平即计费状态时,本模块根据控制模块选择出的信号从而对不同的单价时段进行计费。即行程在2km内,而且等待累计时间小于2min则为起步价5元;2km外以每公里1.4.元计费,等待累积时间超过2min则按每分钟1.3元计费。c0,c1,c2,c3分别表示费用的显示。
模块元件为:
计费模块框图
计费模块仿真波形为:
源程序如下:
Library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
entity jifei is
port(clk2:in std_logic; --计费驱动信号
start:in std_logic; --计费开始信号
c0,c1,c2,c3:buffer std_logic_vector(3 downto 0));
end jifei;
architecture rt4 of jifei is
begin
process(clk2,start)
begin
if start='0'then c3<="0000";c2<="0000";c1<="0101";c0<="0000"; --起步价5元
elsif clk2'event and clk2='1'then
if c0="1001" then c0<="0000";
if c1="1001" then c1<="0000";
if c2="1001" then c2<="0000";
if c3="1001" then c3<="0000"; --计价范围0~999.9
else c3<=c3+1;
end if;
else c2<=c2+1;
end if;
else c1<=c1+1;
end if;
else c0<=c0+1;
end if;
end if;
end process;
end rt4;
5.显示模块
显示模块完成计价,计时和计程数据显示。计费数据送入显示模块进行译码,最后送至以百元,十元,元,角为单位对应的数码管上显示。计时数据送入显示模块进行译码,最后送至以分为单位对应的数码管上显示。计程数据送入显示模块进行译码,最后送至以km为单位的数码管上显示。
模块元件为:
显示模块框图
源程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all; --定义库包
entity xianshi is --定义实体
port(
clk_scan:in std_logic; --扫描时钟信号端口设置
c3,c2,c1,c0:in std_logic_vector(3 downto 0); --总费用输入端口
k0,k1:in std_logic_vector(3 downto 0); --里程输入端口
m0,m1:in std_logic_vector(3 downto 0); --等待时间输入端口
sel:out std_logic_vector(2 downto 0); --控制数码管位选信号的扫描信号输出端口
led:out std_logic_vector(6 downto 0); --数码管的控制端口
led_dp:out std_logic --数码管的小数点输出端口
);
end xianshi;
architecture rt5 of xianshi is
signal an:std_logic_vector(6 downto 0); --数码显示管中间变量
signal shuju:std_logic_vector(3 downto 0); --选择输入端的中间变量
signal cnt:std_logic_vector(2 downto 0); --控制数码管的中间变量
signal xiaodian:std_logic; --小数点的中间变量
begin
process(clk_scan) --开始进程
begin
if clk_scan'event and clk_scan='1' then
cnt<=cnt+1; --每有一个扫描信号上升沿实现加1扫描
end if;
end process; --结束进程
process(cnt) --开始进程(选择扫描显示数码管)
begin
case cnt is --扫描时给每个数码管赋值
when "000"=>shuju<=c0;
when "001"=>shuju<=c1;
when "010"=>shuju<=c2;
when "011"=>shuju<=c3;
when "100"=>shuju<=k0;
when "101"=>shuju<=k1;
when "110"=>shuju<=m0;
when "111"=>shuju<=m1;
when others=> null;
end case;
if (cnt="001" or cnt="110")
then xiaodian<='1'; --在里程和总费用的个位处显示小数点
else xiaodian<='0';
end if;
end process; --结束进程
process(shuju) --开始进程(译码显示)
begin
case shuju is
when "0000"=>an<="0111111"; --0
when "0001"=>an<="0000110"; --1
when "0010"=>an<="1011011"; --2
when "0011"=>an<="1001111"; --3
when "0100"=>an<="1100110"; --4
when "0101"=>an<="1101101"; --5
when "0110"=>an<="1111101"; --6
when "0111"=>an<="0000111"; --7
when "1000"=>an<="1111111"; --8
when "1001"=>an<="1101111"; --9
when others=>null;
end case;
end process;
sel<=cnt;
led<=an;
led_dp<=xiaodian;
end rt5;
二、课程设计工作记录:
包括:设计步骤与时间安排、调试步骤与时间安排、课题完成结果说明
2.课题完成结果说明:
此计费器能实现起步价是5元;实现实验要求的1公里计费一次单价,行驶公里大于2km时每公里按1.4元计费并能显示里程和总共的费用。当行驶了6公里,等待了4分钟时,费用显示为15.8元。与计算公式总费用=起步费用+(里程-2公里)*里程单价+等候时间*等后单价;即15.8=5+(6-2)*1.4+4*1.3。实验结果与理论结果完全一致,实验设计成功。