




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第3章数字钟系统设计一设计目的和要求2要求: 芯片:AT89C51; 功能:设计完成具有计时、调时、调闹多种功能的产品化的电子钟:上电即开始计时,用S0实现设置/工作状态的转换;S1实现闹钟设置/工作状态的转换,S2实现时、分、秒的+1调整。用LED0—LED5实现时、分、秒的显示,修改“时”时,加到23后“清0”,再加1;修改“分”时,加到59后“清0”,再加1。 二设计原则数字钟程序模块划分各模块对应的函数声明如下: voiddisplay(unsignedchar*p);//6位LED扫描函数,指针p为显示数据区 首地址 unsignedcharkeytest();//测试键盘有无键按下 unsignedcharsearch();//查键值函数 voidalarm(); //闹钟判断启动函数 voidftion0(); //时钟修改函数 voidftion1(); //闹钟修改程序 voidcum(); //增1程序 voidclock()interrupt1; //中断函数,该函数无需声明C51程序与汇编语言程序变量定义对应关系C51程序与汇编语言程序变量定义对应关系主程序框图C51程序源代码 #pragmaSMALL #include"REG51.H" #include"absacc.h" //********************函数声明************************ voiddisplay(unsignedchar*p); //6位LED扫描函数,指针p为显示数据 区首地址 unsignedcharkeytest(); //测试键盘有无键按下 unsignedcharsearch(); //键盘扫描程序 voidalarm();//闹钟程序 voidftion0();//时钟修改程序 voidftion1();//闹钟修改程序 voidcum();//增1程序//******************全局变量定义******************* unsignedcharclockbuf[3]={0,0,0};//存放时、分、秒的十进制数 unsignedcharbellbuf[3]={0,0,0};//存放闹钟时、分、秒的十进制数 unsignedcharmsec1,msec2;//msec1:10ms中断次数, msec2:1s循环次数 unsignedchartimdata,rtimdata;//时钟和闹钟修改位置标志 unsignedcharcount; //闹钟启动后10s计时单元 unsignedchar*dis_p; //显示缓冲区指针 unsignedcharfcount;//闪烁计数单元 bitarmbit;//闹钟标志,armbit=0,闹钟没有设 定;armbit=1,闹钟已设定 bitrtimbit;//闹钟是否启动标志,rtimbit=1,闹钟已启动 bitrhourbit;//闹钟小时修改标志,rhourbit=1,正在修改闹钟小时 bitrminbit;//闹钟分修改标志,rminbit=1,正在修改闹钟分钟 bithourbit;//时钟小时修改标志,hourbit=1,正在修改时钟小时 bitminbit; //时钟分修改标志,minbit=1,正在修改时钟分钟 bitsecbit; //时钟秒修改标志 bitflash;//闪烁标志位 sbitP10=P1^0; sbitP27=P2^7;//******************主函数******************* main() { unsignedchara; armbit=0; //清零闹钟标识位 bellbuf[0]=23; //设置闹钟单元初值 bellbuf[1]=59; clockbuf[0]=23; //设置时钟单元初值 clockbuf[1]=59; clockbuf[2]=59; msec1=0; //设置10ms中断次数初值 msec2=0; //设置1s中断次数初值 timdata=0; //时钟内容修改位置记忆单元清零 rtimdata=0; //闹钟内容修改位置记忆单元清零 count=0; //闹钟启动后保持10s计时单元清零 fcount=0;//闪烁计数单元清零 flash=0;//闪烁标志位清零 TMOD=0x12;//初始化定时器,定时器T0方式2,定时器T1方式1 TL0=0x06; //定时250μs初始值 TH0=0x06; TH1=0X3C; TL1=0XB0; EA=1; //中断允许控制断 ET0=1; //定时器0开中断 TR0=1; //启动定时器0 dis_p=clockbuf; //将时钟值送入显示指针

YY****。。
实名认证
内容提供者


最近下载
最新上传
浙江省宁波市2024-2025学年高三下学期4月高考模拟考试语文试题及参考答案.docx
汤成难《漂浮于万有引力中的房屋》阅读答案.docx
四川省达州市普通高中2025届第二次诊断性检测语文试卷及参考答案.docx
山西省吕梁市2025年高三下学期第二次模拟考试语文试题及参考答案.docx
山西省部分学校2024-2025学年高二下学期3月月考语文试题及参考答案.docx
山西省2025年届高考考前适应性测试(冲刺卷)语文试卷及参考答案.docx
全国各地市语文中考真题名著阅读分类汇编.docx
七年级历史下册易混易错84条.docx
湖北省2024-2025学年高一下学期4月期中联考语文试题及参考答案.docx
黑龙江省大庆市2025届高三第三次教学质量检测语文试卷及参考答案.docx