Linux下AT90S8515单片机GCC编程点灯实验纪实

51单片机点灯实验(含程序+仿真+硬件实验) 想学51单片机?流水灯带你入门。 阅读详情
 

Linux下AT90S8515单片机GCC编程点灯实验纪实

唐铁鑫

    看着那发光二极管一闪一闪的,我的高兴得又蹦又跳。成功啦!对于一个新手来说,这第一次太难忘了。

    ……

    在优快云的论坛听说过AVR,下载编程之类的东东,在网上搜索相关资料时发现了Linux focus上有一篇Guido Socher写的《AVR单片机GCC编程》,觉得有可操作性,于是把相关的资料、软件下到了硬盘。

可是,跑遍了广州的电子商店都找不到AT90S4433,只有AT90S8515,怎么办呢?从网上看到《AVR高速嵌入式单片机原理与应用(修订版)》的介绍,到书店找来看了看,发现两个片子下载编程的原理是一样的,只是引脚有些不同,不如就……

 

硬件制作:

到电子城买来以下东东:AT90S8515单片机(比OTP的51片贵了n倍,n>5)一个,40脚普通锁紧插座一个,30pf的陶式电容两个(我找不到27pf的,不过就我所了解的,起振用10到30pf都行),4M晶振一个,聚酯板一块,DB25并口一个,单排针、双排针各一排(其实也可以不用),电阻、发光二极管我是从坏了的显示器上卸下来的。电阻我没有470欧的,用100欧加380欧串联代替,我把三节1.5V电池用导线串联焊在一起做的电源。

一切都齐了,动手吧。按照Guido Socher在avrledtest-0.1.tar里的原理图,根据《AVR高速嵌入式单片机原理与应用(修订版)》上AT90S8515的接脚,重画了原理图。很简单,我描述一下吧:6脚PB5(MOSI)串联480欧电阻接并口2针,7脚PB6(MISO)串联220欧接电阻并口11针,8脚PB7(SCK)串联480欧电阻接并口2针,9脚PB8(RESET)串联480欧电阻接并口16针之外再连10千欧电阻接电源正极(VCC),15脚PD5串联1千欧电阻和一个发光二极管(注意方向)后接电源正极(VCC),18脚XTAL2、19脚XTAL1接晶振和起振电容(标准接法),振荡电路GND、单片机20脚(GND)、并口18针(GND)接到电源负极,单片机40脚(VCC)接电源正极。

做板子,你肯定要有焊锡、烙铁、导线和万用表等东西。做好后,检查线路有没接错,用万用表测测电路通不通,电阻、电容有没坏,然后就搞定了。

 

软件安装:

软件我开始想用我已经有的Redhat 7.0,结果没有ppdev的补丁,于是装Redhat 9.0(即7.3,Linux内核2.4.18)。这Redhat 9.0,在我的intel 810上装了5、6遍我才明白,你不给810的显卡分配4M以上的内存,Xfree86-4的Sever它就启动不了,倒霉!

没有gxtar的话,你要会用gzip、bzip2和tar解压;都是源代码安装,你要会;另外,以root身份操作。安装方法我不详细讲了,参照Guido Socher的《AVR单片机GCC编程》。提醒注意:1、装完binutils-2.11.2后一定要添加/usr/local/atml/lib这行到/etc/ld.so.conf文件里面,并运行/sbin/ldconfig命令重建连接器缓存,如果忘了,你要从这步开始往后重装一遍;2、装avr-libc-20020106前,有

export CC=avr-gcc
export AS=avr-as
export AR=avr-ar
export RANLIB=avr-ranlib
export PATH=/usr/local/atmel/bin:${PATH}

几步,用export命令看看你的环境设置的path是什么样的,那就是这里的 ${PATH}所指的,千万不要直接输入export PATH=/usr/local/atmel/bin:${PATH}后敲回车,那不对,或者到你的root目录下,把隐藏文件显示出来,配置你的.bash_profile文件,加入:/usr/local/atmel/bin路径,重启系统,这就一劳永逸了;3、千万记住,Linux下是区分大小写的,我在Win下解压的uisp-20011025,到了Linux下就不能make,原来DAPA.C变成了dapa.c,真是气死我了!折腾了半天。

   安装好后,解压avrledtest-0.1.tar,因为我用的是AT90S8515,所以,把解压后的avrledtest-0.1文件夹里的avrledtest.hex和avrledtest_pre.hex删了,那是AT90S4433的。用Gedit或其他文本编辑器打开makefile文件,把MCU=at90s4433改成MCU=at90s8515,把

# here is a pre-compiled version in case you have trouble with

# your development environment

load_pre: avrledtest_pre.hex

    uisp -dlpt=/dev/parport0 --erase  -dprog=dapa

    uisp -dlpt=/dev/parport0 --upload if=avrledtest_pre.hex -dprog=dapa -dno-poll -v=3 --hash=32

#-------------------

这一段删掉,因为我要重新编译一个MCU=at90s8515的avrledtest.hex,如果development environment有麻烦,那就完成不了啦!

 

测试:

搞定makefile后,把硬件上的并口接到电脑打印口,接通电源;然后,打开linux的console,进到/sbin目录下,lsmod看看有没

parport_pc
ppdev
parport

如果没有,要用

insmod parport_pc
insmod ppdev
insmod parport

可能这样parport还不能加载,再insmod一次。用lsmod看看,确定都加载了,进到avrledtest-0.1目录里,输入

make

顺利的话avrledtest.hex就产生了,然后

make load

我make load了三四次,因为我的板子有毛病,检查了好一会才搞好。我make load成功的画面是console里出现

uisp –dlpt=/dev/parpart0 –erase –dprog=dapa

Atmel AVR AT90S8515 is found.

Erasing Device

……

Uploading:flash

#####

(total 146 bytes transferred in 0.68s (216 bytes/s))

Polling:count=145,min/avg/max=3.00/3.14/12.08ms

OK,下载到芯片了,拿开并口,断电,重新接通,片子就reset了,发光二极管一闪一闪的。点灯实验成功了,以后就可以自己做其他的实验了,AT90S8515的flash可以刷1000次。Cool!原来做单片机实验也可以这么便宜!仿真机、编程器都省了。(不过,十几片AT90S8515多出来的钱,都可以买编程器了。开发产品还是要用仿真机、编程器)。

 

如果你做不出来,可以和我联系,netscaner@sina.com.cn。

惠州学院-单片机实验1-P1口亮灯实验 计算机科学系实验报告(首页) 课程名称 单片机原理及应用 班级 14计科2班 实验名称 P1口亮灯实验 教导教师 王明安 姓名  张钦颖 学号 1414080901218 组号 17 日期 2016年10月13日 阅读详情

相关推荐

单片机实验一 LED灯实验

1.熟悉实验软件和硬件,进行正确的接线;2.编程使得LED的闪烁;3.编程实现跑马灯效果。

m0_51738372的博客 1万+

单片机实验(二)通过编程点亮一个LED灯,proteus实现

1、实验环境:win732位系统,keil2,proteus7.5sp3。 2、实验目的:学习通过编程点亮LED。 3、实验连接图。 4、实验代码。 #include<reg52.h> sbit p1_1=P1^0; void main() { p1_1=0; while(1); } 5、实验结果: 6、实验体会: 今天,进行了第一个点亮一个LED灯的实验,了解了51单片机的通用I/O口的作用,还学会了连接单片机的最小系统,对单片机的理解进一步加深,有所收获,感觉棒棒哒,继续加油。

weixin_43149382的博客 4963

单片机LED灯实验报告

本实验通过使用单片机控制LED灯的亮灭,展示了单片机在数字输出方面的应用。LED灯的亮灭是通过控制电流的通断来实现的。本实验旨在通过使用单片机控制LED灯的亮灭,展示单片机在数字输出方面的应用。实验结果表明,单片机能够可靠地控制LED灯的亮灭,为后续电子系统的开发和应用奠定了基础。总之,单片机在电子技术中具有重要的应用价值,通过本实验,我们深入了解了单片机控制LED灯的原理和方法。将LED灯的阳极(长脚)连接至单片机的数字输出口,将LED灯的阴极(短脚)连接至单片机的地(GND)口。

git_git523的博客 4343

51单片机最基础的LED点灯实验

作为51单片机中最基础的LED点亮,也是之后各种流水灯的基础,一定要好好掌握才行嗷! 方法一: #include<reg52.h>//头文件预编译 sbit LED=P2^0; void main() { while(1) { LED=0;//IO口低电平有效才能够点亮 } } 当然啦,LED点亮不仅仅只有这么一种办法 方法二: #include<reg52.h>//头文件预编译 void main() { while(1) { P2=0x7f;//因为LED的IO

weixin_49046017的博客 1528

ATmega单片机七段数码管数字时钟制作全解析

在嵌入式开发入门实践中,单片机定时器与外围显示驱动是最常接触的底层技术。数字时钟作为经典练手项目,能串联起定时器中断、动态扫描、按键消抖等核心知识点。通过ATmega系列芯片驱动七段数码管,不仅可以理解实时计时系统的构建原理,还能掌握低成本的硬件资源调度方法。从基础LED显示到人机交互,这类方案广泛应用于仪器仪表、智能家居控制面板等场景。本文从方案选型出发,解析ATmega与数码管的电路设计、软件分层架构及关键代码实现,并分享调试中遇到的晶振校准、显示拖影等实际问题,帮助读者完整走通一个裸机嵌入式项目的开发

weixin_30542079的博客 356

单片机AT90S8515与PC的通讯

介绍了单片机AT90S8515与PC构成的测控系统,利用单片机AT90S8515自身的串行通讯口和Visual Basic编程语言实现单片机AT90S8515与PC之间的通讯。

Linux下AT90S8515单片机GCC编程点灯实验纪实 (转)

Linux下AT90S8515单片机GCC编程点灯实验纪实 (转)[@more@] Linux下AT90S8515单片机GCC编程点灯实验纪实XML:namespace prefix = o ns = "urn:schem...

csd3176的博客 284

ZEMAX学习第7天-手机镜头光学系统设计全过程案例

接下来对系统微调,依次缩小CRA和畸变,首先对CRA进行依次递减(39°、38°、37°、36°、35°),目前CRA角度40度,每次下降一度进行优化,利用MAXX加OPLT一起控制,控制小于35°。可以看出在标注的三个地方镜头曲率变化,导致PY=1的光线走向奇特,因此需要对矢高进行调整,按照标注的地方依次调整(从右到左)至传函变好,越靠近右边对其余视场影响越小。3.圆锥系数值较大,透镜形状怪异;一、第1,3镜子偏厚,第4镜子偏薄,45镜子间隔边缘偏小,第5片镜子中心厚度与边缘厚度相差较大,需要控制;

liningliwei的博客 1073

AVR-GCC安装方法简介

by 崔剑Atmel公司的AVR系列单片机是一种性能优良, 耗电很小的微控制器, 他的主要特点是:1). 单时钟周期指令;2). 很高的C语言编码效率;3). 支持在系统编程(ISP)技术.AVR单片机是我目前在Linux下看到的开发工具最全的微控制器, 它的开发非常方便, 从此我们在Linux下也可以开发单片机了.开发AVR的编译器是gcc, 实际上就是给gcc加上适合于AVR的库, 该库的名字

Beyond Ideas 6407

MobaXterm远程连接频繁掉线?3个SSH保活设置让你告别断连烦恼

本文针对MobaXterm远程连接频繁掉线问题,提供了3个SSH保活设置方案。从基础的SSH心跳机制到进阶的会话超时调整,再到TCP层保活与代理优化,全方位解决断连烦恼。特别适合需要稳定远程连接的开发者和运维人员,有效提升工作效率。

weixin_29250573的博客 487

CGAL-5.6的安装与编译(Win10+vs2022+CGAL-5.6+Boost1.82.0)

CGAL是Computational Geometry Algorithms Library(计算几何算法库)的缩写,C++的高效算法库。CGAL只是一个头文件库(从5.0版本开始),这意味着CGAL无需编译,只需安装好CGAL的依赖项即可。CGAL5.6。

baidu_34931359的博客 3902

这是我的自学经历,希望对初学者有帮助。

2006-05-20 16:27:56 这是我的自学经历,希望对初学者有帮助。  前些天翻出了学单片机以来买元件和书籍的单据。因为我是打算在计算机硬件方面花1万元左右,所以保留了大部分的收据,以便统计金额。到目前为止大概用了3千多元,包括买元件、书籍和上网费。没有计算交通费,也不折算投入的时间精力。  有必要说说我学习单片机前的知识基础。  我中学在学校用过286苹

mybirdsky的专栏 1555

ZYNQ-Video out IP与Video Timing Controller IP协同工作模式解析

本文深入解析了ZYNQ平台上Video out IP与Video Timing Controller IP的协同工作模式,详细介绍了它们的架构、工作原理及配置要点。通过AXI4-Stream接口实现高效视频数据传输,并结合HDMI输出系统设计实践,为开发者提供了实用的调试技巧和性能优化建议。

redis7keeper的博客 637

开源的 智能卡 COS系统源码

SOSSE,最简单的实现smart卡的教学用程序 内有电路图,有源码,电路简单,是教学不可多得的资源。-Simple Operating System for Smartcard Education Overview 文件名称:sosse-20030413 http://www.mbsks.franken.de/sosse/ SOSSE - Simple Operating System fo...

supergame111的专栏 1676

解决屏幕不亮难题:慷智SerDes DE信号极性配置避坑指南

本文深入探讨了基于慷智AIM95x系列SerDes芯片的嵌入式显示系统开发中,因DE信号极性配置不匹配导致屏幕不亮的典型故障。文章详细解析了DE信号的核心作用与极性定义,提供了慷智SerDes芯片中DE极性寄存器的具体配置方法与调试记录,并给出了从隔离问题、对比时序到波形验证的系统性排查流程,帮助工程师快速定位并解决此类隐蔽问题。

weixin_29185493的博客 141

PowerPMAC配置EtherCAT设备

本文详细介绍了在PowerPMAC IDE环境下配置EtherCAT伺服电机的完整流程。主要内容包括:准备工作(连接硬件和获取ESI文件)、通过ESI管理器加载配置文件、网络扫描识别从站设备、变量映射(定义输入输出位置参数)、激活EtherCAT通讯(验证状态字和实际位置)以及相关参数说明。文章还概述了主站配置的8个方面和从站配置的7个选项,重点说明了PDO映射和变量分配机制,为伺服电机的EtherCAT通信配置提供了系统指导。

mahuliang321的博客 972

解决NVIDIA驱动通信失败,除了DKMS,你的GCC版本可能才是‘真凶’(附GCC 7.5编译安装避坑指南)

本文深入分析NVIDIA驱动通信失败的根本原因,指出GCC版本兼容性问题是常见但易被忽视的‘真凶’。通过详细的GCC 7.5编译安装指南和驱动重装步骤,提供了一套完整的解决方案,帮助用户有效解决nvidia-smi报错问题,并优化系统配置以避免未来兼容性问题。

weixin_27330481的博客 200

芯片工程师-必须掌握的linux操作-第一讲

一个从材料专业,转行芯片验证初级工程师,自己也是从0基础开始学习入门,更知道0基础的人应该怎么去学习。 现在工作三个多月了,特地花时间给大家写这篇文章。希望能关注、支持下。 为什么芯片验证工程师必须要学习linux命令? 答: ① 芯片工程师主要的职责,就是与IC设计工程师和系统工程师密切合作,开发验证平台,能够根据项目要求产生测试计划,产生代码及功能覆盖率,撰写验证报告。 ②简单点说,主要工作内容,是编写代码去验证设计的对不对。 那么问题来了,编写代码,在什么环境呢,我现在告诉你,都是在linux系统中进

小白蒋-材料转行芯片验证 4842

2、Linux软件的安装

Linux软件yum rpm 源码包三种方式的安装

Multis 276

ZED双目相机环境配置

ZED SDK 安装文件夹中有一个 Python 脚本(get_python_api.py),可以自动检测操作系统、CUDA 和 Python 版本并下载相应的预编译 Python API 包(pyzed)。安装SDK成功后,我们进入ZED SDK文件夹中的tools子文件夹,运行ZED Explorer.exe 以及 ZED Depth Viewer.exe,查看ZED相机是否能正常启用工作。在本例中,我们简单地检索ZED相机的序列号:打开 ZED相机,然后打印其序列号,然后关闭相机。

qq_53545309的博客 2140

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Linux驱动开发 | 点灯实验

完成应用程序通过驱动控制硬件的实现。实验建立在之前的框架上,我们先实现用户层与内核层之间的数据交互,驱动程序拿到用户传来的指令后,就可以执行点灯的动作了。

本末实验室 2137

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SDCC使用说明

SDCC的使用说明,包含汇编器的使用方法。

baskMMU的专栏 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Linux下51单片机的led点亮

Linux下LED 点亮实验 1.装有SDCC交叉编译环境,以及Python 的烧写工具 2.设备 单片机开发板 1 个,USB 数据线 1 根,跳线帽 1 个。 3、 内容 使用 python下软件进行编写、编译程序; 用跳线帽将 J3 短接,下载程序,观看 LED 状态。 4、原理 LED 发光二极管具有单项导通性,通过 5mA 左右的电流就能正常点亮发光二极管, 电流越大,L

Chen_dSir的博客 893

linux下编译stc15f104w的坑

闲来想起老本行,看到淘宝这款单片机小巧的,也便宜,买来玩玩。刚好装了wsl,想试下在ubuntu下编译,就不用keil这个大家伙了,百度看到都是推荐sdcc,安装也不困难,apt-get install sdcc,然后烧写方面,百度推荐了两个,一个stcflash.py,一个gSTC-ISP,都下载了,stcflash.py是python脚本,用法也简单,但是死活连不上stc15f104w,研...

qq_31686201的博客 1031

理解 Linux 动态库加载:LD_LIBRARY_PATH

flyfish

二分掌柜的 355
上一篇: 监控键盘并在得到特定按键后输出特殊字到剪贴板
下一篇: office 办公软件中利用VBA(Visual Basic for Application)宏
netscaner
博客等级 码龄23年 13粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值