编好编完程序怎么运行的PIC18F一452一1/p哪有卖。

  免责声明:文档之家的所有文档均为用户上传分享文档之家仅负责分类整理,如有任何问题可通过上方投诉通道反馈

本文是讲座《单片机C 语言编完程序怎么运行设计》的结束篇为了帮助大家更好地掌握前面所学的知识,我们将归纳性地介绍初学者用C 语言编辑PIC 单片机实用编完程序怎么運行时应具备的思维方法和基本知识并通过下面的实例进行小结,以期对大家今后深入学习PIC 单片机C 语言编完程序怎么运行设计有所帮助

十六、PIC单片机C语言编完程序怎么运行的组成

一个完整的PIC 单片机C 语言源编完程序怎么运行应包括:包含头文件、变量定义、常量说明、函數定义、主函数main( )、若干个其他功能函数、各种功能C 语句,以及已定义的函数和函数体、注释等部分组成

C 编完程序怎么运行的运行,总是從主函数main( ) 开始(可以通过模拟仿真直接观察到)由主函数调用其他函数,其他函数也可互相调用 如此运行工作。而C 语句又可按其执行方式的不同而分为顺序结构、选择结构和循环结构等。这里的顺序结构 是指编完程序怎么运行按语句的顺序逐条执行;选择结构, 是指编唍程序怎么运行根据相关条件选择的执行顺序; 循环结构 是指编完程序怎么运行根据某条件的存在执行一段编完程序怎么运行,直到条件消失为止若该条件永远存在,就形成无限循环

1. 延时函数的三种表达式

用汇编语言编辑一个较大的PIC 单片机编完程序怎么运行时,一般汾为多个编完程序怎么运行模块每个模块的子编完程序怎么运行实现一个特定的功能。而用C 语言编辑该编完程序怎么运行时模块的功能是用函数实现的,即函数相当于汇编语言的子编完程序怎么运行下面我们以延时函数应用的实例,来说明PIC 单片机C 语言编完程序怎么运荇的基本组成格式

延时函数是PIC 单片机源编完程序怎么运行中出现频率较高的函数,而且具有相同功能的延时函数也有多种形式我们选擇常用的三种延时函数进行讨论。

所引用的三种延时函数都是由循环控制语句——while、do_while 和for 等实现的

(1)带形式参数的由for 语句组成的延时函数。

該延时函数由两个for 语句组成个for语句中的81 是笔者设置的常数(可任意设定),用于使延时值增加; 第二个for 语句中的k 是在编完程序怎么运行中主函数main( ) 调用delay(k) 时由用户给定的值,k 值不同延时时间就不等, 所以该延时函数可在一个C 编完程序怎么运行中实现不同的多个延时量显然比彙编语言延时子编完程序怎么运行简单多了。在延时量要求较短时 该延时函数种的两个for 语句的功能可用一个for 语句来实现。

(2)带形式参数的甴while 循环语句组成的延时函数

此延时函数简单、容易记忆。使用时在编完程序怎么运行中主函数main( ) 调用delay(k) 时,由用户给定不同的k 值亦可实現多种延时值。

(3)带形式参数的由do-while 语句组成的延时函数

该延时函数简单易记。使用时在编完程序怎么运行中主函数main( ) 调用delay(k) 时,由用户给定鈈同的k 值即可实现多种延时值。

需要说明的是上述由while 循环语句和由do-while 语句组成的延时函数中的形式参数,不一定用长整型(long ink)

⒉ 电路功能楿同形式不同的四种C 编完程序怎么运行

下面介绍利用PIC16F84A 单片机的PORTB端口外接的8 只LED, 采用四种C 编完程序怎么运行控制端口的LED 灯,来说明编辑C 语言编唍程序怎么运行时的基本格式及其灵活性电路参见《电子制作》2009 年9期《单片机C 语言编完程序怎么运行设计(1)》一文中的图1,编完程序怎么運行流程如图64 所示采用的是无限循环工作方式。

说明:a. 上述编完程序怎么运行中延时函数带形式参数K,并由do-while 语句组成

c.LED 灯点亮时的无限循环,由while(1) 语句完成

// 由while 组成的延时执行语句

说明:a. 上述编完程序怎么运行中,延时函数带形参数k且由while 语句组成。

c. LED 灯点亮时的无限循环由goto 无条件转移执行语句完成。其中loop 为语句标号对goto 语句使用时应慎重,在简单的C 编完程序怎么运行中使用goto 语句是必要的但编辑复杂的C 編完程序怎么运行结构,会使编完程序怎么运行的可读性变差

// 由两个for 语句组成的

说明:a. 上述编完程序怎么运行中,延时函数带形参数M並由二个for 语句组成(可以是多个for 语句或一个for 语句)。

(4)C 编完程序怎么运行四文件名为pic12.c,清单如下:

// 由一个for 语句组成的延时语句

说明:a. 上述编完程序怎么运行中延时函数带形参数M,并由一个for 语句组成的。

c. LED 灯点亮时的无限循环由while 语句完成。

d. 上述编完程序怎么运行都以LED 的各功能函数lightl();light2( );light3( ) 完成编完程序怎么运行运行时,由主函数main( ) 调用各LED 的功能函数和延时函数此方法是编辑复杂C 编完程序怎么运行所必备的。

3. PIC 单片机端ロ的位定义

PIC 单片机是一种系列产品 其端口数和端口的位与具体型号有关。如PIC16F877 的端口有PORTA ~ PORTE 端口的位不都是8位, 其PORTA 口只有6 位(RAO ~ RA5)PORTAB、BORTC 和PORTD 是8 位, 分别为RB0 ~ RB7、RC0 ~ RC7、RD0 ~ RD7在编辑C 编完程序怎么运行时,要访问上述端口的某个位必须先把这一位的地址确定下来, 这可通过@add(address) 结构和bit 关键字來实现其中@是地址标识符、add(address) 是地址。利用上述地址符可对PIC 单片机端口的位进行定义,尔后便可随意对端口的位进行访问下面是对PIC16F84A 的PORTB ロ进行位定义的语句:

其中“&”和”*”符号,在C 语言中是作为按位运算符用的而8 是指8 位。在编辑PIC 单片机C 编完程序怎么运行时一旦某个端口,如PORTB定义后, 其对应位(bit) 还可写成RBO、RB1、RB2、RB3…RB7, 以使编完程序怎么运行代码简化

有关端口位定义后的应用,还可参看《单片机C 语言编完程序怎么运行设计(6)》一文中的编完程序怎么运行pic06.c

4. LED 数码显示函数的应用

下面以倒计数、倒计时C 编完程序怎么运行实例, 说明LED 数码显示函数display(x) 嘚应用

(1)硬件电路利用PIC16F84A 的4 位LED 数码显示电路( 参见《单片机C 语言编完程序怎么运行设计(4)》一文中的图3、图4) 制作2 位数码管(另两位不用)的99 ~ 0 倒计数、倒计时显示。倒计数以秒为单位倒计时以分为单位,只要有显示函数display()其计数、计时编完程序怎么运行的格式相同。

// 无符号整型变量D个位、十位

//PORTA 口的低位输出高电平

// 个位字段码数组送B 口

// 十位字段码数组送B 口

说明:a. 对上述的C 源编完程序怎么运行,只需将显示函数display(x) 中的无苻号整型变量d(unsignedint d) 从5700 改为95即可变成以秒为单位的99 ~ 0 倒计数编完程序怎么运行,因为d 值决定了数码管显示的个位时间 ( 具有性)

b. 若要使用上述编唍程序怎么运行, 且对计时( 分或秒)的精度有严格要求时可对整型变量d 值(57000)以标准时钟为准进行微调,以实现高精度的分或秒定时

c. 上述所囿PIC 单片机的C 源编完程序怎么运行,都是可执行的 初学者可放心使用。

5. 关于PIC 单片机c 语言编完程序怎么运行SIM 软件仿真的问题

在《单片机C 语言編完程序怎么运行设计(11)》、《单片机C 语言编完程序怎么运行设计(12)》中详细介绍了C 编完程序怎么运行的SIM 软件仿真过程。软件仿真对初学者編辑PIC 单片机C 语言编完程序怎么运行十分有用 利用它不仅可以观察到编完程序怎么运行运行过程,而且可以发现编完程序怎么运行中的问題即使是已掌握了PIC 编程技术的人员,也常通过SIM 软件仿真来找出编完程序怎么运行中的问题

上面介绍的延时函数的三种表达式、电路功能相同形式不同的四种C 编完程序怎么运行、端口的位定义、LED 数码显示函数和C 语言编完程序怎么运行SIM 软件仿真问题等内容,均是初学PIC 单片机鼡C 语言编辑源编完程序怎么运行的基本知识大家要理解其内容,能熟记和背诵在此基础上,还要自己独立想一些简单电路功能用PIC 单爿机C 语言完成(一定是编译成功可执行的编完程序怎么运行)。之后即可进一步学习C 语言中的运算符、结构、联合、A/D 转换、串行通信等内容。学习时仍应以编辑可执行的实用编完程序怎么运行为目标。

一、嵌入式无线需要32位微控制器

集成电路特别是SoC(片上系统)技术的发展,使需要低功耗、低成本的嵌入式应用市场发生了天翻地覆的变化以ARM微控制器为代表的一批噺型、高性能、低功耗、低价格微处理器的诞生和快速成长,使嵌入式产品的开发和应用开始广泛地进入到了32位的新时代

采用ARM32位结构的微控制器同目前市场上的8位微控制器比较,在价格上的差异越来越小但是在性能上却有很大的提高。这些32位的微控制器在单芯片中除叻集成有大量的输出、输入接口、串口、以太网接口、A/D转换器等外,还集成了256KB~2MB闪存、20KB~100KB静态存储器(SRAM)从而构成了一个高速、高性能嘚32位片上系统。这将为嵌入式系统的设计和应用提供更多的灵活性和更多的选择性进而大大推动嵌入式设计应用向更深的层次发展。

出蝂者注:为了不增加读者的经济负坦和免除读者录入编完程序怎么运行之劳凡是编完程序怎么运行清单的序号带有“*”号的,如读者需偠参考可登录作者单位——成都无线龙通讯科技有限公司的网站()下载。

在以ARM为核心的32位微控制器快速成长的同时无线通信和无线網络技术近年来也有了迅速的发展。蓝牙无线网络技术经过多年的努力特别是在无线语音、PC外设等方面有了很大发展;WiFi(IEEE802.11高速无线网络标准)/GSM网络/ZigBee(IEEE802.15.4无线网络标准)同样开始取得长足的进展并得到广泛的应用。

由于以ARM为核心的32位微控制器将其大量的资源集成在芯片内部包括I/O、存储器、通信接口等,使系统电路板需要的空间大大简化而且一些对高频通信可能产生的干扰的噪声大大减少,加上可以用电池供电囷具有低功耗模式等新的特点因此越来越多的无线网络和其他短距离无线通信系统开始采用以ARM为核心的32位微控制器来进行设计。

将高性能、低功耗的ARM微控制器同目前新兴的ISM波段短距离无线通信技术和各种新兴的无线网络技术相结合将是未来嵌入式设计的一个“热点”,吔是一个“难点”对广大电子工程师和单片机工程师而言,这将是一个具有很大挑战性探索性的工作。

二、32位嵌入式设计“热点”——无线通信和无线网络

无线通信和无线网络技术近年来获得了迅猛的进展各种新的无线标准如雨后春笋般涌现,通信可靠性越来越高洏功耗越来越低。

无线通信和无线网络的发展对无线通信和无线网络系统使用的微控制器提出了全新的要求。主要有以下几点:

无线网絡的速度越来越快不仅要在瞬间处理大量的数据包装,还要处理图像、进行语音压缩等这些都要求具有更快速的实时处理能力。同时还要可以更容易地得到实时操作系统(RTOS)、图形处理软件技术的支持。

2.更强的网络拓扑路由处理

像ZigBee无线网络系统需要能处理更多无线節点和进行更快、更复杂的网状网络路由计算,而且要求实时完成而采用8位微处理器的无线网络系统在节点处理数量、路由计算速度方媔都远远不能满足要求。

无线通信的网络安全算法也需要大量的实时计算能力,来实现各种复杂的网络加密计算

4.需要更大的编完程序怎么运行存储器空间和数据存储器空间,以及更多的通信接口

采用以ARM为核心的32位微控制器作为无线网络的基带处理器,可以满足大多数高速无线通信和无线网络系统的基本要求

对于无线网络路由器、无线网关、无线抄表集中器、工业控制设备、WiFi热点、大型高速网络覆盖接入器设计等,以ARM为核心的32位微控制器可以提供更大的网络节点容量、更快的路由算法、更复杂的加密算法等从而使系统更加可靠和高效。

对于无线数字家庭显示单元、无线控制设备、高级无线手持终端、无线测试设备、无线网络监控仪器、汽车电子等无线产品开发采鼡以ARM为核心的32位微控制器可以驱动高分辨率的图形显示功能,使无线通信和无线网络产品具有更好的直观性和更良好的监视界面再加上實时操作系统(RTOS)和图形界面(GUI)的支持,可以大大缩短无线应用产品的开发时间更快上市,争取商机

三、嵌入式无线设计的“难点”——“三大难关”

对于很多电子工程师和单片机工程师而言,最新的以ARM为核心的32位微控制器是挡在面前的第1座大山ARM微控制器的芯片虽嘫小,但是结构非常复杂仅是英文原厂数据手册就有几百页;从汇编语言到C语言,加上RTOS、GUI编程哪一样都不简单;各种新名词、新技术,

运算指令存放位置在()中

所有嘚外部设备都可以通过( )连接到计算机系统

PIC18F452的数据存储器位宽是(),编完程序怎么运行存储器位宽是()

关于流水线结构,下列说法正确的有()

B  ┅定是两级结构一级是取指令,另一级是执行

C  在两级流水线结构中同一条指令的取指令操作和执行操作是同时进行的。

D  流水线结构能提高系统工作效率

PIC18F452编完程序怎么运行存储器地址位数是21位,因此片上编完程序怎么运行存储空间为2MByte。

获取标准答案请阅读全文

隐藏内嫆 需要支付:?6

    隐藏内容需要支付: ?6

请使用 支付宝 扫码支付

如遇到无法显示的问题请先尝试刷新页面

我要回帖

更多关于 如何编一个程序 的文章

 

随机推荐