实验四 数码管的动态显示实验
- 格式:doc
- 大小:364.93 KB
- 文档页数:8
设计报告设计任务:设计一个智能化万年历时钟电路,LED数码管作为电路的显示部分,按钮开关作为调时部分,通过与单片机连接数码管动态显示年、月、日、时、分、秒、星期、温度。
并能准确计算闰年闰月的显示。
设计要求:通过与单片机连接数码管动态显示年、月、日、时、分、秒、星期等功能,并能准确计算闰年闰月的显示,三个个按钮连接P3.0、P3.1、P3.2可以精确调整每一个时间数值,通过对所设计的万年历时钟电路进行实验测试,达到了动态显示时间,随时调整时间等技术所连线路和单片机接口仿真图如图3所示:图3 仿真按键4)温度采集部分:DS18B20温度传感器,测温范围-55℃~+125℃,固有测温分辨率0.5℃。
独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
DS18B20的采集数据通过DQ传入单片机,单片机读取数据后将数据输出!如图所示:程序如下:ReadOneChar(void){unsigned char i=0;// 定义i用于循环unsigned char dat = 0;// 读取的8位数据for (i=8;i>0;i--)//8次循环{DQ = 0;// 拉低DQ总线开始读时序dat>>=1;// dat左移一位DQ = 1; //释放DQ总线if(DQ)// 如果DQ=1,执dat|=0x80;(0x80即第7位为1,如果DQ为1,即读取的数据为1,将dat的第7为置1,然后dat>>=1,循环8次结束,dat 即为读取的数据)//DQ=0,就跳过dat|=0x80;Tdelay(4);// 延时以完成此次读时序,之后再读下一数据}return(dat); 返回读取的dat}//写一个字节WriteOneChar(unsigned char dat){unsigned char i=0;//for (i=8; i>0; i--)//{DQ = 0;//DQ = dat&0x01;//Tdelay(5);//延时以完成此次读时序,之后再读下一数据DQ = 1;//dat>>=1;//}}//读取温度ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;//Init_DS18B20();WriteOneChar(0xCC);// 写指令,跳过ROM,WriteOneChar(0x44);// 启动温度转换Init_DS18B20();WriteOneChar(0xCC);// 写指令,跳过ROM,WriteOneChar(0xBE);// 写指令,读暂存存储器a=ReadOneChar();//读低8位b=ReadOneChar();//读高8位t=b;//t<<=8;//t=t|a;//tt=t*0.0625;//t= tt*10+0.5;//return(t); //获得0.01°C 的精度并返回}LED数码管的选择LED数码管分为共阴和共阳两种,以利用STC89C51的P0口作为LED显示的数据部分,以P2口的七个口作为显示部分的位选,通过三八译码器和4-16译码器扩展为17位的位选分别接在一个四位数码管和13个数码管的位选部分。
实验五学号的显示一、实验目的利用数码管动态扫描显示的原理编写程序,实现自己的学号的显示。
二、实验原理和内容实验内容:1在SmartSOPC实验箱上完成了LED数码管的动态显示“40710840”八个数字。
2放慢扫描速度演示动态显示的原理过程。
实验原理:数码管的八个段:a,b,c,d,e,f,g,h(h是小数点)都分别连接到SEG0-SEG7,8个数码管分别由八个选通信号DIG0-DIG7来选择,被选通的数码管显示数据,其余关闭。
三、实验步骤1启动QuartusⅡ建立一个空白工程,然后命名为dled.qpf。
2新建Verilog HDL源程序文件scan_led.v,输入程序代码并保存,进行综合编译知道成功为止。
3从设计文件创建模块,有scan_led.v生成名为scan_led.bsf 的模块符号文件。
4将光盘中EDA_Component目录下的int_div.bsf和int_div.v 拷贝到工程目录。
5添加常量兆功能模块。
6新建图形设计文件(顶层模块)命名为dled.bdf并保存。
7选择目标器件并对相应的引脚进行锁定。
8将dled.bdf设置为顶层实体。
对该工程文件进行全程编译处理,直到编译成功为止。
9连接硬件,下载程序。
10观察LED数码管上的数字是否为“40710840”;然后修改分频模块的参数为:F_DIV为24000000,F_DIV_WIDTH为25,再重新编译下载,观察这次LED数码管上显示的数据是否动起来了。
四、程序代码:module dec17s(clk,dig,seg);inputclk;output[7:0]seg;output[7:0]dig;reg [7:0]seg;reg [7:0]dig;reg[3:0]m;always@(posedgeclk)beginif (m==4'hf)m<=0;else m<=m+1;case(m)4'h0:begin dig<=8'b11111110; seg<=8'h99;end4'h1:begin dig<=8'b11111101; seg<=8'hc0;end4'h2:begin dig<=8'b11111011; seg<=8'hf8;end4'h3:begin dig<=8'b11110111; seg<=8'hf9;end4'h4:begin dig<=8'b11101111; seg<=8'hc0;end4'h5:begin dig<=8'b11011111; seg<=8'hf9;end4'h6:begin dig<=8'b10111111; seg<=8'ha4;end4'h7:begin dig<=8'b01111111; seg<=8'hf9;end default:seg<=8'hc0;endcaseendendmodule五、实验数据与结果通过同学跟老师的指导,再经过几次的调试,终于在数码管上显示出了自己的学号:40710121六、实验总结通过数码管编译显示自己的学号后8位,学会数码管动显示的原理,以及如何编写程序来实现数码管的静态与动态显。
EDA实验报告-实验2-数码管扫描显⽰电路暨南⼤学本科实验报告专⽤纸课程名称 EDA 实验成绩评定实验项⽬名称数码管扫描显⽰电路指导教师郭江陵实验项⽬编号 02 实验项⽬类型验证实验地点 B305 学院电⽓信息学院系专业物联⽹⼯程组号: A6⼀、实验前准备本实验例⼦使⽤独⽴扩展下载板EP1K10_30_50_100QC208(芯⽚为EP1K100QC208)。
EDAPRO/240H 实验仪主板的VCCINT 跳线器右跳设定为3.3V ;EDAPRO/240H 实验仪主板的VCCIO 跳线器组中“VCCIO3.3V ”应短接,其余VCCIO 均断开;独⽴扩展下载板“EP1K10_30_50_100QC208”的VCCINT 跳线器组设定为 2.5V ;独⽴扩展下载板“EP1K10_30_50_100QC208”的VCCIO 跳线器组设定为3.3V 。
请参考前⾯第⼆章中关于“电源模块”的说明。
⼆、实验⽬的1、了解时序电路设计。
2、制作⼀个数码管显⽰的7段译码电路,以备以后调⽤。
三、实验原理在电⼦电路显⽰部分⾥,发光⼆极管(LED )、七段显⽰数码管、液晶显⽰(LCD )均是⼗分常见的⼈机接⼝电路。
通常点亮⼀个LED 所需的电流在5~20mA 之间,电流愈⼤,LED 的亮度也⾼,相对的使⽤寿命也愈短。
若以10mA 导通电流来估算⼀个接5V 的串接电阻值计算应为:(5-1.6)/10mA ≈0.34K Ω。
七段显⽰数码管分为共阳、共阴⼆种极性。
它们等效成⼋个LED 相连电路。
共阴极七段显⽰器的LED 位置定义和等效电路共阴极七段显⽰码⼗六进制转换表四、实验内容⽤拨码开关产⽣8421BCD 码,CPLD 器件产⽣译码及扫描电路,把BCD 码显⽰在LED 数码管上,通过改变扫描频率观察数码管刷新效果。
五、实验要求学习在MAX+PLUS II 中使⽤VHDL 设计功能模块,并将所⽣成的功能模块转换成MAX+PLUS II 原理图的符号库,以便在使⽤原理图时调⽤该库。
思考题:习题:1、⽤数字存储⽰波器测试直流信号时,若采⽤Quick Meas测试应选哪项参数?A、Peak——PeakB、Average答案:B2、⼩规模的TTL电路,不⽤的输⼊端可以悬空处理,此时相当于。
A、⾼电平B、低电平答案:A3、输出阻抗为50Ω的信号源输出V PP=1V,f=1kH Z的信号,⽤⽰波器测量空载时的输出信号V PP= 。
答案:2V4、动态测试对于模拟集成电路要加上,对于数字电路,输⼊信号多采⽤。
答案:交流测试信号,连续脉冲,周期性变化的逻辑信号。
5、若给数字提供1KHz的时钟信号,应采⽤。
A、1KHz TTL信号B、1KHz 峰峰值为5V的标准⽅波信号C、两者均可答案:A6、判断:由数据选择器和数据分配器组成的多路数据传送系统,既可传送数字信号,⼜可传送模拟信号。
()答案:错误7、判断:集成电路都是有源器件。
()答案:正确8、集成电路按所体现的功能可分为:,,,。
答案:模拟集成电路,数字集成电路,接⼝电路,特殊电路。
9、静态测试是只研究电路的各种_________________情况,不去管各种状态间的转换的过渡情况。
对于模拟集成电路,此时不加___________________;对于数字集成电路,多采⽤____________________________________________。
答案:静态和稳态,交流测试信号,逻辑电平或单脉冲10、如何⽤两⽚CD4008实现⼋位⼆进制数加法?画出电路图。
答:可⽤下图实现11、什么异或门可⽤作⾮门⽤?答:因为A⊕B=A B +A B,当B=1时,A⊕1=A,就可实现对A取⾮。
12、全加器实现两数相减时,结果符号如何判断?答:⽤进位位C0来表⽰。
C0=1时,表⽰结果为⾮负数;C0=0时,表⽰结果为负数。
13、为什么CMOS门电路输⼊端不能悬空?答:CMOS电路所有输⼊端不允许悬空。
因为悬空时,其输⼊端电平不定,电路状态将不稳定,⽽且⽤⼿触及悬空端时,极易造成栅极击穿,造成永久性损坏。
实验四编码器、译码器、数码管一、实验目的1.掌握编码器、译码器和七段数码管的工作原理和特点。
2.熟悉常用编码器、译码器、七段数码管的逻辑功能和他们的典型应用。
3. 熟悉“数字拨码器”(即“拨码开关”)的使用。
二、实验器材1. 数字实验箱 1台2. 集成电路:74LS139、 74LS248、 74LS145、 74LS147、 74LS148 各1片74LS138 2片3. 电阻: 200Ω 14个4. 七段显示数码管:LTS—547RF 1个三、预习要求1.复习编码器、译码器和七段数码管的工作原理和设计方法。
2. 熟悉实验中所用编码器、译码器、七段数码管集成电路的管脚排列和逻辑功能。
3. 画好实验用逻辑表。
四、实验原理和电路按照逻辑功能的不同特点,常把数字电路分成两大类:一类叫做组合逻辑电路,另一类叫做时序逻辑电路。
组合逻辑电路在任何时刻其输出信号的稳态值,仅决定于该时刻各个输人端信号的取值组合。
在这种电路中,输入信号作用以前电路的状态对输出信号无影响。
通常,组合逻辑电路由门电路组成。
(一)组合逻辑电路的分析方法:a.根据逻辑图,逐级写出函数表达式。
b.进行化简:用公式法或图形法进行化简、归纳。
必要时,画出真值表分析逻辑功能。
(二)组合逻辑电路的设计方法:从给定逻辑要求出发,求出逻辑图。
一般分以下四步进行。
a.分析要求:将问题分析清楚,理清哪些是输入变量,哪些是输出函数。
进行逻辑变量定义(即定义字母A、B、C、D ……所代表的具体事物)。
b. 根据要求的输入、输出关系,列出真值表。
c. 进行化简:变量比较少时,用图形法;变量多时,可用公式法化简。
化简后,得出逻辑式。
d. 画逻辑图:按逻辑式画出逻辑图。
进行上述四步工作,设计已基本完成,但还需选择元件——数字集成电路,进行实验论证。
值得注意的是,这些步骤的顺序并不是固定不变的,实际设计时,应根据具体情况和问题难易程度进行取舍。
(三)常用组合逻辑电路:1.编码器编码器是一种常用的组合逻辑电路,用于实现编码操作。
南昌大学实验报告学生姓名:学号:专业班级:实验类型:⃞验证⃞综合⃞设计⃞创新实验日期:2019. 4.30 实验成绩:实验四外部中断实验(一)实验目的1.掌握单片机外部中断原理;2.掌握数码管动态显示原理。
(二)设计要求1.使用外部中断0和外部中断1;2.在动态数码管上显示中断0次数,中断1用作次数清0,数码管采用74HC595驱动。
(三)实验原理1.中断:计算机执行主程序过程中,由于临时重要事件,需要暂停当前程序的运行,转到中断服务程序去处理临时事件,处理完后又返回原程序的断点处继续运行。
图1STC15单片机的中断系统包含21个中断源,2个中断优先级,二级中断服务嵌套,中断允许寄存器IE、IE2和INT_CLKO控制中断允许。
中断优先级寄存器IP、IP2管理中断优先级。
同优先级中断同时提出中断请求时,由内部的查询逻辑确定响应次序。
中断请求源中的外部中断0(INT0)和外部中断1(INT1)详述如下:1)外部中断0(INT0):中断信号由P3.2引脚输入。
通过IT0来设置中断请求的触发方式。
当IT0为“1”时,外部中断0为下降沿触发;当IT0为“0”时,无论是上升沿还是下降沿,都会引发外部中断0.一旦输入信号有效,则置位IE0标志,向CPU申请终端。
2)外部中断1(INT1):中断信号由P3.3引脚输入。
通过IT1来设置中断请求的触发方式。
当IT1为“1”时,外部中断0为下降沿触发;当IT1为“0”时,无论是上升沿还是下降沿,都会引发外部中断0.一旦输入信号有效,则置位IE0标志,向CPU申请终端。
2.LED数码管是显示数字和字母的常见显示器件,由8个发光二极管构成,结构如图2:图2段码:a、b、c、d、e、f、g、dp段的二进制代码(a为最低位),控制显示字型。
位选:公共端com,控制数码管是否显示。
3.数码管动态显示原理:任何时刻只有一个数码管处于显示状态,单片机采用“扫描”方式控制各个数码管轮流显示,通常将所有数码管段码线的相应段并联在一起,由一个8位I/O 端口控制。
实验二七段数码管动态显示控制一、实验目的利用AT89S52和使用两位数码管显示器,循环显示两位数00-99。
其中P2.0和P2.1端口分别控制数码管的个位和十位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过驱动三极管给数码管相应的位供电,这时只要P3口送出数字的显示代码,数码管就能正常显示数字。
二、实验要求1、使用两位数码管显示器,循环显示两位数00-99;2、具有电源开关和指示灯,有复位键;3、数码管动态显示,即扫描方式,每一位每间隔一段时间扫描一次。
字符的亮度及清晰度与每位点亮的停留时间和每位显示的时间内轮换导通次数有关。
三、实验电路四、实验器材AT89S52;动态扫描显示;共阳极数码管;电阻五、实验原理说明图1 AT89S52引脚图图2 共阳极七段数码管引脚图1AT89S52引脚图,说明如下:按照功能,AT89S52的引脚可分为主电源、外接晶体振荡或振荡器、多功能I/O 口、控制和复位等。
1.多功能I/O口AT89S52共有四个8位的并行I/O口:P0、P1、P2、P3端口,对应的引脚分别是P0.0 ~ P0.7,P1.0 ~ P1.7,P2.0 ~ P2.7,P3.0 ~ P3.7,共32根I/O线。
每根线可以单独用作输入或输出。
①P0端口,该口是一个8位漏极开路的双向I/O口。
在作为输出口时,每根引脚可以带动8个TTL输入负载。
当把“1”写入P0时,则它的引脚可用作高阻抗输入。
当对外部程序或数据存储器进行存取时,P0可用作多路复用的低字节地址/数据总线,在该模式,P0口拥有内部上拉电阻。
在对Flash存储器进行编程时,P0用于接收代码字节;在校验时,则输出代码字节;此时需要外加上拉电阻。
②P1端口,该口是带有内部上拉电阻的8位双向I/O端口,P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。
实验四动态法测定良导体的热导率【实验简介】在测量热导率的实验中,最普遍采用的方法是稳态法,即在保持被测样品各点温度不随时间变化的情况下测量热流,然后求出热导率,这种方法实验条件要求严格不易测准。
而动态法就将难于测准的热学量的测量转变为容易测准的长度测量,从而显著降低测量误差。
而且,由于学生对机械波、电磁波比较熟悉,而对热波接触甚少,故本实验可使学生产生新鲜感,也拓宽了他们对波动理论的认识。
另外,本实验用微机实现对整个系统的控制、数据的采集、记录和绘图,使学生更好地了解了微机在物理实验中的应用过程。
【实验目的】1.通过实验学会一种测量热导率的方法。
2.解动态法的特点和优越性。
3.认识热波,加强对波动理论的理解。
【实验仪器与用具】仪器主机由用绝热材料紧裹侧表面的圆棒状样品(本实验取铜和铝两种样品)、热电偶列阵(传感器)、实现边界条件的脉动热源及冷却装置组成,见示意图4-1。
样品中热量将只沿轴向传播,在任意一个垂直于棒轴的截面上各点的温度是相同的,于是,只要测量轴线上各点温度分布,就可确定整个棒体上的温度分布。
温度的测量采用热电偶列阵.将热电偶偶端均匀插在棒内轴线处,两个相邻偶间距离均为2cm,为保持棒尾的温度T0恒定,以防止整个棒温起伏,用冷却水冷却。
本实验仪器结构框图见图4-2,该仪器包括样品单元,控制单元和记录单元三大部分。
本仪器由两种工作方式:手动和程控。
他们都含样品单元和控制单元,不同的只是记录单元。
前者用高精度x-y记录仪,后者用微机实现对整个系统的控制、数据的采集、记录和绘图,学生自行数据处理。
图4-1 主机结构示意图图4-2 热导率动态测量以结构框图【实验原理】为使问题简化,令热量沿一维传播,故将样品制成棒状,周边隔热.取一小段样品如图4-3.根据热传导定律,单位时间内流过某垂直于传播方向上面积A的热量,即热流为dq dTkAdt dx=-(4-1)图4-3 棒元其中k 为待测材料的热导率,A 为截面积,文中dxdT 是温度对坐标x 的梯度。
实验四 数码管的动态显示实验
班级 通信1102 姓名 谢剑辉 学号20110803223 指导老师 袁文澹
一、实验目的
熟悉掌握数码管动态显示的基本方法;
根据已知电路和设计要求在实验板上实现数码管动态显示。
根据已知电路和设计要求在PROTEUS平台仿真实现控制系统。
二、实验内容
1、在STC89C52实验平台的4位数码管上实现动态显示0123→1234→2345→3456→
4567→5678→6789→7890→8901→9012→0123→不断反复,每隔2s切换显示内容。
2、思考:如何实现当4位数码管显示的内容中有“1”时,蜂鸣器蜂鸣。
三、实验原理
实验要求“4位数码管上实现动态显示0123→1234→2345→3456→4567→5678→6789
→7890→8901→9012→0123→不断反复,每隔2s切换显示内容”。动态扫描可以实现要求。
简单地说,动态扫描就是选通一位,送一位数据。原理图中的P10~P13是位选信号,即选
择哪个数码管显示数字;P00~P07是段码,即要显示的数字。可以通过依次选通一位7段数
码管并通过P0端口送出显示数据。由于人眼的视觉残留原理,如果这种依次唯一选通每一
位7段数码管的动作在0.1s内完成,就会造成多位数码管同时点亮显示各自数字的假象。
本实验使用中断,实现每2s更新一次数字。
四、实验方法与步骤
设计思路和方法:
1、根据电路图,分析数码管动态显示的设计思路,使用中断实现每2秒更新一次数字的设
计思路,以及实现当4位数码管显示的内容中有“1”时,蜂鸣器蜂鸣的设计思路。
(1)数码管动态显示的原理如“实验原理”里所述,不赘述;
(2)使用中断实现每2s更新一次数字的设计思路:本次实验使用Timer0中断,由于其定
时时间最大为65536us,不能实现2s的长延时,那么可以使用多次中断来实现,并且在中断
到来时,不断地死循环显示数字,即根据动态显示原理“选通一位,来一位数据”。由于最
大的数字为9,则(x%10),(x+1)%10,(x+2)%10,(x+3)%10分别是千位,百位,十
位,个位上的数字。在编写代码时,设臵Timer0定时时间为50ms,可以用一个参数i计算
中断的次数;当中断的次数达到40次时,说明已经达到了2s,此时更新数字,即将数字x
自增1;同时,判断(x%10),(x+1)%10,(x+2)%10,(x+3)%10里面是否有1,如果
有1的话,则将P15臵0,让三极管导通,蜂鸣器蜂鸣。
2、针对电路图及设计要求给出继电器定时控制的程序框图。
设计步骤:
1、编写源代码
第一步:打开Keil uVision4,单击主菜单“project”的“new project”选项,选择工程保存
路径,输入工程名“SMGPro”;在弹出的对话框里选择Atmel的80C51,单击“确定”;
第二步:单击主菜单的“File”的“New”选项,在编辑窗口里编写源代码。
/********************************************
//实验四:数码管的动态显示
//2014.05.10 谢剑辉
********************************************/
#include
sbit sound=P1^5;
sbit s0=P1^0;
sbit s1=P1^1;
sbit s2=P1^2;
sbit s3=P1^3;
unsigned char i; //记录中断次数
unsigned int x; //x%10为千位的数字
unsigned char Tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//数码管显示0~9的段码表
/***********************************************************************
函数功能:快速动态扫描延时程序
***********************************************************************/
void delay(unsigned int timer){
while(timer--)
;}
/***********************************************************************
函数功能:4位数的数码显示器显示
***********************************************************************/
void display(unsigned int k)
{
s0=0;//即P1=1111 1110B,P1.0引脚输出低电平,数码显示器千位接通电源
P0=Tab[k%10];//显示千位
delay(200);
s0=1;
s1=0;//即P1=1111 1101B,P1.1引脚输出低电平,数码显示器百位位接通电源
P0=Tab[(k+1)%10];//显示百位
delay(200);
s1=1;
s2=0;//即P1=1111 1011B,P1.2引脚输出低电平,数码显示器十位接通电源
P0=Tab[(k+2)%10];//显示十位
delay(200);
s2=1;
s3=0;//即P1=1111 0111B ,P1.3引脚输出低电平,数码显示器个位接通电源
P0=Tab[(k+3)%10];//显示个位
delay(200);
s3=1;
}
void main(void)//主函数
{
sound=0;
TMOD=0x01;//使用定时器T0
TH0=(65536-46083)/256;
//上式将定时器计时时间设定为46083×1.085微秒=50000微秒=50毫秒
TL0=(65536-46083)%256;
EA=1;//开启总中断
ET0=1;//定时器T0中断允许
TR0=1;//启动定时器T0开始运行
while(1){
display(x); //调用检测结果的显示程序
}
}
/********************************************************
函数功能:定时器T0的中断服务程序
********************************************************/
void Time0(void) interrupt 1 using 1
{
TR0=0; //关闭定时器T0
i++; //每来一次中断,i自加1
if(i==40) //够40次中断,即2秒钟进行一次检测结果采样
{
x++; //2秒更新一次x
i=0; //将i清0,重新统计中断次数
if(x%10==1||(x+1)%10==1||(x+2)%10==1||(x+3)%10==1)
sound=0;
else
sound=1;
}
TH0=(65536-46083)/256; //重新给计数器T0赋初值
TL0=(65536-46083)%256;
TR0=1; //启动定时器T0
}
第三步:选择主菜单的“File”的“Save”选项,输入文件名如“SMGcode”,后缀名为.c;
第四步:回到编辑界面,单击“Target1”前面的“+”号,在“Source Group1”选项上右击,
选择“Add Files to Group’ Source Group1”,在弹出的窗口的“文件类型”里选择“All Files”
选择“SMGcode.c”,单击“Add”,然后单击“Close”;
第五步:单击左边“Project”窗口的“Target1”,然后选择菜单“Project /Option for
Target ’Target1’,选择“Output”,勾选”Creat HEX File”,点击“确定”;(此步骤是为了生成.hex
文件,用于烧录到板子或者装载到硬件仿真软件,如果不考虑此目的,则可以省略此步骤);
3、编译连接与调试。
(1)编译与连接:点击“Project/Rebuild all Target Files”进行文件编译。编译结果若有错误
或警告,则将要修改直至文件编译成功。编译成功,其结果为:
(2)调试:
第一步:依次点击“Debug”“Start/Stop Debug Session”
第二步:在界面左边出现工作寄存器R0~R7、累加器A等特殊功能寄存器,这些寄存器的
数值会随着调试的进行发生变化;点击F11,会进行单步调试功能;
第三步:界面有反汇编窗口、命令窗口、程序窗口、存储器观察窗口、寄存器观察窗口等,
根据需要来观测。点击“peripjerals”中的“I/O port”选择不同的输出端口,点击“Timer--time0”,
弹出如下窗口:
点击debug中的run,可以看到运行中的P1、P0的输出值以及Timer的工作状态
P0与P1端口的波形:
I