C51 I/O口扩展键盘按键错乱,电路图看不懂,大神,求解释!

浏览:2373次
评论:0条 &时间:
打开该设定对象,显示窗分为"循环(Cycle)"、"时钟存储器(ClockMemory)"两个区域(参..基于C51单片机的I/O并行口直接驱动LED显示电路图
> 基于C51单片机的I/O并行口直接驱动LED显示电路图
基于C51单片机的I/O并行口直接驱动LED显示电路图
如图 13 所示,利用 AT89S51 单片机的 P0 端口的 P0.0 - P0.7 连接到一个共阴码管的 a - h 的笔段上,数码管的公共端接地。在数码管上循环显示 0 - 9 数字时间间隔 0.2 秒。  把 “ 单片机系统 ” 区域中的 P0.0/AD0 - P0.7/AD7 端口用 8 芯排线连接到 “ 四路静态数码显示模块 ” 区域中的任一个数码管的 a - h 端口上;要求: P0.0/AD0 与a 相连, P0.1/AD1 与 b 相连,P0.2/AD2 与 c 相连, …… , P0.7/AD7 与 h 相连。
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一博客访问: 656330
博文数量: 229
博客积分: 2788
博客等级: 少校
技术积分: 2095
注册时间:
知之者不如好之,好之者不如乐之
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 嵌入式
20.4.1& &常用调试命令
在对工程成功地进行编译(汇编)、连接以后,在主菜单中打开“调试”栏,点击“开始/停止调试模式”,即可进入软件模拟仿真调试状态,Keil C51内建了一个仿真CPU用来模拟执行程序,该仿真CPU功能非常强大,可以在没有硬件和仿真器的情况下进行程
序的调试,但是在时序上,软件模拟仿真是达不到硬件的时序的。进入调试状态后,“调试”栏菜单项中原来不能用的命令现在已经可以使用了。“调试”栏菜单上
的大部分命令可以在调试界面上找到对应的快捷按钮,从左到右依次是复位、运行、暂停、单步、单步跳过、执行完当前子程序、运行到当前行、下一状态、打开跟
踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令(图20-17)。
图20-17& &软件模拟仿真调试状态
使用菜单“单步到之外”或相应命令或
功能键F10可以用“单步跳过”形式执行命令,所谓“单步跳过”,是指将汇编语言中的子程序或高级语言中的函数作为一个语句一步执行完。使用菜单“单步”
或相应的命令按钮或使用快捷键F11可以单步执行程序(即一条一条语句执行),通过单步执行程序,可以找出一些问题的所在,但是仅依靠单步执行来查错效率
20.4.2& &断点设置
程序调试时,一些程序行必须满足一定的条
件才能被执行到(如程序中某变量达到一定的值、按键被按下、串口接收到数据、有中断产生等),这些条件往往是异步发生或难以预先设定的,这类问题使用单步
执行的方法是很难调试的,这时就要使用到程序调试中的另一种非常重要的方法:断点设置。断点设置的方法有多种,常用的是在某一程序行设置断点(图
20-18),设置好断点后可以全速运行程序,一旦执行到该程序行即停止,可在此时观察有关变量值,以确定问题所在。在程序行设置/移除断点的方法是将光
标定位于需要设置断点的程序行,使用菜单:“调试>设置/取消断点”设置或移除断点,也可以用鼠标在该行双击实现同样的功能;另外“使能/禁止断
点”用来开启或暂停光标所在行的断点功能;其它还有“禁止所有断点”、“取消所有断点”等设置。这些功能也可以用工具条上的快捷按钮进行设置。
图20-18& &断点设置
20.4.3& &在线汇编
在进入Keil C51的调试环境以后,若发现程序有错,可以直接对源程序进行修改,但是要使修改后的代码起作用,必须先退出调试环境,重新进行编
译、连接后再次进入调试。如果调试时只是需要对某些程序行进行临时的试验修改(如修改参数以得到所需的延时时间),那么这样的重复过程显得太麻烦,为此
C51软件提供了在线汇编的能力。将光标定位于需要修改的程序行上,用菜单“调试>在线汇编”即可出现如图20-19所示的对话框,在“输入新指
令”后面的编缉框内直接输入需更改的程序语句,输入完后键入回车将自动指向下一条语句,可以继续修改。如果不再需要修改,可以点击右上角的关闭按钮关闭窗口。
图20-19& &在线汇编对话框
20.4.4& &程序调试时的常用窗口
C51软件在调试程序时提供了多个窗口,主要包括输出窗口(Output Windows)、查看和呼叫堆栈窗口(Watch & Call
Statck Windows)、存储器窗口(Memory Window)、反汇编窗口(Dissambly Window)和串行窗口(Serial
Window)等。进入调试模式后,可以通过菜单“查看”(View)下的相应命令打开或关闭这些窗口。
图20-20是输出窗口、查看和呼叫堆栈观察窗口和存储器窗口,各窗口的大小可以使用鼠标调整。进入调试程序后,输出窗口自动切换到Command页。
& && && && && &&&图20-20& &输出窗口、查看和呼叫堆栈窗口和存储器窗口
存储器窗口
存储器窗口中可以显示系统各种内存中
的值,通过在“地址”(Address)后的编缉框内输入“字母:数字”即可显示相应内存值,其中字母可以是C、D、I、X,分别代表代码存储空间、直接
寻址的片内存储空间、间接寻址的片内存储空间、扩展的外部RAM空间,数字代表想要查看的地址。例如输入“D:0x20”即可观察到地址20H开始的片内
RAM单元值;键入“C:0x100”即可显示从100H开始的ROM单元中的值,即查看程序的二进制代码。该窗口的显示值可以以各种形式显示,如十进
制、十六进制、字符型等,改变显示方式的方法是点鼠标右键,在弹出的快捷菜单中选择,
该菜单用分隔条分成三部分,其中第一部分与第二部分的三个选项为同一级别,选中第一部分的任一选项,内容将以整数形式显示,而选中第二部分的ASCII项
则将以字符型式显示,选中Float项将以相邻四字节组成的浮点数形式显示,选中Double项则将相邻8字节组成双精度形式显示。第一部分又有多个选择
项,其中Decimal项是一个开关,如果选中该项,则窗口中的值将以十进制的形式显示,否则按默认的十六进制方式显示。Unsigned和Signed
后分别有三个选项:Char、Int、Long分别代表以单字节方式显示、将相邻双字节组成整型数方式显示、将相邻四字节组成长整型方式显示,而
Unsigned和Signed则分别代表无
符号形式和有符号形式,究竟从哪一个单元开始的相邻单元则与你的设置有关。以整型为例,如果你输入的是“I:0”,那么00H和01H单元的内容将会组成
一个整型数,而如果你输入的是“I:1”,01H和02H单元的内容会组成一个整型数,依此类推。第三部分的Modify Memory at
X:xx用于更改鼠标处的内存单元值,选中该项即出现如图20-21所示的对话框,可以在对话框内输入要修改的内容。
图20-21& &更改内存单元值
工程窗口寄存器页
图20-22是工程窗口寄存器页的内
容,寄存器页包括了当前的工作寄存器组和系统寄存器组。系统寄存器组有一些是实际存在的寄存器,如A、B、DPTR、SP、PSW等,有一些是实际中并不
存在或虽然存在却不能对其操作的,如PC、States等。每当程序中执行到对其寄存器的操作时,该寄存器会以反色(蓝底白字)显示,用鼠标单击然后按下
F2键,即可修改该值。
图20-22& &工程窗口寄存器页
查看和呼叫堆栈观察窗口
这也是很重要的一个窗口,工程窗口中不仅可以观察到工作寄存器和有限的寄存器如A、B、DPTR等,如果需要观察其他寄存器的值或者在高级语言编程时需要直接观察变量,还要借助于这个窗口了。
一般情况下,我们仅在单步执行时才对
变量值的变化感兴趣,全速运行时,变量的值是不变的,只有在程序停下来之后,才会将这些值的最新变化反映出来。但是,在一些特殊场合我们也可能需要在全速
运行时观察变量的变化,此时可以点击查看>定期窗口更新,确认该项处于被选中状态,即可在全速运行时动态地观察有关值的变化。但是,选中该项,将会
使程序模拟执行的速度变慢。
C51提供了串行窗口,我们可以直接在串行窗口中键入字符,该字符虽不会被显示出来,但却能传递到仿真CPU中,如果仿真CPU通过串行口发送字符,那么
这些字符会在串行窗口显示出来,用该窗口可以在没有硬件的情况下用键盘模拟串口通信。由于该项涉及到高级语言编程,这里就不具体介绍了。
20.5& &外围接口工具
为了能够比较直观地了解[color=#444444 !important]中
定时器、中断、并行端口、串行端门等常用外设的使用情况,Keil
C51提供了一些外围接口对话框,通过“外围设备”菜单选择。“外围设备”的下拉菜单内容与你建立项目时所选的CPU有关。如果是选择的89C51这一类
单片机,那么将会有Interrupt(中断)、I/O
Ports(并行I/O口)、Serial(串行口)、Timer(定时/计数器)这四个外围设备菜单(图20-23)。打开这些对话框,列出了外围设备
的当前使用情况,各标志位的情况等,可以在这些对话框中直观地观察和更改各外围设备的运行情况。
图20-23& &外围设备菜单
20.5.1& & P1□作为输入端□
程序每执行一个循环之前,修改一次P1端口的值(图20-24),观察变量的值是直接观看屏幕右下角的变量表;另外的方法是将鼠标移动到源程序的变量处,等待大约1秒钟左右,屏幕上即可弹出该变量的相关信息。
图20-24& &P1□作为输入端□
20.5.2& & P1□作为输出端□
执行循环时观察P1口的输出。由于P1口只用于输出,故无须修改端口值(图20-25)。
图20-25& &P1□作为输出端□
20.5.3& &外部中断INT0
外部中断INT0对应于P3.2口线,因此,用鼠标单击“外设>Port3”窗口从右向左数第三位(P3.2口线对应的位),每单击一下,即产生一次中断,原因是外部中断是下降沿或低电平有效(图20-26)。
图20-26& &外部中断INT0
另外,也可以点击“外设>Interrupt”,在出现图20-27所示中断对话界面后,进行设置。
图20-27& &中断对话界面
20.5.4& &定时器/计数器0
MCS-51系列单片机有两至三个定
时器/计数器,均可以作为定时器或计数器使用。点击“外设>Timer0”即出现图20-28所示定时/计数器0的外围接口界面,可以直接选择
Mode组中的下拉列表以确定定时/计数工作方式(0~3四种工作方式,设定定时初值等),点击选中TR0,status后的stop(停止)就变成了
run(运行)。如果全速运行程序,此时TH0、TL0后的值也快速地开始变化(要求“定期窗口更新”处于选中状态),直观地演示了定时/计数器的工作情
图20-28& &定时/计数器0的外围接口界面
阅读(14694) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
请登录后评论。在电子工程世界为您找到如下关于“C51”的新闻
C51资料下载
单片机高级语言c51应用程序设计阐述单片机高级语言C51的基本语法,各种运算符的作用以及语句结构&等.详细介绍了C51编译器,L51连接定位器以及A51宏汇编器的使用方法,对&于各种编译连接控制指令作了详尽的描述,并给出了各种编译连接错误信息.&另外还介绍仿真器DS51的使用方法.单片机高级语言 C51 应用程序设计 目录 &第一章& C...
KEIL C51 V7.50完整版,可以使用keil C51软件到2033年12月底,够用了吧。KEIL C51 V7.50完整版
....................\addon
....................\.....\DISK.INI
....................\.....\IMAGE...
Keil C51 7.50A完整版软件编程现用\KEIL750A\Keil C51 v750a Full\addon\DISK.INI
................................\........\...................\.....\IMAGE\C51\BIN\C51...
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT...
3.3.7 指向指针的指针
3.4 占构体与共用体
3.4.1 结构体类型变量的定义和引用
3.4.2 结构体数组的定义和引用
3.4.3 结构体指针的定义和引用
3.4.4 共用体
第4章C51程序设计
4.1 C51对标准C语言的扩展
4.1.1 存储区域
4.1.2 数据变量分类
4.1.3 存储器模式
4.1.4 绝对地址的访问...
事件驱动机制(248)3.6 实时操作系统RTLINUX的原理及应用(253)3.7 RTLinux的实时机制分析(256)3.8 基于RTLinux系统的设备驱动程序开发与应用(261)3.9 嵌入式实时操作系统μC/OSⅡ及其应用(265)3.10 在MOTOROLA 568XX系列DSP上运行μC/OSⅡ(267)3.11 Franklin C51浮点数与A51浮点数的相互转换、传递及其在混合编程中的应用...
Keil C51 V9.06下载地址及Crack
What's New in C51
The following sections list the changes instituted in each release of the C51 toolset.
C51 Version 9.06 Release
o[New Supported Devices]
详细说明:51读写U盘全套技术资料,原理图,KEIL C51原代码
51读写u盘开发包
...\1-51单片机读写U盘开发系统使用指南
...\.........\USB技术细节.pdf
...\.........\USB接口研究与硬件电路设计.ppt
...\.........\USB接口设计.pdf
...\.........\USB通讯若干问题...
keilc51cnKeil C51 使用详解V1.0电子设计世界!版权所有,欢迎转贴,请勿修改并注明出处。保留一切权利。第一章 Keil C51 开发系统基本知识... 61第一节 系统概述... 6 第二节 Keil C51 单片机软件开发系统的整体结构... 6 第三节 Keil C51 工具包的安装... 7 1. C51 for Dos 7 2....
C51快速入门——内部资料免费共享,绝对是初学者的良师益友哦!
包含内容:
MCS-51单片机的C语言的优点
C51数据类型与MCS-51的存贮方式
C51数据的存贮类型与MCS-51的存贮关系
MCS-51并行接口及其C51定义方法
MCS-51位变量及其C51定义方法
C51构造数据类型
C51中断服务函数的定义方法
MCS-51汇编语言与C51的混合编程
C51相关帖子
/rz8UvedJb7ZC51TtIx6HScfof20ubAqGP0s8/Fb/oJSbZO7k8rDGGwWpk7NGPZgc1FbJP1oy7P56NpVvn+5HJuU+vXlfpHPs5577skVDKEyue/bF5hWt4V83fCKqpIxtLyqZAy0kvf4Bq1DKhjCPMgKhtr/I68VxyWogvF1z/6yETTc8ZcqTM/HDwtzxI2s1nL/vCe+FYvl+lm...
; && && & //c51中为SDA=1;端口切换为输入状态!!
& & _NOP();
& & while(i--)
& && &&&Byte&&=1;& &&nbsp...
SmartPlant 3D v03.00.15.00.rar
OPTIS.OPTISWORKS.STUDIO.V2007 光学设计\
OPTIS.OPTISWORKS.STUDIO.V2007 光学设计aa\
halcon中文说明文件.pdf
KEIL C51 v8.16a.rar
PGM服装工艺单.rar
PROCAD.3DSMART.V2007.1 PROCAD三维管道设...
我想请教一下,s3c2440写程序时怎么指定一段代码写在什么地址空间,因为中断不是都有特定的中断入口吗,那么我得在相应的中断入口写上程序才行吧,就像51有ORG&&语句用来指定程序代码的地址,在c51中也有interrupt& &xxx来声明是什么中断,那么2440中要怎么表示我的函数是个中断函数,然后发生中断时去调用他呢 关于s3c2440程序存储地址...
/oGlW79E3UnjreeZANHFpyU8sf39y7oODyg02GEAkeZkp3IRhheDfA23Yr/TsKrB56QKPiyzHK4o/ObqoxH9zrD51LwO9ymeBh1C4BtgrWB0jiRovzHN27Q2x94YKRYtNLRGApEou+Z4fSxqaBcTLrPmPFq9G/079X9n/7c5+jihRfof/uTP5GVJwBgM+GRmB95/euj79+lIyahf6N1iY0Znyv+tL/piPOzX/0qfVzoo0eFgVW4...
=3c51636162dcbf
p.baidu.com/ihome/center?uid=a93e303133dcbf
p.baidu.com/ihome/center?uid=943e363731dcbf
p.baidu.com/ihome/center?uid=aadcbf...
p.baidu.com/ihome/center?uid=c23c333338dbbf
p.baidu.com/ihome/center?uid=c516356463dbbf
p.baidu.com/ihome/center?uid=fffc656439dabf
p.baidu.com/ihome/center?uid...
,虽然有点乱但你要的东东上边都有。
stc也没那么差,用了很多型号了,烧录不成有时候是串口的问题.
现在好多大学生初学还在用89C51,原因只是不会自己做程序,新型号功能很强大15F自带仿真器不错的.学习还是蛮够用的.
性价比肯定是不行的,毕竟51是很古老的东西了.
国产货做得成东西做不成气候的又何止是单片机呀
评价那种单片机首先要看自己的熟悉程度了,
奇怪,为什么有人...
[/color][/url][/size]
真是不知道选什么,貌似我哪个都没用过[/quote]
你玩的都太高端,这种小菜一碟的东西你是不屑一玩的。。
其实都不错。{:1_102:}
我用得熟就只有ATMEL的AVR和ST的STM32,这票没法投了。另外AT的89C51系, NXP的ARM7跟CM0也用过而已。十年前开始玩单片机就是AT89S52, 然后过了半年接触AVR,就用了很久,去年以来开始...
C51,而且对STC系列比较有兴趣。
弱弱地请教一下,原来可以用STC89C52RC的开发板,可以使用STC15W系列的芯片吗?谢谢!
不错,支持。
不错,支持楼主{:1_103:}
谢谢楼主分享
感谢楼主分享~~~
[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=1982974&ptid...
你可能感兴趣的标签
热门资源推荐

我要回帖

更多关于 哈弗h1esp按键扩展 的文章

 

随机推荐