您现在的位置是: 首页 > 优秀作文 优秀作文

单片机课设总结_单片机课程设计小结

tamoadmin 2024-08-28 人已围观

简介1.怎么学习单片机器件2.单片机应用课程设计干嘛呢3.求使用单片机74LS273 设计LED电脑时钟 课程设计报告4.51单片机课程设计要怎么写5.两个51单片机双机通信课程设计论文题 目:单片机课程设计报告目 录一、设计目的二、程设计具体要求三、单片机发展简史四、8051单片机系统简介五、8051单片机内部定时器/计数器简介六、程序电路七、程序流程八、程序代码九 实验总结-要求写出完整的论文以及

1.怎么学习单片机器件

2.单片机应用课程设计干嘛呢

3.求使用单片机74LS273 设计LED电脑时钟 课程设计报告

4.51单片机课程设计要怎么写

5.两个51单片机双机通信课程设计论文

单片机课设总结_单片机课程设计小结

题 目:单片机课程设计报告

目 录

一、设计目的

二、程设计具体要求

三、单片机发展简史

四、8051单片机系统简介

五、8051单片机内部定时器/计数器简介

六、程序电路

七、程序流程

八、程序代码

九 实验总结-要求写出完整的论文以及心得体会

十 参考资料及小结

原 文 : 一.目的

1. 进一步熟悉和掌握8051单片机的结构及工作原理。

2. 掌握单片机的接口技术及相关芯片的外特性,控制方法。

3. 通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。

4. 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。

5. 通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。

二.课程设计的体要求

a) 原理图设计。

1. 原理图设计要符合项目的工作原理,连线要正确,端了要不得有标号。

2. 图中所使用的元器件要合理选用,电阻,电容等器件的参数要正确标明。

3. 原理图要完整,CPU,器件,扩器接口,输入/输出装置要一应俱全。

b) 程序调计

1. 根据要求,将总体项能分解成若干个子功能模块,每个功能模块完成一个特定的功能。

2. 根据总体要求及分解的功能模块,确定各功能模块之间的关系,设直出完整的程序流程图。

c) 程序调试将设计完的程序输入,汇编,排除语法错误,生成*OBJ文件。

1. 按所设计的原理图,在实验平台上连线,检查无误。

2. 将汇编后生成的*OBJ文件传送到实验装置的,执行该程序,检查该程序、是否达到设计要求,若未达到,修改程序,直到达到要求为止,

d) 说明书

1. 原理图设计说明

简要说明设计目的,原理图中所使用的元器件功能及在图中的作用,各器件的工作过程及顺序。

2. 程序设计说明

对程序设计总体功能及结构进行说明,对各子模块的功能以及各子模块之间的关系作较详细的描述。

3. 画出工作原理图,程序流程图并给出程序清单。

目前,单片机已广泛应用到图民经济建设和日常生活的许多领域,成为测控技术现代化必不可少的重要工具。下面介绍一本单片机课程设计的好书,介绍了很多实例有兴趣者可以去买哦,价格不贵图书目录 - 8051单片机课程设计实训教材

第1章 绪论

1.1 课程设计所需硬件工具

1.2 专题制作所需软件使用工具

1.3 8051程序开发测试平台

1.4 使用免费汇编编译器

1.5 89CXX烧录模拟器操作实例

1.6 自制8051微电脑单板IO51

1.7 IO51操作实例

1.8 以Windows98 工作模式结合DOS模式来执行

第2章 8051单片机课程设计中的基本软硬件设计

2.1 8051各种基本的硬件设计

2.2 工作指示灯LED

2.3 8051延迟时间计算

2.4 基本按键设计

2.5 建立8051通信接口

2.6 简易8051调试界面

2.7 压电喇叭测试

2.8 键盘扫描

2.9 扫描控制七段显示器

2.10 LCD接口控制

2.11 8051定时器模式的工作

2.12 定时器模式0测试

2.13 定时器模式1测试

2.14 定时器模式2测试

2.15 以定时器产生各种频率的声音

2.16 以定时器演奏—段旋律

第3章 带单片机的LCD时钟

第4章 定时闹铃

第5章 定时闹铃LCD

第6章 音乐倒数定时器

第7章 密码锁控制

第8章 可存储式电子琴

第9章 8051八音盒

第10章 红外线遥控器研究

10.1 红外线遥控器动作原理

10.2 如何观察红外线遥控器信号

10.3 红外线遥控器译码功能说明

第11章 红外线家电遥控

第12章 8051伺服机控制

12.1 伺服机工作原理及改装

第1.3章 8051伺服车控制

13.1 功能说明

13.2 伺服车组装及实验

第14章 红外线遥控伺服车

14.1 功能说明

14.2 遥控伺服车组装及实验

14.3 控制电路

14.4 控制程序

第15章 无线电家电遥控

15.1 功能说明

15.2 遥控编码解码控制

第16章 8051声控设计

16.1 声控基本知识介绍

16.2 系统组成

16.3 声控模块介绍

16.4 基本控制电路

16.5 基本控制程序

16.6 声控课题设计

附录H 如何使用KEIL 8051开发系统汇编和编译程序及调试

附录I EPM89 890XX烧录模拟器特性

附录J 1051 8051 10控制板特性

附录K VCMM声控模块特性

附录L IO51控制板完整电路图

附录M 需要从网站下载的相关资料的使用说明

附录N 硬件接口板版权声明及如何订购

附录A 简易稳压电源制作

附录B 本书实验所需软硬件工具及零件

附录C 8051内部控制寄存器介绍

附录D 8051指令集

附录E 如何自制8051单板

附录F 课程设计报告参考内容

附录G IO51控制板窗口版驱动程序使用说明

怎么学习单片机器件

不知道大家都处于什么一个阶段,这篇帖子是写给入门者的,要解决一个问题:初学者应重点掌握什么电子知识,大学阶段如何学习?

先说点貌似题外的东西——3个谬论。

谬论一:高中老师常对我们说,大家现在好好学,考上了大学就轻松了,爱怎么玩怎么玩。这真是。别的专业我不好说,电气、电子、电力、通信、自动化等电类专业,想要轻松那是不可能地(当然你是天才就另说),专业课上讲的东西对决大多数人来说那是云里雾里,从来都是一知半解,需要你课下大量时间精力地消化。有些东西甚至需要你若干年后在工作中遇着时才回过味:“哦,原来以前学的那东西是干这使的。”你要能想得起,并知道怎么回头去补,就算是上学时专业课学得很扎实了。

谬论二:填志愿时经常有人对我们说:专业不重要,学校最重要,进了个好学校想学什么再学。这亦是。进了学校,本专业的课程就可能会压得你喘不过气来,还有多少人有时间和毅力选修第二专业?而所学专业几乎就是决定了你今后一生的职业生涯。而学校,说实在话本科阶段我觉得从老师那学到的东西各校间差别不是很大。课上讲的大同小异,课下也不会有什么好老师给你单独指导和点拨,若能遇着,那是你的。越牛的学校的越牛的老师就越忙,不要指望他们会在教学上花多少心思,更不要指望他们对你另眼相看。反倒是一些普通院校的小老师们可能跟学生走得更近,辅导更多些,虽然他们可能水平一般,但对于你大学的学习来说还是足够的。综上所述,我觉得对于一个电子爱好者来说,成为一名普通重点大学的电子系学生比成为北大的哲学系学生更重要。当然看帖的应该大多数都是学电的,那恭喜你,这个专业不错的,虽不是什么“朝阳产业”,但绝对是个“常青行业”。

谬论三:上了大学,可能又有不少人对你说,在大学专业不重要,关键的是学好计算机和英语,这样就不愁找不到好工作了。这也是屁话。你要明确一点:你将来不是纯靠英语吃饭的,也不是做编程、搞软件开发或动画创作的。我是想说:若果你性格偏内向沉稳、肯钻研、爱好电子行业,将来想从事电子设计和研发工作,那你一定要学好专业课。当然英语也很重要,但以后工作中用得多的是你的专业英语,即能读懂英语技术文档,而不是跟别人比你口语多正宗多流利。至于计算机,那就是一工具,不要花太多时间去学photoshop、3dmax、Flash、网页制作等流行软件,这些在你今后的工作中用不着,也会牵扯你大量时间精力。好钢用在刀刃上,多进进实验室多搭搭电路吧。当然,电类学生对电脑也有特殊要求,那就是用熟Protel、

Multisim,学好汇编语言、C语言、选学PLD相关软件。任务也是很重的。

以上说了3个谬论,下面言归正传吧。那么进了大学,读了电类专业,这4年你该学些什么呢?

首先要了解:电类专业可分为强电和弱电两个方向,具体为电力工程及其自动化(电力系统、工厂供变电等)专业属强电,电气工程及其自动化以强电为主弱电为辅,电子、通信、自动化专业以弱电为主。其他更进一步的细分要进入研究生阶段才划分。但无论强电还是弱电,基础都是一样的。

首先高数是要学好的,以后的信号处理、电磁场、电力系统、DSP等不同方向的专业课都用得着。

专业基础课最重要的就是电路分析、模拟电路、数字电路。这3门课一定要学好。这3门课一般都是大一下学期到大三上学期开设,对大多数对电子知识还了解不多的同学来说,通常是学得一知半解,迷迷糊糊。所以,最好是在开课之前或是开课的同时读一两本通俗浅显的综合介绍电子知识的书籍,对书中的知识你不需要都懂,能有个大致感觉就行。

对这这种入门读物的选择很重要,难了看不懂可能兴趣就此丧失或备受打击,反而事与愿违。在此推荐一本《电子设计从零开始》(杨欣编著,清华大学出版社出版),该书比较系统全面地介绍了电子设计与制作的基础知识,模电、数电、单片机、Multisim电路仿真软件等都有涉及,一册在手基本知识就差不多了,关键是浅显易懂,有一定趣味性。另外科学出版社引进出版的一套小开本(32开)电子系列图书也不错,是日本人写的,科学出版社翻译出版,插图较多,也较浅显,不过这一系列分册较多,内容分得较细。

除了看书,还要足够重视动手实践。电路、模电、数电这些课程进行的同时都会同时开设一些课程试验,珍惜这个动手机会好好弄一弄,而不要把它当作一个任务应付了事。跟抄作业一样,拷贝别人的试验结果在高校中也是蔚然成风,特别是几个人一个小组的实验,那就是个别勤奋好学的在那折腾,其他人毫不用心地等着出结果。

我只想说,自己动手努力得来的成果才是甜美的,那种成就感会让你充实和满足。游手好闲的,到临近毕业找工作或在单位试用时,心中那种巨大的惶恐会让你悔不当初。这种教训太多了,多少次我们都是蹉跎了岁月才回过头来追悔莫及。除了实验课好好准备好好做之外,许多学校都设有开放性实验室,供学生平时课余自觉来弄弄。珍惜这种和条件吧,工作后不会再有谁给你提供这种免费的午餐了。

当然有些学校没有这么好的条件,或缺少器件,那同学们就在电脑上模拟一把试验平台吧,就是学好用好Multisim软件。Multisim是一种电路仿真软件,笔者上学时叫做EWB,后来随着版本更新,先后更名为Multisim2001、Multisim7、Multisim8。这个软件可模拟搭建各种模拟电路和数字电路,并可观测、分析电路仿真结果。大伙可以把模电、数电中学习的电路在这软件里面模拟一下,增加感性认识,实验前后也可把试验电路在软件里模拟,看跟实际试验结果有多大差别。可以说,只要你是学电的,这个小软件就是你上学时必须掌握的,对你的学习助益很大。另一个必须掌握的软件那就是protel了。

上学时,从小学期的综合设计实验到毕业设计,最后都会要求你用Protel绘出设计的电路原理图和PCB版;工作后,Protel也是你必须掌握的基本技能,部分同学毕业后一两年内的工作,可能就是单纯地用这软件画板子。Protel的版本也走过了Protel98、Protel99、Protel99SE、ProtelDXP、Protel2004的发展道路。Protel99SE、ProtelDXP、Protel2004这三个版本现在用得最多,目前许多学校教学或公司内工程师使用的都还是Protel99SE,当然若作为新的自学者直接从Protel2004学起似乎好一些。

综上所叙,作为最基本的EDA(电子设计自动化)软件,Multisim和Protel是所有电类学生在上学时必须掌握的。其他的如Pspice、Orcad、SYstemview、MATLAB、QuartusII等等,需根据不同的专业方向选学,或是在进入研究生阶段或工作后在重点学习使用。那Multisim和Protel好学么?入门应该问题不大,让师兄师姐指导指导,或是找一两本入门书看一看就OK了。这里推荐一本《电路设计与仿真——基于Multisim 8与Protel 2004》(也是杨欣编著,清华社出版),作为这两款软件的入门学习挺不错的,关键是一本书包含了两款软件学习,对穷学生来说比较划算,若是花钱买两本书分别去学这两个软件,就不值了,因为Multisim的入门不是很难。另用Protel画PCB电路板学问挺大的,有必要多看一些技术文档或是买一本高级应用类的图书。

2.大三大四(学习专业课,尝试应用)

进入大三,就涉及到专业课的学习了,本文只讨论以应用为主的专业课,其他如《电力系统分析》、《电机学》、《自控原理》、《信号与处理》、《高电压》、《电磁场》等等以理论和计算为主的专业课,咱就不多提了。当然这些课对你今后向研究型人才发展很重要,也都很让人头疼,要有建议也只能说是努力学、好好学,懂多少是到少(不过别指望全都懂),以后工作或接着深造用得着时再回过头来接着补接着学,那时有工作经验或接触多了有感性认识,可能学着就容易些了。

那以应用为主的专业课又有哪些呢?不同专业方向有不同的课程,很难面面俱到。这里先简单罗列一下,有微机原理与接口技术(也称单片机)、开关电源设计、可编程逻辑器件(PLD)应用、可编程逻辑控制(PLC)应用、变频器应用、通信电路、数字集成电路分析与设计、DSP、嵌入式等等。可能有同学要问:这么多东西,大学阶段要想都学好不容易吧?答案是不仅是不容易,而且是不可能。这些技术每一门展开来都是复杂的一套知识,可以说,你只要精通其中一门,就可以到外边找个不错的工作了。

而且在大学阶段,这些课程也不是都要学的,而是针对不同专业方向选修其中几门(具体选哪几门,多研究研究你们各自的专业培养方案,多请教老师),学的时候争取能动基本用法即可,真正的应用和深入是要到工作后的;当然你若很勤奋或有天赋,能熟练掌握某一门达到开发产品的程度,那毕业后找个好工作就轻而易举了。到这里我们需要再明确一点:电子领域知识繁多、浩如烟海,所以一般搞硬件的公司都有较多的员工,一个研发项目是多人细致分工、共同完成的,所以我们经常会听到团队意识这个名词。因为一个人的能力有限,不可能掌握所有的知识。比如一些人专门负责搞驱动,一些人专门从事逻辑设计,一些人专门搞高频无线,一些人专门搞测试,一些人专门设计外壳,一些人专门设计电路板等等。

看到这里可能有的同学头都大了:那说来说去大学阶段到底究竟应该学些什么呢?说实话写到这里我的头也大了,电子设计涉及方方面面的东西太多了,实在不是一篇文章甚至一本书能说得清楚的。所以我决定剔除这些生涩的课程名目,大致说一下我所认为的一个电类学生或是想要成为电子工程师的自学者应该掌握的基本的专业技能。

现在应该说单片机不知道那是相当严重的问题。单片机的知识和应用的技巧成了求职面试中必备的问题。但是单片机的知识较难入手,但是你如果看了《51单片机应用从零开始》(清华大学出版社,王玉凤,刘湘黔,杨欣编著)就不是这么感觉的了,这是一本中学生都读得懂的单片机基础和应用教程。这本教程凝结了国内几所重点大学中站在科研、教学第一线教师们的心血,也得到了英国剑桥大学、牛津大学、伦敦帝国理工大学、伦敦大学、加的夫大学等世界著名大学多位博士生导师的指导意见。经过多位学者的精心裁剪,本书的脉络、线索、内容才真正符合读者学习单片机的需要。

《51单片机应用从零开始》以生动活泼、平实易懂的语言讲述。尽量让单片机学习过程中不断涌现的专业词汇,在不知不觉的情况下通过多方面的使用而掌握。本书没有用专业的描述方法来叙述知识点,取而代之的是以“讲故事”的形式把应该了解的内容和盘托出。

十分注重基础知识的铺垫。在单片机学习之前,需要对计算机原理和电子技术有一定的了解。本书考虑到不同读者的知识背景不同,把这两个基础理论融入到了单片机的讲解当中,使阅读起来感觉不到有什么障碍。

构建了全面的学习支撑体系。每章最后的“实例点拨”除了巩固每章的学习知识外,更重要的是开辟单片机应用的视野;再加上“器件介绍”环节,补足单片机从基础到应用所需要的知识;以及丰富的附录内容可作为学习和应用单片机的强力参考。这便构建了一个完整学习单片机的支撑体系。

既授人以鱼,也授人以渔。书中有充足的实例应用,可以用在单片机实验、单片机课程设计当中。但更重要的是,这些实例前后都伴随着仔细的讲解,一个例子下来就能摸清来龙去脉。

叙述的内容全面、新颖、权威。严格按照单片机官方的技术参考对其进行讲解,包括所有51单片机学习与应用需要的基础知识。无论叙述的内容或是实例,都是目前世界上单片机应用的主流。

全书浑然一体。虽然每章各具标题,实际上互有联系。而这种联系如果在书中忽略不谈,则会对理解和记忆产生障碍。本书在正文中多次有知识点的相互映射,这不但能加深前后内容的联系,而且能深化理解与记忆。

我认为:除了最初提到的电路分析、模拟电路、数字电路、单片机外,应了解并掌握电子元器件识别与选用指导、基本仪器仪表的使用、一些常用电路模块的分析与设计、单片机的应用、PLD的应用、仿真软件的应用、电路板设计与制作、电子测量与电路测试。

电子元器件的识别与使用就不用说了,这是元素级的基础,不过要想掌握好也并不容易,一些电子系学生毕业了,还认不出二极管、三极管实物、分不清电解电容的正负极等等,也不是没有的事。还是一句话,多进进实验室,多跑跑电子市场,多看看书。

仪器仪表的使用,大学的实验课中你至少会用过数字万用表,波形发生器、电源、示波器、小电机、单片机仿真机,至少要把这些东西的接线方法和用法弄懂吧。

常用电路模块也是包罗万相,各种放大电路、比较器、AD转换电路、DA转换电路、微分电路、积分电路,还有各种数字逻辑单元电路等等,只能说,大致了解吧,并学会怎么去查资料、查芯片查管脚。最基本的,做实验或课程设计中用到的各种芯片要弄熟。

单片机,这是应该掌握的。时下单片机种类繁多,但各大小企业用得最多的还是51系列单片机,而且价格便宜、学习资料也最全,故给自学者推荐。当然各学校开课讲的单片机型号会有所不同,没关系,学好单片机编程,学好了一种,再学别的单片机就容易了。

PLD(可编程逻辑器件),一种集成电路芯片,提供用户可编程,实现一定的逻辑功能。对可编程逻辑器件的功能设定(即要它实现什么功能)要有设计者借助开发工具,通过编写程序来实现,这跟单片机类似。开发工具可学习Altera公司的Quartus II软件(这是该公司的第4代PLD开发软件,第3代是MAX+PLUS II软件)。编程语言学习硬件描述语言VHDL或Verilog HDL。

仿真软件最基本的就是前面说的Multisim了,另外还可学MATLAB。其他的试专业情况选学或是工作后学。电路板设计与制作主要是用Protel软件进行。这在前面已有介绍,读者应该也比较熟悉。

最后建议同学们积极与各类电子竞赛赛事,参加一场比赛一个项目做下来,电子设计的一个流程和各环节的基础知识就能串起来了,对知识的融会贯通及今后走向工作岗位都有莫大裨益。

以上这些东西我说得笼统,深入下去又是一大堆要学的东西。还是那句话,多啃书本、多实践!清华大学出版社有一套“电子电路循序渐进系列教程”是按照上面我所讲的那个思路出的,可惜好像还没出全,现在好像只有《单片机在电子电路设计中的应用》、《电路设计与制板——Proetl应用教程》、《仿真软件教程——Multisim和MATLAB》、《常用电路模块分析与设计指导》几本。另外听听你们老师的意见、师兄师姐的意见,问问他们应读些什么书,当然也不能尽听尽信,翻开一本书我想你先大致看看他讲得是否通俗,自己琢磨着能看懂几分?我想能有5分懂这本书就值得一看了,示自己现阶段的知识情况,太浅显的书不用看了,太深的书也不要去看,看得迷迷糊糊还打击自信心丧失了兴趣。

好了,就此停笔吧。本来是要写个书目推荐,可干瘪瘪的罗列一堆书目有什么意义?还是写下这些字,让同学们自己去思考去选择去深入吧,希望能对你们有所帮助。

最后一句老生常谈也是我的切肤之痛:大学四年会一晃而过,要学的东西太多太多,不要虚度光阴。及时当努力,岁月不待人!

单片机应用课程设计干嘛呢

单片机学习心得体会

一:

时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。

俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。

虽然这次的课程设计算起来在实验室的时间只有三天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。

硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。

当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。

在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。

再次感谢老师的辅导以及同学的帮助,是他们让我有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路。课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。

二:

熟悉单片机的人都知道,要学好单片机可不是一件容易的事,倒不是因为单片机很难学,而是很难找到一本专为单片机入门者而编写的教材。翻一下身边的单片机教材,都好像是为已经懂单片机的人而写的,一般先介绍单片机的硬件结构和指令系统,再是系统扩展和器件,顺便讲一些应用设计(随便说一下,很多书中的电路设计已经过时,并且有些程序还是错误的)。如果按照此种学习方法,想进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用。学习使用单片机只能靠循序渐进的积累,下面就本人学习单片机的过程和经验做简要介绍。

首先,学习单片机要有一定的基础:电子技术方面要有数字电路和模拟电路等方面的理论基础,特别是数字电路;编程语言要求汇编语言或C语言。要想成为单片机高手,建议初学者首先学习汇编语言,学的差不多的时候,转入C语言学习。尽管汇编语言属于低级语言,编程效率低,但是较C语言具有目标代码简短,占用内存少,执行速度快等优点,更重要的是能使初学者尽快熟悉单片机的内部结构,并能对其进行精确的控制。汇编语言在单片机教材里面都会涉及,不需要单独购买教材和学习。C语言是一门学问,有很多专业书籍来讲解,并且对我们今后的编程生涯有绝对的好处,因此要深入学习,千万不要自以为看了某某的教程就以为掌握了C语言,那只是C语言的一部分。在这里给大家推荐一本单片机C语言程序设计参考书,马忠梅等著,北京航空航天大学出版社出版的《单片机的C语言应用程序设计》,要求C语言基础。如果没学过C语言,建议学习清华大学谭浩强编写的C语言程序设计,这本书写的不错,通俗易懂。

其次,是单片机教材选择。单片机是一门非常重视实践的技术,不能总是看书,但要学习它首先应看书,对单片机引脚、内部结构、寄存器和原理有一定地了解和感官认识,它的是怎样工作的,能干些什么?刚开始时,也许你看不明白,但这并不要紧,因为你还缺乏实践经验。现在单片机应用广泛,因此各个厂家分别推出了自己的单片机,按内部结构体系派系分:51系列、PIC系列、AVR系列、摩托罗拉等等……我们没必要每样都学!因为他们的编程方法和调试过程以及内部指令结构有一定的相似,只要学精通一款就OK了!尤其是用C语言编程,就几乎不用分什么派系,但是我们要选择一款有代表性的知识范围广,并且入门容易,书籍多。一般来说,MCS-51系列单片机已经得到广泛的普及和应用,市场上它的资料也比较多,用的人也很多。给大家推荐一些参考书,学习时只需要一本就足够拉。书名:《新编MCS-51单片机应用设计》,哈尔滨工业大学出版,作者:张毅刚;书名:《单片机原理及应用》,高等教育出版社,作者:张毅刚等;书名:《单片机高级教程:应用与设计》,北京航空航天大学出版社,作者:何立民。相关教材还有很多,在这不一一列举。

然后,是开发工具和开发环境的选择。选择一块合适的学习板,对于初学者来说一般无力接受,如果经济条件允许、本人又对单片机很感兴趣、有从事相关工作意向的话,鼓励大家购买。随便说一句,学习板功能要求太全,具有流水灯、数码管、独立键盘、矩阵键盘、AD或DA、液晶、蜂鸣器等就差不多啦,毕竟,功能齐全的价格比较高。仿真器对单片机初学者来说既是那么耳熟,同时又有些陌生,这主要是因为市场上传统的仿真器价格都在千元以上,对经济不是非常宽裕的人来说是不小的开支。同时仿真器是用来提高调试程序效率的,也不是非需不可的,如果你没有仿真器,遇到程序出错的时候,只好苦思冥想,反复烧写调试。随便推荐一下,学林电子的51tracer仿真器,有兴趣的朋友可关注一下。有了单片机教程板以后,先看下指导说明书,熟悉一下学习板,开卷有益。以后就得靠自己多练习了,将学习板与电脑连接好,先学会开发软件的使用,然后从最简单的流水灯实验做起,按照你自己的意愿控制流水灯,当你完成时,你会发现这是多么惬意的事情。太好玩了,你会觉得这不是在学习,而是在玩,当你发现,单片机能够按照你编写的程序工作时,你会觉得非常兴奋,比做什么事情都开心,这样你会慢慢迷上单片机,真的。不少网站上说搞定某个实验,就恭维的告诉你一声”恭喜你,学会了”自己学会了单片机,这有点可笑,这只能说明你算过关了,对单片机有了一定了解和会使用它了。但是单片机能完成的功能太多了,尤其是对器件的控制,综合起来能设计出许多意想不到的产品.因此除了入门外,精通可千万别轻易说出口。

最后,在熟练掌握和应用后,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。最终,自己完全设计具有个人风格的电路,产品,这样你就是单片机高手拉。只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。时下多家电子类的报刊杂志如:《电子制作》《无线电》《电子报》《电子世界》都开设了详细的单片机教程专栏,对于想学习单片机的朋友来说帮助很大,可以说现在的单片机教程环境是最好的,有网络,有书籍,有报刊杂志,还有教程,元件的购方面也非常充足,相关的器材又多有便宜。如果每天能抽出两小时的时间去学习,快的一个月,慢的三个月就入门拉。

以下是一些经验:

(1)学习单片机没有捷径,别指望两三天就学会,要坚持不懈,重在积累。

(2)别崇拜高手,别相信天才,大部分人都不是天才(相信你也不是)!

(3)单片机是一门应用性和实践性很强的学科,要多动手,多做实验。

(4)要学会参考别人的程序,减少自己琢磨的时间,迅速提高自己的编程能力。

(5)碰到问题可以借助网络来搜寻答案和对自己有帮助的问题,可以大大减少你的开发时间。

(6)要多交一些朋友,多交流。技术是靠不断的积累和交流才会进步的,封闭自守只会更加落后。

希望大家多上网看看前辈的经验,可以少走很多弯路。最后,祝愿大家早日成为单片机高手。

三:

我从大二起,就去实验室去学习。在这里与老师和一些电子设计爱好者的交流中,我学到了更多的专业知识。我从此走上了学习嵌入式的道路。这丰富了我的大学生活,是我在大学的最大收获。

我是从学习单片机开始我的嵌入式学习的。

我接触单片机的方式是在图书馆看书,我看了很多本书,但是大多数书写的大同小异。书里面讲解的单片机的寄存器我看了很多遍也没有看懂。我都不知道改怎么学习它了。慢慢的我悟出了一个道理:电子的学习实践是最重要的,这样,我在大二的时候就买了一块学习板,我一边看一边仿照的程序,自己编写程序,在很短的时间里,我的单片机有了很大的提高。那些难懂的寄存器通过编写程序,我慢慢的弄懂了它们,现在回头看去,原来它还是很简单的。

用哪种编程语言最适合我们。

我看过的单片机的书籍,大部分的程序都是汇编写的。它是一种基于机器硬件的低级语言,对于我们这些只学习过C语言的人来说,非常难懂。我认为刚开始学习单片机没有必要一定要从学习汇编编程开始。我学习单片机就是用C语言编程的,我并不会汇编语言,也没有妨碍我把单片机学好。

我的单片机学习心得。

很多人说,学单片机最好先学汇编语言,以我的经验告诉大家,绝对没有这个必要,初学者一开始就直接用C语言为单片机编程,既省时间,学起来又容易,进步速度会很快。在刚开始学单片机的时候,千万不要为了解单片机内部结构而浪费时间,这样只能打击你的信心,当你学会编程后,自然一步步就掌握其内部结构了。

单片机的学习实践。

单片机提高重在实践,想要学好单片机,软件编程必不可少。但是熟悉硬件对于学好单片机的也是非常重要的。如何学习好硬件,动手实践是必不可少的。我们可以通过自己动手做一个自己的电子制作,通过完成它,以提高我的对一些芯片的了解和熟练运用它。这样我们就可以多一些了解芯片的结构。我相信,你完成了一个属于自己的电子制作,你的单片机水平就会有一个质的提高。

这就是我学习单片机的心得体会,希望给单片机的爱好者学好单片机有所帮助。

四:

在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。通过在单片机小组里的学习我简单总结了几点心得和体会:

单片机学习心得体会6篇心得体会,学习心得

第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。

第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。比如:小灯得点亮就没有用到中断可以先不用看。这样可以避免知识过多记不住的麻烦。对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。

第三:程序不要只是看别人得,一定要自己写过才是自己的。开始不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。当你自己能写出来的时候说明你真懂了。

第四:一定要学会程序调试的方法。有时候把程序写完了然后运行时不能实现理想的现象。这时有人就晕了不知该怎么办,然后就去问别人。当别人找出问题出在哪里时就会恍然大悟。其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。自己一定要掌握解决问的方法和思路。

第五:在学习初期看别人的代码,学习别人的思路这个很有用。通过看别人的代码特别是有多年编程经验的人的程序,可以迅速提高自己的编程水平。也可以结合着别人的手法,与自己的想法结合在一起写出更好的程序。但是切记将学习变成抄袭,不能认为抄袭别人的你就学会了,这样只能使你退步。第六:面对一个新项目时,自己一定要多想想,不要急着去看别人是怎么写的。有的人看到新项目时就去找别人的然后抄一小段,自己在写几句,放在一起完成任务,虽然省时间但不利你的学习。当你遇到一新项目时你应该先想一下程序的构架,想想如何来完成。然后自己动手去写,当你遇到实在是没办法解决的问题时再去请教别人,看他是怎么处理的,学习他的方法。这样起码你自己想过了,有自己的思路不会受到别人的影响,这样更容易提高自己。

在单片机的学习开始时感觉很吃力,在不断的学习过程中慢慢的对单片机产生了些好感,而且在编写程序过程中吃力的感觉慢慢的淡了。在这其中基础知识掌握牢固是非常重要的,然后在学习过程中要学会提问题和自己解决问题,慢慢的对于学习单片机你也会产兴趣。虽然在开始学习单片机时感觉很青涩,但只要坚定自己的学习信心,在付出持之以恒的努力,我相信自己能进一步加深对单片机的了解,在单片机的学习道路上走得更远!

求使用单片机74LS273 设计LED电脑时钟 课程设计报告

单片机应用课程设计主要是为了让学生在课堂学习到的单片机相关知识得到实际应用,对单片机的操作和开发进行更深入的了解。单片机在嵌入式系统、电子信息、自动化控制等领域中得到广泛应用,因此从课程设计上考虑,旨在培养学生掌握单片机应用相关知识,熟练掌握单片机的编程和实验操作,提升学生的实践能力、创新能力和实际工作经验,进而为学生在未来的科研或者工作中打下坚实的基础。

51单片机课程设计要怎么写

我这儿有使用ds1302和1602液晶加上ds18b20温度传感器结合在一起的,三个按键可以用来调节时间,和年月日,是在proteus中模拟的。

实验效果如图所示

c语言代码如下

?#include<reg52.h>

#include<intrins.h>

#define?uchar?unsigned?char

uchar?miao,fen,xiaoshi,ri,yue,nian,tem,lsb,msb,pushtime;

uchar?code?x[]="?20?/?/?";

uchar?code?x1[]="?:?:?"?;

sbit?RS=P1^0;

sbit?EN=P1^1;

sbit?clk=P3^2;

sbit?IO=P3^7;

sbit?reset=P3^0;

sbit?key1=P1^4;

sbit?key2=P1^5;

sbit?key3=P1^6;

sbit?DQ=P1^7;

void?key();

void?delay(uchar?z) //延时4ms

{

uchar?x,y;

for(x=0;x<z;x++)

for(y=0;y<110;y++);

}

void?delayus(uchar?z)//10us

{

uchar?i;

for(i=0;i<z;i++)

{

_nop_();

}

}

void?date(uchar?dat)

{

?RS=1;

?P2=dat;

?EN=1;

?delay(1);

?EN=0;

?delay(1);?

}

void?write_com(uchar?com)

{

?RS=0;

?P2=com;

?EN=1;

?delay(1);

?EN=0;

?delay(1);

}

void?init()

{

uchar?i;

?EN=0;

write_com(0x38);

write_com(0x0c);

write_com(0x06);

write_com(0x01);

write_com(0x80);

for(i=0;i<11;i++)

{

date(x[i]);

}

write_com(0x80+0x40);

for(i=0;i<11;i++)

{

date(x1[i]);

}

clk=0;

IO=0;

reset=0;

}

void?write1(uchar?x) ?//写一位

{

IO=x;

clk=0;

clk=1;

}

uchar?read1() //读一位

{

uchar?x;

clk=1;

clk=0;

_nop_();

x=IO;

return?x;

}

void?writebyte(uchar?date) //写一个字节

{

uchar?i,x;

for(i=0;i<8;i++)

{

x=date%2;

date=date>>1;

write1(x);

}

}

uchar?readbyte()?//读一个字节

{

uchar?i,x,date;

date=0;

for(i=0;i<8;i++)

{

x=read1();

x=x<<i;

date=date+x;

}

return?date;

}

uchar?read(uchar?addr)

{

uchar?date;

reset=1;

writebyte(addr);

date=readbyte();

reset=0;

return?date;

}

void?write(uchar?addr,uchar?date)

{

reset=1;

writebyte(addr);

writebyte(date);

reset=0;

}

void?key()

{

uchar?gewei,shiwei,x;

if(key1==0)

{

delay(3);//延时12ms软件消抖

if(key1==0)

{

pushtime++;

while(key1==0);

}

}

switch(pushtime)

{

case?0:

break;

case?1: //修改分

write(0x80,0x80);

write_com(0x80+0x40+7);

write_com(0x0f);

if(key2==0)

{

delay(3);

if(key2==0)

{

gewei=fen&0x0f; ?//取出分的个位

shiwei=(fen&0x70)>>4; //取出分的十位

x=gewei+10*shiwei;

x++;

if(x==60)

{

x=0;

}

gewei=x%10;

shiwei=x/10;

fen=(shiwei<<4)+gewei; //重新得到分

write(0x82,fen); ?//修改3102中的分

write_com(0x80+0x40+6);//修改屏幕上的分

date(shiwei+0x30);?

write_com(0x80+0x40+7);

date(gewei+0x30);

while(key2==0);

}

}

if(key3==0)

{

delay(3);

if(key3==0)

{

gewei=fen&0x0f; ?//取出分的个位

shiwei=(fen&0x70)>>4; //取出分的十位

x=gewei+10*shiwei;

x--;

if(x==255)

{

x=59;

}

gewei=x%10;

shiwei=x/10;

fen=(shiwei<<4)+gewei; //重新得到分

write(0x82,fen); ?//修改3102中的分

write_com(0x80+0x40+6);//修改分地址

date(shiwei+0x30);?//修改分数

write_com(0x80+0x40+7);//修改分地址

date(gewei+0x30); //修改分数

while(key3==0);

}

}

break;

case?2: ?//修改小时

write_com(0x80+0x40+4);

if(key2==0)

{

delay(3);

if(key2==0)

{

gewei=xiaoshi&0x0f; ?//取出小时的个位

shiwei=(xiaoshi&0x30)>>4; //取出小时的十位

x=gewei+10*shiwei;

x++;

if(x==24)

{

x=0;

}

gewei=x%10;

shiwei=x/10;

xiaoshi=(shiwei<<4)+gewei; //重新得到小时

write(0x84,xiaoshi); ?//修改3102中的小时

write_com(0x80+0x40+3);//修改屏幕上的小时

date(shiwei+0x30);?

write_com(0x80+0x40+4);

date(gewei+0x30);

while(key2==0);

}

}

if(key3==0)

{

delay(3);

if(key3==0)

{

gewei=xiaoshi&0x0f; ?//取出小时的个位

shiwei=(xiaoshi&0x30)>>4; //取出小时的十位

x=gewei+10*shiwei;

x--;

if(x==255)

{

x=23;

}

gewei=x%10;

shiwei=x/10;

xiaoshi=(shiwei<<4)+gewei; //重新得到小时

write(0x84,xiaoshi); ?//修改3102中的小时

write_com(0x80+0x40+3);//修改小时地址

date(shiwei+0x30);?//修改分数

write_com(0x80+0x40+4);//修改小时地址

date(gewei+0x30); //修改分数

while(key3==0);

}

}

break;

case?3:

write_com(0x80+10);//修改日

if(key2==0)

{

delay(3);

if(key2==0)

{

gewei=ri&0x0f; ?//取出日的个位

shiwei=(ri&0x30)>>4; //取出日的十位

x=gewei+10*shiwei;

x++;

if(x==32)

{

x=0;

}

gewei=x%10;

shiwei=x/10;

ri=(shiwei<<4)+gewei; //重新得到日

write(0x86,ri); ?//修改3102中的日

write_com(0x80+9);//修改屏幕上的日

date(shiwei+0x30);?

write_com(0x80+10);

date(gewei+0x30);

while(key2==0);

}

}

if(key3==0)

{

delay(3);

if(key3==0)

{

gewei=ri&0x0f; ?//取出日的个位

shiwei=(ri&0x70)>>4; //取出日的十位

x=gewei+10*shiwei;

x--;

if(x==255)

{

x=31;

}

gewei=x%10;

shiwei=x/10;

ri=(shiwei<<4)+gewei; //重新得到日

write(0x86,ri); ?//修改3102中的日

write_com(0x80+9);//修改日地址

date(shiwei+0x30);?//修改分、日数

write_com(0x80+10);//修改日地址

date(gewei+0x30); //修改日数

while(key3==0);

}

}

break;

case?4:

write_com(0x80+7);//修改月

if(key2==0)

{

delay(3);

if(key2==0)

{

gewei=yue&0x0f; ?//取出月的个位

shiwei=(yue&0x10)>>4; //取月的十位

x=gewei+10*shiwei;

x++;

if(x==13)

{

x=0;

}

gewei=x%10;

shiwei=x/10;

yue=(shiwei<<4)+gewei; //重新得到月

write(0x88,yue); ?//修改3102中的月

write_com(0x80+6);//修改屏幕上的月

date(shiwei+0x30);?

write_com(0x80+7);

date(gewei+0x30);

while(key2==0);

}

}

if(key3==0)

{

delay(3);

if(key3==0)

{

gewei=yue&0x0f; ?//取出月的个位

shiwei=(yue&0x10)>>4; //取出月的十位

x=gewei+10*shiwei;

x--;

if(x==0)

{

x=12;

}

gewei=x%10;

shiwei=x/10;

yue=(shiwei<<4)+gewei; //重新得到月

write(0x88,yue); ?//修改3102中的月

write_com(0x80+6);//修改月地址

date(shiwei+0x30);?//修改月数

write_com(0x80+7);//修改月地址

date(gewei+0x30); //修改月数

while(key3==0);

}

}

break;

case?5:

write_com(0x80+4);//修改年

if(key2==0)

{

delay(3);

if(key2==0)

{

gewei=nian&0x0f; ?//取出年的个位

shiwei=(nian&0x70)>>4; //取出年的十位

x=gewei+10*shiwei;

x++;

if(x==100)

{

x=0;

}

gewei=x%10;

shiwei=x/10;

nian=(shiwei<<4)+gewei; //重新得到年

write(0x8c,nian); ?//修改3102中的年

write_com(0x80+3);//修改屏幕上的分

date(shiwei+0x30);?

write_com(0x80+4);

date(gewei+0x30);

while(key2==0);

}

}

if(key3==0)

{

delay(3);

if(key3==0)

{

gewei=nian&0x0f; ?//取出年的个位

shiwei=(nian&0x70)>>4; //取出年的十位

x=gewei+10*shiwei;

x--;

if(x==255)

{

x=99;

}

gewei=x%10;

shiwei=x/10;

nian=(shiwei<<4)+gewei; //重新得到年

write(0x8c,nian); ?//修改3102中的年

write_com(0x80+3);//修改年地址

date(shiwei+0x30);?//修改年数

write_com(0x80+4);//修改年地址

date(gewei+0x30); //修改年数

while(key3==0);

}

}

break;

case?6:

pushtime=0;

write_com(0x0c);

write(0x80,0x00);

break;

}

}

void?resettem()

{

DQ=1;//温度reset

_nop_();

_nop_();

DQ=0;

delayus(60); //延时480-960us 600us

DQ=1;

delayus(6);//15-60us

delay(20);//最多80ms的响应时间

DQ=1;

_nop_();

_nop_();

}

void?temwrite1(uchar?x)

{

DQ=0;

_nop_();

_nop_();//2us

DQ=x;

delayus(7);//70us

DQ=1;

_nop_();

_nop_();

}

void?temwritebyte(uchar?date)

{

uchar?i,x;

for(i=0;i<8;i++)

{

x=date%2;

date=date>>1;

temwrite1(x);

}

}

uchar?temread1()

{

uchar?x;

DQ=0;

_nop_();

_nop_();//2us

DQ=1;

_nop_();

_nop_();

_nop_();//3us

x=DQ;

delayus(6);//60us

DQ=1;

_nop_();

_nop_();//2us

return?x;

}

uchar?temreadbyte()

{

uchar?i,date,x;

date=0;

for(i=0;i<8;i++)

{

x=temread1();

x=x<<i;

date=date+x;

}

return?date;

}

void?main()

{

uchar?gewei,shiwei;

init();

write_com(0x80+15);

date(0xdf);

write(0x84,0x10);

while(1)

{

if(pushtime==0)

{

/*测量时间*/

miao=read(0x81);?//读秒

gewei=miao&0x0f;

shiwei=miao&0x70;

shiwei=shiwei>>4;

write_com(0x80+0x40+9);//修改秒地址

date(shiwei+0x30); //修改秒数

write_com(0x80+0x40+10);//修改秒地址

date(gewei+0x30); //修改秒数

fen=read(0x83); //读分

gewei=fen&0x0f;

shiwei=fen&0x70;

shiwei=shiwei>>4;

write_com(0x80+0x40+6);//修改分地址

date(shiwei+0x30); //修改分数

write_com(0x80+0x40+7);//修改分地址

date(gewei+0x30); //修改分数

xiaoshi=read(0x85); //读小时

gewei=xiaoshi&0x0f;

shiwei=xiaoshi&0x30;

shiwei=shiwei>>4;

write_com(0x80+0x40+3);//修改小时地址

date(shiwei+0x30); //修改小时数

write_com(0x80+0x40+4);//修改小时地址

date(gewei+0x30); //修改小时数

nian=read(0x8d); //读年

gewei=nian&0x0f;

shiwei=nian&0xf0;

shiwei=shiwei>>4;

write_com(0x80+3);//修改年地址

date(shiwei+0x30); //修改年数

write_com(0x80+4);//修改年地址

date(gewei+0x30); //修改年数

yue=read(0x89); //读月

gewei=yue&0x0f;

shiwei=yue&0xf0;

shiwei=shiwei>>4;

write_com(0x80+6);//修改月地址

date(shiwei+0x30); //修改月数

write_com(0x80+7);//修改月地址

date(gewei+0x30); //修改月数

yue=read(0x87); //读日

gewei=yue&0x0f;

shiwei=yue&0xf0;

shiwei=shiwei>>4;

write_com(0x80+9);//修改日地址

date(shiwei+0x30); //修改日数

write_com(0x80+10);//修改日地址

date(gewei+0x30); //修改日数

/*测量温度*/

resettem();

temwritebyte(0xcc);

temwritebyte(0x44);

while(DQ==0);

resettem();

temwritebyte(0xcc);

temwritebyte(0xbe);

lsb=temreadbyte();

msb=temreadbyte();

tem=(lsb>>4)+(msb<<4);

gewei=tem%10;

shiwei=tem/10;

write_com(0x80+14);

date(gewei+0x30);

write_com(0x80+13);

date(shiwei+0x30);

}

key();

}

}

两个51单片机双机通信课程设计论文

第一次见有人这样问!!-

-

自己学单片机都不知道该做什么啊,看样子复杂的你是没指望了,看看书,写个计算器、万年历、变压器啦什么的还可以

追问:

我不会啊

回答:

真干脆!你们老师也没说题目,就是让你自己想题目然后设计啊?要是那样,也不怪乎你会问这种问题

课程设计

的一般要求:

1、

设计任务书

:说明设计的内容,达到什么程度

2、硬件电路图:设计硬件

电路板

(若不要求做实物的话,可用protues仿真,但无论如何硬件电路一定要有)

3、

软件设计

:根据硬件电路开发,去实现要设计的目的。

4、

流程图

:绘制软件流程图(其实,应该是根据先流程图

再设计

程序的,不过一般具体流程图都是要根据软件细化,所以就放在了编程后便..)

5.

设计说明

书:总结是设计的过程

//-----------------------------

一般

单片机

设计的流程就是这样了,可以根据你们要求具体做哪些....

单片机双机串行通信程序+课程设计报告+电路图

本次设计用两片AT89C51单片机实现信息的串行通信,设计过程中,从双机通信背景的了解,到89C51单片机具体功能的了解,与8051单片机的区别;从串行通信的原理的熟悉,到掌握具体串行通信在双机之间的实现;从硬件电路设计到程序编写;从硬件调试到软件模拟实现等。发送方的数据由串行口TXD断输出,经过传输线(双胶线)将信号传送到接收端。接收方接收电平信号,对于接口电路,短距离传送,减少抗干扰作用,如果短离远双机串口中可以连接电平转换器常用芯片RS232,在此不再叙述。设计中,收获不少东西,也遇到了不少的问题。首先,在完成单片机课程学习任务后,对内容的掌握不够,缺乏灵活运用的能力,对于知识的扩展也存在一定的问题,因此,面对设计课题,无法系统地进行设计思路的拟定。其次,理解不能更好的联系实践,在巩固和学习硬件知识的同时,用软件控制协调硬件实现现实功能,通过硬件完成软件的功能等方面的融会贯通,取得了一定的效果。再次,硬件设计过程中,串行通信方式的选择,波特率的计算,在查询方式与中断方式进行串行通信。对于芯片的选择,软件编写时,对于某些指令的功能,功能模块的连接,芯片地址选择等都遇到了很大的障碍,在老师与同学帮助和自己查阅资料得到了解决,与此同时,了解了不少的问题。并掌握了KEIL的使用和程序调试,以及PROTUES单片机模拟仿真软件的使用,大大提高了学习效率。无耻悲鄙下流的网总是抄网

通过本次课程设计,不仅使理论知识得到了实践,有效巩固了知识。同时对于单片机发展历史、强大功能、应用领域以及系列知识得到了大概的系统认识,同时也初步了解了一个完整的系统开发的过程,对于创造思维的培养和开发能力的锻炼,本次设计,为此提供了一个很好的平台。同学之间的相互讨论学习,互相提高,老师知识的帮助,经验的传授,也是本次设计的一道美丽的风景线,真正起到了抛砖引玉的目的。在此,感谢老师给我们这样好的学习机会。