欢迎来到天天文库
浏览记录
ID:35627833
大小:2.49 MB
页数:20页
时间:2019-04-03
《单片机计数器课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、单片机课程设计一、设计任务:1.1外部脉冲自动计数,自动显示。1.1.1设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示)。1.1.2设计一个50000计数器:0-50000计数,计满后自动清0,重新计数(在数码管中显示)。1.2设计一个出租车计费系统:起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前4位显示数码管显示里程数,后4位数码管显示价钱(角,元,十元,百元)注:要求首先采用PROTEUS完成单片机最小系统的硬件电路
2、设计及仿真实现1.1外部脉冲计数;程序仿真测试通过后,再下载到单片机实训板上执行1.2出租车计费系统。二、单片机最小系统硬件资源介绍:※89S51单片机;※8位共阴极数码管;※段码驱动器、位选译码器74HC573;※4个独立式按键和4*4矩阵键盘;※外部晶振电路;※USB下载接口(Insystemprogram,在系统编程);※液晶显示器1602(选配);※8*8点阵显示(选配)。※直流电机(选配)。※红外遥控(选配)。※AD/DA模块单片机最小系统实训板硬件资源分布见光盘中的资料“2、MINI_V22电路图2
3、”。其中,8路共阴极数码管动态显示电路图如图1所示,P0口通过上面的74HC573(起驱动和隔离作用,并扩展了单片机的I/O端口),来控制数码管的8路段码,P0口通过下面的74HC573,来控制数码管的8路位选(低电平选中)。为了保证P0口不会出现数据冲突,需要编程控制两个74HC573不能同时工作(P2.6接上面74HC573的LE端,1有效;P2.7接下面74HC573的LE端,1有效)。例如:用最左边的数码管显示0CLRP2.6SETBP2.7MOVP0,#0FEH;位选CLRP2.7SETBP2.6MO
4、VP0,#3FH;送0的字形码图1单片机数码管显示原理图三、设计思路1.设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示)。原理:255可用8位二进制数表示,故本设计可直接采用可以重装载的计数器T1模式二进行计数。然后对TL1的内容进行相应的二进制---十进制转换:首先TL1的内容除以64H,所的商就是十进制的百位,然后用余数除以0AH,所得的商就是十进制数的十位,余数即相应的十进制的个位。接着将相应的十进制数进行译码,并在LED数码管上显示出来。每来一个脉冲其显示的结果加一,直加
5、至255然后T1重新开始计数。开始初始化堆栈,定时器初始化清零相关RAM地址单元TF1=1?调用显示子程序脉冲数加1即20H加120H=100?21H加120清零计算出脉冲数的个,十,百位分别存放于30H,31H,32H(20H=54)&(21H=2?)脉冲数计到255后重新计数即20H,21H清零说明:1.20H存放脉冲的个位和十位数值,21H存放脉冲的百位和千位数值。2.计算脉冲数的个位和十位数值:(20H)/10的商即十位数值存放于31H,余数即个位数值存放于30H。3.计算脉冲数的百位数值:(20H)/
6、10的余数即百位数值存放于32H。例如:脉冲数212(十进制),(20H)=12,(21H)=2。脉冲的个位数值(30H)=2,脉冲的十位数值(31H)=1,脉冲的百位数值(32H)=2.2.设计一个50000计数器:0-50000计数,计满后自动清0,重新计数(在数码管中显示)。原理:将TH1和TL1中的十六进制数转为BCD码,入口:HT1,TL1中是16位二进制数,其中TH1中是高8位;出口:R2R3R4中是BCD码,其中R2中是万位,R3中是千、百位,R4中是十、个位。再转为对应的个.十.百.千.万位。送
7、到缓冲区。接着调用显示子程序。3.设计一个出租车计费系统:起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8为数码管中,前4为显示数码管显示里程数,后4位数码管显示价钱(角,元,十元,百元)原理:计数器每计数100个外部脉冲就产生中断,里程加1百米,大于两千米百位就和5和0比较,如果相等就调用价格计算子程序,价格加0.8元。然后返回中断,调用里程和价格显示子程序四、PROTEUS硬件电路图和实际效果图1、255计数器电路图2、50000计数器3、出租车计费系统1、初始时
8、候在2公里以内都是5元图上的2表示1公里,费用5元图上表示2公里收费5元2、大于2公里每里路加0.8元图上里程14里收费13.0元四、汇编源程序1、255计数器(WAVE)2、50000计数器3、出租车收费系统六、心得体会作为一名电子与信息工程专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是
此文档下载收益归作者所有