这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » pic单片机闪灯实验(Hello World)实验报告

共3条 1/1 1 跳转至

pic单片机闪灯实验(Hello World)实验报告

助工
2015-01-15 11:01:06     打赏
1. 实验目的
A,学习汇编语言编程
B,学习使用编程软件和下载器在单片机上编程
C,学习学习嵌入式的方法
2. 任务要求用汇编语言编程实现LED灯闪烁
3. 实验器材单片机PIC16F886一片、LED灯一只、电阻任选、下载器(及相关的线)一个
4. 实验方案






图1硬件设计图




5. 调试过程先使LED灯亮,再写延时程序,最后实现闪灯。最后的结果是可以实现闪灯,但是闪灯的频率和亮灭时间比例还不能精确控制。
6. 实验现象分析奇怪的现象:(还没有解决)
1,只写让LED灯亮的程序,即
LIST p=16f886
INCLUDE p16f886.inc
ORG 0x00
BANKSEL TRISC
CLRF TRISC
CLRF STATUS
MOVLW B'00001111'
MOVWF PORTC
END
时,在PICKIT 2中选择5V on ,测得Vdd=4.2V,万用表直流电压档测得PIN RC3 是2.7V ,示波器测时发现RC3引脚是频率是50Hz,幅值是2.7V的正方波。LED可以一直亮,但是不是预期的一直置位。还没有找到原因。
2,如果采用延时、翻转如此循环,即循环部分分别为
A.loop call delay
comf portc,1
goto loop
B.loop call delay
call delay
call delay
call delay
call delay
comf portc,1
goto loop
C.loop call delay
call delay
call delay
call delay
call delay
call delay
call delay
call delay
call delay
call delay
comf portc,1
goto loop
时,测到的实际频率都在0.48Hz左右(采用的时候总周期是默认的4MHz),然而一个循环中delay调用次数越多,灯亮的时间越短,灭的时间越长。当时钟频率选择127kHz时,调用3个delay时就已经不会亮了。
3,如果采用清零、延时、置位、延时的循环,发现LED每次亮灭的时间基本相同,但是,每亮灭五次后,会有一次灯灭的时间稍微长一点。改变时钟频率后也是这样。猜测是delay函数写得有问题。
这三个现象计划的解决方法是单步调试和仿真。
(写完这份报告时,杜航同学提醒说我在delay中用到了decfsz函数,而decfsz函数的操作范围只有0~127,而我设置的却是0ffh,已超出该范围。)
之前曹航用127kHz的时钟,假设四个时钟周期是一个指令周期,假设按照之前以为的2^8*2^8*2*2,周期在8s左右,实验出来的结果却在2s左右。按照杜航的说法,实际的一个周期内指令一共2^7*2^7*2*2,则计算得到灯的周期为2.06秒,实验时计算到的现象是亮灯周期2s左右,比较符合。但是具体是不是这样还要进一步验证。
额,刚刚把delay中的0ffh改成07fh发现灯明显闪烁快了。所以之前的假设不成立。
附:
INCLUDE P16F886.INCorg 000h nop BANKSEL OSCCONBCF OSCCON,4BCF OSCCON,5BSF OSCCON,6BANKSEL TRISCmovlw 00h movwf TRISC BANKSEL PORTC movlw 000h movwf PORTC  loop CALL delayBSF PORTC,3CALL delayBCF PORTC,3goto loop
;-------------------------廷时子程序----------------------------delay ;子程序名,也是子程序入口地址 movlw 0ffh ;将外层循环参数值FFH经过W movwf 20h ;送入用作外循环变量的20H单元lp0 movlw 0ffh ;将内层循环参数值FFH经过W movwf 21h ;送入用作内循环变量的21H单元lp1 decfsz 21h,1 ;变量21H内容递减,若为0跳跃 goto lp1 ;跳转到LP1处 decfsz 20h,1 ;变量20H内容递减,若为0跳跃 goto lp0 ;跳跃到LP0处return
end




关键词: 单片机     闪灯     实验    

专家
2015-05-01 07:33:06     打赏
2楼

学习一下。。。。。。。。。。。


院士
2016-10-14 12:03:17     打赏
3楼
学习学习这个

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]