有学电子的可能这就是大佬吧能帮我写下这个中断程序么?用汇编语言~89c51单片机

用AT89C51单片机控制步进电机的汇编源程序
日 11:54 来源:本站整理 作者:秩名 (0)
  下面程序完成的主要功能:实现步进电机的正反转,加速、减速;显示电机转速(转速级别)和工作状态(正转、反转、不转)。
  源程序
  SPEED EQU 10H ;SPEED为转速等级标志,共7级,即1~7
  FX EQU 11H ;FX 为方向标志
  COUNT EQU 12H ;COUNT中断次数标志
  ORG 0000H
  AJMP MAIN
  ORG 0003H ;外部中断0入口地址,加速子程序
  AJMP UP
  ORG 0013H ;外部中断1入口地址,减速子程序
  AJMP DOWN
  ORG 000BH ;定时器0中断入口地址,控制中断次数来达到控制转速 AJMP ZDT0
  ORG 0030H
  MAIN: MOV SP,#60H
  MOV TMOD,#01H ;工作于定时、软件置位启动,模式1(16 位计时器)
  MOV TH0,#0CFH
  MOV TL0,#2CH
  MOV COUNT,#01H
  SETB ET0 ;定时/计数器允许中断
  CLR IT0 ;外部中断为电平触发方式,低电平有效
  CLR IT1
  SETB EX0 ;外部允许中断
  SETB EX1
  SETB EA ;开总中断
  MOV R1,#11H ;四相单四拍运行,共阳数码管方向显示8,速度值显示0
  MOV SPEED,#00H
  MOV FX,#00H
  XIANS: MOV A,SPEED
  MOV DPTR,#LED
  MOVC A,@A+DPTR ;查表获取等级对应数码管代码
  MOV P2,A ;第二个数码管显示转速等级
  MOV A,FX ;准备判断转向
  CJNE A,#11H,ELS
  MOV P0, #0F9H ;第一个数码管显示 1,表示正转
  AJMP QD
  ELS: CJNE A,#00H,ZHENG
  MOV P0,#0C0H ;第一个数码管显示 0,表示不转
  AJMP QD
  ZHENG: MOV P0,#0BFH ;第一个数码管显示-,表示反转
  QD: JB P3.4,DD ;P3.4 接启动开关 K1,P3.4=1 时启动
  CLR TR0 ;停止定时/计数器
  MOV P0,#0C0H ;第一个数码管显示 0,表示不转
  MOV P2,#0C0H ;第二个数码管显示 0,表示转速为 0
  MOV SPEED,#00H ;重新赋初值
  MOV FX,#00H
  AJMP QD
  DD: MOV A,SPEED
  JNZ GO ;A 不等于 0,即初始速度不为零,则转移到 GO
  CLR TR0 ;停止定时/计数器
  AJMP QD
  GO: SETB TR0 ;开启定时/计数器
  ACALL DELAY
  AJMP XIANS
  DELAY: MOV R6,#10 ;延时子程序
  DEL1: MOV R7,#250
  HERE1: DJNZ R7, HERE1
  DJNZ R6,DEL1
相关技术文章:
相关资料下载:
上周热点文章排行榜
上周资料下载排行榜
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
创新实用技术专题
在28nm FPGA战场上,Xilinx和Altera已经展...扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
如何用汇编语言写一个循环彩灯的程序,采用定时器方式1工作由89C51内部定时器1按方式1工作,即作为16位定时器使用,每0.05秒钟T1溢出中断一次.P1口的P1.P1.7分别接发光二极管的L1~L8.要求编写程序模拟一循环彩灯.彩灯变化花样可自行设计.例程给出的变化花样为:①L1、L2、…L8依次点亮;②L1、L2、…L8依次熄灭;③L1、L2、…L8全亮、全灭.各时序间隔为0.5秒.让发光二极管按以上规律循环显示下去.
作业帮用户
扫二维码下载作业帮
3亿+用户的选择
ORG 0000HLJMP MAINORG 000BHLJMP T0ISRORG 0030HMAIN:MOV TMOD,#01HMOV TH0,#HIGH()MOV TL0,#LOW()SETB TR0SETB ET0SETB EAMOV R2,#0SJMP $T0ISR:CLR TR0MOV TH0,#HIGH()MOV TL0,#LOW()SETB TR0MOV A,R0CJNE A,#18,T001MOV R0,#0T001:MOV DPTR,#LEDTABMOVC A,@A+DPTRMOV P1,AINC R0RETILEDTAB:DB 0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,00HDB 80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFHDB 00H,0FFHEND
非常感谢!如果不用查表的话,把灯亮灭编在定时器中,该怎么编呢?急急急!!!!!!!!!!!!!!!!!!
LJMP T0ISR
MOV TMOD,#01H
MOV TH0,#HIGH()
MOV TL0,#LOW()
MOV R3,#0FEH
MOV TH0,#HIGH()
MOV TL0,#LOW()
CJNE A,#8,T01
CJNE A,#16,T03
CJNE A,#17,T05
MOV P1,#0FFH
MOV R3,#0FEH
MOV P1,#00H
为您推荐:
扫描下载二维码&&&手把手教你学51单片机(C语言版)
自营订单满39元(含)免运费
不足金额订单收取运费5元起
邀请好友参加吧
版 次:1页 数:字 数:印刷时间:日开 本:12k纸 张:纯质纸包 装:平装是否套装:否国际标准书号ISBN:9所属分类:&&
下载免费当当读书APP
下载当当读书APP,免费阅读万本电子书。
本商品暂无详情。
当当价:为商品的销售价,具体的成交价可能因会员使用优惠券、积分等发生变化,最终以订单结算页价格为准。
划线价:划线价格可能是图书封底定价、商品吊牌价、品牌专柜价或由品牌供应商提供的正品零售价(如厂商指导价、建议零售价等)或该商品曾经展示过的销售价等,由于地区、时间的差异化和市场行情波动,商品吊牌价、品牌专柜价等可能会与您购物时展示的不一致,该价格仅供您参考。
折扣:折扣指在划线价(图书定价、商品吊牌价、品牌专柜价、厂商指导价等)某一价格基础上计算出的优惠比例或优惠金额。如有疑问,您可在购买前联系客服咨询。
异常问题:如您发现活动商品销售价或促销信息有异常,请立即联系我们补正,以便您能顺利购物。
当当购物客户端手机端1元秒
当当读书客户端万本电子书免费读 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
基于AT89C51单片机电子时钟的设计
下载积分:2000
内容提示:基于AT89C51单片机电子时钟的设计
文档格式:DOCX|
浏览次数:137|
上传日期: 06:01:24|
文档星级:
全文阅读已结束,如果下载本文需要使用
 2000 积分
下载此文档
该用户还上传了这些文档
基于AT89C51单片机电子时钟的设计
关注微信公众号我想问问用Xcode可以编译和运行汇编语言程序么?如果不行的话在Mac下要如何编译运行汇编程序?希望高手们多多帮忙.... - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
Sponsored by
咨询微信:twosecurityrefer
Promoted by
我想问问用Xcode可以编译和运行汇编语言程序么?如果不行的话在Mac下要如何编译运行汇编程序?希望高手们多多帮忙....
10:46:02 +08:00 · 13860 次点击
正在学微机,要学汇编语言程序设计。
上课老师都是用masm.exe,link.exe和windows自带的debug.exe运行。
刚刚换了mac,不知道能不能在mac上编译运行汇编程序呢??
39 回复 &| &直到
08:00:00 +08:00
& & 10:54:24 +08:00
Google is your friend.
另外,建议 @ 还是把那篇“提问的智慧”(/doc/oss/smart-questions.html) 搞过来作为注册的一个步骤。 XD
& & 10:55:20 +08:00
汇编器用as, 连接器用ld,汇编的语法也不一样
或者可以选择跨平台的 nasm
& & 11:00:43 +08:00
@ 谢谢。原来是不一样的,上课问老师,老师也一头雾水。
@ 谢谢谢谢。我是新手,比较笨,这么简单的小问题也来打搅高手们,见谅见谅。
& & 11:16:33 +08:00
刚学汇编都是在实模式下的,所以一般用的win98,像如今的windows7,macos都只能在保护模式下运行程序,所以用虚拟机是比较好的办法啦
& & 11:19:37 +08:00
@ 哎 刚刚发现首页提问框下面多了 V2EX 提问指南 o 本站规则指南 这个两个按钮。。。
& & 11:26:45 +08:00
@ 嗯,晓得了~谢谢~
& & 12:43:23 +08:00
@ 最后一句的太打击新人了,@Sainias 同学很郁闷:/statuses/XTVbv0cBDsM
Google背后是冷冰冰的机器,而这里每一个回复背后都是独一无二的智慧和经验。
& & 12:59:30 +08:00
@
Google搜索刀的也是其他人的智慧和经验。
先搜索一下更能节省自己的时间。
& & 13:03:09 +08:00
@ 我觉得在提问之前做充分的调查是基本的要求,Google 一下就会在第一页找到的东西确实不应该提问。如果这个算打击的话,那就算打击吧。
& & 13:17:56 +08:00
google有太多不经思考的转贴,太过零散,也不便于交流,信息浓度低于这里
& & 15:47:48 +08:00
首先我想说,我问过老师,也搜索过,我
在发这个帖子之前我不知道原来mac下写的汇编是跟书本上dos下的语法,编译和链接都是不一样的。
我是第一次用xcode,我也不知道该如何利用xcode去编译和链接我的代码,这个是我想问的。
我写了代码进去可是编译出错,网上各种论坛的答案五花八门,所以我才想到在这里问问大家。
我觉得我最白痴的就是我不应该用baidu来搜?
这个问题到此为止吧。以后这些小事我不会再来打搅你们这些高手了,谢谢你的提醒。
如果说我给你说中我是没搜索过没思考过就来问问题的话,我就不会像现在一样难受。
& & 16:03:52 +08:00
不要难过,呵呵,都是从菜鸟过来的。
& & 16:10:42 +08:00
@ 首先我要说明一下,我不是什么高手,也从来没有自诩过高手,我也不懂汇编,程序写得不好。回到正题,我并没有说你不应该提问,而是你不应该提问“这样的问题”。
很抱歉,我从你的提问中没有看到你最后的回帖中说明的那些努力。看一下你最初的提问:
“我想问问用Xcode可以编译和运行汇编语言程序么?” —— 写一段放进去试着编译运行,不行机器会告诉你。
“如果不行的话在Mac下要如何编译运行汇编程序?” —— 搜索可以得到,关键词 “Mac 编译运行汇编程序”。
“不知道能不能在mac上编译运行汇编程序呢??” —— 搜索可以得到。
这就是最初问题的答案。如果你在一开始就把最后回复我的信息加上,那么就是一个好的问题:
“各位同学,我之前都是在 Windows 环境下写汇编语言,但是用了 Mac 之后发现 Mac 下的汇编语法、编译和链接都是和 windows 环境不同的。我尝试用 xcode 编译和链接我的代码,但是失败了,xcode 的错误提示是:Failure xxx blablabla
我重新写了一些测试代码,代码如下:
mov xx xx
...
blablabla
可是编译依旧出错。错误信息如下:
xxxxxxxx failure xxxxx
然后我又利用搜索引擎搜索了错误信息,找到了一些看似有用的信息,有一篇文章(给出文章链接)说 blablabla,但是还有一篇文章(同样给出链接)说 blablabla。
我对 mac 和 xcode 都不熟悉,所以给搞糊涂了。不知道这里有没有人可以提出一些帮助?
非常感谢。
可惜你没有,然后你觉得被我打击然后满腹委屈和我争辩的时候才提到了这些真正有助于解决你问题的信息。
无疑冒犯,就事论事。或许刻薄了点儿,那是我性格缺陷,见笑了。
& & 16:16:33 +08:00
@ 谢谢你,真的谢谢你,是我自己比较笨。
& & 16:29:00 +08:00
@ 是我自己表达不清楚,其实我是想问问有没有人在xcode上写过汇编的来教我一下的;
而且我也不应该这么没用的,这个事情我想了一个下午,就觉得自己好没用,上课焊电路板还差点烫到手;
我以前不爱问问题就是很怕被人笑话,我这一次是真的鼓捣了两天没弄出了所以然才上来问问看的希望能找到人带带我;
其实真的有点打击到,刚刚跟老公哭诉完,我自己太软弱了,不好意思,下次我会注意的。
& & 16:47:37 +08:00
@ 提问的时候别着急。如果你想找人带你,可以换种提问方法,比如“有没有 xcode 上的汇编入门手册?”。不要在社区中希望别人手把手教你,那是你自己的事情,而且自己从头开始做会学到更多东西。
如果你在提问之前进行过足够多的思考的话,就不用担心别人笑话你,每个人都会遇到问题,没什么丢人的。但是最好提供足够多的与问题相关的信息,减少一些情绪的表达。社区是一个松散的组织,不是“圈子”和“家庭”,所以不要希望大家都像你身边的亲人那样无论你有什么问题都全身心帮助你。只有你的问题值得回答,才会得到回答。:)
另外,如果你刚才光顾着哭的话,可能错过了那篇文章:/doc/oss/smart-questions.html
真的非常推荐看一下。每次看都会有新的收获。
最后希望你的手没事 :D
。。。女生还真是脆弱啊。。。
& & 16:55:36 +08:00
大家都没什么恶意,都是就事论事。我觉得对于问题质量的要求是一方面,还有重要的一方面是提问者的态度,不能一概而论。一个初级问题经过讨论逐渐深入,不也是好事一件。
lz注册没多久,对这个社区还不太了解,可能没有掌握v2ex提问题的技巧,对于一个还在上学的女生,问这方面的问题,要求不能那么苛刻。sainias最近换到mac平台,又新接触汇编,遇到的麻烦肯定特别多,如果不是搜索不能解决问题和出于对这个社区的信任和期望,她也不会跑到这里来提问。
结果今天郁闷了一整天,甚至开始怀疑自己的智力水平了。
希望大家关照一下新人也希望这一帖的事情给@持续改进问与答节点提供一点思索。
& & 17:29:52 +08:00
- -其实一个人折腾很无助的。。@summic 同学带领我加入mac大军,我回学校了他又不在我身边,有问题也不知道怎么解决,他也不搞汇编什么的,是我自己懒,不想把旧电脑搬出来。。。。
清明节假期回家我就好好再跟他纠结一下,谢谢你的推荐,我晚上上完课回来好好研究研究。
& & 17:36:25 +08:00
嘛,搜索也是靠技巧的,不是想搜就能搜出来的。
别人问问题回答就是了-- 太打击别人MM了
另外确实汇编的语法各种不一样、各种头大--假如lz有做嵌入式开发的话感觉会更深,毕竟已经很少有人用汇编开发PC上的程序了。
& & 17:37:22 +08:00
@ 嗯,没想到 @ 就是你老公。建议:回家再和他继续撒娇哭诉,逼他学汇编就行了,程序员学什么都很快的。相信他。
@ 老兄,真不好意思,给你添麻烦了。你就当增加你们情感交流吧,那个,吵架也是一种交流。。。我挨骂两句也无所谓。。。XD
这里究竟有多少夫妻档啊。。。
& & 17:41:23 +08:00
@ @ 我觉得这样提问没什么问题。提问的智慧是很多年前mail list下的提问指南,现在有很多信息过滤方法,人们不会太被这种问题打扰。但对于提问人,确实能节约很多时间。很多东西有经验的人只是随手一解释,当事人可能能节约2,3天。
& & & 17:42:45 +08:00 via iPhone
用 virtual box 里安装 win98,这样你就可以在 Mac 上获得一个和教材上一致或接近的学习环境。现代的 Mac 跑这样的虚拟机是非常轻松的。
& & & 17:52:06 +08:00 via iPhone
@ 如果你不知道一个问题的确切答案,请不要灌水。谢谢。
& & 17:57:33 +08:00
@ 嗯,那篇文章一直修订到08年,我觉得里面大部分东西对论坛和社区还是适用的。我对“新手问题”没有意见,不过如果可以尽可能多地提供细节,可能会让有经验的人更能明白问题是什么,那样就不需要在回帖中另外做很多解释了。
OK,还是和 @ 说声不好意思,开始我是随口刻薄了一下,希望没有打击你学习和参与的热情 ^皿^
& & & 18:01:26 +08:00 via iPhone
@ Thank you :)
& & & 18:03:21 +08:00
@ Thank you and I'm writing a new tip now. :)
& & 18:39:02 +08:00
还是一团和气的好,其实谁都没错,而且现在真心想学东西的人还真是少啊,v2ex确实是和其他论坛不一样,提问的时候先想一下怎么问比较好,不要当伸手党为好。当了几年老师,面对无数的各种各样问题,仿佛习惯了,但是真心想学习的同学还是应该鼓励的。
& & 20:46:40 +08:00
@ 我平时不太问问题,表达能力也不太好,所以一出口就闯祸了TAT,其实对于这个专业,真是又爱又恨,学起来难,但是动起手来觉得真的很有意思,要自己多多鼓捣鼓捣,有时候纠结也不知道该问谁。。。
@ 谢谢,我清明节回家就好好弄,学这种东西还是自己多多动手的好!
@ 怪我这个人表达能力不好,小时候语文就很烂,没法表达清楚。。。虽然在发帖之前用了15分钟组织语言,谁知道还是一塌糊涂。。。加上现在对mac还是很陌生,才用了几天,要是windows我估计怎么鼓捣也没问题。。。
@ 嵌入式开发就是弄单片机什么的么?我下半学期就要开始学这个了,大三下学期的课都好可怕~~
anyway谢谢大家的帮忙和关注~玩玩汇编还是挺有意思的!!!
& & 21:26:21 +08:00
@ 也不用太在意,我刚才看了下那篇提问的智慧,确实不错,建议看看。你什么专业的啊,还要学习单片机,现在的嵌入式系统可不单单指单片机了,包含很多,实际上搞ARM的应该更多,当然还有DSP、FPGA也是可以搞嵌入式的。
& & 21:27:38 +08:00
@ 嗯,单片机也算嵌入式的一种吧,里面汇编应用的比较多。
话说本科时我们宿舍某哥们写了一个上千条汇编的程序。。。我是基本用c了,用汇编写会死人的,一般是做移植的时候才用一点。。
& & 21:27:46 +08:00
@ 我是在回答 @ 最后的一点。
& & 21:47:02 +08:00
@ 汇编因为刚刚开始学,热情比较高涨,我刚刚翻了单片机的课本,里面是汇编的。。。我去图书馆找书也看过用c写的,等我开始上这门课了估计会有更多了解~
@ 我刚刚回来就开始看了,确实我一直没注意过这方面(因为一直都是潜水。。),以后一定会多多注意的!我学通信工程的,作为一个女生,觉得真是各种头大,现在每周的乐趣就是集成电路实验课焊焊电路板了。。。专业课特多,好苦恼。。。一个月之后锁相和单片机的课也要开始上了,各种压力阿。。。TAT
& & 22:26:50 +08:00
@ 嗯,学通信的,我那时候学的电子工程,差不多。女生有什么关系,现在一个班上学习好的基本都是女生,看来你还蛮喜欢动手的。不知道你们的单片机课讲的是51还是什么单片机,单片机种类太多了现在,而且不同的单片机汇编都不太一样,不过原理基本都差不多,学单片机有块自己的板子的话学起来要快的多。上学的时候都差不多,课程太多,想在一个方向上花时间又怕拖了其他的后腿。
& & 22:43:55 +08:00
首先要了解的是汇编语言,就算是 x86 汇编也有很多格式,而且和支持的系统有关。
比如你们课本里学的是 masm 格式加 x86 实模式的汇编,这在 Windows 下是通过一个实模式模拟器运行的。
Mac OS X 自带的汇编器是 nasm,是 Linux/Unix 下常用的一种,语法和 nasm 稍有不同,一般用来做 x86/x86_64 保护模式的汇编,另外 gcc 可以做 inline assembly 的汇编,使用的语法是 gas 格式。
这些基本知识比较老旧的课本都不太教,所以是比较头疼的地方。
& & 22:44:29 +08:00
“语法和 nasm 稍有不同”应该是“语法和 masm 稍有不同”。
& & 00:03:25 +08:00
@ 并没有怪你的意思 :),06年就开始泡在v2ex,很享受这里的气氛。
@ 或许可以从程序层面的推荐算法上做些尝试
谢谢@ 没想到这帖居然引来火炬还有@两位大神的参与。
& & 10:05:51 +08:00
@ @ 应该还是51吧,51是基础中的基础,51的汇编也是基础中的基础
都是需要仔细把握的,不同的单片机虽然各不一样,不过看datasheet就可以了,一通百通
初学单片机还是要有个自己的板子多做,一个51的板很便宜,而且自己画一个都行。找个小的感兴趣的项目做一做,比如参加一下电子设计竞赛之类的,不仅能提高自己的实力,而且以后找工作/保研/考研面试的时候是一个非常大的优势。
& & 10:30:07 +08:00
@ 确实是,课程太多,每一门都要花时间,要全部顾及好还真是不容易的事情,再加上还有课程外的需要看。。。
@ 其实我现在是想把课程上的知识学扎实,之后出来找工作可能不会往这方面发展,但是学多点知识总归没错的!
@ 谢谢阿,你这么一说我就比较清楚了,原来是有差别的,那看来我还是要装个xp吧,我现在只希望把课本上的知识先搞懂呢~等我弄懂了masm估计nasm学起来也不难了!
& & 12:42:37 +08:00
啊,如果 @ 是说的汇编是mcs51,这个我倒是玩过一点,学这东西最好的玩法是去电子城买一个小实验板,大约150块钱能搞定。如果用pc,可以直接拿串口线烧录,如果mac就麻烦了,需要弄一个写入器,大约80块钱。51还是很好玩的,纯在计算机上是看不出来效果的,尤其往各管脚发送信息改变电平AD转换什么的,基本都没法模拟,只能用实验板。
& · & 551 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.0 · 62ms · UTC 19:52 · PVG 03:52 · LAX 11:52 · JFK 14:52? Do have faith in what you're doing.

我要回帖

更多关于 人工智能大佬 的文章

 

随机推荐