微处理器结构及嵌入式系统设计第六讲.pptVIP

微处理器结构及嵌入式系统设计第六讲.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微处理器结构及嵌入式系统设计第六讲

字符液晶屏的控制程序 液晶屏显示“Hello, world!”的程序:开始部分使用伪指令“BIT”将RS、RW、E 这3个变量分别指向单片机的3个I/O口,这3个I/O口控制着液晶屏的相应管脚。这样,后面的程序对变量RS、RW、E的操作就相当于对液晶屏的RS、R/W、E的操作。 在“START”段中,命令对液晶屏进行显示前的设置,这些设置包括以下几个步骤: 01H-清屏 38H-设定显示2行内容 0FH-打开显示,打开光标,光标闪烁 06H-光标右移 80H-光标来到液晶屏第1行的开头 C0H-光标来到液晶屏第2行的开头 当设置完成后,指令“MOV DPTR, #TABLE_1”进行装表,调用“DISPLAY”子程序把数据表中数据装入累加器A中,随后再调用“SEND_DATA”子程序把显示数据从P1口输出,由于在“SEND_DATA”中设置RS=1,所以液晶屏会把P1口的数据作为显示数据来显示。 显示数据“Hello,”和“world!”分别保存在数据表TABLE_1和TABLE_2中。两个数据表都以88H为取表结束的标志。如果需要显示其他内容,只要修改数据表中的内容即可。 数据表TABLE_1和TABLE_2中放置的是字符串,所以使用单引号把内容括起来。字符串在程序汇编过程中,汇编器会自动将每一个字符(字母、数字、标号符号等)转换成相应的ASCII码,并以十六进制数的形式保存在数据表中。 电子时钟的功能及电路 时钟除了显示时间外还同时应该具有调整时间的功能。本节将要体验的电子时钟,开机时,显示“00-00-00”,表示00时00分00秒。时钟有3个调整时间的按钮,分别调整时、分、秒。这与一个普通的电子时钟没有什么区别。 微处理器结构与嵌入式系统设计 第六讲 单片机的中断系统 中断的比喻 任何一件事情的发生都会中断小林看电视的进程而去响应和处理事件。例如,邮递员上门送信,小林必须去开门签收信件,当事件处理完后,小林回去接着看电视。这里,小林比喻的就是单片机,而5个可能发生的事件为单片机的5个中断源——外部中断0、外部中断1、Timer 0中断、Timer 1中断、串行通信中断。 外部中断1例 两支发光二极管D1(绿色)和D2(红色)与单片机的P0.0和P0.1相连,在外部中断1(P3.3(/INT1 ),13管脚)上有一个按钮开关S1。按下按钮开关S1可以模拟外部中断信号的发生:当开关S闭合时,P3.3=0,外部中断1产生。 “MAIN” 段的 “MOV IE, #84H”设置中断使能寄存器IE,使单片机可以响应P3.3的外部中断1。“GREEN” 段将P0.0口上的绿色发光二极管D1点亮。 D1的来说是一个死循环。只有当中断持续发光对于主程序发生时——按下开关S1,P3.3=0,外部中断1产生,单片机放下正在执行的循环而进入中断服务子程序中执行程序。从标号“EXT1_RED”到指令“RETI”之间的程序是中断服务子程序段,子程序段将熄灭绿色发光二极管D1,并点亮红色发光二极管D2,延时100ms后熄灭。中断服务子程序以“RETI”为结束的标志,中断服务子程序结束。单片机又回到主程序执行,绿色发光二极管D1又被点亮。 中断服务的指挥——中断向量表 当外部中断1发生时,单片机怎么知道要去“EXT1_RED”段去执行呢?这都是指令“ORG 13H”的功劳,该指令重新设置了一个新的地址13H,这就使得中断服务子程序段“EXT1_RED”从13H开始存储在程序存储器中。 当指令“MOV IE, #84H”使能外部中断1后,一旦外部中断1发生,单片机会自动到程序存储器的地址13H上去执行程序。换句话说,外部中断1发生时,程序计数器PC被硬件修改成0013H,而PC指向的地址正是单片机取下一条指令的地址,于是单片机会从13H开始执行中断服务子程序段“EXT1_RED”直到遇到指令“RETI”为止。 中断服务程序的C语言 实现 #includereg52.h #define uchar unsigned char #define uint unsigned int sbit led0=P0^0; sbit led1=P0^1; void main() { EA=1; EX1=1; while(1) { led0 = 0; } void ext1_read() interrupt 2 { led0 = 1; led1 = 0; delay(100); led1 =1; }

您可能关注的文档

文档评论(0)

celkhn5460 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档