基于ADuC848开发板的单片机实验和课程设计指导书.docx

上传人:b****8 文档编号:10125393 上传时间:2023-02-08 格式:DOCX 页数:179 大小:4.96MB
下载 相关 举报
基于ADuC848开发板的单片机实验和课程设计指导书.docx_第1页
第1页 / 共179页
基于ADuC848开发板的单片机实验和课程设计指导书.docx_第2页
第2页 / 共179页
基于ADuC848开发板的单片机实验和课程设计指导书.docx_第3页
第3页 / 共179页
基于ADuC848开发板的单片机实验和课程设计指导书.docx_第4页
第4页 / 共179页
基于ADuC848开发板的单片机实验和课程设计指导书.docx_第5页
第5页 / 共179页
点击查看更多>>
下载资源
资源描述

基于ADuC848开发板的单片机实验和课程设计指导书.docx

《基于ADuC848开发板的单片机实验和课程设计指导书.docx》由会员分享,可在线阅读,更多相关《基于ADuC848开发板的单片机实验和课程设计指导书.docx(179页珍藏版)》请在冰豆网上搜索。

基于ADuC848开发板的单片机实验和课程设计指导书.docx

基于ADuC848开发板的单片机实验和课程设计指导书

基于ADuC848

嵌入式系统的实验和课程设计指导书

(内部使用)

主编银翔刘任斌汤春龙

主审黎福海彭楚武

二○一二年二月

3.2.14可编程微波炉控制系统

第一章硬件系统介绍

本单片机学习板集成多个基础硬件资源模块,各个资源模块可以相互组合使该板实现不同的功能。

因此,本学习板既可用于51单片机的教学实验,又可用于做功能比较强的单片机课程设计,是51单片机初学者的好帮手。

1.1板上资源分布

如图1.1所示。

图1.1板上资源分布

1、2、3:

单片机P0、P2、P3口引出接口(有限流保护电阻);

4:

上排图形点阵LCD12864的接口、下排LCD1602的接口;

5、6:

两路16位ADC输入、可作差分输入;

7、8:

12位DAC输出、对DAC输出进行比例放大或者跟随的运放;

9:

单片机AduC848;

10:

无源蜂鸣器、由单片机PWM模块输出信号控制;

11:

8位数码管;

12:

SPI接口;

13:

RS232串口(通过串口在线下载、单步、断点、运行到某一行等方式调试程序);

14:

步进电机(5V、70欧姆、6线4相)接口;

15:

8路LED,从左至右为LED7~0,分别被P0.7~P0.0控制;

16:

复位按键和下载按键;

17、18:

IIC总线上的EEPROMAT24C08和RTCDS1307;

19:

IIC接口;

20:

PS/2接口;

21:

红外接收头;

22:

功能选择和配置插针;

23:

4X4矩阵式键盘或4个独立按键;

24:

直流电源输入;

此外还有红外二极管(由单片机PWM模块输出信号控制)、USB电源输入接口。

1.2单片机ADuC848

1.2.1ADuC848的简要介绍(针对本设计所选择的型号)

详细情况请参考芯片手册。

1、8051-basedcore、5V供电电压;

2、可以通过串口在线下载程序和单步、断点、运行到某一行等方式调试程序;

3、16位8通道Σ-ΔADC,片内有1.25V参考电压、buffer和PGA;

4、12位电压输出DAC、Dual16-BITΣ-ΔDAC;

5、32kbyte程序存储器、4kbyte用户信息Flash存储器、256RAM+2048XRAM(byte);

6、PLL(12.58MHzmax)(片外只需接32.768kHz晶振);

7、3×16位定时/计数器、看门狗定时器;

8、11中断源(2优先级)、11位堆栈指针;

9、24I/O+8模拟或数字输入;

10、UART、SPI和I2C、高速115200波特率发生;

11、Powersupplymonitor、上电复位、Dual200μA激励电流源。

1.2.2单片机引脚分布

详见原理图。

Pin1~4:

(P1.0~P1.3)作为矩阵式键盘或独立按键的输入,P1口只能用于输入,默认用于模拟输入,作为数字输入使用时应先往P1口相应引脚写0,这里可以用P0&=0xf0。

若P2、P3、P0口要作为输入,则应往相应引脚写1。

Pin5、6:

AVDD、AGND,模拟电源输入。

Pin7、8:

外部参考电压接入,Pin7接AGND。

片内DAC有2.5V内部参考,ADC有1.25V内部参考。

Pin9、10:

(P1.4、P1.5)两路AD输入,可做差分输入,需要设置ADC的寄存器。

Pin11、12:

(P1.6、P1.7)各200uA激励电流源,可配合RTD等做应用。

Pin13:

两路AD输入做普通输入时的电压参考端,AD输入电压不能低于此引脚电压。

Pin14:

片内DAC输出。

Pin15:

复位引脚。

Pin16、17:

单片机RS232接口的RXD(P3.0)TXD(P3.1)。

Pin18:

(P3.2)外部中断0,用于红外接收和PS/2接口。

Pin19:

(P3.3)LCD1602,LCD12864A的EN引脚,控制第一位数码管。

Pin20、21:

DVDD、DGND数字电源输入。

Pin22:

(P3.4)PS/2接口的data信号。

Pin23:

(P3.5)LCD1602和LCD12864A的RW。

Pin24:

(P3.6)LCD1602和LCD12864A的RS。

Pin25:

LCD12864A的CS1。

Pin26:

IIC接口时钟信号。

Pin27:

IIC接口data信号。

Pin28:

(P2.0)SPI接口时钟信号。

Pin29:

(P2.1)SPI接口MOSI信号、控制第6位数码管的位码。

Pin30:

(P2.2)SPI接口MISO信号、控制第7位数码管的位码。

Pin31:

(P2.3)SPI接口SS信号、控制第8位数码管的位码;P2.0~3也作为4X4矩阵式键盘的扫描输出信号、步进电机的控制信号、数码管第数码管第6、7、8位位码。

但是SPI、4X4矩阵式键盘、步进电机、数码管第6、7、8位功能不能同时实现。

Pin32、Pin33:

接外部32.768KHz晶振。

Pin34、Pin35:

DVDD、DGND。

Pin36:

(P2.4)LCD12864A的CS2。

Pin37:

(P2.5)内部PWM模块输出,控制红外LED。

Pin38:

(P2.6)内部PWM模块输出,控制蜂鸣器。

Pin39:

(P2.7)内部PWM模块的外部时钟输入(也可以用内部时钟)。

Pin40:

EA,低电平有效,正常使用时拉低。

Pin41:

PSEN,在此引脚电平为低时按复位键进入debug模式,可以下载和调试程序。

Pin42:

ALE。

Pin47、Pin48:

DGND、DVDD。

Pin43、44、45、46、49、50、51、52:

P0口、LCD1602和LCD12864的数据总线,数码管的段码。

1.3电源模块

电源模块原理图如图1.2所示。

本学习板共有如下3种供电方式:

(1)5V电源适配器供电(开关往上拨、插针1下面两脚接跳线帽)。

将开关sw4第2、3脚接通(开关往上拨),电源网络DVDD连接到插针1第2脚的输出,将插针1的第1、2脚(插针1下面两脚)接跳线帽,DVDD直接连接到电源适配器输入端,即为5V电源适配器供电模式。

(2)7~12V电源适配器供电(开关往上拨、插针1上面两脚接跳线帽)

将开关sw4第2、3脚接通(开关往上拨),电源网络DVDD连接到插针1第2脚的输出,将插针1的第2、3脚(插针1上面两脚)接跳线帽,DVDD连接到稳压芯片7805的输出,而7805的输入端连接到电源适配器输入端,即为7~12V的电源适配器经7805给学习板供电的模式。

(3)USB供电(开关往下拨)。

将开关sw4第1、2脚接通(开关往下拨),电源网络DVDD连接到USB电源输入端。

对DVDD网络和AVDD网络设了测试点,方便调试。

测试点具体位置参见附图1。

1.4模数/数模转换

1.4.1模数转换

ADuC848内部有16位ADC,模拟信号输入模块原理图如图1.3所示。

图1.3模拟信号输入模块

D15和D16为钳位保护二极管,R55为限流保护电阻。

其中CONAIN1对应板上的接口5、CONAIN2对应板上的接口6。

CONAIN1和CONAIN2的第1、2脚在板上的分布和在原理图上的类似,均为1脚朝上。

模拟信号有两种输入方式:

(1)两路单端输入。

把输入信号电压高的一端接到第1脚,电压低的一端接到同一个接口的第2脚。

(2)一路差分输入。

把输入信号的两端分别接到CONAIN1和CONAIN2的第1脚。

1.4.2数模转换

ADuC848内部有12位DAC,并有专门的DA输出引脚。

DAC信号输出模块原理图如图1.4所示。

图1.4DAC信号输出模块

本设计对片内DA的输出配置了运放LM358(该运放在单电源情况下对较低电平仍具有很好跟随效果),以增强其驱动能力或对DA输出做适当放大,其中R56和R57的大小决定放大倍数(A=1+R90/R89)。

1.5RS232串口

串口连接原理图如图1.5所示。

图1.5RS232串口模块

该模块中采用maxin公司的max232作电平转换,为方便调试硬件,对RXD,TXD信号设测试点和LED。

测试点和LED具体位置参见附图1。

1.6PS/2接口和红外接收

该模块原理图如图1.6所示。

图1.6PS/2接口和红外接收模块

本设计中外部中断0(P3.2)连接到PS/2接口的时钟信号或者红外接收头SM0038的输出。

可以通过插针进行选择。

外部中断1作普通IO口使用。

该模块原理图如图2.6所示。

关键网络名解释:

(1)PS2_CLK:

PS/2接口时钟信号

(2)PS2_DATA:

PS/2接口数据信号

(3)INT0:

外部中断0

(4)INF_IN:

红外一体化接收头SM0038的输出。

插针配置:

(1)J13第1、2脚(板上为插针11左边两脚)接跳线帽,INT0接PS/2的clock信号。

(2)J13第2、3脚(板上为插针11右边两脚)接跳线帽,INT0接红外信号。

1.7显示模块

本系统共有四种显示模式可供选择,这四种模式分别是:

LCD12864、LCD1602、数码管、8路LED。

引脚复用:

四种显示模式复用数据总线,控制总线,故用户只可选择其中一种使用。

1.7.1LCD显示

LCD显示信号连接图如图1.7所示。

图1.7LCD信号连接

关键网络名和引脚名解释:

(1)DISCTRL0~4:

显示控制信号。

(2)D0~D7、DB0~DB7:

数据总线。

(3)E:

LCD使能信号。

(4)RS:

数据、指令选择信号。

(5)RW:

读、写选择信号。

(6)CS1、CS2:

LCD12864由两部分组成,CS1和CS2为选择信号。

板上接口4的上排位LCD12864的接口,下排位LCD1602的接口,排针和排母左对齐插入。

切勿插错。

1.7.2数码管

该模块原理如图1.8所示。

图1.8数码管驱动电路

关键网络名解释:

(1)DS0~7:

数码管段码。

(2)BIT0~7:

数码管位码。

(3)MOTORA~D:

步进电机驱动信号。

(4)DISCTRL0~4:

显示控制信号,控制数码管低5位。

(5)D0~8:

单片机P0口。

本设计采用共阴极数码管,段码由PNP三极管驱动,位码由NPN型三极管驱动。

引脚复用:

数码管低5位(板上为右边5位)的位码由DISCTRL0~4控制,可单独使用,高3位的位码控制信号与SPI信号,电机驱动信号,4X4矩阵式键盘复用,使用数码管高3位时参与复用的其他功能则不能使用。

插针配置:

(1)若要使用数码管第4~0位(板上为右边5位),可以接通插针8,为减少功耗,不用请断开。

(2)若要使用数码管第7~5位(板上为左边3位),可以分别接通插针5~7和9,为减少功耗,不用请断开。

1.7.38路LED

该模块原理如图1.9所示。

图1.98路LED

8个LED接P0口,低电平时LED亮,这样不会影响P0口逻辑电平。

LED限流电阻取4.7K,通过LED电流约为0.8mA,在P0口驱动能力范围之内。

该部分可以用于做跑马灯等实验、帮助用户更好的了解和熟练对端口的操作、还可以用于观测P0口的状态。

插针配置:

(1)若要使用该模块,可以接通插针2,为减少功耗,不用请断开。

1.8蜂鸣器和红外发送

该模块原理图如图1.10所示。

图1.10蜂鸣器和红外发送

本设计中采用无源电磁式蜂鸣器,蜂鸣器由PWM1(P2.6)控制,红外二极管由PWM0(P2.5)控制。

PWM1和PWM0均为片内PWM模块的输出。

蜂鸣器和红外LED的驱动均采用普通NPN三极管。

为方便调试,对该模块中的信号设了测试点,具体位置参见附图1。

插针配置:

(1)若要使用蜂鸣器,可以接通插针3,为减少功耗,不用请断开。

(2)若要使用红外二极管,可以接通插针4,为减少功耗,不用请断开。

1.9SPI接口、步进电机控制

该模块原理图如图1.11所示。

图1.11步进电机驱动电路

本设计中步进电机为5V、70欧姆、4相步进电机。

引脚复用:

AduC848内部有SPI通信模块,所占用的引脚为P2.0~P2.3。

同时,P2.0~P2.3又复用作步进电机控制信号、4X4矩阵式键盘列扫描信号,P2.1~P2.3还复用为数码管第5、6、7位位码控制信号。

参与复用的一项功能使用时,其他参与复用的功能则不能使用。

插针配置:

(1)若要驱动步进电机,可以接通插针9,为减少功耗,不用请断开。

1.10按键输入

该模块原理如图1.12所示。

图1.12按键模块

由于P1口(用于行扫描)内部无上拉电阻,为使无键按下时行信号为高电平,故将行信号接上拉电阻,电阻大小10K即可。

引脚复用:

P2.0~P2.3为4X4矩阵式键盘列扫描信号,又复用作步进电机控制信号,SPI信号、P2.1~P2.3还复用为数码管第5、6、7位位码控制信号。

参与复用的一项功能使用时,其他参与复用的功能则不能使用。

插针配置:

(1)插针10上面两脚接跳线帽,4X4矩阵式键盘输入,行扫描信号为P1.0~P1.3,列扫描信号为P2.0~2.3。

(2)插针10下面两脚接跳线帽,独立按键输入,该模式有4个独立按键可用,按键扫描所用端口为P1.0~P1.3。

这4个按键为4X4矩阵键盘的左边4个按键。

1.11IIC总线(RTC时钟和EEPROM)

该模块原理图如图1.13所示。

图1.13IIC总线连接

AduC848片内有I2C模块,并有独立的引脚SCLOCK和SDATA。

板上的RTC时钟芯片DS1307和EEPROM芯片AT24C08均使用了I2C总线。

板上设置了I2C接口,方便MCU与板外的I2C设备进行通信。

对SCLOCK和SDATA设置了测试点。

具体位置参见附图1。

1.12复位与下载

复位与下载电路如图1.14所示。

图1.14复位与下载

进入下载或调试模式的步骤为:

(1)按住BTN1(downordebug按键)不要放开;

(2)按下BTN2(reset按键),然后放开BTN2(reset按键);

(3)放开BTN1(downordebug按键)。

这样单片机就进入了调试模式,可以下载或调试程序。

第二章基础实验

汇编实验

实验一I/O口控制实验

一、实验目的

1、学习P0、P1、P2、P3口的使用方法

2、学习延时子程序的编写和使用

3、学习KeiluVision4软件的使用

二、实验内容及步骤

用P0口做输出口,接八位LED显示,程序功能使发光二极管从右到左轮流循环点亮。

1、使用单片机最小应用系统。

开关往下拨,使用5VUSB电源模式。

若要使用其他电源,开关和插针1的设置请参考1.3节;

2、插针2(LED)用短路帽接通,使能连接板上8路LED。

其它插针如下图。

3、在线下载和调试程序前请检查硬件配置、电源的连接、RS232通信线的连接、工程设置、通信端口的选择。

4、打开KeiluVision4仿真软件,首先建立本实验的项目文件,接着添加源程序,进行编译,直到编译无误。

进行软件设置,选择硬件仿真,选择串行口。

5、打开电源,点击开始调试按钮,点击RUN按钮运行程序,观察发光二极管显示情况。

发光二极管单只从右到左轮流循环点亮。

三、流程图及源程序

1.流程图

2.源程序

ORG0000H

LOOP:

MOVA,#0FEH

MOVR2,#08H

OUTPUT:

MOVP0,A

RLA

ACALLDELAY

DJNZR2,OUTPUT

LJMPLOOP

DELAY:

MOVR6,#00H

MOVR7,#00H

DELAYLOOP:

;延时程序

DJNZR6,DELAYLOOP

DJNZR7,DELAYLOOP

RET

END

四、思考题

(1)修改程序,使发光二极管的现象发生变化。

例如:

全亮~发光二极管一个一个的熄灭~全灭,循环显示

(2)对于本实验延时子程序

Delay:

MOVR6,#00H

MOVR7,#00H

DelayLoop:

DJNZR6,DelayLoop

DJNZR7,DelayLoop

RET

假设使用12MHz晶振,粗略计算此程序的执行时间为多少?

 

实验二定时器、中断实验

一、实验目的

1.学习CPU内部计数器的使用和编程方法。

2.掌握中断处理程序的编程方法。

3.掌握Proteus软件的使用方法

二、实验内容和原理

1、实验内容

模拟时序控制装置。

观测发光二极管现象:

L1、3→L2、4→L5、7→L6、8→L1、3、5、7→L2、4、6、8→全亮→全灭

2、时间常数的计算。

CPU内部定时器1,按方式1工作,每0.1秒钟T1溢出中断一次。

(假设使用6.144MHz晶振)

机器周期=12÷晶振频率=12÷(6.144*106)=1.9531*10-6S

    设初值为X,则(216-X)*1.953*10-6=0.1

    X=14336=3800H

    TH1=38H,TL1=00H

三、实验步骤(略,同实验一)

四、程序流程图及源程序:

1、中断子程序流程图:

返回

2、主程序流程图

Y

3、程序清单:

ORG0000H

LJMPSTART

ORG001BH

JMPIT11

ORG0030H

START:

MOVA,#0FAH

MOVR1,#03H

MOVR0,#0AH

MOVTMOD,#10H

MOVTL1,#00H

MOVTH1,#38H

ORLIE,#88H

SETBTR1

LOOP1:

CJNER0,#00,DISP

MOVR0,#0AH

INCR1

CJNER1,#0BH,LOOP2

MOVR1,#03

LOOP2:

MOVA,R1

MOVCA,@A+PC

LJMPDISP

DB0FAH,0F5H,0AFH,5FH,0AAH,55H,00H,0FFH

DISP:

MOVP0,A

JMPLOOP1

IT11:

CLRTR1

DECR0

MOVTL1,#00H

MOVTH1,#38H

SETBTR1

RETI

END

五、思考题:

1、改变发光二极管闪烁的间隔时间。

2、P1口添加一个暂停按键,当该键按下时显示暂停,保持当前状态;再次按键,继续显示。

3、去掉定时与中断,编写延时子程序。

4、P1口添加多个按键,分别对应实现不同的显示功能。

(例如:

暂停键、显示状态顺序执行和

逆序执行键……)

实验三数码显示实验

一、实验目的

1.进一步掌握定时器的使用和编程方法。

2.了解七段数码显示数字的原理。

3.熟练掌握KeiluVision4和Proteus联调的方法。

二、实验内容

做一个电子钟:

利用定时器0定时中断,控制电子钟走时;利用单片机上的四位数码管显示分钟和秒钟。

三、程序流程图和源程序

初始化程序

1、主程序流程图

 

开始计数

 

取显示单元值,转为段码送段数据口

显示缓冲单元首址—R0,扫描初值—R2

 

扫描值送位数据口

 

显示单元地址加一

 

扫描值带进位位(=0)右移一位

 

N

扫描值=0?

 

Y

取分、秒计数值,经变换放入相应显示单元

 

2、中断子程序流程图:

中断入口

定时器置初值

Y

计时单元=10?

N

Y

计时单元置0

 

秒加一,十进制调整

 

秒值=60?

N

Y

秒置0,分加一,十进制调整

 

分值=60?

N

Y

分置0

 

返回

 

3、程序清单:

ST_ADDREQU0000H

BUFEQU23H

SBFEQU22H;存放秒

MBFEQU21H;存放分

ORGST_ADDR

LJMPMAIN

ORGST_ADDR+0BH;定时器0中断入口

LJMPCLOCK

ORGST_ADDR+200H

MAIN:

MOVR0,#40H

MOVA,#00H

MOV@R0,A

INCR0

MOV@R0,A

INCR0

MOV@R0,A

INCR0

MOV@R0,A

INCR0

MOV@R0,A

INCR0

MOV@R0,A

ANLTMOD,#0F0H

ORLTMOD,#01H

MOVTL0,#00H

MOVTH0,#38H

MOVBUF,#00H;清零

MOVSBF,#00H

MOVMBF,#00H

SETBET0;开定时器0

SETBEA

SETBTR0

DS1:

MOVR0,#45H

MOVR2,#08H

DS2:

CLRP2.4

MOVA,R2

MOVP3,R2

MOVA,@R0

LCALLTABLE

MOVP0,A

LCALLDELAY1;延时

DECR0

CLRC

MOVA,R2

RLCA

MOVR2,A

CJNER2,#10H,LL

RLCA

MOVR2,A

LL:

CJNER2,#00H,DS2

MOVR0,#45H

MOVA,SBF

LCALLGET

MOVA,MBF

LCALLGET

SJMPDS1

TABLE:

INCA

MOVCA,@A+PC

RET

DB03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,19H,0BFH

GET:

MOVR1,A

ANLA,#0FH

MOV@R0,A

DECR0

MOVA,R1

SWAPA

ANLA,#0FH

MOV@R0,A

DECR0

RET

CLOCK:

MOVTL0,#00H;定时器中断子程序

MOVTH0,#38H

PUSHPSW

PUSHACC

INCBUF

MOVA,BUF

CJNEA,#0AH,QUIT

MOVBUF,#00H

MOVA,SBF

INCA

DAA

MOVSBF,A

CJNEA,#60H,QUIT

MOVSBF,#00H

MOVA,MBF

ADDA,#1H

DAA

MOVMBF,A

CJNEA,#60H,QUIT

MOVMBF,#00H

QUIT:

POPACC

POPPSW

RETI

DELAY1:

MOVR4,#10;延时程序

DEL11:

MOVR5,#0AH

DEL12:

MOVR3,#18H

DEL13:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1