电子技术论坛

 找回密码
 快速注册

QQ登录

只需一步,快速开始

搜索
下载方法|用单线程|避免多扣帖子规范|求助必读|发帖建议积分策略|勋章介绍|新人必读获取金币|推广论坛|出售帖子基本礼节|致会员信|版规总则
禁涉政治|反对低俗|举报专帖征集相片|留下足迹|推荐精华上传附件|制作分卷|使用网盘禁发qq群|恶意灌水|纯表情帖加入团队|监督机制|安全上网
楼主: jimsboy

讲讲单片机吧,给想了解它的人作为启蒙吧

    [复制链接]
发表于 2016-6-10 15:23:02 | 显示全部楼层
①念の间 发表于 2016-6-8 16:44
老师你好我想问下仿真和拷贝数据有什么差别.我有一个控制器上面有个单片机  我把它的数据烤出来另外考上装 ...

单片机工作程序是很难复制的,专业破解人士才有方法。个人只好参照功能再开发。
发表于 2016-6-10 15:27:26 | 显示全部楼层
jimsboy 发表于 2016-6-6 23:51
拿AVR单片机作为实例。
它比较适合初学

希望c语言也带点,开发板有就是没学,编程用的ICCV7,下载是智峰软件
发表于 2016-6-12 13:14:00 来自手机 | 显示全部楼层
这一句“”期,一个周期是多少?根据手册,这个单片机的振荡器的频率为4M,每4个周期为1个指令周期。也就是说1秒可以执行1M个指令。  不是很理解,4个是一个指令周期,那么1秒是不是4*4=16M啊?
发表于 2016-6-12 13:44:49 来自手机 | 显示全部楼层
{}期,一个周期是多少?根据手册,这个单片机的振荡器的频率为4M,每4个周期为1个指令周期。也就是说1秒可以执行1M个指令。{}这一句不是很理解啊,一个指令周期是4个,那么指令周期不就是4*4=16M了吗,一秒跳16M次吗?
 楼主| 发表于 2016-6-13 17:48:33 | 显示全部楼层
柯达 发表于 2016-6-12 13:44
{}期,一个周期是多少?根据手册,这个单片机的振荡器的频率为4M,每4个周期为1个指令周期。也就是说1秒可 ...

PIC的单片机是四个振荡周期为一个机器周期
也就是说晶振振4次,才能完成一个指令。
晶振一般用的是4M的,一个周期就是0.25us。4个晶振周期才是一个指令周期,所以一个指令周期是1us。所以指令执行的速度是1M

我们现在用的是AVR,它一个晶振周期就是一个指令周期。一般我们习惯用8M的晶振,它的指令执行速度就是8M。因此AVR的运行速度是很快的。
发表于 2016-6-14 14:34:10 来自手机 | 显示全部楼层
学习了,多谢楼主!
发表于 2016-6-16 14:04:38 来自手机 | 显示全部楼层
支持一下,老师好
 楼主| 发表于 2016-6-19 22:33:37 | 显示全部楼层
好久没有更新帖子了。
这几天比较忙。也没有时间搭电路,我们先做软件部分。单片机必须写给它写入程序才能使用,对于很多维修员来说,写程序只是用烧片器加载一个bin文件,然后一点写入就完事了。其实这只是将已经编译好的程序加载到单片机里的过程,要想生成这个bin文件,里边或许有想像不到的工作量。

为了得到一个按我们想法工作的bin文件,我们必须学会编程语言。而最常用的就是C语言了。所以我们在讲解的过程中,必不可少地会讲一点C的内容,虽然我讲的内容不够全,但是凑合着够用,如果你有兴趣,自己再去补习一下C语言的全部,也不是很难的事。

既然要编程,你必须有单片机的开发工具(含软件),硬件是ISP下载线,前面已经要求购买了,还有一个硬件JTAG,JTAG在调试程序时很方便,但价格原因没必要购买。开发使用的软件一般是单片机厂家提供的。比如我们这次要用的AVR开发软件(习惯叫开发环境),是AVR的公司提供的,这个软件叫avr studio,你可以在网上免费下载的。这个软件用起来很方便,只是有一个缺点那就是只支持汇编语言。这是非常要命的事,因为用汇编写点东西非常痛苦。所以我们必须找到AVR的C语言开发工具,这种工具一般会有多种,最常用的就是免费的winavr。另外这里有一个好消息,那就是你安装winavr之后,就可以直接在avr studio里使用C语言进行编程了。所以这两个软件就是绝配,因此你必须同时安装这两个软件
我好久没有使用AVR单片机了,为了给大家演示,临时在网上下载了软件,这是我下载的地址
http://www.atmel.com/dyn/resourc ... AvrStudio4Setup.exe
http://www.mcuzone.com/down/Down ... 101&ID=10000030
我也不知道允不允许贴网址。
先安装winavr,两个软件安装好之后,启动avr studio

avrs.jpg
呵呵。英文的。没办法,谁让这公司是美国的呢。不知道网上有没有汉化版的。我没时间找,大家就凑合着看吧,记住点哪里就行。其他功能看不懂也不去用,省心。

我们可以看到下面那个框里是空的,如果我们已经做过了一些软件了,那么这些软件会列在下面。现在我们没有软件。我们必须先新建一个。
左上角那个图标,像写字的样子的,那是创建一个新的工程。我们就点它。右边那个是打开工程,如果你已经有做好的了,那么可以用它打开。这个是电脑的基本操作,不多说。
点下新建后进入这第二个图的界面,在这个界面里,我们要选择AVR GCC那一项,就是使用C语言进行编程,如果选第一项,那就是用汇编语言编程。我们这里选GCC。
avrs1.jpg
给工程起一个名子,我给它叫wenkong,呵呵,就是温控的拼音,尽量不要使用中文字,有些软件不认中文字,那就会出莫名其妙的错误。我这里存放的位置使用了中文,也不知道有没有影响。
 楼主| 发表于 2016-6-19 22:38:53 | 显示全部楼层
刚才写的东西不知道为什么没能上传。
这几天有事,没时间做硬件,先写单片机的程序吧。
给单片机编程,我们需要有相应的软件,AVR的软件叫avr studio 它还有一个搭挡叫winavr,一般情况下我们需要使用这两个软件。
http://www.mcuzone.com/down/Down ... 101&ID=10000030
http://www.atmel.com/dyn/resourc ... AvrStudio4Setup.exe
 楼主| 发表于 2016-6-19 22:53:02 | 显示全部楼层
本帖最后由 jimsboy 于 2016-6-19 22:54 编辑

有一段回复里边有下载连接,需要审核。我们继续讲软件的使用
下一步后,要选择一个仿真器,我们软件仿真一下就算了,因为我们没有购买相应的硬件。选第三项,在里边找到我们要用的芯片atmega16,然后点Finish。
工程就建好了。
下面我们就可以动手写程序了。这是界面

我们可以看到,工程里边有一个文件叫wenkong.c。这是我们在建工程时自动帮我们创建的。
中间那就是这个wenkong.c文件里的内容,目前是空的,因为我们什么也没有写,右边那个区域是仿真时用的。
下面我们就可以在中间那个空白处写程序了。

下一讲,我们开始讲一下简单的C语言规则,以及我们怎么用它写程序
2.jpg
2.jpg
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|家电维修技术论坛 ( 鄂ICP备09003585号-2 )

GMT+8, 2024-4-29 07:07 , Processed in 0.068718 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

CopyRight © 电子技术论坛
电子邮箱:8794149@qq.com | 联系 QQ:3081868839 | 官方网址:www.dzdu.com

Qiji. All Rights Reserved


服务条款 | 站长声明

Wuhan Qiji Technology Co., Ltd.武汉奇迹科技有限公司版权所有


鄂ICP备09003585号-2鄂公网安备42010602000420号

快速回复 返回顶部 返回列表