PIC单片机及FPGA实验系统设计 第12页
选择好Device后,点下一步。
如下图(图6-4),这一步比较重要,是选择编译器的,如果你编写的为PIC C语言,就选择HI-TECH PICC Toosuite,如图,如果使用汇编语言编写程序,选择Microchip MPASM Toolsuite,下面是路径选择,一般是自动的,选好后点下一步。
图 6 4
这一步是设置工程名和工程存储路径的,根据自己来选择,这里设定为PIC,
选好后点下一步。图 6 5
图 6 5
这一步是向新建的工程里面添加写好的程序,如果有已经写好的程序,可以添加,没有的话,就点下一步,可以在工程建好以后添加。如图 6 6
图 6 6
选择完成,工程建立完毕。
图 6 7
(2)在工程中添加文件:
先建立一个文件,File->new然后建一个文件,然后选择File->save as,如下界面,新建的工程出现在工程工作界面上,在PIC.MCP中右键选择Sorce Files选择Add File出现下面的对话框,这里是让自己添加文件名,一定要加后缀,你建的C语言文件还是ASM文件,根据你的后缀名决定,这在单独写文件的时候特别重要,这里建议也写上。如图 6 8:
图 6 8
然后出现如下的对话框,在PIC.MCP中右键选择Sorce Files选择Add File出现下面的对话框,选择刚刚建好的PIC文件,选择打开,添加完毕。如图6-9
图 6 9
然后就可以在下面出现的编程界面里面编程,编程完毕好就可以在Project中点击Build All来实现编译功能。
6.1.2 PIC单片机程序设计的流程图及原理
软件设计的几点说明:
●硬件设计的中的晶体振荡使用的4MHZ,所以指令周期为1us,所以在延时定时程序中要计算比较准确的时间就要注意
●软件的编写要符合硬件的连接,比如发光二级管接到D口,软件编写却在C口输出就出现了软件硬件不匹配的错误
●本次软件的编写重在说明原理,大家可以根据原理来自由设计软件流程和编写软件,以达到自己想要的效果
(一)LED发光二级管实验介绍
硬件连接:8个LED发光二级管连接到PIC单片机的D口。PIC单片机的驱动能力很强,可以直接带动发光二级管。
(1)流水灯(图 6 10):文件liushui.C(附件三)
图 6 10
原理说明:⒈器件原理:发光二级别管的原理前面已经说明,其实就是个二级管,当它阳级电压高于阴级电压时,发光二级管通才可以发光,根据硬件设计,D口要输出低电平才可以让LED发光二级管发亮。
⒉软件原理:流水灯就是让灯一个接一个亮,中间间隔一定的延时,只要让端口D的8个口依次输出低电平即可。
⒊延时程序:这里的延时程序使用C语言编写,指令周期为1us,设置的内部变量为unsigned char类型,这种类型的变量有8位,最大能表示255,所以一定要注意,不然数据益处,延时达不到效果。
(2)广告灯移动:文件ad light.c(附录四)
这里是用发光二级管的移动说明广告灯移动的原理,流程跟流水灯同,但是这里给出的程序更加简便,算法更巧妙。
首先D口先输出为0xfe,先点亮D7口所接的灯定义循环变量i,和变量a,b,temp,在灯从右到左的移动中,例如:i=1时候,D口输出暂存到temp中,temp左移动1位存到a中,a中此时存储的变量为b’11111100’,然后temp再右移动7位(8-i)位,然后存储到b中,b中存储的变量为b’00000001’,然后a,b相或,得到b’11111101’,送到D口输出,则D1口被点亮.其他同上例。
(二)数码管实验:
硬件连接:数码管的a~h,DP依次接到D口,位选Y0~Y1依次接到C口。
(1)动态显示程序:文件,dongtaixianshi.c(附录辣)
程序流程图(图 6 11):
原理说明:动态显示原理:数码管的动态显示原理上面已经介绍过,这里重点介绍下要注意的地方,动态显示的时间,动态显示最少要达到每25ms一次,人眼才不会感觉到闪烁,所以显示频率越快越好,显示比较稳定.每位显示完成后,一定要消隐藏,实验中,如果没有这步,数码管显示会出错。
(2)模拟输入程序:shumaguan-1.c(附录七)
程序流程图(图 6 12)
本次实验用的硬件延时,用定时器/计数器T0来实现,关于T0
控制寄存器:OPTION的设置:参看相关资料
中断控制的处理:见流程图,TO记数溢出的时候,就进入中断服务程序,中断服务中首要就是清除中断标志位,关中断使能,中断处理完成后要打开中断使能。注
意全局中断使能的开启。
<< 上一页 [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] ... 下一页 >>
PIC单片机及FPGA实验系统设计 第12页下载如图片无法显示或论文不完整,请联系qq752018766