久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
8位共陽數碼管74HC595芯片AVR單片機控制 proteus仿真及源碼
[打印本頁]
作者:
qq732357710
時間:
2017-5-4 22:26
標題:
8位共陽數碼管74HC595芯片AVR單片機控制 proteus仿真及源碼
剛入門AVR單片機一段時間,感覺資料很少,所以進度很慢,剛才百度到這里來,現上傳一個數碼管的程序來和大家分享,高手就跳過吧,初學可以下載來做參考
proteus仿真原理圖:
0.png
(39.22 KB, 下載次數: 152)
下載附件
2017-5-5 00:30 上傳
0.png
(60.63 KB, 下載次數: 139)
下載附件
2017-5-5 00:29 上傳
單片機源程序:
/*
* smg8_avr.h
*
* Created: 2017/3/16 1:54:20
* Author: lyl
*/
#ifndef SMG8_AVR_H_
#define SMG8_AVR_H_
#include "lyl_avr.h"
//數碼管端口定義
#define smgPORT PORTA
#define smgPORT_DDR DDRA
#define DS PA5//串行數據輸入端口
#define SHCP PA6//為移位寄存器的時鐘脈沖輸入口
#define STCP PA7//為存儲寄存器的時鐘脈沖輸入口
//OE為輸出使能端口,低電平有效,已直接接地
void smgPortInit(void);//數碼管端口初始化
void smg74HC595_WriteByte(uchar ucData); //向74HC595發送一個數據
void smgDisplay(uchar bitCode,uchar segCode,uchar dp); //在數碼管的某一位上顯示某一個字符
//共陽數碼管的編碼,并將數據定義在CODE區
const uchar SMG_SEG_CODE[18]={//共陽數碼管的段碼編碼,并將數據定義在CODE區
0xc0,/*0*/
0xF9,/*1*/
0xA4,/*2*/
0xB0,/*3*/
0x99,/*4*/
0x92,/*5*/
0x82,/*6*/
0xF8,/*7*/
0x80,/*8*/
0x90,/*9*/
0x88,/*A=10*/
0x83,/*b=11*/
0xC6,/*C=12*/
0xA1,/*d=13*/
0x86,/*E=14*/
0x8E,/*F=15*/
0xFF,/*不顯示=16*/
0xBF,/*橫桿“-”=17*/
};
//數碼管的位選擇編碼
const uchar SMG_BIT_CODE[10]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
#define SMG8_SetDS() setbit(smgPORT,DS)
#define SMG8_ClrDS() clrbit(smgPORT,DS) //數據引腳
#define smgSTCP_SET() setbit(smgPORT,STCP)
#define smgSTCP_CLR() clrbit(smgPORT,STCP) //上升沿更新數據
#define smgSHCP_SET() setbit(smgPORT,SHCP)
#define smgSHCP_CLR() clrbit(smgPORT,SHCP) //上升沿移入數據
#define smgDS_SET() setbit(smgPORT,DS)
#define smgDS_CLR() clrbit(smgPORT,DS) //數據引腳
/************************************************************************/
/* 函數名稱:smgPortInit
函數功能:初始化8位共陽數碼管的數據端口
入口參數:無
返回值:無 */
/************************************************************************/
void smgPortInit(void){
smgPORT|=((1<<DS)|(1<<SHCP)|(1<<STCP));//初值為高電平
smgPORT_DDR|=((1<<DS)|(1<<SHCP)|(1<<STCP));//數碼管端口設置為輸出模式
}
/************************************************************************/
/*函數名稱:smg74HC595_WriteByte
函數功能:向74HC595發送一個字節數據
入口參數:ucData-要發送的數據
返回值:無 */
/************************************************************************/
void smg74HC595_WriteByte(uchar ucData){
for(uchar i = 0 ;i < 8;i++){//高位在前低位在后
if((ucData & (0x80>>i)) != 0) smgDS_SET(); else smgDS_CLR();
smgSHCP_CLR();
smgSHCP_SET();//SHCP引腳的上升沿移入數據
_delay_us(10);
}
}
/************************************************************************/
/*函數名稱:smgDisplay
函數功能:在8位共陽數碼管的指定位置上顯示一個字符
入口參數:bitCode-位選擇碼,即選擇要在哪位數碼管上顯示數據
:segCode-數據段碼選擇,即要顯示什么數據
:dp-當dp取值不等于0時,數碼管將顯示后面的小圓點
返回值:無 */
/************************************************************************/
void smgDisplay(uchar bitCode,uchar segCode,uchar dp){//在數碼管的某一位上顯示某一個字符
uchar a;
if(dp==0) a=0x00; else a=0x80;
smg74HC595_WriteByte(SMG_BIT_CODE[bitCode]); //顯示在哪一個數碼管上
smg74HC595_WriteByte(SMG_SEG_CODE[segCode]-a); //顯示的數據
smgSTCP_CLR();
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
下載:
8位共陽數碼管74HC595芯片AVR單片機控制.7z
(71.49 KB, 下載次數: 43)
2017-5-4 22:25 上傳
點擊文件名下載附件
初學程序,高手跳過
下載積分: 黑幣 -5
作者:
qq732357710
時間:
2017-5-4 22:39
用的編程環境是Atmel Studio 7 和Proteus 8
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品久久久久久久久久久久久久
|
成人av一区二区亚洲精
|
中文字幕视频在线看
|
无毛av
|
国产日韩欧美在线观看
|
国产欧美一区二区三区在线看
|
91精品国产综合久久精品
|
国产在线一区观看
|
美女黄18岁以下禁止观看
|
色吊丝2288sds中文字幕
|
国产精品一区二区欧美黑人喷潮水
|
日韩欧美一区二区三区免费观看
|
尤物在线精品视频
|
一区二区三区免费
|
国产精品视频网
|
国产成人综合一区二区三区
|
亚洲欧美综合精品久久成人
|
中文字幕视频在线
|
精品国产乱码久久久久久闺蜜
|
久草视频在线播放
|
日韩色在线
|
国产精品美女久久久久aⅴ国产馆
|
日韩中文字幕在线不卡
|
免费一级淫片aaa片毛片a级
|
久久久久亚洲
|
亚洲一区二区三区在线视频
|
亚洲精品9999久久久久
|
福利在线观看
|
99热精品国产
|
亚洲天堂中文字幕
|
91av在线电影
|
色必久久
|
久久精品一区二
|
美女一区
|
在线观看 亚洲
|
在线观看www视频
|
日本精品视频一区二区
|
久久精品国产a三级三级三级
|
热re99久久精品国99热观看
|
国产在线精品一区二区三区
|
日韩精品免费视频
|