硬件课程设计报告
华中科技大学硬件课程设计实验报告

华中科技大学硬件课程设计实验报告课题:“EasyReader”电子书阅读器系统班级:通信0903作者:曾庆台阳舒梦雨学号:U200913846 U200913859 U200913849指导老师:***课设评价:课设成绩:日期:2012-7-2摘要“EasyReader”系统是一个多功能电子书阅读器,以TI公司的MSP430F149作为系统硬件核心,以DM430-L为硬件开发平台,以VS1003作为音频解码核心芯片,以IAR Embedded Workbench for MSP430 v5.30作为系统软件开发平台,使用MSP430自带操作系统,以C语言为基本编程语言。
本系统具备低功耗、小体积、轻重量、功能齐全的特点,可手动或自动翻页翻行、选择不同字体大小和背景、显示系统运行时间和文档读取进度、手动切换播放背景音乐、查看文档信息等功能。
使用便捷,可为用户提供良好的阅读体验。
本文讨论了“EasyReader”电子书阅读器的研究与设计,研究的主要内容包括系统硬件平台的设计和基于该硬件平台的软件设计。
在硬件设计方面,进行了系统的功能需求分析、方案选择和总体设计,详细设计了以MSP430F149处理器为核心,外围包括SD卡文件读取模块、VS1003音频解码播放模块和串口通信功能、人机交互功能的嵌入式系统硬件平台。
在软件设计方面,以分层分模块的思想进行设计,设计了FAT32文件系统、SD卡和TFT液晶驱动和显示程序、VS1003音乐播放程序、中断服务程序等,并进行了系统测试和结果分析,良好地实现了系统的设计目标。
关键词:电子书阅读器;MSP430F149;SD卡;FAT32文件系统;VS1003Abstract“EasyReader” system is a multi-fuctional e-book reader. It uses MSP430F149 of TI corporation as the hardware core, DM430-L as hardware developing platform, VS1003 as decoding central chip for audio file, IAR Embedded Workbench for MSP430 v5.30 as software developing platform of our system. We take the advantage of the OS in MSP430 chip itself and program with basic C language. Our system has the characteristic of low consumption, little size, light weight and versatile functions. The user can switch pages and lines by manual operation or automatic mode, choose different size of font and background, show the runtime of system and the rate of reading progress, choose manually to play the background music or not, check the information of text documents, and the like. It is convenient and easy to use, and provides the users with great reading experience.This paper discussed the research and design of “EasyReader”e-book reader. The main content of our research includes the design of hardware platform and the software design based on the hardware. In the designing of hardware, we analyzed the requirements of functions, put forward how to choose the final scheme and overall design. We also has made a detailed design of the embedded system hardware platform, that consists of the core MCU of MSP430F149, the peripheral modules of reading from SD card, VS1003 audio decoding, communication using serial port and human-computer interface. In the design of software, we utilized hierarchical and module-based thought to carry out our design. We designed FAT32 file system, SD card driven orders, TFT driven and display orders, VS1003 audio play orders and interrupt service programs. Through the tests, debug and analyses of the system, we eventually achieved the goal of our design.Key Words: E-book reader; MSP430F149; SD card; FAT32; VS1003目录1项目概述 (5)2设计目标 (5)2.1基本功能 (5)2.2扩展功能 (5)3小组成员和任务分工 (6)4系统总体设计 (6)4.1总体设计思路 (6)4.2主要器件选择 (7)5系统硬件设计与实现 (10)5.1DM430-L开发板 (10)5.2音频解码模块设计 (13)5.3TFT液晶显示模块 (14)5.4SD卡模块 (15)5.5按键电路 (16)6系统软件设计与实现 (16)6.1软件设计的主要思想 (16)6.2软件设计平台(IAR Embedded Workbench IDE) (16)6.3文件系统的选择与实现 (17)6.4SD卡模块软件设计 (18)6.5TFT液晶显示模块软件设计 (19)6.6音频模块软件设计 (23)6.7按键模块 (24)6.8软件流程说明 (25)7系统测试与结果分析 (26)7.1调试故障、产生原因及解决方法 (26)7.2测试方案与结果 (29)7.2.1 测试方案 (30)7.2.2 测试结果 (30)8心得体会与项目总结 (31)1)心得体会与总结 (31)2)项目展望 (33)9致谢 (34)10参考文献 (34)11附录 (35)1)宣传网站 (35)2)程序代码列表说明 (35)1项目概述电子书阅读器是一种便携式的手持式电子设备,专为阅读图书设计,它有大屏幕的液晶显示器,可以直接从互联网上方便的购买及下载数字化的图书,并且有大容量的内存以存储大量数字信息,一次可以存储数十本传统图书的信息,特别设计的液晶显示技术可以让人舒适的长时间阅读图书。
计算机硬件课程设计报告——拓展接口的复杂模型机设计

计算机硬件课程设计报告——拓展接口的复杂模型机设计学院:计算机科学与工程学院专业:计算机科学与技术班级:组员1:组员2:起止时间:目录一、实验目的 (3)二、实验内容 (3)三、实验思路 (3)四、实验原理 (3)五、实验步骤 (10)六、实验设计 (11)七、实验心得 (14)一、实验目的经过一系列硬件课程的学习及相关实验后,做一个综合的系统性的设计,这在硬件方面是一个提高,进一步培养实践能力。
二、实验内容搭建一台有拓展接口的8位模型机,指令系统要求有10条以上,其中包括运算类指令、传送类指令、控制转移类指令、输入输出指令、停机指令等。
三、实验思路1、确定设计目标:确定所设计计算机的功能和用途。
2、确定指令系统:确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。
3、确定总体结构与数据通路:总体结构设计包含确定各部件设置以及它们之间的数据通路结构,列出各种信息传送路径以及实现这些传送所需要的微命令。
4、设计指令执行流程:数据通路确定后,就可以设计指令系统中每条指令的执行流程。
根据指令的复杂程度。
每条指令所需要的机器周期数。
对于微程序控制的计算机,根据总线结构,需要考虑哪些微操作可以安排在同一个微指令中。
5、确定微程序地址:根据后续微地址的形成方法,确定每条微程序地址及分支转移地址。
6、根据微指令格式,将微程序流程中的所有微操作进行二进制代码化,写入到控制存储器中的相应单元中。
7、组装、调试:在总装调试前,先按功能模块进行组装和分调,因为只有功能模块工作正常后,才能保证整机的运行正确。
四、实验原理1、指令系统及指令格式(1)数据格式8位。
(2)指令格式:指令系统应包括:算术逻辑运算指令、访存指令、控制转移指令、I/O指令、停机指令。
一般指令格式如下:O P-C O D E(4位)R S(2位)R D(2位)D A T A /A D D R (8位)其中R S 、R D 可以是R 0、R 1、R 2中任一个,它们的代码分别为00、01、10。
单片机课程设计报告(简易计算器).

简易计算器摘要:计算器是人们的日常生活中是最常见的电子产品之一,它应用极广、发展迅猛,并且不断出现着拥有更加强大功能的计算器。
为了解和研究计算器,本次课设设计制作了一个简易计算器,能够在十四位的计算范围内进行“+”、“-”、“*”、“/”的基本运算,能进行负数以及小数点后两位的精确结果显示。
该计算器以AT89C51单片机芯片作为核心。
采用LCD1602工业字符液晶进行显示。
完成的计算器经过检验能够完整的实现预设功能,各种细节完善,具有很高的使用价值。
关键词:单片机;简易计算器;AT89C51;LCD1602Simple CalculatorAbstract:Calculator is People's Daily life is one of the most common electronic products, used very wide, developing rapidly, and constantly appear more powerful function with have calculators. In order to understand and study calculator, this class set design made a simple calculator, can the calculation in within 14 "+" and "-" and "*", "/" the basic computing, can carry out negative and two decimal places accurate results are shown. This calculator with AT89C51 chips as the core. Using liquid LCD1602 industrial characters displayed. Complete calculator after inspection can complete realization, various details preset functions to perfect, have high use value.Keywords:MCU; Simple calculator;AT89C51;LCD1602目录中文摘要............................................................1英文摘要............................................................2单片机课程设计......................................................4 1 课程设计任务.....................................................41.1 主要功能设计................................................41.2 任务目的....................................................42 整体设计方案......................................................42.1 方案论证....................................................42.2 系统框图....................................................53 硬件电路的设计...................................................63.1 计算机Protel总图............................................63.2 显示电路设计方案............................................93.3 键盘设计方案................................................93.4 复位电路设计...............................................103.5 晶振电路设计...............................................104 控制软件设计....................................................114.1 程序时序总图...............................................114.2 液晶显示软件设计...........................................124.3 键盘输入软件设计...........................................134.4 计算函数设置...............................................155 系统调试........................................................185.1 硬件调试...................................................185.2 软件调试...................................................18 参考文献...........................................................20 个人小结...........................................................21 附录...............................................................24 附录1..........................................................24 附录2..........................................................251课程设计任务1.1 主要功能设计以AT89C51单片机芯片为核心来制作一个简易计算器,外部由4*4矩阵键盘和一个LCD1602工业字符型液晶显示屏构成,内部由一块AT89C51单片机构成,通过软件编程可实现简单加减乘除。
节日彩灯控制器课程设计报告c语言

节日彩灯控制器课程设计报告c语言节日彩灯控制器课程设计报告一、引言随着科技的不断进步,现代人们的生活越来越依赖于电子产品。
而在各种电子产品中,微控制器是其中非常重要的一种。
本次课程设计是基于C语言,利用单片机实现节日彩灯控制器。
二、设计目标本次课程设计的主要目标是通过C语言编写程序,利用单片机实现对彩灯进行控制。
具体地说,需要实现以下功能:1. 彩灯颜色切换:通过按键进行彩灯颜色的切换;2. 彩灯亮度调节:通过按键进行彩灯亮度的调节;3. 彩灯闪烁效果:通过按键实现彩灯闪烁效果。
三、硬件设计本次课程设计所使用的硬件如下:1. 单片机:STC89C52;2. LED彩灯模块;3. 5V直流电源;4. 按键模块。
四、软件设计1. 程序框架本次课程设计采用模块化编程思想,将整个程序分为三个模块:LED 控制模块、按键扫描模块和主函数模块。
其中,LED控制模块主要实现对彩灯的控制;按键扫描模块用于检测按键是否被按下,并将按键状态传递给主函数模块;主函数模块则是整个程序的核心,用于调用其他两个模块的函数,并根据按键状态进行相应的处理。
2. 程序流程(1)LED控制模块LED控制模块主要实现对彩灯颜色、亮度以及闪烁效果的控制。
具体流程如下:a. 初始化:设置P1口为输出口;b. 颜色切换:通过改变P1口输出电平来实现彩灯颜色的切换;c. 亮度调节:通过PWM技术来实现彩灯亮度的调节;d. 闪烁效果:通过定时器中断来实现彩灯闪烁效果。
(2)按键扫描模块按键扫描模块主要用于检测按键是否被按下,并将按键状态传递给主函数模块。
具体流程如下:a. 初始化:设置P3口为输入口;b. 扫描按键状态:循环检测P3口输入电平,如果检测到输入电平为低电平,则说明相应的按键被按下,将按键状态传递给主函数模块。
(3)主函数模块主函数模块是整个程序的核心,用于调用其他两个模块的函数,并根据按键状态进行相应的处理。
具体流程如下:a. 初始化:调用LED控制模块和按键扫描模块的初始化函数;b. 循环执行:循环检测按键状态,根据不同的按键状态调用LED控制模块中相应的函数实现彩灯控制。
51单片机课程设计报告

51单片机课程设计报告一、课程目标知识目标:1. 理解51单片机的硬件结构、工作原理及其功能特点;2. 学会使用51单片机的指令系统进行程序设计;3. 掌握51单片机与外围电路的接口技术,能实现简单的硬件控制功能;4. 了解51单片机在嵌入式系统中的应用及发展趋势。
技能目标:1. 能够运用C语言编写51单片机的程序,实现基础控制功能;2. 能够运用仿真软件对51单片机程序进行调试,分析并解决简单问题;3. 能够设计简单的51单片机硬件系统,进行电路连接和功能测试;4. 培养学生的动手能力、创新能力和团队协作能力。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发学习热情;2. 培养学生严谨、务实的科学态度,提高自主学习能力;3. 培养学生关注社会发展,了解科技在生活中的应用,增强社会责任感;4. 培养学生团队合作精神,尊重他人意见,善于沟通交流。
课程性质:本课程为实践性较强的电子技术课程,以51单片机为核心,结合硬件和软件,培养学生的实际操作能力和创新能力。
学生特点:学生具备一定的电子技术基础知识,对单片机有一定了解,但实践经验不足。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,提高学生的实际操作能力和解决问题的能力。
通过课程学习,使学生能够独立完成简单的51单片机控制系统设计。
二、教学内容根据课程目标,教学内容分为以下几个部分:1. 51单片机硬件结构及原理- 熟悉51单片机的内部结构、引脚功能;- 掌握51单片机的工作原理及性能特点。
2. 51单片机指令系统与编程- 学习51单片机的指令集,理解各指令的功能和使用方法;- 掌握C语言在51单片机编程中的应用。
3. 51单片机外围接口技术- 学习51单片机与常见外围电路(如LED、LCD、键盘等)的接口技术;- 掌握外围设备的控制原理及编程方法。
4. 仿真软件的使用- 学习使用Keil、Proteus等仿真软件进行51单片机程序设计和调试;- 掌握仿真软件的操作方法,提高程序调试效率。
交通灯设计-8255-8254(附连线图和源代码)

西安郵電學院硬件课程设计报告题目:微机原理与接口课程设计;^院系名称:计算机学院专业名称:软件工程班级:软件0802学生姓名:王晶晶学号(8位): 04085047指导教师:刘军设计起止时间:2011年05月23日~2011年05月27日[一、设计目的通过可编程并行接口芯片8255A和可编程定时器/计数器芯片8253/8254以及中断控制器 8259实现十字路口交通灯的模拟控制,进一步掌握并行接口和定时器/计数器及数码管控制的实际应用。
二、设计内容1.用试验台提供的发光二极管(红绿黄各两支,共六支)作为南北路口(红绿黄各一支)和东西路口(红绿黄各一支)的模拟交通灯。
2.用可编程并行接口芯片8255A控制模拟交通灯的亮与灭和数码管的倒计时显示。
3.用可编程定时器/计数器芯片8253实现模拟交通灯亮与灭的时间延迟控制。
4.用数码管作为模拟交通灯亮与灭的时间延迟控制的倒计时显示。
'5.用汇编语言编程使六个灯按交通灯变化规律“亮/灭”。
交通灯变化规律要求:① 南北路口的绿灯,东西路口的红灯同时亮30秒,且数码管30秒倒计时显示。
② 南北路口的黄灯闪烁3秒(三亮三灭),同时东西路口的红灯继续亮,且数码管3秒倒计时显示。
③ 南北路口的红灯,东西路口的绿灯同时亮20秒,且数码管20秒倒计时显示。
④ 南北路口的红灯继续亮,同时东西路口的黄灯闪烁3秒(三亮三灭),且数码管3秒倒计时显示。
⑤ 转①重复⑥按压“东西紧急键”,则东西方向绿灯,南北方向红灯;再次按压“东西紧急键”,解除东西紧急通行状态。
(“东西紧急键”可是键盘键,亦可是逻辑开关键)⑦按压“南北紧急键”,则南北方向绿灯,东西方向红灯;再次按压“南北紧急键”,解除南北紧急通行状态。
(“南北紧急键”可是键盘键,亦可是逻辑开关键)"⑧按 <ESC>键退出程序。
备注:1、按键用 8255A 芯片的 PC 口实现或用键盘模拟实现。
2、8253定时到可以通过8259,用中断的方式实现定时器。
stm32平衡小车课程设计报告

stm32平衡小车课程设计报告报告:STM32平衡小车课程设计报告一、课程设计目标STM32平衡小车课程设计旨在提高学生对单片机编程及控制算法的理解和实践能力,培养学生的团队合作和创新思维能力,同时提高学生对毕业设计相关知识的掌握。
二、课程设计内容1.硬件设计:STM32F103C8T6单片机、PDOutMPU6050六轴陀螺仪模块、电机模块、电源模块等。
2,软件设计:本设计利用PID控制算法实现平衡车的稳定运动,使用KEI1MDK-ARM进行编程。
3.实验流程:(1)硬件调试:连接电棚区动器、陀螺仪模块和电源模块,进行硬件的调试和测试。
(2)软件编程:编写平衡小车的控制程序,调整PID参数,调试程序并优化。
(3)实验验收:验证控制程序的正确性和稳定性,通过实验数据进行参数调整。
三、课程设计收获1提高了对单片机及控制算法的理解和应用能力。
2 .增强了团队合作和创新思维能力。
3 .提高了对毕业设计相关知识的掌握和运用能力。
四、课程设计建议和意见1加强理论讲解,使学生更加深入理解单片机和控制算法的原理。
2.加强实验操作训练,让学生更加深入地学习和掌握实验技能。
3才是高实验器材的质量,确保实验数据的准确性和可靠性。
4.增加更多的课程设计项目,丰富学生的实践经验。
五、总结STM32平衡小车课程设计是一种提高学生综合能力的有效方式,可以培养学生的动手能力、团队协作能力和解决问题的能力,为学生毕业设计和未来的工作提供一定的参考价值。
因此,针对本课程设计,我们应该加强对理论知识和实践技能的培养,提高学生的专业素养和实践能力,进一步推动教育教学改革和发展。
课程设计报告10篇

课程设计报告10篇课程设计报告1一、设计目的经过一系列硬件课程的学习及相关实验后,做一个综合的系统性的设计,对计算机硬件设计有一个整体的认识,可以进一步提高实践动手能力。
二、所用设备TDN—CM++实验教学系台,PC微机一台,排线若干三、设计思想1、确定搭建一台8位模型机,指令系统系统有10条,涉及输入,输出,加,减,自增,自减,与,传送,跳转,停机等指令。
2、根据所要设计的指令,确定各种信息的传送路径,以及实现这些传送所需的微指令。
3、根据数据通路,确定指令系统中每条指令的执行流程。
4、根据执行流程,确定好机器指令之后,确定相对应的微指令地址,需要多条微指令来完成的机器指令,要准确无误的确定每条微指令的后续地址。
5、设计好指令后,将指令加载,检测该指令是否可以达到预计功能。
四、设计总结经过了三天的实践学习,在老师的悉心指导和搭档的默契配合下终于完成了硬件课程实验,从中受益匪浅。
实验首先要做的事情就是接线,对于已经做过微机实验的我们,器件箱并不陌生,但也熟知连线的重要性,连每根线都必须十分细心,因为每根都影响着整个设备的运行。
于是,我跟我的搭档分工合作,她读图我连线,为了避免连错,我每根线都以红线为起始位,保持规律性,这样也方便出错后检查。
在我俩默契的配合下,我们很快就完成了连线操作,后来测试时却发现数据显示一直不变,经过检查才发现原来数据线少插了一根。
还好就这么一根问题,因为很多同学在连线这块就花费了大量的时间了,降低了效率,所以说小问题也不能忽视。
连线正确后,接下来就是编写微指令了,由于对指令的格式不是很熟悉,所以在了解指令格式和工作流程上花费了些时间。
编写的指令有两种,一个是操作码,一个是微指令。
操作码格式比较简单,相比而言微指令格式比较复杂,共24位,为了便于理解,在编写微指令的时候我都按各部分的含义将24位划分成了几个部分,也便于修改。
在编写指令的过程中,我发现虽然写的指令都是时最常用的基本指令,我们都很清楚每条指令的含义,但是把它们转换成微指令还是比较复杂的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
院系:计算机学院专业:计算机嵌入式学号:
姓名:
指导教师:
南京理工大学紫金学院
2017.12
一、设计目的
通过本次硬件课程,设计一个使用微程序的模拟计算器,更加深入的了解各部件和总线之间的连接方式,认识计算机的组成结构,工作原理以及运行方式。
(1)通过一个微机应用实例建立微机系统的整体概念;
(2)学习掌握微机系统的硬、软件的工作原理以及二者间的配合关系和方法;(3)掌握汇编语言应用程序的设计和调试方法。
(4)掌握微指令格式以及如何设计微指令。
二、所用设备
TDN-CM++实验教学系统一台,PC微机一台。
三、设计思想
运用汇编语言,根据微指令的格式以及微指令的功能,对微指令的每一位都需要准确对应。
一共是24位,最后把24位转换位8421BCD码表示微指令码。
然后根据微指令流程图填写下一位地址,使程序能够按照规定的流程进行下去。
最后通过实验机进行调试,如果CPU走势图正确,说明微指令程序设计完成。
如图:(cpu硬件)
四、指令系统格式
五、微操作流程图
六、生成指令及对应微程序列表
七、验证程序
1. IN 指令:
$P0000
$M00018001
$M0101ED82
$M0200C050
$M10001001
2.ADD 指令:
$P0010
$M00018108 $M0101ed82 $M0200C050 $M1101ED84 $M0400E005 $M0500B006 $M0601A207 $M07959A01
3.STA指令:$P0020 $M00018108 $M0101ed82 $M0200C050 $M1201ED89 $M0900E008 $M08028201
4.OUT指令:$P0030
$M00018108 $M0101ed82 $M0200C050 $M1301EDA0 $M2000E021 $M21070A01
5.SUB指令:$P0040
$M00018108 $M0101ed82 $M0200C050 $M1401EDA2 $M2200E023 $M2300B024 $M2401A226 $M26659A01
6.MOV指令:$P0050
$M00018108 $M0101ed82 $M0200C050
$M15019201
7.INC指令:
$P0060
$M00018108
$M0101ed82
$M0200C050
$M1601A425
$M25019A01
8.DEC指令:
$P0070
$M00018108
$M0101ed82
$M0200C050
$M17002427
$M27F59A01
9.AND指令:
$0080
$M00018108
$M0101ed82
$M0200C050
$M1801A229
$M2901B430
$M30B99A01
八、设计总结
经过两天的实验,我们组完成了本次硬件课程设计。
本次硬件课程设计主
要分为:
(1) 根据实验线路图连线试验箱,并利用CMPP软件测试试验箱是否连接
正确
(2) 了解微指令,根据流程图编写八个微指令
(3) 根据编写的八个微指令编写测试程序,并在CMPP测试微指令是否
正确
第一个实验主要考验我们的细心,在连线过程中是我们对于实验盒各个模块的不同
了解以及对于硬件连线的熟悉。
在连线过程中需要注意一下事项:
所有信号的连线工作必须在实验箱关机断电的情况下进行。
导线头要拉直并按垂直方向插入插孔。
连线完成后要进行检查,确定无误后,方可加电。
多余导线不得乱放在实验箱上,以避免短路。
做完实验后,要将导线垂直拔出。
在运行实验程序前,实验箱上电路连接必须准确无误并且加电。
由于我们组分工明确,且逻辑清晰,所以本次试验很快完成,且一次通过测试。
第二个试验是了解微指令,并通过伪指令流程图编写8个微指令。
由于在之前组原课程中有学习到微指令微操作,但不甚了解。
此次也是根据流程图以及微指令标准格式尝试编写,遇到问题也都向老师提问了解。
编写过程还好,但是ADD
最后还得通过测试才算正确。
我们组编写了IN STA
SUB JMP
RR
RL RRC 这8 个指令。
第三个试验是根据自己编写的微指令编写相应的测试程序,并且通过CMPP程序测试,通过测试即算完成了。
其中有个难题是前面的机器指令,很多次问题并不是处在微指令上,而是处在机器指令上以及地址问题上。
通过向老师提问解答,终于搞明白了。
并且通过测试,只是最后一个RRC的过程还是有点不甚了解。
通过本次试验加深了我们对微指令微操作的了解,并且对硬件试验有了一定认知,提高了对于微机及硬件试验的兴趣。