《PIC单片机技术》实验报告模板
- 格式:doc
- 大小:32.00 KB
- 文档页数:3
PIC单片机原理与应用实验报告学校:学院:班级:姓名:学号:指导教师:实验一I/O端口实验一、实验目的(1)掌握MPLAP IDE集成开发环境的基本操作。
(2)掌握单片机的I/O端口的设计方法。
(3)掌握在线调试器的使用方法。
(4)学会查阅相关数据手册。
二、实验仪器设备(1)PC机一台;(2)MPLAP IDE开发软件一套;(3)PICkit3在线调试器一套;(4)APP009实验板一块;三、实验要求(1)设计发光LED灯闪烁程序,下载调试,验证功能。
(2)设计流水灯程序,或其他花样彩灯程序,下载调试,验证功能。
(3)设计按按键加1计数程序,下载调试,验证功能。
四、实验步骤(1)连接在线调试器PICkit3、APP009实验板和计算机;(2)打开MPLAP IDE集成开发环境软件,点击Debugger>Select Tools>PICkit 3 选择调试工具;(3)点击Debugger>Settings,在Settings窗口中点击Power栏,选择由PICkit3向实验板供电;(4)完成实现发光LED灯闪烁实验;程序代码:#include <p30f4011.h>void delay(void);int main(){while(1){TRISEbits.TRISE0 = 0; //RE0设置为输出(1输入,0输出);TE0 =1; //RE0=1输出高电平+5V,亮灯delay(); //延时TE0 =0; //RE0=0输出低电平0V,灭灯delay(); //延时}}void delay(void){long int i;for (i=0;i<65000;i++);}实验现象:将程序下载到实验板上,运行程序,LED闪烁,通过改变延时函数改变延时时间,进而可以改变LED闪烁的频率。
(5)完成实现流水灯或花样彩灯实验;程序代码:#include <p30f4011.h>void delay(void);int main(void){int i;int ledcode[6]={0x01,0x02, 0x04, 0x08, 0x10, 0x20};TRISE =0x00; //RE0-RE5配置为输出while(1){for (i=0;i<6;i++){LATE=ledcode[i]; //按状态循环点灯delay(); //延时}}}void delay(void){long int i;for (i=0;i<65000;i++);}实验现象:将程序下载到实验板上,运行程序,LED按照设定的规律循环点亮和熄灭,通过改变数组ledcode的元素,可以方面地实现流水灯或花样彩灯的效果。
《PIC单片机实训》课程设计(或微型直流电机转速控制或交流电压/频率检测)学生姓名:学号:专业班级:指导教师:二○一一年九月二十三日目录(二号字体)一. 课程设计目的 (3)二. 课程设计题目描述和要求 (3)三. 课程设计报告内容 (4)四.课程设计总结 (14)一.课程设计目的《PIC单片机课程设计》是电气工程及其自动化专业及相近专业的一门重要的专业实践课,本课程在《PIC 单片机》课程的基础上,通过硬件设计与软件编程与调试的实践,进一步掌握PIC 单片机的应用方法,熟练PIC 单片机的C 程序的编写与调试,是毕业设计前的一次重要的实践。
二.课程设计题目描述和要求根据附图1~附图5,设计一个具有完整功能、有一定工作量与一定难度的单片机应用线路,并绘制能用于仿真的Proteus 线路图,编制相应的单片机C 语言,分别在Proteus 仿真界面和实物板上调试运行正确。
最后用实物进行运行演示。
本设计内容分为线路设计、绘制Proteus线路图、编程调试几个部分。
1.线路设计本设计采用短路插和杜邦线连接的方式未用部分短路插应拔起,避免与其他硬件部分冲突并节省电源,并避免与电源相关的芯片发热。
电机速度控制:包括电机电压PWM控制、电机速度检测(使用光电遮断器)、电机转速显示(LCD或数码管)、按键(速度整定等)。
2.Proteus 线路图绘制根据所设计的线路图,绘制与之一致的,能用于仿真的Proteus 线路图。
要求所绘的线路图美观、紧凑,参数要与课设板一致。
3.软件编制与调试根据所设计的线路图编制相应的单片机C 程序,要求所编制的程序符合C 语言格式并加上注解。
每编一段即进行编译,有错及时修改,并先在Proteus上仿真,基本正确后再用ICD2仿真,最后应脱机运行。
三.课程设计报告内容1.设计程序#include <pic.h>__CONFIG (0x20F1); //运行用//引脚定义#define LCD_RS RD4 //LCD 寄存器选择数据H/指令L #define LCD_RW RD5 //LCD 读H/L写控制线#define LCD_E RD6 //LCD E 时钟//常数定义#define DAT 1 //LCD写数据时为1#define COM 0 //LCD写命令时为0#define LINE1 0b10000000 //第一行定义#define LINE2 0b11000000//函数声明void interrupt ISR(void);void CSH(void);void LCD_CSH(void);void LCD_BUSY(void);void LCD_WRITE(char,char);void LCD_WRITE_4(char,char);char LCD_READ(void);void DISP_MENU(const char *);void DISP_ST_DT(char);void DISP_ST_DT1(char);void BCD(unsigned int);void DELAY(unsigned int);void DELAY_I(unsigned int);void DELAY_US(char);void PWM(void);//宏定义,清屏#define CLR_LCD() \LCD_WRITE(0b00000001,COM); \DELAY(2)//变量定义const char AA[17]="LINYANJUN2610800";char QW,BW,SW,GW; //无符号字符0--255int START_T,DELTA_T,RZ,RF; //有符号整形,2个字节long T1N; //有符号长整形,4字节signed char KEY_CHANGE,KEY_SET,KEY_INC,KEY_DEC,KEY_T1N;const int BB[8]={2000,800,255,255,255,255,255,255};//PWM初始化void PWM(void){ TRISC1=0;PR2=255; //晶振4MHZ,频率1KHZ,占空比20% CCPR2L=0x32;CCP2CON=0b00101100; //PWM模式,TMR2是其工作时基T2CON=0b00000101;}//LCD模块初始化void LCD_CSH(void){ DELAY(20); //延时20msLCD_WRITE_4(0b0011,COM); //发送控制序列DELAY(10); //延时10msLCD_WRITE_4(0b0011,COM); //发送控制序列DELAY_US(10); //延时100usLCD_WRITE_4(0b0011,COM); //发送控制序列DELAY_US(10); //延时100usLCD_WRITE_4(0b0010,COM); //4位数据格式LCD_BUSY(); //LCD忙检测LCD_WRITE(0b00101000,COM);LCD_WRITE(0b00001100,COM);CLR_LCD();LCD_WRITE(0b00000110,COM);}void CSH(void){ TRISD=0; //D口全为输出TRISB=0b00000111; //B口低三位为输入TRISC=0b00000100; //C口设置ANSEL=0;ANSELH=0b00000000; //数字口WPUB=0b00000111; //887P224设置B口弱上拉使能IOCB=0b00000111;KEY_SET=0;KEY_INC=0;KEY_DEC=0;LCD_CSH(); //LCD初始化OPTION=0b00111111; //INT下降上升沿中断INTCON=0b11011000; //中断控制寄存器//初始化CCP1CON=0; //CCP模块关闭CCP1IF=0; //中断标志位CCP1CON=0b00000110; //捕捉四个上升沿T1CON=0b00110001;TMR1H=TMR1L=0;CCP1IE=1;START_T=BB[0];}//主程序void main(void){signed char R1;unsigned int i;CSH(); //全部的初始化PWM(); //PWM的初始化DISP_MENU(AA); //显示(AA)中的数DELAY(1000); //延时1s看清上行显示的内容CLR_LCD();DISP_ST_DT(START_T);DISP_ST_DT1(DELTA_T);DELAY(100);while(1){ if (KEY_SET==1) //设置按键按1次{ if(KEY_INC==1) //按下加按键{ START_T+=100;if (START_T>=2500){START_T=2500;}KEY_INC=0; //处理结束清0避免重复处理KEY_CHANGE=1; //已经改变设置标志刷新显示}if(KEY_DEC==1) //按下减按键{ START_T-=100;if (START_T<=500){START_T=500;}KEY_DEC=0;KEY_CHANGE=1;}if(KEY_CHANGE==1) //如果有修改{ DISP_ST_DT(START_T);KEY_CHANGE=0;}}if(START_T>DELTA_T){ CCPR2L+=1;DELAY(500);}if(START_T<DELTA_T){ CCPR2L-=1;DELAY(500);}if(KEY_T1N>=1){ DISP_ST_DT1(DELTA_T);DELAY(80);TMR1H=TMR1L=0;T1CON=0b00110001;CCP1IE=1;CCP1CON=0b00000110;KEY_T1N=0;}}}//LCD上的显示void DISP_ST_DT(char ST){ LCD_WRITE(0b00001100,COM); //不闪LCD_WRITE(LINE1+4,COM); //即第1行的第4个字符BCD(START_T);LCD_WRITE('R',DAT); //在当前位置显示字符'R' LCD_WRITE('1',DAT); //在当前位置显示字符'1' LCD_WRITE('=',DAT);LCD_WRITE(QW+0x30,DAT); //显示千位LCD_WRITE(BW+0x30,DAT); //显示百位LCD_WRITE(SW+0x30,DAT); //显示十位LCD_WRITE(GW+0x30,DAT); //显示个位LCD_WRITE('r',DAT); //在当前位置显示字符'r'LCD_WRITE('/',DAT); //在当前位置显示字符'/' LCD_WRITE('n',DAT); //在当前位置显示字符'n'}void DISP_ST_DT1(char DT){BCD(DELTA_T);LCD_WRITE(LINE2+4,COM); //即第2行的第4个字符LCD_WRITE('R',DAT); //在当前位置显示字符'R' LCD_WRITE('2',DAT); //在当前位置显示字符'2' LCD_WRITE('=',DAT); //在当前位置显示字符'=' LCD_WRITE(QW+0x30,DAT); //显示千位LCD_WRITE(BW+0x30,DAT); //显示百位LCD_WRITE(SW+0x30,DAT); //显示十位LCD_WRITE(GW+0x30,DAT); ; //显示个位LCD_WRITE('r',DAT); //在当前位置显示字符'r' LCD_WRITE('/',DAT); //在当前位置显示字符'/' LCD_WRITE('n',DAT); //在当前位置显示字符'n'}void interrupt ISR(void){ if(INTF==1&&RB0==0) //中断标志INTF { DELAY_I(30);KEY_SET+=1;if(KEY_SET>=2){KEY_SET=0;}INTF=0;INTCON=0b11011000;}if(RBIF==1){ DELAY_I(30);if (RB1==0 && KEY_SET==1){ KEY_DEC=1;}if (RB2==0 && KEY_SET==1){ KEY_INC=1;}RBIF=0;}if(CCP1IF==1&&RB0==1&&RB1==1&&RB2==1) //捕捉的中断{ KEY_T1N=1; //捕捉4个下降沿完成T1N=CCPR1H;T1N=T1N<<8;T1N=T1N+CCPR1L;T1N=T1N*8; //4个脉冲,1转的时间CCPR1H=CCPR1L=0;DELTA_T=60000000/T1N;CCP1IE=0;T1CON=0;CCP1CON=0;CCP1IF=0;}}//写R1的高4位,FLAG为寄存器选择void LCD_WRITE_4(char R1,char FLAG){ LCD_RW=0; //写模式LCD_RS=FLAG; //寄存器选择PORTD &= 0b11110000; //RB的数据4位清0LCD_E=1; //使能PORTD |=R1; //送R1的低4位至RB口的高4位NOP();NOP(); //短延时LCD_E=0; //数据送入有效LCD_RS=0;PORTD &= 0b11110000; //RB的数据4位清0 }//写一字节数R1,FLAG为写命令或数据选择,0为写命令,1为写数据void LCD_WRITE(char R1,char FLAG){char R2;LCD_BUSY();R2=R1>>4;LCD_WRITE_4(R2,FLAG);R2=R1 & 0x0F;LCD_WRITE_4(R2,FLAG);}//读LCD状态char LCD_READ(void){ char R1;LCD_RS=0; //寄存器选择LCD_RW=1; //读为1NOP();NOP(); //短延时LCD_E=1; //使能NOP();NOP(); //短延时R1=PORTD;R1=R1<<4; //读数据的高4位给R1高4位R1=R1 & 0xF0;LCD_E=0; //读数据结束NOP();NOP(); //短延时LCD_E=1; //使能NOP();NOP();R1 |= PORTD>>1; //读PORTB的1-4位,R1的高4位不变!LCD_E=0; //读数据结束LCD_RW=0;return (R1);}//检测LCD是否忙void LCD_BUSY(void){ char R1;while(1){ R1=LCD_READ(); //读寄存器if ((R1 & 0x80)==0x00) //最高位为忙标志位break;};}//整屏显示void DISP_MENU(const char *A){char i;CLR_LCD();LCD_WRITE(LINE1,COM); //回到行首for (i=0;i<16;i++)LCD_WRITE(A[i],DAT); //显示16个字符,ASCII码对应的字符}//从R1双字节数转换为十进制数千位-个位: QW,BW,SW,GWvoid BCD(unsigned int R1){ QW=0;BW=0;SW=0;GW=0;while(R1>=1000){R1-=1000;QW++;}while(R1>=100){R1-=100;BW++;}while(R1>=10){R1-=10; SW++;}GW=R1;}//延时(n)msvoid DELAY(unsigned int n){ unsigned int j;char k;for (j=0;j<n;j++)for (k=246;k>0;k--) NOP();}//延时(n)ms,中断专用 void DELAY_I(unsigned int n) { unsigned int j; char k;for (j=0;j<n;j++)for (k=246;k>0;k--) NOP();}//延时(n ×10)us void DELAY_US(char n) { char j; for (j=0;j<n;j++){NOP();NOP();}}2. PROTEUSE 线路接线图D 7D 6D 5D 4D 3D 2D 1D 0ER W R S V S S V D D V E E3.设计说明1.确定期望转速在用PROTEUS 仿真中。
pic报告一、课程设计的内容1、单片机小系统的制作:万能板上制作,初始化程序设计。
2、在单片机小系统上开发应用系统。
二、课程设计的要求与数据实验前认真阅读实验指导书,复习与课程设计相关的理论知识,明确实验目的。
在两周内完成指定的任务,完成电路设计并编程实现相应的功能由老师验收,完成实验报告的撰写,报告要求实验现象的描述。
三、课程设计应完成的工作1、完成最小系统的制作,写程序,完成最小系统跑马灯功能。
2、在单片机最小系统上做功能扩展,并编程实现相应的功能。
四、课程设计进程安排周次星期节次实验名称实验主要内容实验仪器台套数拟安排批次每组学生人数实验室名称及地点13 一1-4 单片机技术实践课程要求,任务安排50 1 1 实验2号楼21413 一1应用原理图和教至二-7MCS51或PIC或飞思单片机设计一个小系统PCB图设计,元器件清单提交室,图书馆13 三至五1-7单片机小系统的制作万能板上制作,初始化程序设计50 1 1 实验2号楼21214 一1-7 在单片机小系统上开发应用系统多进位计算器,定时器,计时器等设计教室,图书馆14 二至三1-7自选一个题目在单片机小系统上扩展应用系统,实现功能50 1 1 实验2号楼30714 四1-7 总结报告教室,图书馆14 五现场答辩实验2号楼214五、应收集的资料及主要参考文献1、李荣正等,PIC单片机原理及应用(第4版),北京航空航天大学出版社,北京,2010.112、汪正谋,朱力恒,Protel99SE电路设计与仿真技术,福建科学技术出版社,福建,2004发出任务书日期:年月日指导教师签名:计划完成日期:年月日基层教学单位责任人签章:主管院长签章:目录1 设计任务目的及要求 (5)1.1课程设计的目的 (5)1.2课程设计的要求 (5)2 原理及步骤 (5)2.1PIC16F877A工作原理 (5)2.2最小系统设计 (6)2.3跑马灯程序设计 (7)2.4扩展设计 (7)3 实验结果 (12)4 总结 (12)参考文献 (12)1 设计任务目的及要求1.1 课程设计的目的利用PIC单片机最小系统,熟悉PIC16F877的工作原理并学习硬件的设计方法及软件编程技巧。
2016年小学期单片机设计实验报告题目:基于PIC单片机的电子密码锁班级:班内序号:实验组号:学生姓名:指导教师:基于PIC单片机的电子密码锁——xx班 xx实验摘要在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。
随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。
为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
密码锁具有安全性高、成本低、功耗低、易操作等优点。
在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。
随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
设计本课题时构思的方案是用以PIC16F877为核心的单片机控制方案。
目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。
本系统由16F877单片机系统(美国微芯Microchip 公司推出的高性能单片机)、4×4矩阵键盘、LCD1602显示和报警系统等组成,具有设置、修改四位用户密码、输入提示、密码错误报警等功能。
本系统成本低廉,功能实用。
A b s t r a c tR e p l a c e t h e l o c k o n t h e p r e s e r v a t i o n o f t h e s a f e t y p r e c a u t i o n s i n t h e i r d a i l y l i f e a n d w o r k,h o u s i n g a n d d e p a r t m e n t,u n i t f i l e s,f i n a n c i a l s t a t e m e n t s,a n d s o m e p e r s o n a l i n f o r m a t i o n t o l o c k a p p r o a c h t o s o l v e.I f t h e u s e o f t r a d i t i o n a l m e c h a n i c a l k e y i n t h e l o c k,p e o p l e o f t e n n e e d t o c a r r y m u l t i p l e k e y s,u s e v e r y i n c o n v e n i e n t, a n d t h e l o s s o f k e y s e c u r i t y t h a t i s g r e a t l y r e d u c e d.A l o n g w i t h t h e s c i e n c e a n d t e c h n o l o g y u n c e a s i n g d e v e l o p m e n t,p e o p l e d a i l y l i f e s a f e t y i n s u r a n c e d e v i c e r e q u i r e m e n t s m o r e a n d m o r e h i g h.I n o r d e r t o m e e t t h e p e o p l e o n t h e r e q u i r e m e n t s a n d i n c r e a s e t h e s e c u r i t y o f p a s s w o r d k e y p a s s w o r d l o c k s h i p p e d.P a s s w o r d l o c k i s s a f e,l o w c o s t a n d p o w e r c o n s u m p t i o n i s l o w,e a s y t o o p e r a t e a n d W h e n t h e a d v e n t o f t h e s h o r t c o m i n g s o f l e s s t y p e.I n t h e s e c u r i t y t e c h n o l o g y t o g u a r d a g a i n s t,w i t h a n t i-t h e f t a l a r m f u n c t i o n e l e c t r o n i c p a s s w o r d l o c k g r a d u a l l y r e p l a c e t h e t r a d i t i o n a l m e c h a n i c a l c i p h e r l o c k,o v e r c o m e t h e m e c h a n i c a l p a s s w o r d l o c k,s a f e t y p e r f o r m a n c e i s p o o r,t h e p a s s w o r d l o c k b o t h i n t e c h n o l o g y a n d i n p e r f o r m a n c e a r e g r e a t l y i m p r o v e d s t e p.W i t h l a r g e s c a l e i n t e g r a t e d c i r c u i t t e c h n o l o g y d e v e l o p m e n t, i n p a r t i c u l a r,i s a s i n g l e c h i p,t h e m i c r o p r o c e s s o r i n t e l l i g e n t p a s s w o r d l o c k,w h i c h i s i n a d d i t i o n t o t h e e l e c t r o n i c p a s s w o r d l o c k f u n c t i o n,b u t a l s o i n t r o d u c e d t h e i n t e l l i g e n t m a n a g e m e n t,e x p e r t a n a l y s i s s y s t e m a n d o t h e r f u n c t i o n s,w h i c h e n a b l e p a s s w o r d l o c k h a s a h i g h s a f e t y a n d r e l i a b i l i t y,i s a p p l i e d m o r e a n d m o r e w i d e l y. T h i s d e s i g n t o p i c c o n c e p t i o n s c h e m e I s u s e d t o P I C16F877a s t h e c o r e o f t h e m i c r o c o n t r o l l e r c o n t r o l p r o g r a m.A t p r e s e n t,m o s t o f t h e e l e c t r o n i c p a s s w o r d l o c k i s b a s e d o n S C M t e c h n o l o g y, w i t h t h e s i n g l e c h i p m i c r o c o m p u t e r a s t h e m a i n d e v i c e,t h e e n c o d e r a n d d e c o d e r a r eg e n e r a t e d a s t h e s o f t w a r e.T h e f u n c t i o n s o f t h i s s y s t e m b y16F877m i c r o c o n t r o l l e r s y s t e m(A m e r i c a n m i c r o c h i p m i c r o c h i p c o m p a n y l a u n c h e d h i g h p e r f o r m a n c e m i c r o c o n t r o l l e r),4*4m a t r i x k e y b o a r d,L C D1602d i s p l a y a n d a l a r m s y s t e m,h a s s e t u p,m o d i f y t h e f o u r u s e r p a s s w o r d, i n p u t p r o m p t,w r o n g p a s s w o r d a l a r m e t c..T h e s y s t e m i n t o t h e l o w,f u n c t i o n a l a n d p r a c t i c a l.关键字单片机——microcontroller 密码锁——Password lockLCD1602——LCD1602 4*4矩阵键盘——4*4 matrix keyboard一.实验论证与比较1.实验总体方案的确定本系统电子密码锁的设计主要由4部分组成:PIC16F877单片机,4×4 矩阵键盘接口电路,LCD1602液晶显示以及LED提示灯。
2013年小学期PIC单片机实验报告题目:蓝牙电子琴组号:班级:学号:姓名:老师:目录一摘要二论证与比较三原理1 蓝牙控制原理…………………………………………………..2 发音原理………………………………………………………3 中断控制………………………………………………………四硬件1 框图…………………………………………………………………………………2 原理图…………………………………………………………………………………五软件1 流程图………………………………………………………………………………2 程序…………………………………………………………………………………六实验总结七参考文献一摘要Microcontroller is known as the single chip microcomputer and single chip microcomputer. It is the central processing unit (CPU), random access memory (RAM), read-only memory (ROM), input/output port (I/O), etc. The main function of computer components are integrated on a chip microcomputer. Experiments using PIC16F877 single-chip microcomputer with a serial communication port (USART port), through the USART port with bluetooth module connection, you can through the mobile phone bluetooth bluetooth device to control the single-chip computer, also can realize the serial communication with other modules. PIC16F877 single chip microcomputer to control the corresponding port produce a certain frequency of square wave, amplification and then sent to the speakers can emit a certain frequency of sound. Interrupt to use bluetooth to real-time control MCU, thus realize the electric .单片机被称为单片微电脑或单片微型计算机。
pic单片机实验报告篇一:PIC单片机实验报告实验一循环点亮LED灯一、实验内容:将RE0-RE5配置为输出,连接6个LED灯;编写程序,调试并运行,下载到实验板上,实现循环点亮。
二、实验目的:学习PIC单片机I/O端口功能及特点,了解I/O端口引脚及连线,控制寄存器。
在开发板上实现循环点亮LED灯。
三、实验要求1. 了解掌握PIC单片机的结构和功能。
2. 应熟练掌握MPLAB开发环境的使用方法。
3. 熟练掌握PIC单片机的程序编写方法。
4. 掌握MPLAB IDE硬件调试的技巧。
四、实验准备:1、I/O引脚及连线:I/O端口特点:1、所有I/O 输入端口都是施密特触发器输入,以便增强抗干扰性。
2、外设复用:所有的器件引脚(除VDD、VSS、MCLR 和OSC1/CLKI之外),均为外设与I/O端口所共用。
3、如果外设使能,并且外设正在使用相关引脚时,该引脚将不再作为通用I/O 引脚使用。
4、优先级:I/O 与多个外设复用时I/O 引脚的名称定义了与该引脚相关的各个功能的优先级,如:I/O 引脚与两个外设复用(“外设A”和“外设B”)外设A 对引脚的控制具有最高优先权,若外设A 和外设B 同时使能,外设A将控制I/O 引脚5、电平变化通知引脚:电平变化通知引脚(CN)内接输入电平变化通知模块,使得dsPIC30F器件能够向处理器发出中断请求,以响应所选输入引脚上的状态变化。
I/O端口控制寄存器:所有的端口引脚,都有三个与端口引脚的操作直接相关的寄存器。
① TRISx:数据方向寄存器。
决定各个引脚是输入引脚还是输出引脚。
–若某个I/O 引脚的TRIS 位为“1”,则该引脚是输入引脚。
–某个I/O 引脚的TRIS 位为“0”,则该引脚被配置为输出引脚。
–复位以后,所有端口引脚被定义为输入。
② PORTx:I/O端口寄存器。
访问的是I/O引脚上的数据。
读的是端口引脚值;写端口引脚,写的是端口数据锁存器(LATx )。
PIC单片机技术上机实验报告实验项目:实验姓名:黄辉专业电子科学与技术班级:电科1002学号:3100206229同组名单:指导教师:叶轻舟吴忠强学期:2012 学年 2 学期电子信息与电气工程系通信教研室一、实验名称×××二、实验材料××××(实验所需的设备或者软件)三、实验目的1.××××2.××××3.4.四、实验要求××××××××五、理论原理×××××(本次实验所用到的书上的理论知识点的概要说明。
)六、实验内容步骤1.×××××××××××××××××××××××××××××××××××××××××2.×××××××××××3.×××××七、实验程序附软件流程、程序源代码。
(程序要注释)八、实验结果附:电路原理图、Proteus仿真的结果图片等。
并做文字说明。
九、分析总结××××××××(实验过程遇到的问题、思考及解决方法;此次实验的功能模块在实际应用的思考、本次实验的心得体会等)。
==《PIC单片机》课程设计学生姓名:学号:专业班级:指导教师:二○○12年05 月04 日目录(二号字体)1 设计方案,目的,内容. (1)2.设计的硬件及说明 (1)3.设计的软件及说明 (5)4 实验结果 (6)5小结 (7)一课程设计的目的《PIC 单片机课程设计》是电气工程及其自动化专业及相近专业的一门重要的专业实践课,本课程在《PIC 单片机》课程的基础上,通过硬件设计与软件编程与调试的实践,进一步掌握PIC 单片机的应用方法,熟练PIC 单片机的C 程序的编写与调试,是毕业设计前的一次重要的实践,为今后走上工作岗位打下坚实的单片机应用基础。
二设计内容1 Proteus 线路图绘制根据所设计的线路图,绘制与之一致的,能用于仿真的Proteus 线路图。
要求所绘的线路图美观、紧凑,参数要与课设一致。
2、软件编制与调试根据所设计的线路图制相应的单片机C 程序,要求所制的程序符合C 语言格式并加上注解。
每编一段即进行译,有错及时修改,并先在Proteus 上仿真,基本正确后再用PICkit3 在线调试,最后应脱机运行。
三设计方案1我做的是数字钟及数字温度计:包括按键.LCD.蜂鸣器时钟芯片DS1307和温度传感器TC74。
2功能;此设计可以感测环境的温度,显示当前的时间,及闹钟。
温度与时间都显示在LCD显示屏上。
四硬件设计及说明1复位按键此图用于复位单片机,使其从新执行相应的程序。
12 振荡方式此图是LP.XT.HS的晶体振荡/陶瓷振荡器接线方式,这种方式接线更准。
3时钟芯片DS1307及附属接线时钟芯片DS1307用于产生时间,它提供了秒、分、时、日、年、和星期等数据,能算只瑞年2100年,时钟的晶振是典型的32.768Hz。
(1)其引脚作用如下:2(2)DS1307的读写如下;1写DS1307 的步骤如下:a) 发送启始位;b) 发送DS1307 的7位地址+0 (写),即0b11010000;c) 发送要写入DS1307 的地址,地址见图16,如要修改分,此值为1;d) 发送要写入DS1307 的数,如要把分修改为十进制数37,则此数为0x37;e) 发送停止位;2读DS1307 的步骤如下:a) 发送启始位;b) 发送DS1307 的7位地址+0 (写),即0b11010000;c) 发送要读的DS1307 的起始地址,如要从秒读起,为0;d) 发送停止位;e) 发送重新开始位;f) 发送DS1307 的7位地址+1 (读),即0b11010001;g) 发送读使能位,接收一个数据,单片机发送应答位;h) 发送读使能,接收下一个数据(地址会自动+1),单片机发送应答位,直到读数完成,接收最后一个数时单片机不发送应答位;i) 发送停止位;注意在DS1307仿真的时候七位地址为0b1001101 而实际为0b1001000 ;(3)功能是;提供时间通过pic16F877送入LCD中显示。
pic单片机实验报告
《pic单片机实验报告》
实验目的:通过对pic单片机的实验,掌握其基本原理和应用技能,提高对单
片机的理解和应用能力。
实验内容:
1. 初步了解pic单片机的基本结构和工作原理;
2. 学习pic单片机的编程语言和编程工具;
3. 进行简单的pic单片机实验,如LED灯控制、数码管显示等;
4. 分析实验结果,总结经验和教训。
实验步骤:
1. 阅读pic单片机的相关资料,了解其基本原理和应用领域;
2. 学习pic单片机的编程语言和编程工具,如C语言和MPLAB X IDE;
3. 进行LED灯控制实验,编写简单的程序控制LED的亮灭;
4. 进行数码管显示实验,编写程序实现数字的显示和滚动效果;
5. 分析实验结果,总结经验和教训,找出存在的问题并改进。
实验结果:
1. 成功掌握了pic单片机的基本原理和编程技能;
2. 实现了LED灯控制和数码管显示的实验,并取得了良好的效果;
3. 发现了一些问题,如程序逻辑错误和电路连接不良,及时改进并取得了成功。
实验总结:
通过本次实验,我对pic单片机有了更深入的了解,掌握了其基本原理和编程
技能,提高了对单片机的应用能力。
同时,也发现了一些问题并及时改进,取
得了良好的实验效果。
希望能在今后的学习和工作中,更好地应用pic单片机,为科研和工程项目做出更大的贡献。
PIC单片机报告第一篇:PIC单片机报告PIC单片机实验报告一、定时器的使用(1)实验目的:通过学习和实验理解PIC单片机定时器的内部工作原理,学会定时器初始化配置编程,并能利用实验板对定时器有简单的应用。
(2)实验器材:16位PIC单片机学习板。
(3)实验过程:1、PIC单片机定时器概述:根据具体器件,dsPIC30F 器件系列提供了几个16 位定时器。
这些定时器被指定为Timer1、Timer2、Timer3 ……等。
可分为三种类型:A类型时基、B类型时基和C类型时基。
A类型时基:在大多数dsPIC30F 器件上,至少有一个A 类型定时器。
通常Timer1 是A 类型定时器。
A 类型定时器与其他类型的定时器相比,有下列独特的功能:可以使用器件的低功耗32 kHz 振荡器作为时钟源工作可以在使用外部时钟源的异步模式下工作A 类型定时器独特的功能使它可以用于实时时钟应用(Real-Time Clock,RTC)。
16 位定时器模式:在16 位定时器模式下,定时器在每个指令周期递增,直到与预先装入周期寄存器PR1 中的值匹配,然后复位至0,继续计数。
当CPU 进入空闲模式时,定时器将停止递增,除非TSIDL(T1CON<13>)位 = 0。
如果TSIDL = 1,定时器模块逻辑将继续递增,直到CPU 空闲模式终止。
位同步计数器模式:在16 位同步计数器模式下,定时器将在外部时钟信号的上升沿递增,外部时钟信号与内部相位时钟同步。
定时器计数,直到等于PR1 中预先装入的值,然后复位至0,继续计数。
当CPU 进入空闲模式时,同上。
位异步计数器模式:在16 位异步计数器模式下,定时器在外部时钟信号的上升沿递增。
定时器计数,直到等于PR1 中预先装入的值,然后复位至0,继续计数。
当定时器配置为异步工作模式时,CPU 进入空闲模式,如果TSIDL = 1,则定时器将停止递增。
B类型时基:在大多数dsPIC30F 器件上,如果存在Timer2 和Timer4,它们是B 类型定时器。
PIC单片机技术
上机实验报告
实验项目:定时/计数
姓名:
专业:
班级:
学号:
同组名单:
指导教师:
学期:1011 学年 2 学期
电子信息与电气工程系
通信教研室
一、实验名称
×××
二、实验材料
××××(实验所需的设备或者软件)
三、实验目的
1.××××
2.××××
3.
4.
四、实验要求
××××××××
五、理论原理
×××××(本次实验所用到的书上的理论知识点的概要说明。
)
六、实验内容步骤
1.×××××××××××××××××××××××××××××××××××××××××
2.×××××××××××
3.×××××
七、实验程序
附软件流程、程序源代码。
(程序要注释)
八、实验结果
附:电路原理图、Proteus仿真的结果图片等。
并做文字说明。
九、分析总结
××××××××(实验过程遇到的问题、思考及解决方法;此次实验的功能模块在实际应用的思考、本次实验的心得体会等)。