




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【某箱盖零件的塑料成型模具引导机构与脱模机构的设计案例1700字】
- 利率市场化对金融机构资产负债表结构的影响研究考核试卷
- 基层医疗机构医院感染规范化管理自查及督查表
- 债权债务协议书集合15篇
- 以生活为题的演讲稿14篇
- 化工行业市场分析 (一)
- 母婴卖场活动方案
- 桃花健康活动策划方案
- 楼梯促销活动方案
- 汉中南湖端午节活动方案
- 2025至2030中国港口航道工程行业深度研究及发展前景投资评估分析
- 单元复习AB卷:第二十八章 圆(A卷-中档卷)解析版
- 网络成瘾干预机制-洞察及研究
- 2025-2030年中国3C数码充电器行业市场深度调研及市场供需与投资价值研究报告
- 2026届云南三校高考备考联考卷(一)化学试卷+答案
- 2024中国农业银行分行年度营销宣传方案
- 2025年高考全国一卷写作范文10篇
- 高三第一学期的班主任工作总结
- 汽车司机宿舍管理制度
- 物业监控调取管理制度
- 智能网联汽车技术课件:超声波雷达
评论
0/150
提交评论