tutorial
20 pages

tutorial

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
20 pages
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Programa¸c˜ao em linguagem CEA870 - FEEC - UnicampIntroduc¸˜ao a` linguagem C, para programac˜¸ao de microcontroladores HC11,utilizando o compilador ICC11Murillo Fernandes Bernardesbernarde@fee.unicamp.brhttp://www.fee.unicamp.br/˜bernarde/Setembro de 2002”He who asks is a fool for five minutes, but he who does not ask remains a fool forever”Prov´erbio ChinˆesSum´ario1 Introduc¸˜ao 11.1 Hist´orico do C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Compilador ICC11 22.1 Sintaxe da linha de comando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.2 Processo de compila¸c˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.3 C run-time (crt.s). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Vis˜ao Geral de um programa em C 33.1 Fun¸coes˜ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Tipos de Dados 54.1 Representa¸cao˜ Hexadecimal, decimal, octal, ASCII e caracteres de Escape . . . . . . . 64.2 Declara¸c˜ao de vari´aveis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64.2.1 Vari´aveis Locais x Globais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74.3 Cast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Express˜oes 85.1 Expressoes˜ Aritm´eticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

Informations

Publié par
Nombre de lectures 45

Extrait

Programa¸c˜aoemlinguagemC EA870 - FEEC - Unicamp
Introduca˜oa`linguagemC,paraprograma¸ca˜odemicrocontroladoresHC11, ¸ utilizando o compilador ICC11
Murillo Fernandes Bernardes bernarde@fee.unicamp.br http://www.fee.unicamp.br/˜bernarde/
Setembro de 2002
”He who asks is a fool for five minutes, but he who does not ask remains a fool forever” Prove´rbioChineˆs
Sum´ario 1Introduca˜o1 ¸ 1.1Histo´ricodoC........................................1 2 Compilador ICC11 2 2.1 Sintaxe da linha de comando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2 Processo de compil ˜ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 acao ¸ 2.3 C run-time (crt.s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3Visa˜oGeraldeumprogramaemC3 3.1 F ˜ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 uncoes . ¸ 4 Tipos de Dados 5 4.1Representac¸a˜oHexadecimal,decimal,octal,ASCIIecaracteresdeEscape.......6 4.2Declara¸c˜aodevari´aveis....................................6 4.2.1Varia´veisLocaisxGlobais..............................7 4.3 Cast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 Express˜ 8 oes 5.1Express˜oesAritm´eticas....................................8 5.2Expresso˜esCondicionais...................................9 5.3Expressoesdemanipulac¸a˜odebits.............................9 ˜ 6 Controle de Fluxo 10 6.1 IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 6.2OperadorTern´ario......................................10 6.3 Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 6.4 While . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 6.5 Do - While . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 6.6 For . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 6.7 Break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 6.8 Continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 6.9 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 7 Vetores 13 8 Ponteiros 14 8.1Declara¸c˜aodeponteiros...................................14 8.2Refereˆnciaaponteiros....................................15 8.3Aritme´ticadeponteiros...................................15 9Func¸o˜espre´-denidasnoICC1116 9.1 putchar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 9.2 printf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 10 Assembly in-line 17 10.1Utilizandovari´aveisdoCnoassembly...........................18 11Conclusa˜o18
1 Introducao ¸ ˜ ¸deEA870,¸c˜aodalinguagemC, Estamos comecando uma nova fase do curso a utiliza no lugar do uso do assembly. Alguns podem ate reclamar que quando estavam se ´ acostumando muda tudo, tem que aprender uma linguagem nova, mas com certeza o uso do ”C”vai facilitar bastante o trabalho. Estetutorialtemointuitodeserapenasumpontape´inicialnoaprendizadoda linguagemC,sendoqueamaiorpartedoaprendizadoocorrer´anodia-a-dia,nasdi-culdades enfrentadas a cada programa, e com o costume de programar em C. Alinguagem(vocabul´ario)utilizadanestetutoriale´,namedidadoposs´ıvel,amais simples,comainten¸ca˜odequetodosentendamrealmentecomoascoisasfuncionam emC,etamb´emcomointuitodetirartodososmedosqueaindapossamexistir. Infelizmentev˜aohaveralgunstermosmeioestranhos,masquecomotemposetornar˜ao comuns a todos. Programar´es´oisso,resolverproblemasdavidarealdeformaentendı´velao computador.Mostrar-lhecomovocˆefez,emumalinguagemqueeleentenda.
1.1Histo´ricodoC Nade´cadade70,nosLaborato´riosAT&TBell(EUA),alinguagemCfoicriada,tendo comoprincipalmotiva¸c˜aoodesenvolvimentodosistemaUNIXemumalinguagemde altonı´vel.OCsetornouferramentainsepara´vel/indispens´avelemtodosossistemas UNIX, e com este foi sendo bastante difundida. Com o passar do tempo havia diversos compiladores ”C”, mas com diversas incom-patibilidades entre el o em 1983 o ¸ es.Ent˜aInsitutoNorteAmericanodePadronizacao ˜ (ANSI)criouumcomitˆeparaapadronizac¸a˜odalinguagemC.Oresultadodesta padronizac¸a˜ofoiconcluidoem1990e´ehojeopadr˜aointernacional,chamadodeC ANSI.Nestapadroniza¸ca˜oforamdenidasalgumasfu¸esp,que nco˜esba´sicasduorte deveriamserfornecidaspeloscompiladores,apesardelasn˜aofazerempartedalin-guagem. UmadasgrandesvantagensdalinguagemC´eauni˜aoharmoniosaentrediversas caracterı´sticasdelinguagensdebaixon´ıvel,eascaracteristicasdaslinguagensde altonıvel.AlgumaslinguagensantecessorasaoCtinhamcertascaracterı´sticasmuito ´ favor´aveis,masnogeralerammuitorestritasoumuitocomplicadas.Ja´oCconseguiu unirtantosimplicidadeequantopotencialidadeemsuasaplicac¸o˜es.Comissomesmo tarefas muito complexas podem ser realizadas com uma relativa simplicidade.
1
2 Compilador ICC11 NocursodeEA870ocompiladorutilizado´eoICC11,queapesardena˜oatendertodos osquesitosdoCANSI,atendeaomenososquesitosba´sicos.Portantoqualquerlivro quetratedoCANSIpode(edeve)serutilizadocomoreferˆencia. Aolongodestetutorialmostraremostantodenic¸o˜esdoCpadr˜ao,quantodeni¸c˜oes especı´casdoICC11(ondehouveremdiferenc¸as). 2.1 Sintaxe da linha de comando AsintaxedocomandoparacompilarumprogramautilizandooICC11´easeguinte: icc11[opc¸o˜es]nomedoarquivo.c Asopc¸˜oessa˜oasseguintes: -v verbose,mostranatelaasac¸oesqueest˜aosendoexecutadas ˜ -o Nome do aqtuivo de saida, pad ˜ ´e iccout.s19 rao -l Cria o arquivo contendo a listagem em assembly, com o nome ¡arquivo de saida¿.lst -E Paraaexecuc¸a˜oapo´sopre-processamento,gerandoumarquivo.i -S Compilesparaassembly,masna˜omontaoprograma(na˜ogeraarquivoobjeto) -s Modosilencioso.N˜aomostrara´natelaasaco˜es ¸ Assim para compilar o programa contido no arquivo prog1.c, gerando o arquivo objetocomonomedeprog1.s19,alistagemcomprog1.lst,evisualizandoasac¸o˜esdo compilador utilizamos a seguinte linha de comando: icc11 -v -l -o prog1.s19 prog1.c 2.2Processodecompilac˜ao ¸ Oprocessodecompilac¸a˜odeumprograman˜aoe´direto,sa˜onecessariosv´ariospassos ´ atequesechegueaoco´digoobjeto(.s19). ´ Oprimeiropassoe´aana´lisedoc´odigo,pelopr´e-processadorC,embuscadeerros, eexecutandodiretivasdopr´e-processador,como include e define . Ao final deste passo tem-seumnovoarquivo,comextens˜ao .i ,quesera´utilizadonoproximopasso. ´ Osegundopassoe´oprocessodetraduc¸a˜oparaassembly,ira´converteroc´odigoem Cparaumco´digoassembly,euniroconte´udodoarquivo crt.s comoc´odigoassembly gerado, criando o arquivo .s . Oterceiropassoe´oprocessodemontagem,queir´atraduziroc´odigoassembly gerado,paraumarquivoobjeto,numformato(s19)quej´apodesercarregadono HC11atrav´esdoBUFALLO.
2
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents