版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 课 程 设 计 报 告课程设计名称: 系 : 学生姓名: 班 级: 学 号: 成 绩: 指导教师: 开课时间: 学年 学期一设计题目数字时钟二主要内容利用定时器设计一个电子钟,并定义一个启动键。当按下该键时电子时钟从当前设定值开始走时。按秒刷新,要求在LCD屏上显示。三具体要求在课程设计时,1人一组,设计报告由学生独立完成,不得互相抄袭。教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师。学生在设计中可以引用所需的参考资料,避免重复工作,加快设计
2、进程,但必须和题目的要求相符合,保证设计的正确。学生学会掌握和使用各种已有的技术资料,不能盲目地、机械地抄袭资料,必须具体分析,使设计质量和设计能力都获得提高。学生要在老师的指导下制定好自己各环节的详细设计进程计划,按给定的时间计划保质保量的完成个阶段的设计任务。设计中可边设计,边修改,软件设计与硬件设计可交替进行,问题答疑与调试和方案修改相结合,提高设计的效率,保证按时完成设计工作并交出合格的设计报告。周一周二周三周四周五讲课设内容,安排任务查资料,确定硬件电路方案画出程序流程图,写出程序清单画出程序流程图,写出程序清单写总结报告四进度安排五成绩评定考核方法:现场验收(占50%),课程设计报
3、告(占50%)。考核内容:学习态度(出勤情况,平时表现等)、方案合理性、程序编制质量、演示效果、设计报告质量。成绩评定:优,良,中,及格,不及格。特别说明:如发现抄袭,按照不及格处理。目录第一章 系统概要1.1 系统背景 11.2 系统功能 1第二章 系统硬件设计2.1 系统原理图 22.2 单片机(MCU)模块 MC9S08AW60单片机功能概述 2 内部结构简图 32.3 串行通信模块 MAX232引图 3 串行通信的电路原理 42.4 液晶显示模块 5第三章 系统软件设计3.1 MCU方(C)程序串行通信子程序 7 LCD子程序 11第四章 系统测试 14第五章 总结展望5.1 总结 1
4、65.2 展望 16参考文献 16第一章 系统概要1.1 系统背景单片机技术自发展以来已走过了近20年的发展路程 。单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。小到遥控电子玩具,大到航空航天技术等电子行业都有单片机应用的影子。1946年第一台电子计算机诞生至今,依靠微电子技术和半导体技术的进步,从电子管晶体管集成电路大规模集成电路,使得计算机体积更小,功能更强。特别是近20年时间里,计算机技术获得飞速的发展,计算机在工农业,科研,教育,国防和航空航天领域获得了广泛的应用,计算机技术已经是一个国家现代科技水
5、平的重要标志。单片机诞生于20世纪70年代,所谓单片机是利用大规模集成电路技术把中央处理单元(Center Processing Unit,也即常称的CPU)和数据存储器(RAM)、程序存储器(ROM)及其他I/O通信口集成在一块芯片上,构成一个最小的计算机系统,而现代的单片机则加上了中断单元,定时单元及A/D转换等更复杂、更完善的电路,使得单片机的功能越来越强大,应用广泛。20世纪70年代,微电子技术正处于发展阶段,集成电路属于中规模发展时期,各种新材料新工艺尚未成熟,单片机仍处在初级的发展阶段,元件集成规模还比较小,功能比较简单,一般均把CPU、RAM有的还包括了一些简单的I/O口集成到芯
6、片上,像Fairchild公司就属于这一类型,它还需配上外围的其他处理电路方才构成完整的计算系统。九十年代以后,单片机获得了飞速的发展,世界各大半导体公司相继开发了功能更为强大的单片机。美国Microchip公司发布了一种完全不兼容MCS-51的新一代PIC系列单片机,引起了业界的广泛关注,特别它的产品只有33条精简指令集吸引了不少用户,使人们从INTEL的111条复杂指令集中走出来。PIC单片机获得了快速的发展,在业界中占有一席之地。21世纪新一代的嵌入式处理器已经开始内嵌网络接口,除了支持TCPIP协议,还有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一
7、种或者几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。1.2 系统功能本次课程设计的主要任务是设计一个时钟计数器,也就是要做一个秒表,能够计数,并且按照我们平时的时间计数格式显示,当我们按下某个计数按键时候,这个计数系统就一秒一秒的计数,当计数到59秒就进位,显示分钟的部分加1,当计数分钟的数字显示到59,同样要进位,这时候时钟部分加1,如此循环下去。当我们再次按下此按键时候,计数器暂停计数,此时显示器也就暂停在那个时候不在计数了,并且显示当前计数时间。LCD 显示器要求每显示一次就刷新一次,或者刷新频率更高些。第二章 系统硬件设计2.1 系统原理图上图中AW60是主要模块,所有的
8、信号都是经过AW60模块进行处理,各个功能模块在AW60模块的连接下才能够协调运行起来。图中,左边一块是各异晶振和两个电容连接,用来产生标准的时钟脉冲,在AW60上面连接的是LCD液晶显示器,用来动态显示当前所计数的秒数,右边一个模块是接地使用,最下面的是一个开关模块,用来在程序加载后由此开关控制何时开始计数,何时暂停计数,以及一些复位等操作。2.2 单片机(MCU)模块2.2.1 MC9S08AW60单片机性能概述S80是单芯片8位微控制器解决法案。MC9S08AW60/AW60/AW48/AW32/AW16是低成本高性能的8位饿、微处理器单元(MCU)S08家族中的成员。家族中有的MCU使
9、用增强型S08S核,且使用不同的模块,存储空间,存储器类型与封装类型。AW60系列主要常规模块和特点:(1)最高达40MHz的CPU工作频率和20MHz的内部总线工作频率;时钟源选项包括晶振,谐振器,外部时钟或,内部产生的时钟。(2)相比HC08CPU指令集,S08CPU增加了BGND指令。(3)单线后台调试模式接口:增强的断点能力,允许单一的断点设置在线调试(在片内调试模块增加了多于两个的断点)。(4)内含32个中断/复位源;内含2KB的片内RAM;内含60KB的片内在线可编程的Flash存储器,带有 块保护和安全选项。(5)可选的计算机正常操作(COP)复位;低电压检测与复位或中断;非法操
10、作码检测与复位;非法地址检测与复位。(6)ADC:多达16个通道,10个A/D转换器与动动比较功能;两个串行通信接口SCI模块与可选的13位中断;一个串行外设接口SPI模块;集成电路互联总线IIC模块运行高达100kbps的最高总线负载;8引脚键盘中断KBI模块。(7)Timers:1个2 通道和一个6通道16位定时器/脉冲宽度调制器模块。既有输入捕获,输出比较,脉宽调制功能。AW子系列MCU的4种封装形式只是引脚数量和形式有所区别,其他方面是一致的。2.2.2 内部结构简图1. 内部结构简图存储器2KB RAM64KB FlashPLLGPIOJTAGSPIIIC SCII6通道定时器/PW
11、M2通道定时器/PWM SCI2A/D KBI DBGBDM HCS08内核CPURT1 COP IRQ LVDBDC 图2-1 AW60 MCU内部结构框图图2-1给出了SW60内部结构框图,它对于我们理解和应用AW60 MCU有重要作用,在学习了基本方法后,应再反过来熟悉这个内部结构图,以便好好地理解AW60 MCU的基本原理。从内部结构框图可以看出,AW60主要有以下部件:S08 CPU,存储器,定时器接口模块,定时器模块,看门狗模块,通用I/O模块,串行通信模块(SCI),串行外设接口模块(SPI),I2C(IIC)模块,A/D转换模块,键盘中断模块,时钟发生器模块,复位与中断模块等。
12、2.3 串行通信模块2.3.1 MAX232引脚图在MCU中,若用RS-232总线进行串行通信,则需外界电路实现电平转换,在发送端需要用驱动电平将TTL电平转换成RS-232电平;在接收端,需要用接收电路将RS-232电平转换为TTL电平。电平转换器不仅可以由晶振管分立元件构成,也可以直接使用集成电路。目前使用MAX232芯片比较多,该芯片使用单一+5V电源供电实现电平转换,上图的引脚说明:(1)VCC(16脚):正电源端,一般为+5V;(2)GND(15脚):接地;(3)Vs+(2j脚):vs+=2vcc-1.5v=8.5v;(4)V;(5)C2+,C2-(4,5脚):一般接1uF的电解电容
13、;(6)C1+,C2-(1,3脚):一般接1uF的电解电容。 2.3.2 串行通信的电路原理 图2-2 MAX232引脚1、焊接到PCB板上的MSX232芯片检测方法正常情况下,(1)T1IN=5V,则T1OUT=-9V;T1IN=0V;则T1OUT=9V。(2)将R1IN与T1OUT相连,令T1IN=5V,则R1OUT=5V;令T1IN=0V,则T1OUT=0V。具有串行通信接口的MCU,一般具有发送引脚(TxD)与接受引脚(RxD),不同公司或不同系列的MCU,使用的引脚缩写名可能不一致,但含义相同。串行通信接口的外围硬件电路,主要目的是:将MCU的发送引脚TxD与接收端引脚RxD的TTL
14、电平,通过RS-232电平转换器芯片转换成RS-232电平,上图就是基本串行通信的电平转换电路。2、 MAX232芯片进行电平转换的基本原理发送过程:MCU的TxD(TTL电平)经过MAX232的11脚(T1IN)送到MAX232内部,在内部TTL电平被“提升”为232电平,通过14脚(T1OUT)发送出去。接收过程:外部232电平经过MAX232的13脚(R1IN)送入到MAX232的内部,在内部的电平被“降低”为TTL电平,经过12脚(R1OUT)送到MCU的RxD,进入MCU内部。进行MCU的串行通信接口编程时,只针对MCU的发送与接收引脚,与MAX232无关,MAX232只是起到电平转
15、换作用。表1 MAX232芯片输入输出引脚分类与基本接法组别TTL电平引脚方向典型接口232电平引脚方向典型接口11112输入输出接MCU的TxD接MCU的RxD1314输入输出连接到接口,与其它设备通过232相接2109输入输出接MCU的TxD接MCU的RxD87输入输出连接到接口,与其它设备通过232相接输入输出引脚分两组,基本含义如表1所示。在实际使用时,若只需要一路串行通信接口,可以使用其中任何一组。2.4 液晶显示模块点阵字符型LCD基本特点:LCD作为电子信息产品的主要显示器件,相对于其他类型的显示器件来说有其自身的特点,主要包括:(1)低电压,低功耗;(1)平板型结构;(3)使用
16、寿命长;(4)被动显示;(5)显示信息量大且易于彩色化;(6)无电磁辐射。点阵字符型LCD是专门用于显示数字,字母,图形符号及少量自定义符号的液晶显示器。这类显示器把LCD控制器,点阵驱动器,字符存储器,显示体及少量的阻容元件等集成一个液晶显示模板。鉴于字符型液晶显示模块目前在国际上已经规范化,其电特性及接口特性是统一的,只要设计出一种型号的接口电路,在指令上稍加修改即可使用各种规格的字符型液晶显示器模块。点阵字符型液晶显示器模块的控制器大多数为日立公司生产的HD44780及其兼容的控制电路,如:SED1278(SEIKO EPSON),KS0066(SAMSUNG),NJU6408(NER
17、JAPANRADIO)等。字符型液晶显示器模块的特点如下:(1)液晶显示屏是以若干5*8或5*11点阵块等组成的显示字符群。每个点阵块块为一个字符位,字符间距和行间距都是一个点的宽度。(2)主控制电路为HD44780(HITACHI)及 其他公司的兼容电路。从程序员的角度来看LCD显示接口与编程是面向HD44780的,只要了解HD44780的编程结构即可进行LCD的显示编程。(3)内部具有字符发生器ROM,可显示192种字符。(4)具有64字节的字符发生器RAM,可以定义8个5*8点阵字符或4个5*11的点阵字符。(5)具有64字节的数据显示RAM,供显示器编程使用。(6)标准接口特性,与MC
18、9S08系列的MCU容易接口。(7)模块结构紧凑,轻巧,装配容易。(8)单+5V电源供电(宽温型需要加-7V驱动电源)。(9)低功耗,高可靠性。LCD(YM1602C)16151413121110090807060504030201Core2LCD_D7LCD_D6LCD_D5LCD_D4LCD_D3LCD_D2LCD_D1LCD_D0LCD_ELCD_RWLCD_RSVccGNDPTA7PTA6PTA5PTA4PTA3PTA2PTA1PTA0PTF6PTC6PTC4AW60MCU控制液晶显示接口接线图第三章 系统软件设计3.1 MCU方(C)程序串行通信子程序/-*/说 明: SCI构件函数
19、源文件/-*/头文件#include "SCI.h" /该头文件包含SCI相关寄存器及标志位宏定义/-*/函数名: SCIInit /功 能: 初始化SCIx模块。x代表1,2 /参 数: uint8 SCINo: 第SCINo个SCI模块。其中SCINo取值为1,2 / 如果SCINo大于2,则认为是2 / uint8 sysclk: 系统总线时钟,以MHz为单位 / uint16 baud: 波特率,如 4800,9600,19200,38400 / 一般来说,速度慢一点,通信会更稳定 /返 回: 无 /说 明: SCINo=1表示使用SCI1模块,依此类推。 /-*v
20、oid SCIInit(uint8 SCINo, uint8 sysclk, uint16 baud) uint16 ubgs; ubgs=0; if(SCINo > 2) SCINo = 2; /若传进的通道号大于2,则按照2来接收 /1.计算波特率并设置:ubgs = fsys/(波特率*16)(其中fsys=sysclk*1000000) ubgs = sysclk*(10000/(baud/100)/16; /理解参考上一行,此处便于CPU运算 SCI_BDH(SCINo) = (uint8)(ubgs & 0xFF00) >> 8); SCI_BDL(SCI
21、No) = (uint8)(ubgs & 0x00FF); /无校验,正常模式(开始信号 + 8位数据(先发最低位) + 停止信号) SCI_C1(SCINo) = 0b00000000; /SCI控制寄存器1 / | / |+-PT -奇偶校验类型,在PE=1时游泳 / |+-PE -奇偶校验使能, / |+-ILT -闲置线路类型选择 / |+-WAKEI-接受长期唤醒方式选择 / |+-M -9位或8位数据选择 / |+-RSRC -接收器源选择 / |+-SCISWAI 等待模式中SCI停止 / +-LOOPS-循环模式选择 /允许发送,允许接收,中断方式收发 SCI_C2(S
22、CINo) = 0b00001100; /SCI控制寄存器2 / | / |+-SBK -发送中止字符 / |+-RWU -接收器唤醒控制 / |+-RE -接收器使能 / |+-TE -发送器使能 / |+-ILIE -闲置线路中断使能 / |+-RIE -接收器中断使能 / |+-TCIE -发送完成中断使能 / +-TIE -发送中断使能 /-*/函数名: SCISend1 /功 能: 串行发送1个字节 /参 数: uint8 SCINo: 第SCINo个SCI模块,其中SCINo取值为1,2 / uint8 ch: 要发送的字节 /返 回: 无 /说 明: SCINo=1表示使用SCI
23、1模块,依此类推 /-*void SCISend1(uint8 SCINo, uint8 ch) if(SCINo > 2) SCINo = 2; /若传进的通道号大于2,则按照2来接收 while(!(SCI_S1(SCINo) & 0b1000000);/判断发送缓冲区是否为空 SCI_D(SCINo) = ch;/-*/函数名: SCISendN /功 能: 串行发送N个字节 /参 数: uint8 SCINo: 第SCINo个SCI模块,其中SCINo取值为1,2 / uint16 n: 发送的字节数 / uint8 ch: 待发送的数据 /返 回: 无 /说 明: SC
24、INo=1表示使用SCI1模块,依此类推 / 调用了SCISend1函数 /-*void SCISendN(uint8 SCINo, uint16 n, uint8 ch) uint16 i; if(SCINo > 2) SCINo = 2; /若传进的通道号大于2,则按照2来接收 for (i = 0; i < n; i+) SCISend1(SCINo,chi);/-*/函数名: SCIRe1 /功 能: 从串口接收1个字节的数据 /参 数: uint8 SCINo: 第SCINo个SCI模块,其中SCINo取值为1,2 /返 回: 接收到的数(若接收失败,返回0xff) /
25、uint8 *p: 接收成功标志的指针(0表示成功,1表示不成功) /说 明: 参数*p带回接收标志,*p = 0,收到数据;*p = 1,未收到数据 */说 明: SCINo=1表示使用SCI1模块,依此类推 /-*uint8 SCIRe1(uint8 SCINo, uint8 *p) uint16 k; uint8 i; if(SCINo > 2) SCINo = 2; /若传进的通道号大于2,则按照2来接收 for (k = 0; k < 0xfbbb; k+)/有时间限制 if(SCI_S1(SCINo) & 0b00100000) != 0)/判断接收缓冲区是否满
26、 i = SCI_D(SCINo); *p = 0x00; break; if (k >= 0xfbbb) /接受失败 i = 0xff; *p = 0x01; return i;/-*/函数名: SCIReN /功 能: 从串口接收N个字节的数据 /参 数: uint8 SCINo: 第SCINo个SCI模块,其中SCINo取值为1,2 / uint16 n: 要接收的字节数 / uint8 ch: 存放接收数据的数组 /返 回: 接收标志= 0 接收成功,= 1 接收失败 /说 明: SCINo=1表示使用SCI1模块,依此类推 / 调用了SCIRe1函数 /-*uint8 SCIR
27、eN(uint8 SCINo, uint16 n, uint8 ch) uint16 m; uint8 fp; /接收标志 m = 0; if(SCINo > 2) SCINo = 2; /若传进的通道号大于2,则按照2来接收 while (m < n) chm = SCIRe1(SCINo, &fp); if (fp = 1) return 1; /接收失败 m+; return 0; /接收成功 /-*/函数名: SCISendString /功 能: 串口传输字符串 /参 数: uint8 SCINo: 第SCINo个SCI模块,其中SCINo取值为1,2 / cha
28、r *p: 要传输的字符串的指针 /返 回: 无 /说 明: 字符串以'0'结束 / 调用了SCISend1 函数 /-*void SCISendString(uint8 SCINo,char *p) uint32 k; if(SCINo > 2) SCINo = 2; /若传进的通道号大于2,则按照2来接收 if(p = 0) return; for(k = 0; pk != '0' +k) SCISend1(SCINo,pk); LCD子程序/-*/ 文件名: LCD.c / 说 明: LCD驱动 /-*#include "LCD.h&quo
29、t; /该头文件包含寄存器及相关位定义/-*/函数名: LCDinit /功 能: 初始化LCD(HD44780),设置显示方式,输入方式,并清屏 /参 数: 无 /返 回: 无 /说 明: 调用了LCDcommand函数 /-*void LCDinit(void) uint16 i; /定义数据口(PTA0-7)为输出 LCDdataD = 0b11111111; / | / |+-PTA0 / |+-PTA1 / |+-PTA2 / |+-PTA3 / |+-PTA4 / |+-PTA5 / |+-PTA6 / +-PTA7 /定义控制口(PTC4,PTC6)为输出 LCDctrlD1 |
30、=(1<<LcdRS); LCDctrlD1 |=(1<<LcdRW); LCDctrl1 &=(1<<LcdRS); /RS、R/W=00,写指令 LCDctrl1 &=(1<<LcdRW); /定义控制口(PTF6)为输出 LCDctrlD2 |=(1<<LcdE); LCDctrl2 |=(1<<LcdE); /E=1 /1 功能设置 LCDcommand(0b00111000); /5*7点阵模式, 2行显示,8位数据总线 / | / |+-设置点阵模式,0-5*7点阵,1-5*10点阵 / |+-
31、设置显示行数,1-2行显示,0-1行显示 / +-设置数据接口位数,1-8位数据总线,0-4位数据总线 /2 显示开关控制 LCDcommand(0b00001000); / 不闪烁, 关光标显示,关显示 / | / |+-闪烁控制,0-不闪烁,1-闪烁 / |+-光标控制,0-关光标,1-开光标 / +-显示控制,0-关显示,1-开显示 /3 清屏 /3.1清DD RAM内容,光标回原位,清AC LCDcommand(0b00000001); for(i = 0; i< 4000; i+) asm("NOP"); /4 输入方式设置 LCDcommand(0b000
32、00110); / 显示不移动,光标左移(A = 1), 数据读写操作后,AC自动增1 / | / |+-0-显示不移动,1-显示移动 / +-0-AC自动减1,1-AC自动增1 /5 光标或画面移位设置 LCDcommand(0b00010100);/光标右移一个字符位,AC自动加1 /6 显示开关控制 LCDcommand(0b00001100); /不闪烁, 关光标显示,开显示 / | / |+-闪烁控制,1-闪烁,0-不闪烁 / |+-光标控制,1-开光标,0-关光标 / +-显示控制,1-开显示,0-关显示/-*/函数名: LCDcommand /功 能: 执行给定的LCD命令,并延
33、时 /参 数: cmd:待执行的命令 /返 回: 无 /说 明: 无 /-*void LCDcommand(uint8 cmd) uint16 i; /1 等待 > 40us for(i = 0; i < 1000; i+) asm("NOP"); /2 数据送到LCD的数据线上 LCDdata = cmd; /3 给出E信号的下降沿,使数据写入LCD LCDctrl2 |=(1<<LcdE); asm("NOP"); asm("NOP"); asm("NOP"); LCDctrl2 &=(1<<LcdE); /Lcd结束接收数据 /4 等待 > 40us for(i = 0; i < 1000; i+) asm(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 庆新春迎元宵致辞
- 春运安全横幅标语
- 出租续租合同
- 围栏工程合同
- 银行民间贷款合同
- 格式合同和非格式合同
- 玻璃幕墙施工合同
- 顾问咨询合同
- 大巴车租赁合同
- 虾塘买卖合同
- 2025甘肃金川集团股份有限公司财务和审计一般管理岗位成熟人才社会招聘27人考试参考试题及答案解析
- 酒店宾馆转让合同
- 写字楼的租赁合同范本
- 流感应急预案卫生院
- 2025年时事政治考试题库带解析附必背答案
- 酒店英语情景对话口语完整教程
- 远程机器人手术操作指南(2025版)
- 2025-2030钙钛矿光伏组件回收技术路线
- 2025年度北京市公务员录用考试行政职业能力测验试卷真题及答案
- 五年(2021-2025)高考地理真题分类汇编:专题12 交通(全国)(原卷版)
- 打造狼性团队培训课程
评论
0/150
提交评论