




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 PIC CCS C语言程序范例The CCS C compiler includes a library of example programs for many common applications. Each example program contains a header with instructions on how to run the example, and if necessary, the wiring instructions for interfacing external devices. Here are thre
2、e such example programs included with our compiler, as well as a list file generated by the compiler which shows the assembly generated toThe CCS C compiler includes a library of example programs for many common applications. Each example program contains a header with instructions on how to run the
3、 example, and if necessary, the wiring instructions for interfacing external devices.Here are three such example programs included with our compiler, as well as a list file generated by the compiler which shows the assembly generated to correspond with the C code.For a full list of example files and
4、 source code drivers included with the CCS C compiler go hereJump to: Stepper Motor Controller | Seconds Timer | Simple A/D | Example List File | List of Example FilesStepper Motor Controller/
5、 EX_STEP.C /
6、
7、 / This program interfaces to a stepper motor. The program will / use the RS-232 interface to either control the motor with a / analog input, a switch input or by RS-232 command.
8、160; /
9、 / Configure the CCS prototype card as follows: / Connect stepper
10、motor to pins 47-50 (B0-B3) / Conenct 40 to 54 (pushbutton) &
11、#160; / Connect 9 to 15 (pot) &
12、#160; / See additional connections below. / (C)
13、Copyright 1996,2001 Custom Computer Services / This source code may only be used by licensed users of the CCS / C compiler. This source code may only be distributed to other / licensed users of the CCS C compiler. No other use,&
14、#160; / reproduction or distribution is permitted without written / permission. Derivative programs created using this software / in object code form are not restricted in any way.
15、 /#include <16c74.h>#fuses HS,NOWDT,NOPROTECT#use delay(clock=20000000)#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) / Jumpers: 8 to 11, 7 to 12#include <input.c>#byte port_b = 6#define FOUR_PHASE TRUE#i
16、fdef FOUR_PHASEbyte const POSITIONS4 = 0b0101, 0b1001,
17、 0b1010, 0b0110;#elsebyte const POSITIONS8 = 0b0101,
18、160; 0b0001, 0b100
19、1, 0b1000,
20、160; 0b1010, 0b0010,
21、0; 0b0110, 0b0100;#endifdrive_stepper(byte speed, char dir, byte steps) static byte
22、 stepper_state = 0; byte i; for(i=0;i<steps;+i) delay_ms(speed); set_tris_b(0xf0); port_b = POSITIONS stepper_state ; if(dir!='R') s
23、tepper_state=(stepper_state+1)&(sizeof(POSITIONS)-1); else stepper_state=(stepper_state-1)&(sizeof(POSITIONS)-1); use_pot() byte value; setup_adc(adc_clock_internal); set_adc_channel( 1 ); printf
24、("rn"); while( TRUE ) value=read_adc(); printf("%2Xr",value); if(value<0x80) drive_stepper(value,'R',8); else if(value>0x80)
25、60; drive_stepper(128-(value-128),'F',8); use_switch(byte speed, char dir) byte steps; printf("nrSteps per press: "); steps = gethex(); while(true) while(input(PIN_B7) ;
26、60; drive_stepper(speed,dir,steps); while(!input(PIN_B7) ; delay_ms(100); main() byte speed,steps; char dir; setup_port_a(RA0_RA1_ANALOG); while (TRUE)
27、60; printf("nrSpeed (hex): "); speed = gethex(); if(speed=0) use_pot(); printf("nrDirection (F,R): ");
28、0; dir=getc()|0x20; putc(dir); printf("nrSteps (hex): "); steps = gethex(); if(steps=0)
29、; use_switch(speed,dir); drive_stepper(speed,dir,steps); Seconds Timer/ EX_STW
30、T.C / &
31、#160; / This program uses the RTCC (timer0) and interrupts to keep
32、 a / real time seconds counter. A simple stop watch function is / then implemented. &
33、#160; /
34、; / Configure the CCS prototype card as follows: /
35、0; Insert jumpers from: 11 to 17 and 12 to 18. /#include <16C84.H>#fuses HS,NOWDT,NOPROTECT#use delay(clock=20000000)#use rs232(baud=9600, xmit=PIN_A3, rcv=PIN_A2)#define INTS_PER_SECOND 76
36、60; / (20000000/(4*256*256)byte seconds; / A running seconds counterbyte int_count; / Number of interrupts left before a / second has elapsed#int_rtcc / This function i
37、s called every timeclock_isr() / the RTCC (timer0) overflows (255->0). / For this program this is apx 76 times if(-int_count=0)
38、 / per second. +seconds; int_count=INTS_PER_SECOND; main() byte start; int_count=INTS_PER_SECOND; set_rtcc(0); setup_counters
39、( RTCC_INTERNAL, RTCC_DIV_256); enable_interrupts(RTCC_ZERO); enable_interrupts(GLOBAL); do printf("Press any key to begin.nr"); getc(); start=seconds;
40、 printf("Press any key to stop.nr"); getc(); printf("%u seconds.nr",seconds-start); while (TRUE);Simple A/D/
41、0; EX_ADMM.C /
42、0;
43、0; / This program displays the min and max of 30 A/D samples over / the RS-232 interface. The process is repeated forever. /
44、160;
45、160; / Configure the CCS prototype card as follows: / Insert jumpers from: 11 to 17, 12 to 18 and 9 to 16
46、60; / Use the #9 POT to vary the voltage. /#include <16C71.H>#use delay(clock=15000000)#use rs232(baud=9600,xmit=PIN_A3,rcv=PI
47、N_A2)main() int i,value,min,max; printf("Sampling:"); setup_port_a( ALL_ANALOG ); setup_adc( ADC_CLOCK_INTERNAL ); set_adc_channel( 0 ); do min=255; max=0;&
48、#160; for(i=0;i<=30;+i) delay_ms(100); value = Read_ADC(); if(value < min)
49、60; min=value; if(value > max) max=value; printf("nrMin: %2X Max: %2Xrn",min,max); while (TRUE);Output Listing. min=255;008D: MOVLW FF008E: MOVWF 28. max=0;0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小动物健康课件下载大全
- 2025年课程思政培训总结
- cso公司合同范例
- 医药企业风险管理与超说明书用药合规性
- 债券合同转让合同范例
- 集团公司安全生产工作总结
- 厦门市2025 届高三毕业班第四次质量检测-地理+答案
- 医疗安全教育与职业发展的关系探讨
- 医疗科技前沿大数据在疾病预防控制中的作用
- 医疗信息化与健康教育共筑健康中国梦
- 生物防治第三讲
- 2004年武汉房地产市场情况分析报告(共23页)
- 旁站监理实施细则(完整版)
- 肿瘤化学治疗
- RMG88.62C2控制器报警显示及可能的故障原因 - 副本
- 学业水平考试复习高中语文文言文课本翻译
- 常用原料净料率参照表
- 第一章 混凝土拌合站组织机构框图及岗位职责
- 工作界面划分表
- 依爱EIN70型气体灭火控制系统安装使用说明书V141
- 指南预应力简支t形梁桥
评论
0/150
提交评论