06级电子信息工程单片机课程设计

单片机的基本原理及相关的简单应用。掌握用单片机设计系统的一般步骤。5.学会运用单片机的硬件资源。4、本系统的LED数据端口使用的是P0口,由于采用了共阴数码管,且面包板上空间有限,未加扩流三极管,只使用了上拉电阻。1.进一步复习和巩固了单片机的知识,熟悉了单片机硬件资源的使用。

详情见下图 第 2 页,共 9 页 06 电子信息工程单片机课程设计 13641 2 第 3 页,共 9 页 电子信息工程单片机课程设计 1 2LED 被叫频闪第一位显示 miao1 延时频闪号码 两位数呼叫键盘操作与显示miao2. 功能延时调用LED动态显示。 功能频闪。 第三位显示xiaoshu1。 延迟频闪。 第四位显示xiaoshu2。 延迟返回。 第4页,共9页。 06级电子信息工程微控制器课程设计 40 30 xiaoshu2++ 关闭外部中断 Status_Flag 标志 xiaoshu2 = 0; 小树1位反转; 小树1 += 1; Y==10? Is_KeyS_Hold = 1; N小数1 = 0; xiaoshu1 Y Status_Flag miao2 += 1; == 10? 等于1? YNN启动定时器,启动定时器miao2 = 0; Y 苗2 == 苗1 += 1; 10? 纽约苗1 = 0; 苗1 == 10? N 第 5 页,共 9 页 第 06 页 电子信息工程单片机课程设计/************************************ **************** 设计标题:秒表 设计要求:设计一款具有启动、停止、复位功能的秒表,采用4位数码管显示两位整数和两位小数。 设计者:何友东付艳娟 设计精度:0.01秒 完成日期:2016年12月9日 ************************************* *** *************/ #include "reg52.h" #include "intrins.h" //**************** PIN配置 **** **************** sbit Start_Stop = P3^2; //定义开始/停止按钮 sbit Clear = P3^3; //定义清除按钮sbit Sel_A1 = P1^0; //定义数码管第1位 Sel_B1 = P1^1; //定义数码管第二位Sel_C1 = P1^2; //定义数码管第3位sbit Sel_D1 = P1^3; //定义数码管第四位 #define LED P0 //定义LED数据口 #define DP 0x80 /​​/定义小数点 //******************** ******** ************************ bdata 无符号字符标志; //定义标志寄存器sbit Status_Flag = flag^0; //1—-定时0—-停止sbit Is_KeyS_Hold = flag^1; //定义键盘释放判断标志 //1—不释放 0—释放unsigned char xiaoshu1 = 0, //定义计时小数部分,第一个数字 xiaoshu2 = 0, //定义第二个数字小数部分miao1 = 0; //定义计时整数部分第一位(十位)miao2 = 0; //定义整数部分第二位(个位)编码 unsigned char table[ ]={0x3f,0x06,0x5b, //定义0~9编码 0x4f,0x66,0x6d, 0x7d,0x07,0x7f,0x6f,} ; //***************** **函数声明**************************** **** 无效初始化(); //初始化函数void display(); //数码管显示函数 void delay(); //数码管单显延时函数 void key(); //键盘释放判断操作函数//******************************************** ******************** 第 6 页(共 9 页)06 级电子信息工程微控制器课程设计 //***** ********* *****主函数******************************** void main() { init( ); //调用初始化函数 while(1) { key(); //调用键盘操作函数display(); //调用LED动态显示函数} } //******************** ********键盘释放判断操作函数******** **** void key() //启动停止按钮释放键盘判断 { if(Is_KeyS_Hold) if(Start_Stop) { Is_KeyS_Hold = 0 ; EX0=1; } } //****************display()的内部延迟函数******************** void delay () { 无符号整型 i ; for(i = 0; i的解决办法是:使用驱动能力较强的可以直接驱动LED的AT89C2051,或者使用三极管扩大电流,建议使用共阳极数码管。 1、进一步审查和巩固单片机知识,熟悉单片机硬件资源的使用。2.进一步了解了数码管的驱动方法。3.最后感谢唐老师的指导。第9页,共9页

单片机

凝心聚力,完善自我——单片机最小系统构成祁伟女教授

2024-2-11 12:03:49

单片机

芯动力——硬件加速设计方法第三轮考核第一名

2024-2-11 13:01:39

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索