- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10.2 C51程序设计 10.2.4定时器程序设计举例 【例10-8】 用C51编程实现【例6-4】的功能。 程序代码如下: #include reg51.h //包含头文件 sbit WORK = P1^0; //WORK为1时包装机工作 /* 系统初始化子函数 */ void system_Ini() { TMOD= 0x06; //置T0工作于计数模式2 TH0=0xE8; //装入计数初值 TL0=0xE8; ET0 = 1; //T0开中断 EA = 1; //CPU开中断 TR0 = 1; //启动T0 } 10.2 C51程序设计 10.2.4定时器程序设计举例 /* 延时子函数 */ void delay(unsigned int i) { char j; for(i;i 0;i--) for(j = 200;j 0;j--); } /* 主函数 */ void main() { system_Ini() ; // 系统初始化 while(1) { …. } } 10.2 C51程序设计 10.2.4定时器程序设计举例 /* 定时计数器 0 的中断函数 */ void T0zd(void) interrupt 1 { TH0 = 0xE8; //给定时器T0赋初始值 TL0 = 0xE8; WORK = 1; //包装机工作 delay(100); //延时 WORK = 0; //包装机停止工作 } 10.2 C51程序设计 10.2.4定时器程序设计举例 说明: (1)void delay(unsigned int i)的定义出现在了被调用函数void T0zd(void) interrupt 1 的前面,所以不需要声明,同样,void system_Ini()的定义在main前面,所以也不需要声明。 (2)void T0zd(void) interrupt 1,序号为1即定时器0的中断服务程序。 10.2 C51程序设计 10.2.5串行通信程序设计举例 【例10-9】 用C51编程实现【例7-2】的功能 程序代码如下: #include reg51.h //包含头文件 #include intrins.h #define uchar unsigned char #define uint unsigned int sbit STB = P1^0; uchar led; void delay(unsigned int i); //函数声明 10.2 C51程序设计 10.2.5串行通信程序设计举例 /* 主函数 */ void main (void) { SCON = 0x00; //置串行口工作方式0 ES = 0; //禁止串口中断 led = 0x80; //拟先点亮最左边一位 while(1) { STB = 0; //关闭并行输出 SBUF = led; //启动串行输出 while(!TI); // 等特数据传送 (TI发送中断标志) TI = 0; // 清除数据传送标志 STB = 1; //打开并行口输出 delay(100); //延时一段时间 led = _cror_(led,1); //循环右移 STB = 0; //关闭并行口输出 } } 10.2 C51程序设计 10.2.5串行通信程序设计举例 /* 延时子函数 */ void delay(unsigned int i) { unsigned char j; for(i; i 0; i--) for(j = 200; j 0; j--) ; } 说明: (1)while(!TI);等待TI变为1,即等待数据发送完,之后清除TI为发送下一个数据做准备。 (2)程序开头有#include intrin
您可能关注的文档
最近下载
- 2023年导热油锅炉竣工最全面精品资料.pdf VIP
- 错案问责申请书范文.docx VIP
- 保时捷-Macan (迈凯)-产品使用说明书-Macan GTS-Macan GTS-17Macan_95B_Basis_BAL_WKD95B039317_CHS_HighRes.pdf VIP
- 2025年04月10月自考《财务管理学》真题及答案.docx VIP
- Unit8OnceuponaTimeSectionA2a-2e(第2课时)课件内嵌音视.pptx
- 个人债务集中清理工作指引.pdf VIP
- 24CDX009-2数据中心机电设施设计与安装-电力模块锂离子电池柜间接蒸发冷却空调系统.docx
- 入党志愿书里面的入党志愿.docx VIP
- 关于入党志愿书里的入党志愿.docx VIP
- 叠合板吊装专项施工方案.doc VIP
文档评论(0)