



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARM大作业 某象棋快棋赛规则如下:红、黑双方对奕时间累计均为十分钟,超时判负;甲乙对奕方的计时器均用3位数码管显示,预定的初值均为十分钟,采用倒计时方式,通过按扭启动;由本方控制对方,比如甲方走完一步棋后必须按一次甲方的按键,该按键启动乙方倒计时。同理,乙方走完一步棋后必须按一次乙方的按键,该按键启动甲方倒计时。超时能发出报警声音,比赛结束。 利用你所学的知识,用LPC2000微控制器设计一个上述比赛用的计时器,尽可能详细给出软硬件设计、实现方案。一、 软件流程图二、 程序#define uchar unsigned char#define uint unsigned int#define Fpclk 12000000 /12MHz晶振#define BEEPCON (112)/0x00001000 /定义P0.12脚控制B1,低电平蜂鸣/*甲方数码管*/#define wel1 (17) /0x00000080,定义p0.7脚控制数码管位选1,高电平选中#define wel2 (18) /0x00000100,定义p0.8脚控制数码管位选2#define wel3 (19) /0x00000200,定义p0.9脚控制数码管位选3/*乙方数码管*/#define wel4 (123)/0x01000000,定义p0.23脚控制数码管位选1,高电平选中#define wel5 (124) /0x02000000,定义p0.24脚控制数码管位选2#define wel6 (125) /0x04000000,定义p0.25脚控制数码管位选3int count1 = 600,count2=600;int key1,key2;/*函数名称:定时器初始化函数*/*函数功能:定时器时间为十分钟,为倒计时计数*/void time0_init (void)/定时器0初始化,定时时间1sT0TC = 0; /设置定时器0T0PR = 99; /时钟100分频T0MCR = 0x03; /设置T0MR0匹配后复位T0TC,并产生中断T0MR0 = Fplck / 100; /设置匹配值T0TCR = 0x01; /启动定时器/*设置向量中断控制器*/VICIntSelect = VICIntSelect & (14); /IRQVICVectCntl0 = 0x20 | 4; /向量IRQ通道0VICVectAddr0 = (uint32) Timer0_ISR; /中断服务地址Timer0_ISRVICIntEable = (14); /使能中断/*函数名称:中断服务函数*/*函数功能:控制甲乙两方时间的暂停和继续*/void _irq Timer0_ISR(void) if(!key2)/乙按键后甲的时间减少 count1 -;display(count1); if(!key1)/甲按键后乙的时间减少 count2 -;display(count2);T0IR = 0x01; / 清除中断标志VICVectAddr = 0x00; / 通知VIC中断处理结束/*函数名称:甲方数码管显示函数*/*函数功能:显示甲方计时*/void display1(int dis)/甲方显示数码管 uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/0-9,共阴极 int ge,shi,bai; /PINSEL0 &= 0xfff00000;/设置引脚连接模块,将p0.0-9设置为GPIO功能/IO0DIR |= 0x00000177;/将p0.0-9设置为输出状态bai = dis / 100;shi = (dis%100)/10;ge = dis %10;IO0SET = tablebai;/高电平亮,消隐IO0SET = wel1;/高电平选中delay_ns(100);IO0CLR = wel1;/关位选IO0SET = tableshi;IO0SET = wel2;delay_ns(100);IO0CLR = wel2;/关位选IO0SET = tablege; IO0SET = wel3;delay_ns(100);IO0CLR = wel3;/关位选/*函数名称:乙方数码管显示函数*/*函数功能:显示乙方计时*/void display2(int dis)/乙方显示数码管 uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/0-9,共阴极 int ge,shi,bai; /PINSEL0 &= 0xfff00000;/设置引脚连接模块,将p0.0-9设置为GPIO功能/IO0DIR |= 0x007f0000;/将p0.16-0.22设置为输出状态bai = dis / 100;shi = (dis%100)/10;ge = dis %10;IO0SET = tablebai;/高电平亮IO0SET = wel4;/高电平选中delay_ns(100);IO0CLR = wel4;/关位选IO0SET = tableshi;IO0SET = wel5;delay_ns(100);IO0CLR = wel5;/关位选IO0SET = tablege; IO0SET = wel6;delay_ns(100);IO0CLR = wel6;/关位选/*函数名称:甲方按键函数*/*函数功能:甲方有键按下时,变为低电平,由GPIO读入*/int key_press1(int key) uint32 PinStat; /PINSEL0 &= 0xff3fffff;/设置引脚连接模块,将p0.11设置为GPIO功能/IO0DIR &= 0xffff1fff;/将p0.11设置为输入状态PinStat = IO0PIN & (111);/通过IP0PIN寄存器获取P0.11当前电平状态 return PinStat;/*函数名称:乙方按键函数*/*函数功能:乙方有键按下时,变为低电平,由GPIO读入*/int key_press2(int key) uint32 PinStat; /PINSEL0 &= 0xff3fffff;/设置引脚连接模块,将p0.13设置为GPIO功能/IO0DIR &= 0xffff2fff;/将p0.13设置为输入状态zPinStat = IO0PIN & (10;dly-) for(i=0;i5000;i+);void main(void)PINSEL0 = 0x00000000;/设置引脚连接GPIOPINSEL1 = 0x00000000;/设置引脚连接GPIOIO0DIR |= 0x00000177;/将p0.0-9设置为输出状态,甲方数码管IO0DIR |= (0x17716);/将p0.16-0.22设置为输出状态,乙方数码管IO0DIR = BEEPCON; /P0.12设置为输出状态,蜂鸣器IO0DI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江西银行高级专业人才招聘4人考前自测高频考点模拟试题及答案详解(名校卷)
- 2025福建省船舶工业集团有限公司招聘5人考前自测高频考点模拟试题及答案详解(典优)
- IG4-生命科学试剂-MCE
- 2025年电容剪脚机项目建议书
- Gyromitrin-生命科学试剂-MCE
- 2025河南洛阳市宜阳县选聘县属国有集团公司部长10人模拟试卷及答案详解一套
- 2025广东省蕉岭县招聘卫生类急需紧缺人才5人考前自测高频考点模拟试题及完整答案详解1套
- 2025年移动通讯用数字程控交换机合作协议书
- 2025安徽芜湖市鸠江区招聘区属国有企业领导人员拟聘用人员模拟试卷附答案详解(黄金题型)
- 进口合同书范本
- 2025年烟花爆竹经营培训考试试题及答案
- 2025年幼儿园初级保育员模拟考试试题试题(含答案)
- 物业创星级服务汇报材料
- 铁路局连接员职业技能鉴定考试题库及答案
- 2025年心理咨询师题库附完整答案(各地题)
- 合同违约行为管理办法
- 110kV变电站初步设计与规划方案指南
- 中试平台建设管理办法
- 精神科常见疾病及护理
- 永辉超市培训课件
- 河北计算机单招数学试卷
评论
0/150
提交评论