好文档 - 专业文书写作范文服务资料分享网站

桂林电子科技大学信息科技学院嵌入式实训

天下 分享 时间: 加入收藏 我要投稿 点赞

.

桂林电子科技大学信息科技学院

《嵌入式微处理器结构与应用》实训报告

实训题目:倒计时秒表

1 系统设计

1.1 设计要求 1.1.1 设计任务

使用AT89S52单片机与ARM9实验箱之间进行串口通信,实现秒表倒计时的功能。单片机接收串口发来的命令进行输出系显示,当按键按下后将按键信息通过串口发送给ARM实验箱上的2410芯片;ARM9试验箱模块要求实现相应的计算和控制功能。即单片机只承担信息输入、输出功能,ARM承担主控任务。并通过按键控制加减预置值和暂停计时,复位计时等。要求在下学期硬件能够继续使用。

1.1.2 性能指标要求 (一)功能要求

(1) 实现99秒倒计时,并通过数码管显示;

(2) 四个按键:一个“运行/暂停”按键,一个“加计时”按键,一个“减计时”按键,一

页脚

.

个“复位”按键;

(3) 四个指示灯:倒计时为0时,指示灯闪烁。 (二)接口要求

使用串口连接51单片机与arm9实验箱。

单片机模块功能:接收串口发来的命令进行输出显示,当按键按下后将按键信息通过串口发送出去。

实验箱模块功能:实现相应的计算和控制功能。

扩展多位数码管,实现多位显示(动态扫描) 加入了蜂鸣器,可作声音报警使用。

1.2 设计思路及设计框图 1.2.1设计思路

(1)串行通信基本通信方式:通信双方要正确的进行数据传输,需要解决何时开始传输、何时结束传输,以及数据传输速率等问题,这就是数据传输中的同步问题。 通常,实现数据同步有两种方式:异步通信和同步通信。 1.异步通信:

数据一帧一帧地传送。发送端和接收端可以由各自的时钟控制数据的发送和接收,两个 时 钟源彼此独立,互不同步。 数据的一帧:由一个字符代码组成。 :

RS-232C接口采用双极性信号、公共地线和负逻辑;不能和TTL电平直接相连,使用时必须进行电平转换,否则将使TTL电路烧坏,实际应用时必须注意!在实际应用时,必须通过专用电平转换芯片进行电平转换。电平转换芯片MC1488、MC1489、 MAX232MC1488可实现TTL→RS-232的电平转换;MC1489可实现RS-232→TTL的电平转换。 MAX232芯片可完成TTL到EIA双向电平的转换 。

通过使用一对max232(自己做的板子上一个,实验箱上一个)完成电平转换,将单片

机的SBUF和s2410芯片的串行通信寄存器完成数据传送从而达到远距离通信的目的。

1.2.2总体设计框图

页脚

.

2 各个模块程序的设计 3 调试过程 4 功能测试

4.3 误差分析

5 实训心得体会 附录

附录1:程序清单

1、嵌入式

AREA mb,CODE,READONLY ENTRY

EXTERN Main B Main B . END

#define GPHCON (*(volatile unsigned *)0x56000070) #define ULCON0 (*(volatile unsigned *)0x50000000) #define UCON0 (*(volatile unsigned *)0x50000004) #define UBRDIV0 (*(volatile unsigned *)0x50000028)

#define rUTXH0 (*(volatile unsigned *)0x50000020)//发送缓冲寄存器 #define rUTRSTAT0 (*(volatile unsigned *)0x50000010)

#define rURXH0 (*(volatile unsigned *)0x50000024)//接收缓冲寄存器

#define uchar unsigned char

uchar revBuf;//接收到的数据

页脚

.

int m = 99,ms = 99; int M =20;

/***************************************** 发送

*****************************************/

void send(uchar m,uchar ms,uchar led,uchar speak) {

while(!(rUTRSTAT0 & 0x02)); rUTXH0=0xBB;

while(!(rUTRSTAT0 & 0x02)); rUTXH0=ms+led*128; while(!(rUTRSTAT0 & 0x02)); rUTXH0=m+speak*128; }

/****************************************** 秒表复位:复位后LED灯点亮,蜂鸣器不响 数码管置为M.ms

******************************************/ void reset() { m = M; ms = 0; send(m,ms,1,1); }

/****************************************** 延时 延时0.01s 0.01/1/202.8MHz

******************************************/ void delay() {

int i = 0;

for(i=0;i<0x00002000;i++);

页脚

.

}

/****************************************** ms 每10ms自减一次

******************************************/ void run_stop() { int i; while(1) {

if( ms == -1 && m == 0 ) {

for(i=0;i<10;i++) {

if(i%2==0) send(0,0,0,1); else

send(0,0,1,1); }

break;

if(rUTRSTAT0 & 0X1) { }

revBuf = rURXH0; if(revBuf == 0x01) { }

break;

}

if(ms == -1)

页脚

桂林电子科技大学信息科技学院嵌入式实训

.桂林电子科技大学信息科技学院《嵌入式微处理器结构与应用》实训报告实训题目:倒计时秒表1系统设计1.1设计要求1.1.1设计任务使用AT89S52单片机与ARM9实验箱之间进行串口通信,实现秒表倒计时的功能。
推荐度:
点击下载文档文档为doc格式
6tjae45xcz2teb88j4i568ub00wtu6005xx
领取福利

微信扫码领取福利

微信扫码分享