《基于ADuC848开发板的单片机实验和课程设计指导书.doc》由会员分享,可在线阅读,更多相关《基于ADuC848开发板的单片机实验和课程设计指导书.doc(104页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流基于ADuC848开发板的单片机实验和课程设计指导书.精品文档.基于ADuC848嵌入式系统的实验和课程设计指导书(内部使用)二一二年四月目 录第一章 硬件系统介绍51.1板上资源分布51.2单片机ADuC84861.2.1 ADuC848的简要介绍(针对本设计所选择的型号)61.2.2 单片机引脚分布61.3 电源模块81.4 模数/数模转换91.4.1 模数转换91.4.2 数模转换91.5 RS232串口101.6 PS/2接口和红外接收111.7 显示模块111.7.1 LCD显示111.7.2 数码管121.7.3 8路LED131
2、.8 蜂鸣器和红外发送141.9 SPI接口、步进电机控制151.10 按键输入151.11 IIC总线(RTC时钟和EEPROM)161.12 复位与下载17第二章 基础实验18汇编实验18实验一 I/O 口控制实验18实验二 定时器、中断实验20实验三 数码显示实验24实验四 蜂鸣器驱动实验29实验五 12864 点阵型液晶显示实验32实验六 1602字符显示实验44实验七 矩阵键盘实验53实验八 D/A转换实验56实验九 步进电机控制实验60C语言实验63实验一 端口输出操作63实验二 定时器及定时器中断66实验三 数码管显示69实验四 矩阵式键盘识别73实验五 蜂鸣器驱动实验77实验六
3、 1602字符显示实验82实验七 12864 点阵型液晶显示实验85实验八 A/D转换实验95实验九 步进电机控制实验102第三章 系统设计方法及设计课题10831 单片机应用系统的设计过程108311 方案论证和硬件系统设计108312 系统软件设计109313 系统仿真调试设计10932 设计课题110321 多功能定时装置110322 程控多波形信号发生器111323 LCD汉字计时报讯屏111324 简易多功能计数器112325 LCD字符显示屏112326 抢答器113327 秒表113328 数字密码锁113329 简易电子琴1143210 LCD显示的交通信号灯1143211步进
4、电机控制器1143212 A/D,D/A转换板1153213 电子计算器1153214 可编程微波炉控制系统1153215 简易超市收银机1163216 全自动洗衣机控制器1173217 多功能走马灯1173218 仿手机键盘1183219 仿电梯控制1183220 仿汽车自动报站器1183221 电机调速器1193222 电压监视仪1193223 自定义课题11933 评分标准和注意事项120331 选择课题120332 评分标准120333 实验室设备使用及安全和赔偿条例120第四章 Keil uVision4的使用1224.1 前言1224.2 新建工程1224.3 工程设置1254.4
5、 编译连接、下载和调试程序1284.4.1 编译程序1284.4.2 在线下载程序1284.4.3 在线调试程序1304.4.4 软件仿真调试程序133第五章 PROTEUS的使用1345.1 前言13452 操作步骤134521 进入系统134522 界面简介134523 操作步骤13753 Proteus与KeiI的结合141附录一 课程设计报告参考模板142附录二 开发板硬件图144第一章 硬件系统介绍 本单片机学习板集成多个基础硬件资源模块,各个资源模块可以相互组合使该板实现不同的功能。因此,本学习板既可用于51单片机的教学实验,又可用于做功能比较强的单片机课程设计,是51单片机初学者
6、的好帮手。 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,从左至右为
7、LED70,分别被P0.7P0.0控制; 16:复位按键和下载按键; 17、18:IIC总线上的EEPROM AT24C08和RTC DS1307; 19:IIC接口; 20:PS/2接口; 21:红外接收头; 22:功能选择和配置插针; 23:4X4矩阵式键盘或4个独立按键; 24:直流电源输入; 此外还有红外二极管(由单片机PWM模块输出信号控制)、USB电源输入接口。1.2单片机ADuC848 1.2.1 ADuC848的简要介绍(针对本设计所选择的型号) 详细情况请参考芯片手册。1、8051-based core、5V供电电压; 2、可以通过串口在线下载程序和单步、断点、运行到某一行等
8、方式调试程序; 3、16位8通道-ADC,片内有1.25V参考电压、buffer和PGA; 4、12位电压输出DAC、Dual 16-BIT - DAC; 5、32kbyte程序存储器、4kbyte用户信息Flash存储器、256RAM+2048XRAM(byte); 6、PLL(12.58 MHz max)(片外只需接32.768kHz晶振); 7、316位定时/计数器、看门狗定时器; 8、11中断源(2优先级)、11位堆栈指针; 9、24I/O+8模拟或数字输入; 10、UART、 SPI和I2C、高速115200波特率发生; 11、Power supply monitor、上电复位、Du
9、al 200A激励电流源。1.2.2 单片机引脚分布 详见原理图。Pin14:(P1.0P1.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激励电流
10、源,可配合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和
11、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.03也作为4X4矩阵式键盘的扫描输出信号、步进电机的控制信号、数码管第数码管第6、7、8位位码。但是SPI、4X4矩阵式键盘、步进电机、数码管第6、7、8位功能不能同时实现。Pin32、Pin33:接外部
12、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和LCD1286
13、4的数据总线,数码管的段码。1.3 电源模块 电源模块原理图如图1.2所示。本学习板共有如下3种供电方式: (1)5V电源适配器供电(开关往上拨、插针1下面两脚接跳线帽)。将开关sw4第2、3脚接通(开关往上拨),电源网络DVDD连接到插针1第2脚的输出,将插针1的第1、2脚(插针1下面两脚)接跳线帽,DVDD直接连接到电源适配器输入端,即为5V电源适配器供电模式。(2)712V电源适配器供电(开关往上拨、插针1上面两脚接跳线帽) 将开关sw4第2、3脚接通(开关往上拨),电源网络DVDD连接到插针1第2脚的输出,将插针1的第2、3脚(插针1上面两脚)接跳线帽,DVDD连接到稳压芯片7805的
14、输出,而7805的输入端连接到电源适配器输入端,即为712V的电源适配器经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脚
15、在板上的分布和在原理图上的类似,均为1脚朝上。模拟信号有两种输入方式: (1)两路单端输入。把输入信号电压高的一端接到第1脚,电压低的一端接到同一个接口的第2脚。(2)一路差分输入。把输入信号的两端分别接到CONAIN1和CONAIN2的第1脚。1.4.2 数模转换 ADuC848内部有12位DAC,并有专门的DA输出引脚。DAC信号输出模块原理图如图1.4所示。图1.4 DAC信号输出模块本设计对片内DA的输出配置了运放LM358(该运放在单电源情况下对较低电平仍具有很好跟随效果),以增强其驱动能力或对DA输出做适当放大,其中R56和R57的大小决定放大倍数(A=1+R90/R89)。1.5
16、 RS232串口 串口连接原理图如图1.5所示。图1.5 RS232串口模块该模块中采用maxin公司的max232作电平转换,为方便调试硬件,对RXD,TXD信号设测试点和LED。测试点和LED具体位置参见附图1。1.6 PS/2接口和红外接收 该模块原理图如图1.6所示。图1.6 PS/2接口和红外接收模块本设计中外部中断0(P3.2)连接到PS/2接口的时钟信号或者红外接收头SM0038的输出。可以通过插针进行选择。外部中断1作普通IO口使用。该模块原理图如图2.6所示。关键网络名解释: (1)PS2_CLK:PS/2接口时钟信号(2)PS2_DATA:PS/2接口数据信号(3)INT0
17、:外部中断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.1 LCD显示 LCD显示信号连接图如图1.7所示。图1.7 LCD信号连接关键网络名和引脚名解释: (1)DISCTRL04:显示控制信号。
18、(2)D0D7、DB0DB7:数据总线。(3)E:LCD使能信号。(4)RS:数据、指令选择信号。(5)RW:读、写选择信号。(6)CS1、CS2:LCD12864由两部分组成,CS1和CS2为选择信号。板上接口4的上排位LCD12864的接口,下排位LCD1602的接口,排针和排母左对齐插入。切勿插错。1.7.2 数码管 该模块原理如图1.8所示。图1.8 数码管驱动电路关键网络名解释: (1)DS07:数码管段码。(2)BIT07:数码管位码。(3)MOTORAD:步进电机驱动信号。(4)DISCTRL04:显示控制信号,控制数码管低5位。(5)D08:单片机P0口。本设计采用共阴极数码管
19、,段码由PNP三极管驱动,位码由NPN型三极管驱动。引脚复用: 数码管低5位(板上为右边5位)的位码由DISCTRL04控制,可单独使用,高3位的位码控制信号与SPI信号,电机驱动信号,4X4矩阵式键盘复用,使用数码管高3位时参与复用的其他功能则不能使用。插针配置: (1)若要使用数码管第40位(板上为右边5位),可以接通插针8,为减少功耗,不用请断开。(2)若要使用数码管第75位(板上为左边3位),可以分别接通插针57和9,为减少功耗,不用请断开。1.7.3 8路LED 该模块原理如图1.9所示。图1.9 8路LED 8个LED接P0口,低电平时LED亮,这样不会影响P0口逻辑电平。LED限
20、流电阻取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)
21、若要使用蜂鸣器,可以接通插针3,为减少功耗,不用请断开。(2)若要使用红外二极管,可以接通插针4,为减少功耗,不用请断开。1.9 SPI接口、步进电机控制 该模块原理图如图1.11所示。图1.11 步进电机驱动电路本设计中步进电机为5V、70欧姆、4相步进电机。引脚复用: AduC848内部有SPI通信模块,所占用的引脚为P2.0P2.3。同时,P2.0P2.3又复用作步进电机控制信号、4X4矩阵式键盘列扫描信号,P2.1P2.3还复用为数码管第5、6、7位位码控制信号。参与复用的一项功能使用时,其他参与复用的功能则不能使用。插针配置: (1)若要驱动步进电机,可以接通插针9,为减少功耗,不用
22、请断开。1.10 按键输入 该模块原理如图1.12所示。图1.12 按键模块由于P1口(用于行扫描)内部无上拉电阻,为使无键按下时行信号为高电平,故将行信号接上拉电阻,电阻大小10K即可。引脚复用:P2.0P2.3为4X4矩阵式键盘列扫描信号,又复用作步进电机控制信号,SPI信号、P2.1P2.3还复用为数码管第5、6、7位位码控制信号。参与复用的一项功能使用时,其他参与复用的功能则不能使用。插针配置: (1)插针10上面两脚接跳线帽,4X4矩阵式键盘输入,行扫描信号为P1.0P1.3,列扫描信号为P2.02.3。(2)插针10下面两脚接跳线帽,独立按键输入,该模式有4个独立按键可用,按键扫描
23、所用端口为P1.0P1.3。这4个按键为4X4矩阵键盘的左边4个按键。1.11 IIC总线(RTC时钟和EEPROM) 该模块原理图如图1.13所示。图1.13 IIC总线连接AduC848片内有I2C模块,并有独立的引脚SCLOCK和SDATA。板上的RTC时钟芯片DS1307和EEPROM芯片AT24C08均使用了I2C总线。板上设置了I2C接口,方便MCU与板外的I2C设备进行通信。对SCLOCK和SDATA设置了测试点。具体位置参见附图1。1.12 复位与下载 复位与下载电路如图1.14所示。图1.14 复位与下载进入下载或调试模式的步骤为: (1)按住BTN1(down or deb
24、ug按键)不要放开; (2)按下BTN2(reset按键),然后放开BTN2(reset按键);(3)放开BTN1(down or debug按键)。这样单片机就进入了调试模式,可以下载或调试程序。第二章 基础实验 汇编实验实验一 I/O 口控制实验一、实验目的1、学习P0、P1、P2、P3口的使用方法2、学习延时子程序的编写和使用3、学习Keil uVision4软件的使用二、实验内容及步骤用P0 口做输出口,接八位LED显示,程序功能使发光二极管从右到左轮流循环点亮。1、使用单片机最小应用系统。开关往下拨,使用5VUSB电源模式。若要使用其他电源,开关和插针1的设置请参考1.3节; 2、插
25、针2(LED)用短路帽接通,使能连接板上8路LED。其它插针如下图。3、在线下载和调试程序前请检查硬件配置、电源的连接、RS232通信线的连接、工程设置、通信端口的选择。4、打开Keil uVision4仿真软件,首先建立本实验的项目文件,接着添加源程序,进行编译,直到编译无误。进行软件设置,选择硬件仿真,选择串行口。5、打开电源,点击开始调试按钮,点击RUN 按钮运行程序,观察发光二极管显示情况。发光二极管单只从右到左轮流循环点亮。三、流程图及源程序1流程图2源程序ORG 0000H LJMP LOOP ORG 0100HLOOP:MOV R3, #0FEHMOV R2,#08HOUTPUT
26、: MOV P0,R3MOV A,R3RL AMOV R3,AACALL DELAYDJNZ R2,OUTPUTLJMP LOOPDELAY: MOV R6,#00HMOV R7,#00HDELAYLOOP: DJNZ R6,DELAYLOOP ;延时程序DJNZ R7,DELAYLOOPRETEND四、思考题(1)修改程序,使发光二极管的现象发生变化。 例如:全亮 发光二极管一个一个的熄灭 全灭,循环显示(2)对于本实验延时子程序Delay: MOV R6,#00HMOV R7,#00HDelayLoop:DJNZ R6,DelayLoopDJNZ R7,DelayLoopRET假设使用12
27、MHz 晶振,粗略计算此程序的执行时间为多少?实验二 定时器、中断实验一、实验目的1学习CPU内部计数器的使用和编程方法。2掌握中断处理程序的编程方法。3 掌握Proteus软件的使用方法二、实验内容和原理1、实验内容模拟时序控制装置。观测发光二极管现象:L1、3L2、4L5、7L6、8L1、3、5、7L2、4、6、8全亮全灭 2、时间常数的计算。CPU内部定时器,按方式工作,每秒钟溢出中断一次。(假设使用6.144MHz 晶振)机器周期晶振频率()设初值为,则(),三、实验步骤(略,同实验一)四、程序流程图及源程序:1、中断子程序流程图:中断入口关闭计数控制位计数值减1装入时间常数开放计数控
28、制位返回2、主程序流程图入口置首显示代码(A),初始地址偏移量(R1),计数初值(R0)定时器1初始化,设计数初值开放EA,ET1,TR1R0=0装计数初值于R0指向下一个显示代码单元地址偏移=10装入初始偏移量从表中取显示代码显示NNY3、 程序清单:ORG 0000HLJMP STARTORG 001BHJMP IT11ORG 0030HSTART: MOV A,#0FAHMOV R1,#03HMOV R0,#0AHMOVTMOD,#10HMOV TL1,#00HMOV TH1,#38HORL IE,#88HSETB TR1LOOP1: CJNE R0,#00,DISPMOV R0,#0A
29、HINC R1CJNE R1,#0BH,LOOP2MOV R1,#03LOOP2: MOV A,R1MOVC A,A+PCLJMP DISPDB 0FAH,0F5H,0AFH,5FH,0AAH,55H,00H,0FFHDISP: MOV P0,AJMP LOOP1IT11: CLR TR1DEC R0MOV TL1,#00HMOV TH1,#38HSETB TR1RETIEND 五、思考题:1、 改变发光二极管闪烁的间隔时间。2 、P1口添加一个暂停按键,当该键按下时显示暂停,保持当前状态;再次按键,继续显示。3、去掉定时与中断,编写延时子程序。4、P1口添加多个按键,分别对应实现不同的显示功
30、能。(例如:暂停键、显示状态顺序执行和逆序执行键)实验三 数码显示实验一、实验目的1进一步掌握定时器的使用和编程方法。2了解七段数码显示数字的原理。3熟练掌握Keil uVision4和Proteus联调的方法。二、实验内容做一个电子钟:利用定时器0定时中断,控制电子钟走时;利用单片机上的四位数码管显示分钟和秒钟。 三、程序流程图和源程序初始化程序1、主程序流程图 开始计数取显示单元值,转为段码送段数据口显示缓冲单元首址R0,扫描初值R2扫描值送位数据口显示单元地址加一扫描值带进位位(=0)右移一位N扫描值=0? Y取分、秒计数值,经变换放入相应显示单元2、中断子程序流程图:中断入口定时器置初
31、值Y计时单元=10? NY计时单元置0秒加一,十进制调整秒值=60? N Y秒置0,分加一,十进制调整分值=60? NY分置0返 回3、程序清单:ST_ADDR EQU 0000HBUF EQU 23HSBF EQU 22H;存放秒MBF EQU 21H;存放分ORG ST_ADDRLJMP MAINORG ST_ADDR+0BH;定时器0中断入口LJMP CLOCKORG ST_ADDR+200HMAIN: MOV R0,#40H MOV A,#00H MOV R0,A INC R0 MOV R0,A INC R0 MOV R0,A INC R0 MOV R0,A INC R0 MOV R0
32、,A INC R0 MOV R0,A ANL TMOD,#0F0H ORL TMOD,#01H MOV TL0,#00H MOV TH0,#38H MOV BUF,#00H;清零 MOV SBF,#00H MOV MBF,#00H SETB ET0;开定时器0 SETB EA SETB TR0DS1: MOV R0,#45H MOV R2,#08HDS2: CLR P2.4 MOV A,R2 MOV P3,R2 MOV A,R0 LCALL TABLE MOV P0,A LCALL DELAY1;延时 DEC R0 CLR C MOV A,R2 RLC A MOV R2,A CJNE R2,#
33、10H,LL RLC A MOV R2,A LL:CJNE R2,#00H,DS2 MOV R0,#45H MOV A,SBF LCALL GET MOV A,MBF LCALL GET SJMP DS1TABLE: INC A MOVC A,A+PC RETDB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,19H,0BFHGET: MOV R1,A ANL A,#0FH MOV R0,A DEC R0 MOV A,R1 SWAP A ANL A,#0FH MOV R0,A DEC R0 RETCLOCK:MOV TL0,#00H;定时器中断子程序 MOV TH0,
34、#38H PUSH PSW PUSH ACC INC BUF MOV A,BUF CJNE A,#0AH,QUIT MOV BUF,#00H MOV A,SBF INC A DA A MOV SBF,A CJNE A,#60H,QUIT MOV SBF,#00H MOV A,MBF ADD A,#1H DA A MOV MBF,A CJNE A,#60H,QUIT MOV MBF,#00H QUIT: POP ACC POP PSW RETIDELAY1: MOV R4,#10;延时程序DEL11: MOV R5,#0AHDEL12: MOV R3,#18HDEL13: DJNZ R3,DEL
35、13 DJNZ R5,DEL12 DJNZ R4,DEL11 RET END四、实验板插针配置: 使用数码管第30位(板上为右边4位),用短路子接通插针8。五、思考题1改变显示内容,使数码管显示小时和分钟。2在第一题的基础上,改写程序,使第二个数码管的小数点做为秒闪,按一秒的周期闪烁。3在原程序的基础上,改写程序,使数码管分时显示小时和分钟、分钟和秒钟。4添加按键,可以调整时钟和分钟。实验四 蜂鸣器驱动实验一、实验目的1了解输入/输出端口控制方法。2了解音频发声原理。二、实验原理音阶由不同频率的方波产生,音阶与频率的关系如表一所示。方波的频率由定时器控制。定时器计数溢出后,产生中断,将P2.6
36、口取反即得周期方波。每个音阶相应的定时器初值可按下法计算:晶振为6.144MHZ时,音阶“1”相应的定时器初值为X,则1262*2=(216-X)*12(6.144*106)可得 X=64559D=FC2FH,其它的可同样求得(见下表 单位:HZ,X为16进制)音调45671234567123频率175196220247262294330349392440494523587659XFA49FAE6FB7EFC0CFC2FFC8FFCF8FD23FD73FDBAFDFAFE18FE4CFE94音的节拍由延时子程序实现。延时子程序实现基本延时时间,节拍值只能是它的整数倍。三、实验内容及步骤利用P2
37、.6口输出不同频率的脉冲通过蜂鸣器发出不同频率音调。用短路帽接通插针三。四、程序流程图和源程序1、中断子程序流程图2、主程序流程图3、源程序清单ST_ADDREQU 0000HORGST_ADDRLJMPMAINORGST_ADDR+1BHLJMPINT_0ORGST_ADDR+200HMAIN:ANLTMOD,#0FHORLTMOD,#10HSETBET1SETBEAMOVDPTR,#TONEMOVA,#00HLOP:MOVCA,A+DPTRJZMAINMOVR5,AMOVTH1,AINCDPTRMOVA,#00HMOVCA,A+DPTRMOVR6,AMOVTL1,R6SETBTR1INCD
38、PTRMOVA,#00HMOVCA,A+DPTRMOVR2,ALOOP1:MOVR3,#80HLOOP2:MOVR4,#0FFHLOOP3:DJNZR4,LOOP3DJNZR3,LOOP2DJNZR2,LOOP1INCDPTRMOVA,#00HLJMPLOPINT_0:PUSHDPHPUSHDPLPUSHACCCPLP2.6MOVTH1,R5MOVTL1,R6SETBTR1POPACCPOPDPLPOPDPHRETITONE:DB0FCH,2FH,04H,0FCH,99H,04H,0FCH,0F8H,04H,0FDH,22H,04HDB0FDH,073H,04H,0FDH,0BCH,04H,0
39、FDH,0FAH,04H,0FEH,17H,04HDB0FEH,17H,04H,0FDH,0FAH,04H,0FDH,0BCH,04H,0FDH,73H,04H,0FDH,22H,04H,DB 0FCH,0F8H,04H,0FCH,99H,04H,0FCH,2FH,04H,00H,00H,00HEND五、思考题1、改编一首完整的新的歌曲。实验五 12864 点阵型液晶显示实验一、实验目的1、了解点阵型液晶显示器的工作原理。2、了解点阵型液晶显示器控制方式。二、实验原理1、SMG12864D3 液晶显示模块的概述: SMG12864D3标准图形点阵型液晶显示模块(LCM),采用点阵型液晶显示器(
40、LCD),可显示128X64点阵,点尺寸为0.39X0.55(WXH)mm,内置 KS0108B 接口型液晶显示控制器,可与 MCU 单片机直接连接,广泛应用于各类仪器仪表及电子设备。2、SMG12864D3 液晶显示模块的主要技术参数: 产品型号 显示模式 工作温度 存储温度 工作电压 工作电流 颜色 电流SMG12864D3 黄绿模 宽温-20+60 -30+70 4.85.2V 5.0mA,5.0V 黄绿 30mA3、SMG12864D3 液晶显示模块的接口信号说明: 编号 符号 引脚说明 编号 符号 引脚说明 1 CS2 片选IC2信号 11 DB2 Data I/O 2 CS1 片选IC1信号 12 DB3 Data I/O 3 VSS 电源地 13 DB4 Data I/O 4 VDD 电源正极(+5V) 14 DB5 Data I/O 5 V0 LCD偏压输入 15 DB6 Data I/O 6 RS 数据/命令选择端(H/L) 16 DB7 Data I/O 7 RW 读写控制信号(H/L) 17 /RESET 复位端