全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/* * 工程名称:定时器1的使用 * 功能描述:用定时器1工作方式2,以学号后3位为显示时间(ms),循环显示0-9 * 附加说明:学号后3位为573 * 修改记录:无 */* 头文件包含 */#include regx51.h/* 用户宏定义 */#define uchar unsigned char#define uint unsigned int/* 全局变量定义 */static uint cnt = 0, nub = 0;uchar seg_tab = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f;/* 自定义函数声明 */* 主函数部分 */int main(void)/* 端口初始化 */P0 = 0x00;P1 = 0x0c;/* 定时器1初始化 */TMOD = 0x20;TH1 = (256 - 200);TL1 = (256 - 200);ET1 = 1;EA = 1;TR1 = 1;while (1)P0 = 0x00;P1_1 = 1;P1_1 = 0;P0 = seg_tabcnt;P1_0 = 1;P1_0 = 0;void timer1_sever(void) interrupt 3/* 工作方式2为自动重装初值 */nub+;if (nub (5*573)nub = 0;cnt+;if (cnt 9)cnt = 0;* * 工程名称:按键扫描 * 功能描述:扫描一行按键,通过LED编码显示键值 * 附加说明:不能使用延时函数,只能使用定时器(轮询法) * 修改记录:2011.9.28 23:03 在显示键值前添加关闭列线检测驱动P1_3 = 1; */* 头文件包含 */#include regx51.h/* 用户宏定义 */#define uchar unsigned char#define uint unsigned int/* 全局变量定义 */static uchar keynub;uchar temp1, temp2;uchar seg_tab = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f;/* 自定义函数声明 */void delay_ms(uint time);/* 主函数部分 */int main(void)/* 端口初始化 */P0 = 0x00;P1 = 0x0c;while (1)P0 = 0xfe;P1_1 = 1;P1_1 = 0;P0 = 0x00;P1_0 = 1;P1_0 = 0;P1_3 = 0;temp1 = P0;temp1 &= 0x0f;if (temp1 != 0x0f)delay_ms(5);temp2 = P0;temp2 &= 0x0f;if (temp2 != 0x0f)if (temp1 = temp2)switch (temp1)case 0x0e:keynub = 0;break;case 0x0d:keynub = 1;break;case 0x0b:keynub = 2;break;case 0x07:keynub = 3;break;default:break;while (temp2 != 0x0f)temp2 = P0;temp2 &= 0x0f;P1_3 = 1;P0 = 0xfe;P1_1 = 1;P1_1 = 0;P0 = seg_tabkeynub;P1_0 = 1;P1_0 = 0;delay_ms(2); void delay_ms(uint time)uint cnt = 0;/* 定时器初始化 */TMOD = 0x01;TH0 = (65536 - 1000)/256;TL0 = (65536 - 1000)%256;TR0 = 1;while (cnt != time)if (TF0 = 1)TF0 = 0;cnt+;TH0 = (65536 - 1000)/256;TL0 = (65536 - 1000)%256;/* * 工程名称:独立按键 * 功能描述:通过独立按键K0实现计数,每按一下,数值加1实现二进制计数器 * 附加说明:LED和按键的综合应用 * 修改记录:无 */* 头文件包含 */#include regx51.h/* 用户宏定义 */#define uchar unsigned char#define uint unsigned int/* 全局变量定义 */* 自定义函数声明 */void delay_ms(uint cnt);/* 主函数部分 */int main(void)uchar counter = 0;/* 端口初始化 */P0 = 0x00;P1 = 0x0c;while (1)P0 |= 0x0e;/将矩阵键盘的DIG1DIG3行线电平拉高P0 &= 0xfe;/将矩阵键盘的DIG0行电平拉低P1_1 = 1; /开键盘行线控制锁存P1_1 = 0; /关键盘行线控制锁存,以上四行代码实现了键盘的DIG0行电平为低,其余为高P1_3 = 0; /开键盘列线检测驱动使能if (P0_0 = 0) /检测到K0键按下?delay_ms(5); /如果有,延时去抖if (P0_0 = 0)/真的是K0键按下while (P0_0 = 0)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国家级检验检测机构资质认定评审员考试试题及答案(2026年大兴安岭)
- 2026年专升本心理学真题含答案
- 2026年小学生环保科普知识竞赛复习合集
- 2026年上海市政工专业初级职务任职资格考试(思想政治工作)全真冲刺试题及答案
- 2025年科技守护老年生活质量 养老院24小时智能机器人
- 2026年湖北省宜昌市工程技术部分专业副高级职称水平能力测试(电气)模拟试题
- 初中化学金属与金属材料课件
- 2026年湖北省建筑工程专业技术职务水平能力考试(给排水)复习题及答案
- 消化性溃疡出血诊疗专家共识
- 基坑一体化降水回灌技术规范
- 2025中煤航测遥感集团有限公司招聘58人笔试历年参考题库附带答案详解
- 2026年(完整版)教育学原理试题库(附答案)
- 2026浙江杭州市融资担保集团有限公司春季招聘5人笔试参考试题及答案解析
- 2026温州瓯海全域空间设计咨询有限公司面向社会招聘2人备考题库及答案详解(新)
- 2026福建南平武夷发展集团有限公司招聘应届毕业生24人备考题库及答案详解(全优)
- 2026贵阳市创业投资有限公司(第一批)对外招聘3人备考题库及一套完整答案详解
- 陕西演艺集团招聘笔试题库2026
- 2024版慢性鼻窦炎诊断和治疗指南课件
- 招远社区工作者招考真题及答案2025
- 2026年超星尔雅《论语》精读题库高频重点提升审定版附答案详解
- 2026宁波市中考语文知识点背诵清单练习含答案
评论
0/150
提交评论