欢迎来到天天文库
浏览记录
ID:61488308
大小:60.00 KB
页数:6页
时间:2021-02-05
《单片机课程设计指导书(学生).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、单片机课程设计指导书电气与信息工程学院实验室一、设计任务:1.1设计一个单片机最小系统,用仿真软件设计,要求有5V电源,8个LED灯,12MHZ晶振,完成流水灯的仿真。1.2外部脉冲自动计数,自动显示。1.2.1设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示)。1.2.2设计一个50000计数器:0-50000计数,计满后自动清0,重新计数(在数码管中显示)。1.3设计一个出租车计费系统:起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费
2、一次,在8位数码管中,前3位显示数码管显示里程数,后3位数码管显示价钱(角,元,十元,百元)1.4单片机最小系统实训板的设计。(要求采用PROTEL完成单片机最小系统的硬件电路设计)二.课程安排:17周完成设计任务(1.1-1.2)的程序设计以及软件仿真18周完成设计任务(1.3-1.4)以及所有设计任务的硬件实现三、单片机最小系统硬件资源介绍:※89S51单片机;※6位共阳极数码管;※段码驱动器74HC573,位选译码器74HC138;※4路独立式按键;※外部晶振电路;※ISP下载接口(Insyst
3、emprogram,在系统编程);※DC+5V电源试配器(选配);※ISP下载线(选配)。单片机最小系统实训板硬件资源分布见图1元件布局图和图2电路原理图:其中P1为外部电源输入座(DC+5V),S8为电源最小系统的电源开关,E1和C3为电源滤波,去耦电容。D1为系统电源指示灯。J2为ISP下载接口,S7系统复位按键。CRY1,C1,C2为外部时针电路。IC1为89S51(DIP-40),左上角为第一脚。PRE1,PRE2。为上拉排阻(阻值4.7k—10k)。J5,J9,J6,J10分别对应单片机的P
4、0,P1,P2,P3口。便于二次开发。6路共阳极数码管动态显示电路,P0口通过74HC573(起驱动和隔离作用,让电流通过74CH573流入公共地),来控制数码管的8路段码,P20-P22通过74HC138译码器(使用其中的6路)控制数码管的公共端(中间还有三极管做驱动器)。这样设计的理由:为了保证该单片机最小系统的二次开发的资源充足和合理性。如果单只做一个动态显示电路,可以省去74HC573,和74HC138。图1元件布局图图2单片机最小系统原理图四、设计思路:1、255计数:255可用8位二进制数
5、表示,故本设计可直接采用可以重装载的计数器T1模式二进行计数。然后对TL1的内容进行相应的二进制---十进制转换:首先TL1的内容除以64H,所的商就是十进制的百位,然后用余数除以0AH,所得的商就是十进制数的十位,余数即相应的十进制的个位。接着将相应的十进制数进行译码,并在LED数码管上显示出来。每来一个脉冲其显示的结果加一,直加至255然后T1重新开始计数。开始初始化堆栈,定时器初始化清零相关RAM地址单元TF1=1?调用显示子程序脉冲数加1即20H加120H=100?21H加120清零计算出脉冲
6、数的个,十,百位分别存放于30H,31H,32H(20H=54)&(21H=2?)脉冲数计到255后重新计数即20H,21H清零说明:1.20H存放脉冲的个位和十位数值,21H存放脉冲的百位和千位数值。2.计算脉冲数的个位和十位数值:(20H)/10的商即十位数值存放于31H,余数即个位数值存放于30H。3.计算脉冲数的百位数值:(20H)/10的余数即百位数值存放于32H。例如:脉冲数212(十进制),(20H)=12,(21H)=2。脉冲的个位数值(30H)=2,脉冲的十位数值(31H)=1,脉冲
7、的百位数值(32H)=2.图3255计数程序流程图2、0-50000计数:思路1:由于DIVAB指令中A、B均为8位寄存器,因此255二进制转十进制计数的方法不能用于0-50000的循环计数。可根据TH0(T0计数)或TH1(T1计数)中的内容为多少进行256累加,因为TH0或TH1中每一个二进制‘1’代表十进制的256,再和TL0或TL1按前一步二转十的方法转换得到的百、十、个相加,即可完成16位二进制转十进制。思路2:置TL0或TL1的内容为0FFH,这样每来一个计数脉冲,TL0或TL1的内容就会
8、溢出回零,只要通过指令判断TL0或TL1的内容是否为零,为零则70H(个位)加1,70H(个位)逢9进一,71H(十位)加1,十位个位为99进一,72H(百位)加1,以此类推,可实现0-(只有6个数码管)的循环计数。3、出租车计费:在上步的基础上,每1个脉冲当作1公里(可自己设置几个脉冲1公里),5个脉冲,数码管显示05.0005,前3位金额,后3位为里程,超过5个脉冲,里程加1,金额加0.8元。难点主要在于计费金额的显示,可将初值置为50,其中十位调用
此文档下载收益归作者所有