




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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福建三明市教育局华东师范大学附属三明中学招聘紧缺急需专业工作人员18人(省外高校专场)考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025年芜湖广济医院招聘20人考前自测高频考点模拟试题有完整答案详解
- 2025年度劳动合同,企业聘用合同模板
- 2025江苏省宿迁经济技术开发区教育系统招聘教师42人考前自测高频考点模拟试题及答案详解(名校卷)
- 2025黑龙江齐齐哈尔市富裕县信访局招聘公益性岗位人员2人考前自测高频考点模拟试题及答案详解(易错题)
- 2025年春季内蒙古包头铁道职业技术学院人才引进模拟试卷完整答案详解
- 2025北京市朝阳区教育委员会所属事业单位招聘毕业生394人模拟试卷及答案详解参考
- 2025吉林通化市公益性岗位拟聘用人员考前自测高频考点模拟试题有答案详解
- 2025年宿州市人才集团有限公司招募就业见习人员7人考前自测高频考点模拟试题及完整答案详解
- 2025广东汕尾市陆河县高校毕业生就业见习招募15人(第三批)考前自测高频考点模拟试题及答案详解(夺冠系列)
- 工业厂区规划设计说明书
- 结直肠癌的转化治疗
- 高中政治-专题五-第四课-亚太经济合作组织:区域经济合作的新形式课件-新人教版选修3
- 顺丰快递分析
- 提高住院病历完成及时性持续改进(PDCA)
- 平舌音和翘舌音学习资料课件
- 免疫学MHC主要组织相容性复合体及其编码分子
- 医保基金监管
- 公司出差行程计划表excel模板
- 新产品APQP开发计划表
- ICU患者的早期活动
评论
0/150
提交评论